Mais um incauto pecou (propositadamente) ao escrever um artigo Holy Shmoly, Ruby 1.9 smokes Python away!. Sua intenção era demonstrar como o Ruby 1.9 já é muito mais rápido do que Python.

Para isso ele fez o bom e velho algoritmo de Fibonacci (versão recursiva) em ambas as linguagens. Na verdade minha intenção nem de longe é comparar com Python, mas para iniciantes em Ruby o algoritmo que vou colocar no final do artigo pode ser interessante de estudar.

Continuando minha série de artigos para o RubyLearning resolvi escrever sobre blocos e fechamentos, como foi sugerido nos comentários do meu artigo anterior. O Satish Talim acabou de postar esse artigo e aqui eu publico a versão em português.

Blocos/Fechamentos é um assunto bastante complexo e controverso, principalmente quando nos deparamos com puristas xiitas. Ruby é 100% OOP. Essa é a definição, porém há as letras miúdas “… menos blocos de código …”. Para blocos de código precisamos ‘encapsulá-la’ numa jaqueta de objeto, esses são os Ruby Blocks.

Definitivamente não sou nenhum guru do Ruby como Hal Fulton ou David Black, mas espero que o texto seja explicativo o suficiente para elucidar as principais dúvidas. Eu não me ative aos conceitos acadêmicos de fechamentos porque não achei relevante ao uso prático.

Vamos ao artigo:

Rails 2.0 está a poucos dias de ser lançado oficialmente, estamos no Release Candidate 2 e durante a RailsConf Europe que aconteceu há algumas semanas, David Hansson demonstrou no palco algumas das novidades.

As partes impagáveis são justamente durante o hands-on onde inúmeras vezes vemos a tela com erro :-) Nem mesmo DHH é imune a erros! Eu acho isso particularmente importante. Muitos desenvolvedores acham que não podem errar, que o código deve estar impecável antes de apertar o refresh no ...

O Rails 2.0 não é uma nova versão do tipo que se precise re-aprender tudo porque tudo mudou. Pelo contrário: considere como um Rails 1.2 ++. Esta é uma versão de estabilização, com poucas funcionalidades novas.

Mesmo assim, algumas coisas precisam ser adaptadas. O suporte a REST melhorou e cresceu. Para quem já usava RESTful Rails, com named routes, porém, pode ter uma surpresa, elas mudaram! Felizmente não é tão complicado adaptar sua aplicação REST 1.2 para 2.0.

Vou traduzir o artigo do Paolo, do blog Assert_Buggy que diz como fazer isso:

O Lucas Húngaro postou as fotos do evento em Bauru. Foi um evento muito legal onde eu e o Vinícius passamos o dia evangelizando XP e Rails. Aliás, recomendo muito a quem puder assistir o Vinicius, a palestra dele é excelente!

O DHH acabou de postar sobre a liberação do Release Candidate 2 do Rails 2.0. Este lançamento representa mais bugs resolvidos. Segundo ele, se não for encontrado nada mais grave, podemos esperar a versão final para daqui alguns dias!! Fiquem de olho e testem seus aplicativos na nova versão.

Fiquei surpreso ao ver um nome já discutido aqui no meu blog em um dos podcasts que mais gosto.

Avi Bryant foi o convidado no último episódio do excelente podcast FLOSS Weekly. Obviamente o assunto foi Seaside, o incrível framework que provavelmente tem a proposta mais arrojada de desenvolvimento em termos de frameworks web. Talvez isso ajude Seaside a ter um pouco mais de visibilidade.

Os hosts são Randal Schwartz que é um guru Perl, e Leo Laporte que comanda uma produtora profissional de podcasts em áudio e video, a TWiT.tv. Depois que comecei a consumir o conteúdo dos programas do TWiT.tv fiquei muito exigente quanto à qualidade dos podcasts que ouço. E não só o TWiT quanto a Revision 3, C|Net e outras produtoras tem qualidade de rádio e TV profissional. Qualidade não apenas no calibre do equipamento que utilizam mas dos grandes nomes que participam dessas produções. Portanto recomendo todos os Top podcasts na lista do iTunes Store.

Meu amigo Satish Talim me convidou para escrever um artigo no seu site Ruby Learning. O tema desta vez foi Ruby Symbols. Portanto escrevi um artigo tentando desmistificar o que é um símbolo e para que servem.

O artigo original foi em inglês, abaixo segue a tradução em português:

Ontem, eu e o Vinicius apresentamos duas palestras durante o sábado todo para os estudantes de Bauru, no interior de São Paulo. O evento começou às 8:30 e terminou às 16:30.

