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

Segmentation Fault

60 edições.

Gostámos do número 60! É um número interessante!

Há 60 segundos num 1 minuto. Há 60 minutos numa hora. Na tabela ANSI de proteção, 60 equivale ao relé de balanço de tensão. E para nós, aqui na PROGRAMAR, 60 edições são a continuidade de um projeto.

Segmentation Fault é o tema deste editorial, porque em teoria poderia acontecer em qualquer contexto! Uma vez que se trata de uma tentativa de acesso “não autorizado” a algo!

Continuar a ler

Raspberry Pi + ESP8266 = “Light”

Hoje em dia, muito se tem falado do conceito de casa inteligente através de IoT. Isto é, tornar a nossa casa inteligente através de pequenos projectos. Se pesquisarmos um pouco, facilmente temos acesso aos mais variados exemplos de passos a seguir para de facto conseguimos ter, de forma fácil e económica, a tecnologia do nosso lado, a fazer as coisas que queremos. Mas por vezes “fazer o click” não é assim tão simples…

A ideia deste artigo surgiu para responder a um pedido de “várias famílias”… porque apesar de haver tutoriais e mais tutoriais acerca deste assunto, às vezes é preciso um elo de ligação. E aqui na PROGRAMAR, nesta edição comemorativa, tentámos criar esse pequeno elo de ligação. Este artigo é então dedicado aos leitores que querem iniciar a descoberta da “casa inteligente”, mas que ainda são assolados por dúvidas. Porque às vezes essas pequenas dúvidas são a diferença entre “Ii e funcionou!” e “Mas porque raio isto não funciona se fiz todos os passos?!”

Continuar a ler

ASP.NET Core, Angular 5 – CRUD com Entity Framework

Ao longo deste artigo, que espero ser o primeiro de uma série, irá ser abordado como criar uma aplicação web, com apenas um form, recorrendo a ASP.NET Core, Angular 5 e Entity Framework, seguindo a abordagem de base de dados primeiro “database first” suportando as operações básicas de uma base de dados (create, read, update e delete, CRUD).

O exemplo do artigo foi feito no Visual Studio 2017 Community, com .NET Core 2.1, Node.JS LTS e a base de dados em SQL Server 2017. Poderia ter sido feito o mesmo com ADO.NET, mas no caso optou-se por Entity Framework. De igual modo, poderia ter sido feito o mesmo exemplo com ReduxJS, mas novamente a opção prendeu-se com a framework Angular, pelo seu vasto suporte e utilização, bem como a facilidade com que se desenvolve de forma a suportar diversas plataformas.

Continuar a ler

Água Fresca, Scooby!

Ao longo deste artigo vai ser construído um projecto bastante simples que tenta resolver um problema igualmente simples! O dos animais de estimação e o calor! Quem tem cão, sabem bem que a água fresca é a melhor forma de o nosso amigo de quatro patas se refrescar! Isto pela simples razão dos cães não transpirarem, como outros mamíferos! Os cães perdem temperatura principalmente pela respiração e pela ingestão de líquidos. Se não estivermos em casa o dia todo, e partindo do princípio que o cão não sabe abrir a torneira, a água no recipiente aquece e deixa de estar fresca!

O objectivo deste “projecto”, por assim dizer, é simples, vamos disponibilizar água fresca ao animal, de forma automática e evitando desperdícios!

Continuar a ler

Os Geeks “herdarão” o mundo!

O título parece agressivo, mas não é de todo essa a minha intenção! Dito isto vamos ao artigo propriamente dito!

Em 2008, nos EUA foi eleito o primeiro presidente “Trekkie” (fã da série O caminho das estrelas (original Star Trek), uma serie de ficção muito popular entre os “geeks”). A verdade é que os outrora “náufragos” da popularidade e da cultura pop, começaram a sua ascensão, rumo ao “topo da hierarquia”! Na verdade existem geeks notáveis na história, da tecnologia, como o caso de Steve Wozniack, também conhecido como “wizard of woz”, Bill Gates, Kevin Mitnick, Larry Page e Sergey Brin, etc…

Continuar a ler

Criação Rápida de Sites Responsivos com Bootstrap

Nesta edição, trazemos até vós leitores um livro de uma temática cada vez mais actual, uma vez que cada vez mais usamos a internet “em todo o lado”!

Cada vez mais a responsiveness de um site se tornou essencial ao sucesso de qualquer site, uma vez que a variedade de plataformas utilizadas para aceder, é cada vez maior e em constante mudança.

A framework de front-end Bootstrap, dispensa grandes apresentações, e neste momento é a mais popular framework de front-end, o que torna o livro ainda mais pertinente!

Continuar a ler

O vale da sombra do ; “ponto-e-vírgula”

Existem diversas expressões para se referirem a “horas negras”, locais temíveis, etc… etc… etc… Mas entre todos os adeptos de tecnologia, o mais universal e conhecido, creio que seja o “vale da sombra do ponto-e-vírgula”, por onde, todos aqueles que escrevem código, acabam por passar, uma e outra vez, seja a “voar” no ANSI-C, passando pelo Java, o C++, o PHP e o C#, para não falar em todas as outras linguagens…

Verdade se diga que algures, em algum momento na nossa vida de tecnologia, passaremos por esse “vale profundo”, onde reina a escuridão da sombra do ponto-e-vírgula e dos erros de compilação, onde a linha apontada pelo compilador nada tem a ver com a linha onde verdadeiramente falta o dito cujo mal-afamado ponto-e-vírgula!

Continuar a ler

Computação em Grelha, cross-platform usando BOINC

Ao longo de diversas edições fui escrevendo sobre clusters recorrendo ao SBC (single board computer) Raspberry Pi. Tendo em conta que cada vez existem mais dispositivos inteligentes (smart devices), dei por mim a pensar no eventual uso de tais dispositivos, que passam uma parte substancial do seu tempo de “vida útil” em “idle” (sem utilização, mas ainda assim ligados), para tarefas de computação. Algo parecido com o SETI@Home, de há uns anos atrás, quando eu era bem mais novo e a internet por cá, ainda chegava por “dial-up”.

É resumidamente isso que vos apresento neste artigo! Uma plataforma simples de instalar e utilizar, dedicada à computação distribuída, utilizando diversas plataformas e diversos dispositivos, aproveitando o tempo destes equipamentos, quando estão por exemplo parados a carregar baterias ou ligados à corrente mas inactivos.

Continuar a ler

Cifras e mais Cifras

Neste artigo decidi “revisitar” um tema que sempre me despertou interesse e que tive de abordar num projecto que fiz em 2015. O objectivo era encriptar, de forma a que fosse possível desencriptar, dados, bastando para tal saber um conjunto de informações (identificador, chave e chave-mestra), uma vez que a cada dado, apenas corresponde um identificador (fechadura) e para se chegar à chave que acabará por abrir, são precisas duas chaves (chave e a chave-mestra). Quase como a caixa forte do tio patinhas e os irmãos metralha a tentar abrir, mas um pouco mais complexo!

Para fazer executar esta tarefa, o utilizador deve inserir um identificador, neste caso “porta”, um código a ser cifrado, uma chave para o cifrar e a respectiva chave par (chave-mestra). Quando pressionar o botão para cifrar, os dados introduzidos, serão utilizados para cifrar o “código” usando a chave e a chave-mestra, devolvendo o valor do código, cifrado.

Continuar a ler