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, havendo inclusive já estudos sobre a aplicação desses princípios a vertentes como a gestão e o negócio.

O livro, encontra-se dividido em treze capítulos, cada um dedicado a um aspecto concreto, que apesar da amplitude do texto, denota sempre a vertente bélica do mesmo. No entanto isto não invalida a sua aplicação ao software! Ora vejamos.

Continuar a ler

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 tivermos. Isso não é possível com um simples SELECT.

Aqui entram os cursores. São uma figura demoníaca muito mal tratada, mas que se virmos bem são até bastantes simples.

Continuar a ler

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. Para poder tirar mais partido do processo de aprendizagem deste livro, o leitor necessita de ter acesso a um computador da Apple e ter instalado o XCode para poder seguir os exemplos.

Continuar a ler

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 que os leitores mais experientes no assunto, não ficarão desiludidos com este livro em particular, uma vez que os temas abordados têm todo o interesse, tenhamos 0 ou 10 anos de experiência nesta temática.

O livro é constituído por oito capítulos, sendo que os mesmos estão divididos por duas partes. A linguagem de programação usada nos exemplos dados é o Java.

Continuar a ler

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 de um malware não é um pedaço de código para causar danos, mas antes pelo contrário apenas o código que per- mite que o programa se replique.

Apesar de muitas vezes se confundirem as duas tarefas, um programa auto-replicativo é uma forma de criatividade, engenho e inovação, com o objectivo de criar um programa que se consiga manter num sistema informático evitando ser apagado e replicando-se de forma inteligente, evitando a sua detecção e consequente remoção. É quase como fazer um avião de papel, ajustar as “asas”, o “nariz”, colocar ou não um “leme de cauda”, etc e atirar para ver que distância é percorrida antes de inevitavelmente aterrar, ou melhor, cair! Em momento algum se pretende que o programa, tal como o avião, dure “ad aeternum”, sendo o interesse apenas no lapso de tempo que ele durará até ser totalmente removido.

Continuar a ler

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, algumas vezes, podem acontecer simultaneamente em ambos os cenários. Por isso, o primeiro passo para reforçar a segurança da nossa informação é utilizar equipamentos com ferramentas atualizadas, como por exemplo, PCs com Windows 10.

Continuar a ler

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) cita Nielsen que em seu estudo classifica os métodos de avaliação de sistemas em três categorias.

Continuar a ler

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 arquitetura, seu funcionamento e suas principais aplicações.

Continuar a ler

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 participação de vários makers e de mais de duas centenas de pessoas estiveram presentes.

Continuar a ler