Acabei de ver no blog do Charles Nutter sobre o Oracle Mix. Provavelmente o primeiro website público de um grande nome colocado em produção usando JRuby. É uma ótima oportunidade para todos poderem ver que nível de performance o JRuby pode alcançar num site público.

Este site foi desenvolvido em parceria entre a OracleApps e a ThoughtWorks. Está rodando sobre Oracle Application Server, Oracle Database, Oracle Internet Directory, Oracle SSO e JRuby on Rails. Um testemunho à produtividade do R...

Aqui à boca pequena, aconteceu hoje um pequeno sorteio de 2 vagas para o Curso de Verão de Ruby on Rails. Só estou contando agora porque o sorteio foi fechado apenas para quem compareceu à RejectConf SP’07. As regras foram simples: ontem avisei que hoje eu enviaria uma pergunta e as primeiras duas pessoas a responder corretamente ganhariam as vagas. Rapidamente depois que enviei o e-mail, algumas pessoas responderam, mas quem respondeu corretamente primeiro foram: Alexandre Kenji

João Vitor ...

Ontem recebi um e-mail inusitado. O Diego Guillen quer colaborar com nossa comunidade. Ele é um Engenheiro Eletricista formado na Colômbia, mora atualmente na Austrália e trabalha há anos na Fujitsu com diversas tecnologias como C/C++, Java, etc. Já viajou muito dando cursos na Irlanda, Inglaterra, Japão, Tailândia.

Recentemente seu pai (de 77 anos) se mostrou interessado em aprender uma linguagem de programação. Então Diego se propôs a lhe ensinar Ruby. Como o pai dele está na Colômbia e ele na Austrália, ele começou a escrever lições e textos para o pai.

English version: here

Ontem aconteceu o esperado RejectConf SP’07, um dos primeiros eventos relevantes de Rails no Brasil, no auditório Jacy Monteiro do Instituto de Matemática e Estatística da USP. Foi um excelente evento, considerando que eu fui o responsável (sou um [des]organizador muito amador :-) ). Foi um evento comunitário, sem fins lucrativos, que contou com o apoio importante da Caelum e do IME e isso possibilitou um encontro com entrada franca. Valeu muito a pena.

Todos os palestrantes compareceram, a platéia estava animada, colaborativa e interessada, o que me deixou muito contente. Houve atrasos, o pessoal estava lá no meio de um dos maiores feriados prolongados, com fome, com calor, mas mesmo assim não deixaram de participar. Isso com certeza é um excelente sinal de que nossa comunidade é muito unida e esforçada.

Pessoal, aqui vai uma lista dos palestrantes com os horários. São “tentativas” de horários, vamos tentar seguí-los mas pode não ser exato.

PalestranteTópicoInícioFimCCSL IME12:0012:10Abertura do EventoFabio Akita12:1012:30Apresentando Ruby on RailsAnderson Leite12:3012:45rails start – iniciando na linguagemDanilo Sato12:4513:00RSpec e RailsEduardo Fiorezi13:0013:20Refactoring on RailsMyke Hamada13:2013:40segurança em apps webIntervalo13:4014:00Felipe Giotto14:0014:20Rails para aplicativos De...

Não sei dizer se esta fonte é confiável, mas se for eu adorei :-)

Olhem só: uma licença open source como a GPLv2 não é algo simples, do tipo “ah, basta tornar open source”, como alguns ingenuamente acreditam e mais ingenuamente defendem.

O mercado de telecom é horrível. Até o final de 2006 não havia grandes coisas a se considerar. O que havia de mais avançado? Uma versão recauchutada de Palm OS que se mantém quase o mesmo há uma década, um Windows Mobile com variáveis níveis de satisfação (nem sempre boas), um BlackBerry OS que é razoável mas nada para se empolgar e uma plataforma Symbian que, apesar de uma história derivada da Psion que eu particularmente gosto muito, tem diversos problemas para se desenvolver (como tratamento de exceptions). Isso sem contar a críptica sub-plataforma JME e o profile MIDP que é uma decepção para qualquer desenvolvedor.

Tudo bem, estou exagerando, nenhum deles é exatamente “ruim”, porém nenhum é empolgante. Apenas estão lá. Tanto faz qual modelo de aparelho, com qual OS eu pegar. Eu tive um dos primeiros PalmPilot (na época da US Robotics) e um dos primeiros Casiopeia (na época do Palm-size PC). Tive dezenas de “handhelds” e já desenvolvi tanto em .NET Compact Framework quanto J2ME . Em uma década, não vi nada que fosse importante mencionar. Eles se tornaram commodities, para a maioria, “não cheira nem fede”.

