sábado, 30 de outubro de 2010

RailsRumble 2010

Já faz um bom tempo que terminou (foi no final de semana dos dias 16 e 17 de Outubro), mas os resultados ainda estão aí. Participei do RailsRumble convidado pelo @juliogreff. A meta: programar alguma coisa usando RoR em 48h. Detalhe: nem eu, nem ele tínhamos feito nada em Rails antes da equipe Nuby on Rails (que contava com o talento do @rafaelmarin e do @herminiotorres).

A aplicação também foi ideia do Júlio: http://choons.fm. É uma rede social para bons ouvintes (de boa música).


A experiência foi incrivelmente única. Eu não acreditava que a gente conseguiria terminar, mas conseguimos. A estratégia não foi das melhores: Extreme Go Horse (extreme). Talvez por isso o código precise ser refeito... e eu disse talvez... haha

Falando sério, passar 48h programando, dormindo pouco e sob pressão pode não parecer muito divertido, mas o aprendizado no processo foi grande. É muito bom colocar em prática o que foi lido no Caindo na Real (ou Getting Real) - que agora tem nova versão chamada Rework. Acaba dando muita energia para discutir nas reuniões e pra querer mudar o rumo das coisas...

E acontece de às vezes querer pedir demissão, né Júlio?!

Ah, só pra constar: ficamos em 3º lugar (atrás do BeerCheckIn e do Owe Me Cash) na classificação geral, de 180 equipes que conseguiram terminar em 48h, de 300 equipes que se inscreveram. Nada mal para marinheiros de primeira viajem, não?! :)


Então: recomendo pra todo mundo participar, mesmo que não saiba nada de RoR. E mesmo que não consiga terminar a app, o que se aprende vai muito além do código-fonte!

domingo, 3 de outubro de 2010

Primeiros passos com RoR

Comecei a ver RoR seguindo o Getting Started. Tive um problema logo no começo. Foi ao usar o console:

rodolfo@rodolfoNote:~/RoR/blog$ rails console/opt/RoR/ruby/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError)
from /opt/RoR/ruby/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands/console.rb:3:in `require'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands/console.rb:3:in `<top (required)>'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:20:in `require'
from /opt/RoR/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.0/lib/rails/commands.rb:20:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

A solução foi encontrada em http://snippets.aktagon.com/snippets/57-Solution-to-require-no-such-file-to-load-readline-LoadError-problem, mas a solução não foi suficiente:

root@rodolfoNote:/opt/RoR/src/ruby-1.9.2-p0/ext/readline# ruby extconf.rb 
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... no
checking for editline/readline.h... no

O script indica que não encontrou o "readline.h". A solução é instalar o pacote libreadline6-dev via apt e repetir o processo. Essa falha não acontecerá se essa lib estiver instalada no momento de compilar o ruby. :)

Depois, é só tocar ficha:

cd /ruby-1.9.2-p0/ext/readline
ruby extconf.rb
make
make install

Por hoje é só. Logo posto mais resultados... :)

terça-feira, 7 de setembro de 2010

...mas a Dell também acerta!

(essa é a parte 2 - a parte 1 é "A Dell também erra")
Finalmente!

Ontem - segunda-feira, véspera de feriado - 2 semanas depois de reportar o problema para a Dell, um técnico foi até o meu local de trabalho - já que eu estava trabalhando - e trocou a placa-mãe do notebook. Tudo funcionando: agora, depois de 2 notebooks e 5 placas-mãe, tenho um notebook que não aquece (chu*a HP!) e que também desliga!

O atendimento foi feito por uma empresa chamada Unisys e levou 1h e 15min, mais ou menos. O cara desmontou o notebook inteiro! (pena não ter uma câmera pra tirar fotos).

O notebook apresentou defeito, mas não fiquei nem um dia sem ele graças à garantia que a Dell oferece. Realmente muito bom e vale a pena, bem diferente dos notes HP comprados em lojas, que deixam o cliente sem por mais de 2 meses...

O único porém foi o técnico não ter os relatórios de atendimento e precisar usar uma impressora ali. Mas tudo bem, quando eu era técnico fazia dessas também...


Parabéns, Dell. Conseguiu um cliente e várias recomendações.

segunda-feira, 30 de agosto de 2010

A Dell também erra

Faz um tempo que meu notebook Dell tem um problema: ele não desliga. No Windows e no Linux, acontece a mesma coisa: ao desligar, ele faz um "desliguei-na-pegadinha-do-malandro" (créditos pra @vanemaster) e reinicia.

Liguei para a Dell, no 0800, passei todas as informações (incluindo o nro de série, pra não ter problema ao identificar o notebook). Como a garantia é no local (toma HP!), é o técnico da Dell que vem até o notebook, não o contrário. Isso foi na segunda-feira, dia 23. A solução dada pelo atendente: substituição da placa-mãe (de novo?! nããããããão!)

No dia seguinte, me ligam e agendam a visita. Ficou para quinta-feira, dia 26. Até aqui, nota 10 pro atendimento. O ideal seria notebook sem problema, mas o pós-venda está muito bom.

No dia 26 aparece o técnico. E adivinha? Sim, a Dell também erra: mandaram a placa-mãe de outro modelo. O técnico tentou uma atualização de BIOS e mais umas configurações, mas nada feito. Um novo atendimento será realizado.

Hoje, dia 30, uma semana depois do primeiro contato, fui no chat da Dell perguntar pq ainda não entraram em contato. Depois de espera - o atendente precisou pedir ajuda para o coordenador - veio a resposta:

