António Pedro Cunha Santos

Com uma enorme paixão por tecnologia, autodidacta desde tenra idade, cresceu com o ZX Spectrum. Tem vasta experiência em implementação e integração de sistemas ERP, CRM, ERM, BI e desenvolvimento de software por medida nas mais diversas linguagens. Diplomado do Curso de Especialização Tecnológica em Tecnologias e Programação de Sistemas de Informação pela ESTG-IPVC. Membro da Comunidade Portugal-a-Programar desde Agosto de 2007, é também membro da Sahana Software Foundation, onde é Programador Voluntário. Neste momento é aluno no Instituto Politécnico de Viana do Castelo, na Escola Superior de Tecnologia e Gestão no curso de Licenciatura em Engenharia Informática.
LinkedIn GitHub Twitter Google+

TC BANKCALL #TEMPORARY I HOPE HOPE HOPE

Todos os percalços fazem parte da “evolução”, de versão para versão! E desta feita o atraso nesta edição, foi fruto de um dos maiores percalços até agora enfrentado! Mas como sempre sobrevivemos, superamos, evoluímos! E passados 10 anos, cá estamos!

Para esta edição, estava com imensas dificuldades em escolher um título para o editorial, até que me lembrei daquilo que nos acontece, a todos nós que desenvolvemos e criamos tecnologia! Aquelas situações em que escrevemos algo, ou ligamos algo, e acreditamos com todas as forças, que vai funcionar, ainda que seja algo temporário! E nessa perene memória lembrei-me de um comentário que li, no recentemente tornado público, código fonte desenvolvido para o modulo lunar da missão Apollo 11, que colocou o primeiro Homem na lua! Um singelo comentário quase que humorístico, onde se pode ler “Temporary, I hope hope hope”.

Continuar a ler

O meu primeiro Jogo em MonoGame

Muitos programadores chegaram ao mundo da programação através do fascínio do desenvolvimento de jogos. Desde as cassetes de ZX Spectrum, que demoravam eternidades a carregar e a criação de jogos era uma tarefa muitas vezes hercúlea, até aos dias de hoje, a criação de jogos percorreu um longo caminho e hoje podemos encontrar várias plataformas dedicadas ao seu desenvolvimento.

Para facilitar a criação de jogos para múltiplas plataformas foi criada a framework MonoGame, baseada na framework XNA da Microsoft, que apresenta uma grande facilidade de aprendizagem. Seguindo o princípio “Escreve uma vez, corre em todo o lado”, ao desenvolvermos um jogo com MonoGame, ele irá correr em iOS, Android, Mac OS X, tvOS, Windows, Linux, Playstation4 e mais.

Neste artigo vamos criar um jogo do princípio ao fim, passo a passo, desde a criação do interface de utilizador até ao adicionar da lógica de jogo.

Continuar a ler

O silêncio e os interrupts

Ainda que possa parecer o título de um “filme de tercei- ra categoria”, qualquer semelhança é apenas mera coincidência fruto de um qualquer infortúnio das palavras! Passando as brincadeiras, e mudando para o verdadeiro assunto do artigo, todos ouvimos falar de interrupts (sinal emitido pelo hardware ou software enviado ao processador, indicando que um evento necessita de atenção imediata), para os mais “vintage” da tecnologia que passaram pelos “tormentos” de configurar os interrupts nas BIOS cada vez que se acrescentava uma placa num PC, o conceito será certamente mais familiar, mas não se trata de interrupts de hardware ou software que escrevo! Trata-se antes das “interrupções” no trabalho de um programador e na relação das interrupções com a produtividade.

Continuar a ler

Projecto em Destaque na Comunidade P@P — Dirt Bike Extreme

Num ambiente industrial, com um belo cenário de fundo encontram-se muitos obstáculos pela frente, cair vezes sem conta é quase natural, mas com tempo o jogador acaba tornando-se um profissional! Com perseverança tudo se consegue. Ao longo dos 20 níveis que compõem o jogo, uns vão parecer impossíveis outros nem por isso, mas todos contribuem para que o jogador se torne um profissional de Dirt Bike Xtreme!

Continuar a ler

Automação com GENUINO

Introdução

A plataforma Genuino, tornou-se bastante popular ao longo dos anos, sendo uma das plataformas mais usadas em projectos de IoT e automação, tanto pelo seu baixo custo como pela sua capacidade de processamento e de I/O (input/output). Para os leitores que estão menos familiarizados com este tema, o Genuino é análogo da marca Arduino.cc, tendo sido criado pelos co-fundadores do Arduino Massimo Banzi, David Cuartielles, Tom Igoe e David Mellis. Na prática, o Genuino é usado para as boards vendidas fora dos EUA.

