Jump to content

Blogs

Raspberry Pi Alexa

Introdução Existem diversos serviços de assistente pessoal inteligente, no entanto um dos populares em IoT é a Alexa da Amazon, que vem por default do dispositivo Amazon Echo Dot. A Alexa, denominada com base na antiga biblioteca de Alexandria, é a assistente pessoal inteligente desenvolvida pela Amazon, que permite que se comunique por voz com um dispositivo, se lhe dêem comandos e o dispositivo execute ou controle equipamentos, reproduza música, efectue pesquisas, etc… Este artigo surge após

staff

staff

Pseudorandom Number Generators (PRNGs)

Pseudo-random Number Generators, ou simplesmente PRNGs, são algoritmos para geração de números com propriedades semelhantes à dos números aleatórios (random numbers). Os PRNGs produzem sequências de números aparentemente independentes, normalmente seguindo uma distribuição uniforme, com base numa expressão matemática. São normalmente definidos pelos seguintes aspetos: o seu output é determinístico, periódico e depende de um valor de inicialização, conhecido como seed. Este tipo de algoritmos (os

staff

staff

Algoritmo Back-Propagation

Nesta edição trazemos até vós, caros leitores, uma abordagem ao algoritmo de backpropagation. Este algoritmo foi desenvolvido nos anos 80 por Rumelhant, Hinton e Williams e é um dos algoritmos mais conhecidos das redes neuronais. De forma a melhor introduzirmos o tema, uma rede neuronal artificial é inspirada no funcionamento nosso próprio sistema funcional enquanto humanos. Ou seja, é uma rede que aprende a cada experiência vivenciada. Um dos constituintes principais do sistema nervoso humano

staff

staff

Up-ciclar a Velhinha Aparelhagem Hi-Fi

Introdução É comum ouvir falar em reciclar objectos, equipamentos, etc… referindo-se ao envio para desmontagem e reciclagem de materiais. Claro que a reciclagem e os três Rs, são algo de bom que podemos fazer pelo ambiente. No entanto este artigo foca-se no “up-cicle”, que basicamente consiste no processo de pegar num equipamento já obsoleto, mas ainda funcional e acrescentar-lhe funcionalidades, de forma a torná-lo novamente útil. Ao longo deste artigo iremos construir o circuito para transmi

staff

staff

Sonoff RF

Equipamento: Sonoff RF Fabricante: Itead SKU: IM15116003 Dimensões: (C)88*(L)38*(A)23mm Nesta edição pela primeira vez será feita uma review de um equipamento/componente mais destinado ao pessoal “maker” e aos entusiastas do IoT. Neste caso é um Sonoff RF, basicamente um relé controlado remotamente, bastante engraçado para domótica e outros projetos de IoT. Ler mais…

staff

staff

De DataTable para ficheiro CSV (mais comum do que seria agradável)

Tal como o título sugere, é mais comum do que seria “agradável”, ter de fazer transformações de dados de DataTable, para ficheiros CSV separados por vírgulas ou ponto-e-vírgula, para se transferirem dados nas mais diversas situações! Seria muito mais agradável usar um formato tipo XML ou mesmo JSON do que usar CSV! No entanto o CSV está para ficar, tendo em 2005 sido alvo de RFC para formato comum e Mime Type para transferência de ficheiros (RFC4188). Ao longo do artigo será apresentada uma cla

staff

staff

A “Arte da Guerra” e a tecnologia

É possível que para muitos o título possa parecer de uma estranheza absurda, quase atroz talvez, ou mesmo sem nexo. No entanto o título indica exactamente o que é pretendido, ao abordar a aplicação de um livro que data do século V AC, escrito por um estratega militar chinês, Sun Tzu. O que pode ter um texto sobre guerra a ver com software? Talvez mais do que se imagina, pois muitos dos princípios descritos no livro, têm uma aplicação bastante mais vasta que a vertente bélica, have

staff

staff

Cursores: O Bom, o Mau e o SQL…

O Bom Uma simples query SQL permite visualizar informação (retornada em formato tabular), sendo essa informação lida por um qualquer programa (app, site, etc.). Mas o que acontece se quisermos que o próprio motor SQL trate a informação? Consideremos uma tabela de colaboradores duma empresa. Todos os meses temos que processar o ordenado. Para isso executamos algo (e.g. um stored procedure), que tem toda a “magia” e complexidade lá dentro. Mas precisamos de executar tantas vezes quantos registos

staff

staff

Desenvolvimento em Swift para iOS

Nesta edição vamos fazer a review do Livro Desenvolvimento em Swift para iOS escrito por Luís Marcelino e Catarina Silva, ambos professores no Politécnico de Leiria e co-autores do livro Desenvolvimento em iOS – iPhone, iPad e iPod Touch – Curso Completo, também editado pela FCA. Ao longo de dez capítulos os autores constroem uma aplicação mobile recorrendo à linguagem Swift, permitindo de uma forma didática a introdução à programação de sistemas mobile iOS e à sua linguagem. Pa

staff

staff

Android: Bases de Dados e Geolocalização

Nesta edição trazemos até vós a review de um dos livros mais recentes da FCA Editora, o Android: Bases de Dados e Geolocalização de Ricardo Queirós. Como seria de esperar, este é um livro com a qualidade habitual que este autor já nos habituou. Direccionado para os profissionais de informática (e também para os entusiastas e curiosos) que queiram dar os primeiros passos na programação Android com destaque claro está para as bases de dados e geolocalização. Contudo devo dizer-vos

staff

staff

Como criar um programa auto-replicativo em assembly, para GNU/Linux

A arte da criação de programas auto-replicativos parece estar perdida no tempo. Não podemos confundir um programa auto-replicativo com malware, cavalos de tróia, worms, etc. Um programa auto-replicativo não executa nenhum tipo de código para danificar hardware ou software, pelo contrário apenas tenta replicar-se de diversas formas ou métodos e é por norma escrito numa linguagem de baixo nível, como por exemplo assembly. A parte mais interessante e importante do programa ao contrário d

staff

staff

Windows 10: Ferramentas de Segurança

Introdução As ameaças de segurança aos dispositivos, dados e informações são um assunto importante no dia a dia e evoluem com frequência. Por isso, é necessário contar com hardware, software e ferramentas que sirvam como uma barreira para os riscos que os utilizadores enfrentam em atividades como navegar na internet, instalar aplicações ou simplesmente ligar o computador. Ameaças como o hacking ou infeção de equipamentos com vírus e malware, acontecem tanto a nível pessoal como empresarial e,

staff

staff

Modelos de Avaliação de Interface

Um dos pontos mais importantes, apontados no estudo das Interfaces Humano-Computador (IHC), é a preocupação em desenvolver sistemas voltados ao usuário a partir da premissa “desenvolver sistemas pensando e considerando o usuário em todo o seu processo” (SILVA, 2008, p. 92). É fundamental haver a preocupação do desenvolvimento do software em atender as especificidades e necessidades do usuário, a partir da ótica usada na Engenharia de Software (ES) consoante ao estudo da IHC. Silva (2008, p. 92)

staff

staff

Redes neurais artificiais: o que são? Onde vivem? Do que se alimentam?

Atualmente, muito se fala em inteligência artificial. O Google investe, a Microsoft, a Amazon, a Uber, o Facebook, a Apple… E essa lista não para por aqui. Nós sabemos que é uma tecnologia pujante, que, juntamente com a correta análise do Big Data, certamente será uma das ferramentas mais poderosas que nós teremos no futuro próximo. A ideia deste artigo é falar um pouco da inteligência artificial, mais precisamente abordar os algoritmos das redes neurais artificiais (RNA), sua arquite

staff

staff

Mini Maker Faire Castelo Branco

Decorreu no passado dia 10 de Junho a Mini Maker Faire em Castelo Branco. Correndo o risco de ser suspeita, uma vez que Castelo Branco será sempre a minha cidade de eleição, é com orgulho que vos digo que este foi um evento que decorreu com todo o sucesso esperado. A PROGRAMAR como Media Partner do Evento, esteve no local, e posso dizer-vos que nesse dia, todos os caminhos iam ter à Mini Maker Faire. Organizado pela AICB, a Associação de Informática de Castelo Branco, este evento teve a

staff

staff

Revista PROGRAMAR nº 57 — Julho de 2017

A Revista PROGRAMAR está de volta com mais uma edição. Desta vez temos como tema de capa o artigo Raspberry Pi Alexa, da autoria de António C. Santos. Adicionalmente, nesta edição poderá encontrar mais 14 artigos, que listamos de seguida: Pseudorandom Number Generators (PRNGs) (Pedro Tavares) Algoritmo BackPropagation (Rita Peres) UP-CICLAR a velinha apareglhagem HI-FI (António Santos) Análises de Hardware: SONOFF RF (António Santos) C# -De DataTable para ficheiro CSV (mais comum do que ser

staff

staff

04 Too many open files (no handles left)

Esta é a 26ª edição em que vos escrevo, fez este mês cinco anos e sete meses que tenho a honra e o privilégio de editar a Revista PROGRAMAR, tantas vezes lutando conta o tempo, escrevendo até altas horas, escrevendo mais do que seria “habitual”, fazendo mais um “git push”, esticando os limites, contornando o tempo, a disponibilidade, pedindo aos autores mais um esforço, para que se faça mais uma edição! O que seriam “demasiados ficheiros abertos”? Seriam 25 demais? Seriam antes 26? Be

staff

staff

Os segredos do lado negro da BIOS

Introdução A BIOS Ao longo dos anos, muito tem sido escrito sobre possíveis vectores de vulnerabilidade utilizando a bios. No entanto, além do antigo vírus de Chernobyl, que acabou por apagar a BIOS, pouco tem sido dito. Tal como amplamente descrito, a BIOS é um firmware de arranque designado a ser executado assim que um computador recebe corrente. A função inicial da BIOS é identificar e testar os dispositivos de sistema, como a placa gráfica, as unidades de armazenamento (disco ri

staff

staff

Otimizando os sistemas embebidos

Recentemente calhou em conversa com um amigo meu sobre programação de sistemas embebidos, visto que ele estava a avançar com um projeto muito interessante com um equipamento semelhante ao Arduino. Esta conversa relembrou-me os tempos em que programava em ANSI C (de 89) num LPC2106 da Phillips e aos tempos que andava a aprender ANSI C (de 89) e o belo do assembly, e surgiu a ideia para este artigo. Quando alguém começa a programar num Arduino (ou equipamentos semelhantes) vai seguindo os ex

staff

staff

Tipos em Python

Python sempre foi uma linguagem fortemente tipada, para surpresa de muitos que confundem a tipagem dinâmica com a ausência de tipos. Na realidade, os tipos em Python funcionam tão bem e de forma tão automática que muitas vezes esquecemos que eles existem. Mas nem tudo é perfeito. Hoje existem programas gigantescos escritos em Python e os programadores precisam de ferramentas poderosas para entender e navegar neste código. Aí tínhamos um problema, pois ferramentas de edição mais avanc

staff

staff

Gerir a Qualidade do Código

Vamos dar uma martelada? Quem nunca ouviu esta expressão enquanto trabalhava numa aplicação, quer seja no seu desenvolvimento, quer seja na sua manutenção. Este tipo de prática não abona em nada as nossas aplicações e com o tempo acaba por ser um procedimento, uma feature da aplicação que não nos conseguimos livrar. Este simples exemplo, é apenas um num enorme lote de más práticas que são realizados ao longo dos tempos em muitos projetos. Como fica a nossa aplicação, a sua per

staff

staff

Cifra Feistel

Nesta edição decidimos trazer até si, caro leitor, um artigo sobre uma cifra que data ao ano de 1973. Criada por Horst Feistel enquanto trabalhava na IBM, este algoritmo pertence à criptografia simétrica. Para os leitores que não estão tão habituados a este tema, existem dois tipos de cifras. A simétrica e a assimétrica. Em termos práticos, a criptografia simétrica tende a ser mais rápida uma vez que exige menos capacidade computacional. Contudo é considerada menos segura uma vez

staff

staff

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.