Avi Bryant cantou a bola primeiro na RailsConf 2006: “Eu sou do futuro, eu sei como essa história termina. Todas as pessoas que dizem que não é possível implementar Ruby numa virtual machine rápida estão errados. Essa máquina já existe hoje, é chamada GemStone e poderia certamente ser adaptada para rodar Ruby.”

Pois bem, este dia chegou e Avi também envolvido nisso! A InfoQ entrevistou o gerente de produto Bob Walker, e é exatamente o que vocês estão pensando: uma máquina virtual Smalltalk a...

Satish Talim, from RubyLearning fame forwarded me 2 question from one of his students. So I went to to write a few advices for him. Without knowing his level of expertise I tried to encompass tips for young programmers in general. I hope it makes sense. Feel free to comment and ask questions.

Hoje eu fiz minha declaração de imposto de renda pessoa física (atenção: acaba amanhã!!) Além disso ajudei meu pai a enviar a dele. Para isso o iChat no Leopard foi fundamental.

Confreaks just released a new batch of awesome videotaped keynotes from the Goruco 2008 conference held in New York City. If you were not able to attend, that’s our second chance to take a look on what the community is doing. I am particularly interested in Bryan Helmkamp’s keynote on Story Driven Development with RSpec, as I am myself trying to learn the user stories feature. I can bet Chris Wanstrath’s keynote on ParseTree is a lot of fun as well. And if you also missed MountainWest RubyCon...

I was just told by the Phusion guys that mod_rails 1.0.2 is going to be released today! Keep an eye on it. And if you didn’t do so, donate for the Ruby Enterprise Edition program (I am in the second batch already!) Update 04/30: As I have said, Phusion released 1.0.2 with lots of features explained in their new corporate blog. New features include support for OS X’s built-in Apache, support for Rails below 2.0, more stability, a new tool to measure real memory usage (‘ps’ doesn’t convey the t...

Agradecimentos a todos que levantaram sábado cedo pela manhã para assistir minha palestra na Impacta. Foi bem legal, conseguimos lotar o auditório e espero que tenha sido proveitoso para todos. Como eu prometi, aqui está o link para os slides. Um ponto que eu achei interessante: eu havia preparado um pequeno demo (que infelizmente não tive tempo de terminar), usando o plugin brazilian_rails. Por acaso enquanto eu falava das convenções do Rails com plurais nos nomes de tabela, alguém já veio c...

Você usa Ext JS? Num projeto comercial? Cuidado …

Alguns dias atrás iniciou-se uma longa discussão em diversos fórums sobre o framework ExtJS.

Para quem não conhece o framework ExtJS é um toolkit extremamente complexo feito em puro Javascript. O autor, Jack Slocum, começou criando uma extensão à biblioteca Yahoo UI mas ele cresceu para algo ainda maior.

Pense um toolkit gráfico completo, com elementos complexos como grids, tabelas, árvores e todo tipo de widget que você veria num Visual Basic, Delphi ou parecido. Ele faz interfaces quase tão complexas e bonitas quanto vocês fariam num Adobe Air, por exemplo.

A comunidade começou a usar o ExtJS em massa. Porém, uma grande controvérsia se iniciou no lançamento do ExtJS versão 2.1.

Pessoal, só para relembrar que este sábado, dia 26, vou palestrar na Impacta aqui de São Paulo. As inscrições são gratuitas através deste site O endereço do local da palestra é Rua Arabé nº 71 – travessa da Luis Goes, na Impacta, das 10:00 às 13:00. Será uma abordagem de introdução, nada muito avançado. Conceitos, filosofia. Se quiserem levar algum chefe para convencê-lo do assunto seria uma boa oportunidade :-) Nos vemos por lá!

Ontem, dia 21/04, os principais responsáveis por implementações Ruby se reuniram para uma reunião de kick-off via IRC. O log e o resumo podem ser lidos no wiki do ruby-design.