Isto é, a marca Genuino certifica também a sua autenticidade com a filosofia de hardware aberto e de código aberto que sempre caracterizou os valores do Arduino. As placas Genuino e Arduino partilham os mesmos componentes e as mesmas características. São as mesmas boards, mas a “marca” do circuito é determinada pelo país. O Arduino é comercializado dentro dos EUA e o Genuino fora dos EUA.

Continuar a ler

Projecto em Destaque na Comunidade P@P — Matraquilhos

Android: jogo MatraquilhosNesta edição o projecto em destaque vai para o jogo Matraquilhos, para Android. É um jogo simples, baseado no tradicional jogo de matraquilhos, tão popular entre os mais jovens.

Este jogo possui diversas funcionalidades interessantes, além da simples “partida de matraquilhos”, permitindo participar em campeonatos, escolher equipas e tácticas, participar em competições, desbloquear conteúdos e partilhá-los com os amigos, entre outras curiosidades.

Um jogo gratuito que faz jus à cultura do desenvolvimento de jogos, em Portugal, mostrando que não é necessário ter uma grande equipa para desenvolver um bom jogo! Basta dedicação.

Continuar a ler

Plotagem de dados “em tempo real” com Python usando matPlotLib

Introdução

Uma das tarefas mais comuns quando se trabalha com aquisição de dados, é a representação dos mesmos em gráficos, de forma a serem mais facilmente interpretáveis pelo utilizador. Na verdade seja para um uso de hobbie, seja para uma utilização mais científica ou profissional, na maior parte dos casos, acabamos quase sempre por preferir a leitura gráfica dos dados, o que nos permite rapidamente uma noção mais ampla do contexto visível.

Como é do conhecimento do leitor, hoje em dia existe uma grande quantidade de dispositivos que transmitem dados via USB, usando conversão USB – Série, para a transmissão dos dados adquiridos, referentes a um ou mais parâmetros num contexto ou ambiente. No entanto o que a maioria dos dispositivos tem em comum, é a forma como transmite os dados para o computador, normalmente usando um cabo USB ou série e transmitindo os dados em formato de texto simples. Ao longo deste artigo irá ser apresentado o código para receber dados de um conjunto de quatro sensores independentes, ligados a um mesmo dispositivo que os transmite via RS232 e posterior apresentação em modo gráfico, usando a linguagem Python e a biblioteca matplotlib, para nos desenhar o gráfico em tempo “quase real”. (Para os mais distraídos a transmissão via RS-232 é um padrão de protocolo para troca serial de dados binários entre um DTE – Data Terminal Equipment e um DCE – Data Communication Equipment. Normalmente usado nas portas série dos computadores.)

Continuar a ler

Aquisição de dados via TCP/IP com Genuino (Arduino)

Introdução

Recentemente a tão conhecida marca Arduino , fundada por Massimo Banzi, David Cuartielles, Tom Igoe e David Mellis e toda uma comunidade, sofreu uma mudança de nome, para os produtos destinados a outros mercados fora dos EUA, passando a usar o nome Arduino apenas nos EUA e o nome Genuino, em todos os restantes mercados. Falo em marca, pois não se refere apenas a uma board, mas a toda uma “marca” de circuitos baseados em microcontroladores e projectos com base numa mesma filosofia de open-hardware. Não me alongando mais sobre o tema, esta mudança teve origem numa questão legal, que é muito bem apresentada por Maximo Banzi, no keynote que apresentou na Maker Fair e pode ser visto no youtube. Assim sendo, de agora avante, neste artigo, o circuito anteriormente conhecido por Arduino, será designado por Genuino.

Continuar a ler

Cross-Platform – “A soma de todas as mudanças”

Cada vez mais ouvimos falar em cross-platform! Não é algo novo, é algo já antigo em verdade se diga! Se nos referirmos ao cross-platform como a capacidade de compilar e correr o mesmo código em múltiplas plataformas de hardware poderemos recuar tanto quanto a criação da linguagem C, por Dennis Ritchie e Ken Thompson em 1972, quando trabalhavam nos Bell Labs. De forma brilhante, estes senhores decidiram escrever uma linguagem que permitisse compilar o código e executá-lo independentemente do hardware. Inicialmente era um DEC PDP-7, posteriormente um DEC PDP-11, tendo a linguagem sido utilizada para escrever maior parte do kernel do sistema operativo UNIX.

Continuar a ler

Programação em Python – Fundamentos e resolução de Problemas

O livro Programação em Python: Fundamentos e Resolução de Problemas, é de extrema utilidade para todos aqueles que desejem aprender não apenas a programar mas também os diversos paradigmas de programação, não necessitando de grandes conhecimentos prévios. O livro encontra-se estruturado de uma forma bastante organizada, simples e direccionada. Apreciei o facto de que o leitor é convidado a aprender primeiramente os conceitos teóricos necessários à compreensão das matérias apresentadas, acompanhando exercícios que proporcionam uma consolidação do conhecimento, agradável, ainda que pouco observável em obras técnicas como o livro em questão.

Continuar a ler