March 2013
1 post
Installing Ruby 2.0.0-p0 on OSX
Mar 6th
January 2013
2 posts
4 tags
JRuby 1.7.2 Released
I’m big fan of JRuby. The Ruby language’s flexibility with the JVM’s power give to us a big weapon to create amazing applications.  http://www.jruby.org/2013/01/04/jruby-1-7-2.html
Jan 5th
4 tags
Excellent talk about Refactoring
I have to say that this one was the best talk about refactoring that I ever watch.  I highly recommend it.
Jan 5th
1 note
June 2012
1 post
3 tags
Rack 1.4.1 error when a parameter's key is nil
While we are waiting for the next release of rack that will come with that fix, I extract a code from a pull request in rack repository and created a monkey patch to fix this problem. This problem often happens when you are using google analytics or another service https://gist.github.com/2896202
Jun 8th
April 2012
2 posts
6 tags
Representable Resources
Last weekend I created a new rubygem to help to build a good api to your application. With this gem you can separate your models and business logics of your representable resource. At the github has information about how to use it https://github.com/lucasallan/representable_resources
Apr 24th
3 tags
ruby wrapper to access google movies informations
Hello everyone, I just released a new rubygem to access google movies information. Unfortunately google doest not provide a api interface to access this information. so my gem get the html and use nokogiri to parser it and get the information. I hope it can be useful for someone. It was fun to working on it and learning more about nokogiri. https://github.com/lucasallan/google_movies
Apr 14th
March 2012
1 post
Migrating from Wordpress to Tumblr
Hello guys, After too many problems with wordpress, I’m migrating my blog to tumblr. This process can take a while because I’m in a very full week in my job. Thanks, Lucas
Mar 27th
February 2012
1 post
5 tags
If you're still using ruby-debug, you're doing...
First, I’m not here to talk bad things about ruby-debug. For almost all my career as ruby developer I have been using ruby-debug and it works well. But since I discovered pry my life as ruby developer is more easy. I really recommend you check it out, you probably will love it. I don’t go talk to much about pry, there is to many documentation out there. To know more about ruby...
Feb 25th
January 2012
1 post
3 tags
Books
Hi guys, I took this month to read some books that I wanna read for a long time. I created a gist to share which books I’m reading and I’m accepting more suggestions about another books. So I created a goal to read at least 2 books a month, maybe more. In this month I’m reading Clean Code and Crafting Rails Applications. In a few weeks I will write a review about this...
Jan 12th
December 2011
5 posts
7 tags
Generate PDF with prawn and Google charts
Hey guys, It’s a quickly post about how to generate pdf with prawn and google charts. Prawn is a awesome lib in ruby for generating PDF documents and google charts is a API to generate charts. I like to create a class responsible to generate my pdf documents. Here is my implementation: # encoding: UTF-8 require 'open-uri' class GenderReportPdf < Prawn::Document def...
Dec 29th
4 tags
OmniAuth strategy for authenticating to Podio
Hello fellows, Now that I finished my bachelor’s degree, I have free time to devote to open source projects that I like and a project that I really like is OmniAuth. OmniAuth is a libary that standardizes multi-provider authentication for web applications. It’s very flexible and nice! In my current job, we are using a lot a web application called Podio. It’s a very cool...
Dec 22nd
4 tags
Finally bachelor's degree in Informations system
After almost 5 hard years, yesterday I finally presented my last job at the university, it’s was a paperwork with more than 60 pages that I wrote about developing social network applications. Now I’m ready to receive my bachelor’s degree in Informations system (it’s like computer science). It was hard years, trying to figure out how to work all day long and at the...
Dec 15th
6 tags
Validates password strength in Rails app
Hello guys, In the last weekend I finished a rubygem to validate the password strength. It’s a very simple gem, the code are available at github To install: gem install password_strong It’s very simple to use, just add verify_strong in the attribute. Example: class User < ActiveRecord::Base verify_strong :password end In the future I gonna work in client side...
Dec 13th
4 tags
Creating custom middlewares with Rack
To kick off, What is Rack? A Rack applications is a object that has a methods named ‘call’ and that method receive the enviroment as a argument and return a array with exactly three values: status, header and body. The following is a simple example: class App def call(env) [200, {"Content-Type" => "text/plain"},["LucasAllan.com"]] end end Rack is the base of a lot of...
Dec 13th
October 2011
3 posts
13 tags
Integrations tests and Devise Login
Yesterday I started doing a new project using devise gem to manage login features. When I started to do integration tests using rspec, I found a problem: devise test helpers doesn’t work with rspec integration test. So this is a quick solution to fix this. require 'spec_helper' include Warden::Test::Helpers describe "UserDashboards" do before(:each) do @user =...
Oct 27th
1 note
7 tags
Short tips to create a great API
The last projects that I have worked had a API for external client access, I learned a lot with those projects and here I gonna share with you what I learned. HTTP You must to understand how HTTP protocol works. This is the first and more important thing. Use HTTP verbs - Your api must be able to understand what we expect that it does if for example a request with put verb is received....
Oct 21st
7 tags
PostgreSQL and Postgis on Mac OS Lion
Recently I had some problems with Mac OS Lion and I decided to do a clean install. So all went well until I decided to install PostgreSQL with spatial extension called postgis and so the problems began. My friend Kleber gave me a Gist with some simple steps to install postgresql and postgis after Lion update. So I was trying to follow those steps but it’s didn’t work. So I...
Oct 3rd
September 2011
1 post
3 tags
Singleton Classes on Ruby
First, this post is not about Singleton Pattern. Every object on Ruby belongs to two classes. The class that  instantiated it and one anonymous class. This anonymous class is named Singleton Class. We can access the Singleton class using something like that: class << my_class end In that example, my_class is the Singleton Class that I want. So we can add a new method using something...
Sep 5th
August 2011
1 post
2 tags
I returned!
Hello everybody, After a long time, I’m returning to update the blog. Many things happened in that time. I was working like freelancer for Ewakened (Toronto - Canada) in many projects. Ewakened is a very great web consultancy, with many good developers. It was a great professional experience. Now I’m working as a software engineer on Uppna. I’m on the last year of...
Aug 12th
January 2011
1 post
2 tags
will_paginate with Rails3 and Caching
This is a quick solution to use will_paginate gem with Rails3 and Caching. If you have a Rails application with cache and you are using will_paginate gem, maybe you have a problem with your routes. A simple solution for this, is add a route in your routes.rb file. For example, if you have a model named ‘post’ and you need add paginate in your index page. You have a problem, because...
Jan 27th
December 2010
2 posts
11 tags
Rails 2.3.10 on App Engine
Durante esse feriado de natal, estive testando o suporte a JRuby no Google App Engine. Conseguir rodar tanto uma aplicação feita com Sinatra quanto uma feita em Rails 2.3.10. Infelizmente a gem google-appengine ainda não suporta o Rails 3, mas esse suporte já está sendo desenvolvido. Então pesquisando no Github achei um gist mostrando como gerar uma aplicação com Rails 2.3.10 e DataMapper,...
Dec 26th
5 tags
Otimizando o front-end – Parte 2: Imagens
Dando continuidade a série de dicas sobre otimização de front-end, iremos falar um pouco sobre imagens e o que não devemos fazer com elas. Para começar, nunca sete o tamanho da imagem no  html ou css, a imagem que você vai por no seu site deve ter exatamente a resolução que você quer que ela apareça. Isso é um erro muito comum, e gera consumo de banda desnecessário. Eu já vi casos de imagem com...
Dec 26th
November 2010
2 posts
11 tags
Otimizando o front-end - Parte 1: Testando
Esse é o primeiro post de uma séria voltada para como melhorar o desempenho de seu site/sistema web. Hoje em dia, trabalhar com desenvolvimento web envolve vários fatores. Um deles é o desempenho, desenvolver um sistema/site que tenha uma performance boa também envolve diversos aspectos. Existem algumas extensões para o firefox capaz de testar o desempenho da sua camada de visão, são eles o yslow...
Nov 28th
12 tags
De volta ao blog
Olá pessoa, sei que o blog anda meio parado. Os últimos 3 meses foram de muita correria, fui promovido no trabalho, assumindo o cargo de gerente do setor de desenvolvimento, o que tomou grande parte do meu tempo. Oxente Rails Fazendo um resumo dos últimos meses, em agosto estive em natal, no OxenteRails. Um evento de muita qualidade, recomendo a todos, em 2011 estarei lá novamente. Agradecimento...
Nov 6th
August 2010
3 posts
16 tags
Desenvolvimento com Rails, mongoid, rspec e...
Nesse rápido post irei demonstrar como iniciar o desenvolvimento de uma aplicação com o Rails 2.3.8, utilizando como banco de dados NoSql o Mongodb. Para conexão com o banco, utilizaremos a gem Mongoid. Também iremos configurar para testes o Rspec e o Cucumber. Considerando a parti daqui que você tem todas as gems citadas anteriormente instaladas no seu ambiente. Primeiro começaremos criando uma...
Aug 12th
9 tags
Pesquisa avançada com MongoMapper, simulando um...
Esse post é uma “continuação” do anterior, estarei demonstrando como fazer uma query no “like %” no MongoDb, utilizando a gem MongoMapper Como no post anterior, eu tenho o model “Person”: class Person include MongoMapper::Document key :name, String key :middle_initial, String end E eu preciso encontrar todos os registros (no caso do Mongodb,...
Aug 3rd
9 tags
Pesquisa avançada com Mongoid, simulando um "like...
Comecei semana passada a utilizar o Mongodb (utilizando a biblioteca mongoid) em um novo projeto que estou desenvolvendo. Embora a documentação do Mongoid seja excelente, tive problemas para utilizar uma query com o ‘like %%’ de pesquisa como eu utilizava em bancos de dados relacionais. A solução que eu encontrei foi utilizar uma Regex no parâmetro de busca. Imagine que eu tenho um...
Aug 2nd
July 2010
1 post
4 tags
Iniciando no desenvolvimento de aplicações Desktop...
Esse post é o inicio de uma série que estou preparando sobre desenvolvimento desktop com Ruby. Para quem não sabe o Qt é um framework para desenvolvimento de aplicações Desktop muito utilizado pelo comunidade OpenSource. E já provou sua eficácia em grandes projetos. Foi desenvolvido originalmente pela empresa e mais tarde adquirido pela Nokia. Nesse exemplo, será desenvolvido uma simples aplicação...
Jul 26th
June 2010
1 post
6 tags
Utilizando o is_paranoid
O is_paranoid é uma gem que faz com que os registros do banco não sejam apagados através do método destroy. Ao chamar o método destroy nosso objeto é apenas marcado como apagado e pode ser restaurado posteriormente, bem como listado através de método fornecidos pelo is_paranoid. Sua utilização é bem simples, primeiro instale a gem: gem install is_paranoid Para que funcione em sua aplicação Rails,...
Jun 13th
April 2010
1 post
6 tags
Remember password com restful_authentication
O restful_authentication é um plugin de autenticação para aplicativos ruby on rails, com excelentes recursos, super fácil de configurar. Enfim, não vou falar muito sobre ele, pois não é o propósito desse tutorial. Irei assumir que você já tem o restful_authentication funcionando e quer apenas adicionar a funcionalidade de enviar um código de reset password via email para o usuário que esqueceu sua...
Apr 10th
March 2010
1 post
4 tags
Teste em ruby utilizando o RSpec
Essa semana comecei a utilizar o rspec para realizar testes na aplicação que estou trabalhando e estou gostando muito, pra não dizer que estou viciado. O Rspec torna o trabalho de escrever testes divertido, rápido e prático. Abaixo segue o link de alguns excelentes artigos que tive a chance de ler sobre...
Mar 5th
February 2010
1 post
6 tags
Paginação no Rails usando o will_paginate
Uma maneira fácil de se trabalhar com paginação no Ruby on Rails é utilizar o plugin will_paginate. Nesse breve artigo irei demonstrar como instalar e utilizar em sua aplicação. Primeiro instalaremos o plugin: gem install will_paginate Com o plugin instalado, podemos começar a configura-lo na aplicação. Para isso abra o arquivo environment.rb dentro do diretório config e adicione no final do...
Feb 20th
January 2010
1 post
3 tags
JSF utilizando o SelectOneMenu de maneira fácil
Um das principais fontes de dúvida para quem está começando a aprender JSF é o componente SelectOneMenu. Basta uma simples garimpada no google e você confirmará isso. Diversas soluções para o uso do SelectOneMenu são indicadas, uma das que mais vejo é utilizar um converter para converter o objeto selecionada na SelectOneMenu no objeto desejado. Porém eu prefiro uma maneira que acho mais simples,...
Jan 5th
December 2009
2 posts
6 tags
Hibernate - Utilizando a api Criteria
Esse post faz parte de uma série que estou preparando sobre o hibernate, o primeiro foi sobre a extensão especial Hibernate Spatial e esse segundo irei falar sobre um pouco sobre um poderoso recurso do Hibernate, a API Criteria. Nesse tutorial não irei entrar em detalhes sobre configuração do Hibernate, assume-se que você tem o hibernate pré-configurado, irei apenas falar da API. Primeiro...
Dec 27th
9 tags
Hibernate Spatial + Postgis: Uma Introdução
Esse tutorial tem como objetivo fazer uma introdução ao uso do Hibernate Spatial juntamente com o banco de dados postgresql e a extensão espacial postgis. Nesse exemplo estarei utilizando o netbeans 6.8. Para começar, crie um projeto Java no netbeans, clique com o botão direito sobre o projeto e adicione as bibliotecas do “Hibernate” e “Hibernate JPA” ambas disponíveis no...
Dec 27th
November 2009
2 posts
4 tags
Sis 771/671 no ubuntu 9.10 amd64
Mais outro post direcionado aos propriétarios de placas de video Sis 771/671. Como já foi dito em outros posts, a Sis não libera o driver para linux. Para quem instalou recentemente o ubuntu 9.10 64 bits e não conseguiu encontrar um driver compatível, pode fazer o download do mesmo clicando  aqui. Após concluir o download descompacte o driver e copie para o diretorio...
Nov 19th
6 tags
SynSpoofFlood
Essa semana fuçando em alguns arquivos antigos aqui, achei um script de syn flood feito em perl pelo iphelix e melhorei um pouco. O Script original você especificava um ip falso para os pacotes, o ip do alvo e a porta. Então resolvi criar uma função que gera randomicamente um numero ip e envia os pacotes, sendo muito dificil para o administrador da rede atacada conseguir detectar a verdadeira...
Nov 2nd
August 2009
3 posts
6 tags
Introdução ao GeoServer
Excelente video tutorial feito pela própria equipe do GeoServer para quem está começando. Mostra como configurar o GeoServer para trabalhar com os Shapefile. Introdução ao GeoServer
Aug 31st
7 tags
Nova falha grave no kernel Linux
Uma nova falha foi descoberta no kernel linux, que permite ao atacante escalar privilégios obtendo assim acesso de root. As versões do kernel afetadas são: - Linux 2.4, from 2.4.4 up to and including 2.4.37.4 - Linux 2.6, from 2.6.0 up to and including 2.6.30.4 Logo, todas as versçoes disponíveis atualmente tem o bug. O próprio Linus Torvalds já escreveu o patch de correção, que deverá vim no...
Aug 16th
3 tags
1º Encontro oficial do SCRUM USER GROUP
Mais informações: http://groups.google.com/group/scrumpb
Aug 1st
July 2009
2 posts
4 tags
Análise do Windows Vista pela Apple
Vídeo já meio antigo, sobre a opinião da Apple em relação ao Windows Vista. O que eu achei mais genial foi a frase final do Bertrand Serlet - vice presidente da Apple : “Se você não pode inovar, acho que apenas imita, mas nunca é tão bom como o original”
Jul 25th
6 tags
Hibernate Spatial
O Hibernate Spatial é uma extensão do famoso framework de persistência Hibernate. Ele faz o mapeamento objeto relacional de tipos de dados geográficos. Para quem trabalha com desenvolvimento de SIG é uma excelente idéia dá uma conferida. Ele suporta a maioria das funções da OGC (Open Geospatial Consortium) além de suportar também os SGBD Oracle 10g/11g, Postgresql/Postgis, and MySQL. O site...
Jul 25th
June 2009
1 post
4 tags
Criando uma classe mensageira em JSF
Uma coisa que sempre gosto de fazer quando estou programando usando JSF, é criar uma classe mensageira para facilitar o trabalho com mensagens (de erro, informação e etc..). Essa classe, me livra do trabalho de: Obter repetidamente o FacesContext. Criar repetidamente o objeto FacesMessage. Escrever repetidamente as mensagens. Pode parecer pouco, mas imagina você ter que repetir isso todas...
Jun 11th
4 tags
Ext4
Como alguns de vocês já devem saber, a maioria das distribuições Linux já está aderindo ao ext4. O Ubuntu 9.04, Fedora 11 (que será lançado em breve), o Slackware a parti da próxima versão também contará com a opção de usar o Ext4. Estou apenas citando as que mais tenho contato, muitas outras já devem ter incluído esse suporte em seus repositórios oficiais. Mas quais são as vantagens do...
Jun 1st
May 2009
2 posts
5 tags
Dica: Sis Mirage3 on Ubuntu 9.04
Para todos que possuem a placa Sis Mirage3 671/771 e está tendo problemas com o driver da sis. Aqui tem a solução definitiva, um pacote deb do driver, testado e aprovado no ubuntu 9.04 xorg-driver-sis671_0.9_i386.deb Instale o pacote e adciona ao seu xorg.conf, na sessão “Device”: Driver “sis671” E pronto, tudo resolvido. Obs: Essa versão do driver funciona em...
May 8th
April 2009
1 post
2 tags
Pra quem quer aprender SQL
Bom pessoal, para quem tem interesse em aprender SQL, tá aí um excelente ebook (em inglês) gratuito: “SQL for Web Nerds” http://philip.greenspun.com/sql/ Um material muito completo e de excelente qualidade, escrito por Philip Greenspun.  Estou querendo montar um projeto de tradução do ebook para o português, caso alguem se interesse, entre em contato.
Apr 9th
March 2009
1 post
3 tags
Intelbras i61 no Linux sem recompilar o kernel
Há algum tempo eu postei aqui como fazer o Linux funcionar no intelbras i61, para isso era necessario recompilar o kernel desabilitando alguns recursos, o que gerava um grande trabalho, principalmente para quem não tem conhecimento em recompilar o kernel. Bom, descobri há algum tempo que não é necessario tudo isso, basta passar alguns paramentros. Os paramentros são: acpi=force noapic...
Mar 4th
February 2009
1 post
3 tags
Novo Endereço
Bom pessoal, agora o blog está com um endereço próprio. Eu migrei toda a base de dados do antigo blog para esse novo, portanto todos os post’s e comentarios do antigo estão aqui no novo. Espero que agora eu me anime mais para postar material e que também facilite o acesso de vocês ao mesmo. www.lucasallan.com
Feb 13th
January 2009
2 posts
4 tags
Broadcom BCM4312 com driver nativo no Linux.
Continuando com o processo de instalação do Linux nos notebooks intelbras da serie i61. Anteriormente eu demonstrei como conseguir deixar funcionando os 2 cores e o suporte a ACPI, nesse artigo irei mostrar como colocar para funcionar a placa wireless dele. Pelas minhas pesquisas, a maioria das pessoas estão usando o ndiswrapper para emular o driver para windows, é uma solução boa, porem eu...
Jan 22nd
5 tags
Linux no IntelBras i61
Há cerca de 2 meses atras adquiri um notebook intelbras i61, de excelente custo-beneficio. Ele veio com o fenix linux rodando e tudo funcionando perfeitamente. Então resolvi instalar o Bluewhite64 ( uma versão do slackware para computadores 64 bits) e eis que surgiu os problemas. O sistema foi instalado normalmente, mas na hora de iniciar travava. O ubuntu e fedora nem iniciavam o instalador....
Jan 19th