Estiveram presente a equipe Ruby-Core japonesa, com Matz, Koichi, Nobu, Tanaka (não estava o knu, que é o responsável hoje pelo 1.8, o Matz e Koichi estão focados no 1.9). O pessoal do JRuby, Charles, Thomas, Ola. O Evan do Rubinius, o Laurent do MacRuby (implementação de Ruby feita em Objective-C). Outros poliglotas como Eric Hodel, MentalGuy, Nick Sieger. Só o John Lam, do IronRuby não pode aparecer desta vez.

Esse encontro parece que foi organizado pelo próprio Matz, deliberado principalmente pelo Charles e Evan (se Matz é o Rei Arthur, Charles seria Lancelot e Evan, Galahad :-).

Chris is a very accessible and easy-going guy, and I just got him out of AIM and started the interview right away. For those of you who never heard of ‘Chris Wanstrath’, he is also known for Err the Blog and recently as one of the guys behind the Github phenomenon.

He answered everything in color detail and we speak a lot about his open source projects, performance, scalability and, of course, lots of Git and Github stuff. Hopefully it will make people even more excited with how the Ruby/Rails community is moving things forward all the time.

aos leitores brasileiros: assim que tiver tempo irei traduzir esta entrevista.

Update 25/08/2009: A lei já foi aprovada pelo CCJ e caminha para o CAS. Isso está indo longe demais!

Update 21/04/2008: Este post do Paulino Michelazzo é muito bom. Recomendo.

O Rodrigo Kumpera disse tudo, essa lei de regulamentação de ‘analistas de sistema’ é pura perda de tempo e uma bobagem sem tamanho.

Senhores “políticos”, dito que já estão desperdiçando nossos impostos em projetos de lei sem sentido, que tal regulamentar a profissão de político? Como podemos ver, sua profissão pode causar mais males a uma quantidade muito maior de pessoas com muito mais facilidade do que um médico não licenciado realizando cirurgia cardíaca.

Vamos colaborar: bloguem, divulguem e o principal, enviem sucata para a casa deles (endereços dos ditos no link acima). Tenho alguns quilos de sucata excedente aqui esperando um destino.

Mas tem que ser rápido! O tempo está se esgotando.

Obs: se quiserem ficar revoltados basta ler o texto integral dessa tal lei. Seria engraçado se não fosse trágico. Em resumo, serve para criar milhares de cabides (conselhos regionais e fiscalizadoras, bla bla bla), serve para nos roubar (anuidades a esses cabides), nos fazer voltar 30 anos no passado e frear o desenvolvimento tecnológico do país impedindo profissionais qualificados de atuar e dando passagem a diplomados desqualificados (não é uma discussão se ‘diploma é importante’ é o caso que programador não tem nada a ver com médico nem engenheiro).

Update 20/04/2008: Como os comentários estão legais, resolvi acrescentar exatamente porque eu, pessoalmente, quero dar um tapa na orelha do infeliz que saiu com a idéia dessa “lei”.

O pessoal do Phusion lançou semana passada o tão esperado mod_rails que é um módulo Apache para gerenciar dinamicamente pools de processos Rails sem a necessidade de um cluster Mongrel.

Ele deve facilitar deployment, eliminar os clássicos problemas de Fast CGI e eliminar o overhead que é gerenciar grandes clusters Mongrel. Se um processo Rails dá crash por alguma razão, o mod_rails é capaz de reiniciar um novo processo.

Porém, antes de mod_rails, um dos integrantes do grupo Phusion, Hongli Lai saiu numa jornada mais difícil: tornar Ruby mais eficiente.

Update 20/04: O grande Marcos Tapajós colocou o vídeo da palestra para download no servidor dele. Inclusive ainda tem outros screencasts que eu fiz. Valeu Tapajós!

Pois é pessoal, voltei ontem à noite do FISL onde estive na quinta a sexta-feira. Porém, muitos imprevistos aconteceram e no fim não deu nada muito certo em relação à minha palestra, que estava agendada para quinta, dia 17/4, a partir das 11hs.

