sexta-feira, 31 de outubro de 2014

Aprendizado de Máquina com Scikit-Learn

Neste post pretendo dar continuidade ao post anterior adentrando dessa vez a área de Aprendizado de Máquina (Machine Learning). Agradeço a essencial contribuição do amigo Jason Brownlee que não hesitou em me conceder autorização para seguir a abordagem de suas publicações nesta área.

Antes de falar um pouco mais sobre os algoritmos de Machine Learning (assunto para próximos posts) escrevo um pouco sobre o Scikit-Learn, uma biblioteca de Machine Learning para Python que tem sido amplamente utilizada, sendo defendida por muitos como sendo atualmente a melhor biblioteca para este tipo de aplicações.

Análise de Dados, Aprendizado de Máquina e Ciência de Dados

Neste post pretendo iniciar uma série de posts sobre Análise de Dados (do inglês, Data Analysis), Aprendizado de Máquina (Machine Learning) e Ciência de Dados (Data Science).

Acredito que a definição destas áreas seja algo ainda em aberto, muito discutido na comunidade acadêmica e na indústria, tendo quase unanimidade sobre o quanto tais termos são recentes e ainda estão em processo de definição.

Por isso, a explicação que dou a seguir leva a um debate em segue em aberto, remete a definições que têm sido construídas por diferentes tipos de profissionais e pesquisadores em diversos ramos, especialmente Estatística, Matemática, Ciência da Computação, Ciências Sociais, etc.

sexta-feira, 21 de março de 2014

2-year retrospective and a glimpse of the future

Dear readers! Now that almost 12 months has passed, I decided to find a way of spending some time for a new post. At least some minutes each day.


First of all, I want to mention my satisfaction with the visits from so many places which I've never imagined would happen, and also apologize for so much time without a single post. But I aim to, through this post, share with readers about many recent changes in this blogger's life who is writing, which also will reflect on future posts in the blog.


The "Informata Brasileiro", myself, has passed whole 2011 and 2012 intensively studying "top of mind" technologies for software development, taking references from technology radars from influent companies of this field.

quinta-feira, 20 de março de 2014

Retrospectiva de 2 anos e um vislumbre do futuro

Caros leitores! Depois de quase 12 meses, resolvi dar um jeito de separar um tempo para uma nova postagem. Nem que fosse um pouquinho de tempo por dia.


Antes de mais nada, quero manifestar minha satisfação com as visitas ao blog que continuam vindo de tantas partes que eu nem imaginava, e também pedir desculpas por tanto tempo parado. Mas pretendo neste post atualizar os leitores sobre as muitas mudanças que aconteceram na vida deste blogueiro que vos escreve e que também refletirão nos futuros posts do blog.


O "Informata Brasileiro" aqui passou os anos 2011 e 2012 estudando intensamente tecnologias "top of mind" para desenvolvimento de software, tomando como referências radares tecnológicos de empresas influentes no ramo.

terça-feira, 2 de abril de 2013

Quebrando a Cifra de Vigenère

A disciplina de Criptografia é outra que tem se revelado bastante interessante. Na última aula ficou como tarefa quebrar um texto criptografado com a cifra de Vigenère, método de criptografia descrito por Giovan Battista Bellaso em um livro de sua autoria datado de 1553.

Para quem possui pouco ou nenhum conhecimento sobre criptoanálise, este método pode parecer inquebrável, ou seja, indecifrável. Mas através de algumas técnicas básicas é possível quebrá-lo facilmente, como vou demonstrar com um programa que escrevi em Ruby para a tarefa da disciplina.


sábado, 23 de março de 2013

Simulando Redes com NS-3 e Python/C++

Recentemente, em uma das aulas do Mestrado na PUCRS, comecei a brincar com simulação de redes de computadores utilizando o software NS-3, um simulador de eventos de redes focado em pesquisas e uso educacional.

Pretendo compartilhar aqui parte do aprendizado e das descobertas feitas com o uso desta ferramenta.

Vou apresentar uma rápida visão do processo de instalação do ns-3 e dar uma passada no primeiro exemplo que acompanha o pacote do simulador.

sábado, 16 de março de 2013

Mais um pouco de ScalaTest

No post anterior, sobre Mockito, falei um pouco sobre ScalaTest, sem, no entanto, entrar em detalhes.
No post atual, pretendo então relatar alguma experiência que tive com a linguagem Scala e com a biblioteca ScalaTest.

quinta-feira, 14 de março de 2013

Testes com Mockito e um pouquinho de ScalaTest

Recentemente, retornando ao TDD com Java, resolvi experimentar o Mockito. Descobri um mocking framework muito interessante, fácil de utilizar e versátil.


A documentação é relativamente ampla, por isso só vou dar um breve relato de como foi minha experiência, com o intuito também de motivá-lo a explorar mais essa biblioteca e testar em seus projetos.


sexta-feira, 1 de março de 2013

Java 7 e suas novidades de sintaxe

Já há rumores sobre Java 9, mas para quem, assim como eu, ainda estava no Java 6 e se atrasou um pouco para conferir as novidades do Java 7, vale a pena dar uma conferida nas novas facilidades introduzidas na linguagem e como elas podem melhorar o código dos seus projetos.
Algumas mudanças entram na categoria chamada de Syntactic Sugar, o que, resumidamente, são novidades introduzidas somente a nível de linguagem para facilitar a vida do programador, sendo em momento de compilação revertidas à sintaxe padrão. Um exemplo anterior de uma melhoria ao estilo Syntactic Sugar introduzida no Java 5 é o autoboxing e unboxing (conversão automática entre valores primitivos e seus respectivos wrapper objects).
Vou apresentar aqui as seguintes novidades: switch com String, novidades nos numéricos, tratamento de múltiplas exceções, try-with-resources e diamond syntax.

terça-feira, 1 de janeiro de 2013

Que tal migrar para Haml?

Que tal começar 2013 migrando as telas de seus projetos Rails para Haml? Ou pelo menos de um de seus projetos?
A experiência pode ser mais empolgante do que você pensa!

O Rails utiliza ERb na camada de visão por padrão, mas é possível mudar para outras opções e até mesmo criar a sua própria.