400x faster Matrix multiplication for Ruby

A friend called Allan de Medeiros Martins has made me loose some time playing with Restricted Boltzmann Machines just for fun!
Matrix multiplication is a critical operation in respect to the performance of the algorithm we’ve been discussing. Ruby has a Matrix class at the standard library and its Matrix#*  method does the job!
But, the whole thing was really slow compared to the matlab version of the code. Continue lendo “400x faster Matrix multiplication for Ruby”

Pronto, Codeship and GitHub for automatic code review

Wouldn’t it be nice if  pronto posted its output as comments directly at relevant commits on GitHub, like this?Pronto is an automatic code review ruby gem. Behind the scenes, it runs some other code review tools like: rubocop, reek and flay. It can be run against a set of recent commits, so you can focus on the most recent aggressions to code quality. Particularly useful to check pull requests’ health. Pronto outputs through its formatters. There’s 3 specific formatters that are capable of communicating with GitHub: github, github_status and github_pr. Although the examples below are from a Rails application, one can easily adapt them to a plain ruby script or another ruby framework.

Continue lendo “Pronto, Codeship and GitHub for automatic code review”

rake db:setup, db:reset e db:migrate:reset

As tarefas de banco de dados mais básicas do Rails provavelmente são essas: Continue lendo “rake db:setup, db:reset e db:migrate:reset”

De Basic a Ruby – 5

No post anterior vimos como o computador, a partir apenas de zeros e uns, consegue representar uma infinidade de coisas, desde um simples texto de um documento a um filme 3D. Mas o computador seria inútil se não pudesse executar nenhuma ação com esses dados.

Continue lendo “De Basic a Ruby – 5”

Tropical Ruby 2015

Levi as Superman

A conferência “Tropical Ruby 2015 – O Melhor do Ruby na Praia” aconteceu esse último fim-de-semana de 05 a 08 de março no Summerville Beach Resort em Porto de Galinhas (Ipojuca-PE). Contou com diversos palestrantes de peso do mundo do Ruby e Rails num ambiente amistoso e acolhedor proporcionando o nascimento e fortalecimento de amizades e contatos profissionais dentro da comunidade Ruby brasileira. Continue lendo “Tropical Ruby 2015”

De Basic a Ruby – 4

No texto anterior entendemos como é possível representar qualquer número natural com apenas acesos e apagados (0 e 1) utilizando-se o sistema de numeração binárioMas, será que só de números viverá o homem? Continue lendo “De Basic a Ruby – 4”

De Basic a Ruby – 3

Dados Binários

Se você frequentou aquelas aulas de computação sobre as quais eu comentei na primeira postagem dessa série, você deve lembrar que um computador só compreende a diferença entre ligado e desligado, aceso e apagado ou em notação numérica, seria a diferença entre zero e um.  A cada unidade desse sistema binário dá-se o nome de bit (binary digit). E ao agrupamento de 8 desses bits dá-se o nome de byte ou octeto.

Continue lendo “De Basic a Ruby – 3”

De Basic a Ruby – 2

Karateka - Início do Jogo

Quem quiser matar a saudade do tempo do TK-2000 da microdigital basta acessar o site do emulador dele (http://tk2000.sourceforge.net/). Procure por Downloads e Binary na página. Baixe o arquivo chamado TK2000.jar e o execute. A tela do jogo Karateka é nostalgia pura!

Continue lendo “De Basic a Ruby – 2”

RuPy Natal 2014 – Links

Na RuPy Natal 2014, conferência sobre Ruby e Python, pude assistir a excelentes apresentações. Como o ritmo é acelerado, é bem difícil lembrar de tudo. Em eventos como esse, eu tento tomar nota de tudo que eu gostaria de checar posteriormente. Continue lendo “RuPy Natal 2014 – Links”

De Basic a Ruby – 1

TK-2000

Se você foi adolescente no Brasil por volta dos anos 80 a 90 deve ter escutado diversas vezes: “Faça um curso de inglês e computação pois será o futuro”. Continue lendo “De Basic a Ruby – 1”