Senhor, infelizmente não temos a peça para o seu equipamento no Brasil
O chamado esta aberto, mas será necessário aguardar a vinda de uma peça do exterior.

Perguntei quanto tempo ia levar... Sem esperanças, mas perguntei. A resposta:

Não tenho como lhe informar senhor.
Pois depende da fabricação.

No fim, mesmo com a espera, estou satisfeito com o atendimento. O notebook funciona e eu não preciso ficar sem ele até conseguirem as peças...

Só 1 coisa a declarar: HP nunca mais!

sábado, 21 de agosto de 2010

Firefox 4.0b5pre - 214 pontos no HTML5

Eu não gosto muito de esperar. Então, resolvi baixar o Firefox direto do repositório da Mozilla e compilar a versão que nem saiu do forno ainda (apressado come cru?):


Para minha grata surpresa, muito do HTML5 já estará implementado na nova versão da nossa raposa (ou panda-vermelho). Os resutados nos testes do site http://www.html5test.com/ chegam a 214 (de um total de 300)!


Para efeito de comparação, a versão atual (3.6.7 enquanto escrevo) fica em 139. E agora já dá pra assistir vídeos no Youtube sem Flash (com o Chrome já dava, é verdade): http://www.youtube.com/html5

Somente baixar e instalar, no entanto, não habilita o webGL. O webGL coloca 3D dentro do navegador. Para funcionar no Linux, é necessário instalar o pacote libosmesa6 e fazer os devidos apontamentos dentro do about:config do navegador:

As mudanças são:

webgl.enabled_for_all_sites = true
webgl.osmesalib = /usr/lib/libOSMesa.so.6


Depois disso, é só testar: http://guciek.net/test/adaptive_webgl


Fonte: http://guciek.net/en/3d/osmesa_webgl

quarta-feira, 18 de agosto de 2010

Como capturar porcos selvagens?

Recebi, ainda em 2007, mas que ainda é atual (transcrevo aqui, mas a autoria não é minha, nem sei de quem é). Não tem nada a ver com informática, mas tem a ver com reflexão e a época...


Havia um professor de química em um grande colégio com alunos de intercâmbio em sua turma. Um dia, enquanto a turma estava no laboratório, o professor notou um jovem do intercâmbio que continuamente coçava as costas e se esticava como se elas doessem.

O professor perguntou ao jovem qual era o problema. O aluno respondeu que tinha uma bala alojada nas costas pois tinha sido alvejado enquanto lutava contra os comunistas de seu país nativo que estavam tentando derrubar seu governo e instalar um novo regime, um "outro mundo possível".

No meio da sua história ele olhou para o professor e fez uma estranha pergunta: "O senhor sabe como se capturam porcos selvagens?"

O professor achou que se tratava de uma piada e esperava uma resposta engraçada. O jovem disse que não era piada.

"Você captura porcos selvagens encontrando um lugar adequado na floresta e colocando algum milho no chão. Os porcos vêm todos os dias comer o milho de gratuito. Quando eles se acostumam a vir todos os dias, você coloca uma cerca mas só em um lado do lugar em que eles se acostumaram a vir. Quando eles se acostumam com a cerca, ele voltam a comer o milho e você coloca um outro lado da cerca. Mais uma vez eles se acostumam e voltam a comer. Você continua desse jeito até colocar os quatro lados da cerca em volta deles com uma porta no último lado. Os porcos que já se acostumaram ao milho fácil e às cercas, começam a vir sozinhos pela entrada. Você então fecha a porteira e captura o grupo todo."

"Assim, em um segundo, os porcos perdem sua liberdade. Eles ficam correndo e dando voltas dentro da cerca, mas já foram pegos. Logo, voltam a comer o milho fácil e gratuito. Eles ficaram tão acostumados a ele que esqueceram como caçar na floresta por si próprios, e por isso aceitam a servidão."

O jovem então disse ao professor que era exatamente isso que ele via acontecer neste país. O governo ficava empurrando-os para o comunismo e o socialismo e espalhando o milho gratuito na forma de programas de auxílio de renda, bolsas isso e aquilo, impostos variados, estatutos de "proteção", cotas para estes e aqueles, subsídio para todo tipo de coisa, pagamentos para não plantar, programas de "bem-estar social",  medicina e medicamentos "gratuitos", sempre e sempre novas leis, etc, tudo ao custo da perda contínua das liberdades, migalha a migalha.

Devemos sempre lembrar que "Não existe esse negócio de almoço grátis" e também que "não é possível alguém prestar um serviço mais barato do que seria se você mesmo o fizesse".



Lembre-se disso (também) na hora de votar...

domingo, 25 de julho de 2010

FISL 2010

Chegou ao fim mais um FISL. Foi o 11º da história do evento e o 2º da minha história pessoal. :)


Valeu pelas palestras, pelas oficinas em pé no meio dos expositores e tudo mais. Pessoal do Tchelinux de parabéns e do Ateliê Livre também, que deixaram com mais vontade ainda de comprar um Arduino.

Muito interessante o que foi demonstrado sobre o Firefox. Nos sentimos (eu e o Júlio Greff, que assistiu comigo) pequenos com a quantidade do que pode/poderá ser feito. Depois do que vi, passei a acreditar que realmente poderemos ter o navegador substituindo boa parte do desktop...

Muita coisa sobre Ruby on Rails. Muito mais sobre filosofia do que sobre código e programação. Mesmo as ditas "metodologias ágeis" hoje já esquecem os 4 princípios do manifesto ágil:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
E antes que pensem mal, não vou abandonar o Python/Django... ;)