It’s been a while since my last international interview, and I am back with no other than one of the responsibles for Ruby being enabled in the .NET platform. That’s correct, I’ve covering a lot about JRuby and Rubinius but we can’t neglect that one of the biggest platforms out there in the market is receiving the Ruby treatment as well. So I invited John Lam , who kindly answered several questions regarding this endeavor.

Remembering that IronRuby – named after IronPython, the first of the main open source dynamic languages built on top of .NET – is a true open source project, and also has a 3rd party addon for Visual Studio.NET, so programmers used to the VS.NET workflow can get onboard with a lower learning curve ahead of them.

Despite of opinions against Microsoft just for the sake of arguing, the fact remains that Java and .NET represent the biggest corporate development market today. And this is also a fact that the Ruby meme is spreading in a very fast way. Being built to run on top of both the JVM and the CLR represents Ruby being enabled for market niches that it wouldn’t reach otherwise, and this is huge win. I talked a little bit about this in my article (in portuguese): For myself to win, the other one has to lose. There are very intelligent people at Microsoft, John Lam being one of them.

English-version: here

Faz algum tempo desde minha última entrevista internacional, e estou de volta com ninguém menos que um dos responsáveis pelo Ruby rodar sobre a plataforma .NET. Isso mesmo, eu tenho coberto muito sobre JRuby e Rubinius mas não podemos negligenciar que uma das maiores plataformas do mercado está recebendo tratamento de Ruby também. Então convidei John Lam , que gentilmente respondeu diversas perguntas sobre essa empreitada.

Lembrando que IronRuby – nomeado depois de IronPython, a primeira das principais linguagens dinâmicas construídas sobre o .NET – é um verdadeiro projeto open source, e também tem um add-on de terceiros para Visual Studio.NET, de forma que programadores acostumados ao fluxo de trabalho do VS.NET poderão vir à bordo com uma curva menor de aprendizado.

A despeito de opiniões contrárias à Microsoft apenas com o objetivo de criticar, o fato persiste que Java e .NET representam os maiores mercados de desenvolvimento corporativo hoje. E também é um fato que a influência Ruby está se espalhando depressa. Poder rodar sobre ambos JVM e CLR representa permitir o Ruby em mercados de nicho que ele não alcançaria de outra maneira, e isso é um grande ganho. Eu falei um pouco sobre isso no meu artigo Para eu ganhar o outro precisa perder. Existem pessoas muito inteligentes na Microsoft, John Lam sendo um deles.

Não se esqueçam que dia 15 de dezembro, tentaremos levar o Natal para as crianças do Cotolengo/MS 10 dias antes! O Carlos Eduardo colocou o site oficial do evento no ar. Vários de nós da comunidade Rails estaremos reunidos para levar informação e atualidades sobre o mundo Rails ao mesmo tempo que todos poderão colaborar com um bem maior. É uma tentativa inédita em nossa comunidade e espero que não pare aqui, para isso é importante que todos nós colaborem. É um objetivo palpável a atingível. A...

Pouco mais de um mês atrás eu havia anunciado sobre o Rails 2.0 Preview Release. Pois bem, acabou de ser anunciado o Release Candidate 1 Conforme o Core Team recomenda: atualize seu Rails atual para 1.2.5 e verifique os logs procurando por “Deprecation Warnings” (avisos de recursos obsoletos). Exemplo, o método ActiveRecord#find_all é um clássico que está obsoleto desde que entramos no 1.2, mas agora esses recursos obsoletos serão limados na versão 2.0, retirando a gordura desnecessária. Quan...

Pessoal, O Evento “RejectConf SP’07” está confirmadíssimo para o dia 17 de novembro (sábado), do meio-dia às 18 horas.

IMPORTANTE 60% das pessoas cadastradas já confirmaram sua presença enviando o RG – como expliquei, que precisamos para liberar a entrada na USP. Isso lota o auditório que conseguimos na USP. Também como disse, estou fechando essa lista hoje. Espero que ninguém tenha ficado de fora. Se alguém não recebeu meu e-mail de confirmação, entre em contato direto comigo LOCAL Reconfir...

Pessoal, não se esqueçam que eu preciso da confirmação (nome e RG) até amanhã, ou vocês não conseguirão entrar na USP. Aproveitando, quem comparecer e participar do evento todo estará concorrendo aos seguintes prêmios: 2 vagas para o Curso Online de Ruby on Rails que estarei dando em parceria com a eGenial