Minha jornada começou às 5 da manhã, quando eu já estava no aeroporto de Congonhas fazendo meu check-in. Ficamos sabendo que o vôo atrasaria devido ao aeroporto de Porto Alegre estar fechado por “más condições meteorológicas” – seja lá que desculpa seja essa.

Em resumo, no final meu vôo foi cancelado, tive que fazer escala em Florianópolis e só consegui aterrissar em Porto Alegre ao meio-dia, ou seja, 1 hora atrasado para minha palestra.

My good friend Vinicius, from Improve IT, and his team of ‘carioca’-Railers just released a new Ruby on Rails web application called just-remind.us. Let me explain what it is: Just-remind.us is the place to share personal information with a group of friends — the kind of info that you’d rather not expose on a social network, like mobile phone number or e-mail address. It’s like a bulletin board: anyone can place short cards containing some personal info. To begin having fun, create an new gro...

Update 17/04: Pessoal, hoje, dia 17, não consegui chegar à tempo para minha palestra que estava agendada para as 11hs porque o aeroporto de Porto Alegre ficou fechado a manhã toda. -Porém, para aqueles que estão vendo o blog e estão por aqui no FISL, vamos nos juntar na Sala Prédio 30, Bloco F, Sala 201, que é o prédio da engenharia e da matemática (peçam informação aos organizadores). Estaremos lá a partir das 10hrs até o meio-dia. - Mudança de planos: conseguimos uma sala melhor, no próprio...

A semana passada teve grandes anúncios que chacoalharam a comunidade Ruby on Rails. Uma delas, foi sem dúvida o lançamento do tão esperado mod_rails, por Hongli Lai que vêm investindo recursos em maneiras de melhorar o MRI para funcionar com fork (o resultado disso é o lançamento futuro do que eles estão chamando de Ruby Enterprise Edition – sim, o nome é para ser uma piada).

Vejamos como usar o Passenger e alguns números de benchmark!

Eu já usei números do TIOBE em minhas apresentações. Já usei os números em artigos no meu blog. Tinha uma vaga noção de como eles formavam aquele número, mas nunca parei para pensar neles. Alguém aí sabe como se forma o índice TIOBE de “Popularidade de Linguagem?”

Hoje li dois artigos discutindo justamente isso. Ambos tem razão e se parar para pensar por 30 segundos, era óbvio que eu nunca deveria ter usado esses números. Ainda mais eu, que falei mais de uma vez dos perigos da estatística mal utilizada! Vamos entender o porquê.

Assim como Web 2.0, outro termo usado o tempo todo é Cloud Computing. Muita gente usa para designar muitas coisas. Outro termo usado como sinônimo – mas não sendo exatamente a mesma coisa – é Web Services (não o padrão XML), que na realidade não é nada novo, é o que antigamente chamávamos de ASPs (Application Service Providers). Exemplos disso são serviços como Basecamp para gerenciar projetos sem que a empresa precise gastar em manutenção ou mesmo seu Webmail favorito. São serviços online onde você paga para não precisar se preocupar com infraestrutura. É um tipo de outsourcing de serviços.

Esta semana o Google causou um pequeno furor ao lançar sua resposta a Cloud Computing: o Google App Engine. Vocês podem ver um review do Techcrunch aqui. Mas o que é Cloud Computing? Antes de mais nada, vamos explicar os termos mais usados no mercado:

Mais um lançamento muito esperado! Um mod_rails que parece que funciona mesmo. O nome do projeto é Phusion Passenger (alguém andou se inspirando em nomenclatura de Ubuntu). Enfim, o code-nome ‘mod_rails’ deve pegar mais rápido. Segundo eles prometem, deployment de aplicações simples deve ser tão fácil quanto um mod_php. E pelo visto, assim como o pessoal do Github, eles foram atrás das ‘celebridades’ do mundo Rails: até o Ryan Bates (do famoso RailsCasts) já fez um screencast. Eis o link para...

Ezra e Peter acabaram de anunciar: GitHub não está mais em Beta. Ou seja: não precisa mais de convite para abrir uma conta! Aproveitem! Criem suas contas e comecem a fazer forks! :-)