4 camisetas Peepcode
5 cupons com créditos para comprar screencastas Peepcode
1 livro “Repensando a Web com Rails”, de minha autoria
1 livro “JRuby on Rails”, cortesia de meu amigo Ola ...

Pessoal, esqueci de blogar sobre isso mas não se esqueçam que a partir do dia 26 de novembro estarei dando um curso online de Ruby on Rails. Matriculem-se aqui A idéia do curso é ser abrangente o suficiente para que vocês consigam desenvolver suas próprias aplicações de sucesso. Vamos falar um pouco de tudo para dar uma idéia geral do que o Rails é capaz de fazer. Muita gente ainda tem dificuldade para começar, seja porque não encontra as peças certas, as ferramentas certas então vamos tenta...

Atualização 2012: 5 anos depois, veja como está a mesma lista:

Rank País Desenvolvedores População Taxa
1 Estados Unidos 6.074
2 Índia 1.192
3 Brasil 1.109
4 Reino Unido 1.067
5 Alemanha 695
6 Canadá 687

Você – desenvolvedor Rails, hobista ou profissional – já se cadastrou no site WorkingWithRails?

Recommend Me

Este é um excelente site para melhorar seu networking. A maioria dos desenvolvedores Rails do mundo todo já se cadastraram lá. Nenhum site ou instituição é capaz de dar números precisos mas vou me arriscar. Vejamos o ranking do Brasil neste site em específico que, possivelmente, reflita um pouco da realidade Rails por aqui:

Rank País Desenvolvedores População Taxa
1 Estados Unidos 1.924 300 milhões 0,000641%
2 Reino Unido 365 60 milhões 0,000605%
3 Brasil 284 183 milhões 0,000015%
4 Índia 249 1,12 bilhão 0,000002%
5 Canadá 241 33 milhões 0,000073%
6 Alemanha 237 82 milhões 0,000028%

Ok, acabei de responder sobre meu livro, agora respondendo sobre mim mesmo: “Onde está Wally .. quero dizer, o Akita?”

Este fim de ano está bem agitado! Se fosse só meu trabalho na Surgeworks já estaria bem complicado (bastante coisa pra entregar, e rápido!! Socorro!!). Porém, um workaholic nunca tem trabalho demais: tem tempo de menos. Além do meu trabalho no dia a dia ainda tenho meu novo livro pra terminar e os seguintes eventos que vou participar:

Todos os dias recebo e-mails de alguém perguntando onde encontrar meu livro Repensando a Web com Rails. Falei com meu editor e provavelmente os estoques acabaram na grande maioria das livrarias (não custa enviar e-mail para a editora).

Na realidade, há algum tempo, meu editor me convidou a lançar a 2a. edição revisada do mesmo livro. Pensando no assunto, resolvi que não deveríamos republicar, mas sim lançar um livro totalmente novo. Ele concordou com a idéia, e é por isso que ninguém mais encontra o livro: porque este não será reimpresso.

Então, este é o primeiro post oficial onde divulgo que sim, estou escrevendo um novo livro!

O primeiro cumpriu seu papel, ajudou muitas pessoas a iniciar em Rails e a divulgar a tecnologia mais longe do que eu conseguiria sozinho. Muita gente me pergunta se eu não teria livros comigo, se poderia vendê-los.

Hoje é o último dia da RubyConf 2007, que está acontecendo em Charlotte, North Carolina. 3 dias inteiros de Ruby. Grandes personalidades como o próprio Matz, Jim Weirich, Nathaniel Talbott e muitos outros palestrando sobre os mais diversos assuntos relacionados a Ruby.

Sobre o Matz, uma frase em especial:

“Vamos entrar no mundo corporativo. Eu não quero, mas os caras de ternos nos cercam.”

Estava lendo o blog do mengwong e vi esta história hilária e resolvi traduzir :-) <@freeside> nós totalmente xkcd alguém esta noite <@freeside> então, saímos com a linda rene <@freeside> e estávamos andando pelo centro da cidade de mountain view, que é onde os googlers costumam passear <@freeside> e andamos até o Red Rock Cafe, onde eles tem wifi grátis. <@freeside> havia um cara sentado pela janela com seu macbook pro 17", com textmate aberto e sintaxe iluminado explodindo pela tela <@freesi...

Impressionante! Por todas as comunidades Java eu ouço “Argh, eu comprei o Leopard única e exclusivamente para ter Java 6” ou “Chega, nunca mais compro nada da Apple!” ou “Eles são idiotas por não colocar Java 6”.

Oh well, isso não é hilário? Eu dou gargalhadas e mais gargalhadas sobre esse tipo de coisa. Não sei quem começou isso mas a inércia foi forte.