O James Mead, do blog Floehopper publicou a respeito de um pequeno bug que pode afetar o resultado de seus testes unitários. Antes de mais nada rode o seguinte:

ruby -version

ruby 1.8.6 (2007-09-24 patchlevel 111) [i686-darwin9.2.0]

Acontece o seguinte, no Ruby 1.8.6, entre os patchlevels 0 a 7 a partir de um hook em Kernel.at_exit, uma chamada a Kernel.exit(false) resultará em 0, ou seja, que o processo completou com sucesso. Porém, o resultado correto deveria ser 1, indicando que o pr...

O Thomas anunciou ontem o lançamento do JRuby 1.1. Um grande passo para Ruby na JVM e esta versão focou muito mais em performance, sendo que em alguns micro-benchmarks ele está até mesmo ultrapassando o YARV! Dentre as principais novidades, algumas delas são: Compilação de Ruby para Java Bytecote (em modo Ahead of Time – AOT – ou Just in Time – JIT)

Port do Oniguruma para Java (a nova engine de Regular Expressions, muito mais veloz)
Refatoração da implementação de IO
Melhorias no consumo d...

Monday, Apr 1st, I was invited to participate in a series of interviews being published at FiveRun’s blog, called TakeFive. It was just published.

Thanks a lot for FiveRuns for choosing me, I am flattered as I don’t yet consider myself in the same luminary league as Chad Fowler, Peter Cooper, Pat Eyler, Satish Talim and all the others in the series. I hope to get up there, though :-)

This series revolves around 5 questions out of 15 that I could choose. Being prolific – as you well know – I actually answered all 15 of them. So I will publish here the remaining 10 that didn’t make into the interview. Hope you like’em.

Update 13/03: Pessoal, mais um compromisso na agenda: dia 26 de abril, sexta-feira irei fazer uma palestra introdutória sobre Rails 2 na Impacta de São Paulo. Me disseram que as inscrições são abertas ao público também, então quem estiver interessado pode se inscrever no site deles. Espero vocês lá ;-) Galera, meio atrasado, mas anuncio que este ano vou palestrar na FISL’09! O assunto é “Deployment de Rails – os desafios de colocar aplicações em produção.” Para ser sincero ainda não sei muito...

Se vocês ainda não sabem muito bem como usar o Git no dia-a-dia, recomendo primeiro ler meu micro-tutorial de Git.

Muito bem, a primeira reclamação que eu sempre ouço é a falta de suporte a Windows. Não tem equivalente a TortoiseSVN, precisa instalar Cygwin pra usar git-svn. Blá blá. So sorry guys. Existem 3 opções: usar no Cygwin, que funciona bem. Instalar uma virtual machine linux com VMWare ou coisa que o valha. Parar de reclamar e, no bom espírito open source, tentar contribuir de volta. Não sei para que as reclamações. O problema não é reclamar, o problema é a atitude de ‘eu sou importante e vocês precisam fazer do jeito que eu gosto’. Bom, pare de usar open source se este for o caso. Não é suficiente já estarmos usando ferramentas de graça?

Como acabei de postar, todo o repositório do Ruby on Rails vai migrar do antiquado Subversion para Git, em particular ficará no excelente serviço Github. O David recomenda ler o tutorial Git – SVN Crash Course que é um guia para quem é usuário de SVN se acostumar com os comandos de Git. Mas eu resolvi fazer o meu próprio para tentar convencê-los de porque Git é importante.

O David Hansson acabou de anunciar que todo o repositório do Rails irá migrar do atual Subversion para Git, no Github !! É uma excelente notícia que deve ajudar o Git ainda mais a se estabelecer como o de-facto gerenciador de código fonte para a comunidade Rails. Além disso, o gerenciamento de ticket tracking vai sair do Trac para Lighthouse. O repositório atual em SVN e o Trac serão congelados quando a migração acontecer para que nenhum svn:externals quebre, mas se você quiser o Edge Rails, ...