Eu escreverei mais sobre isso mais tarde em detalhes, mas só para dar o ‘scoop’, Avi Bryant fechou o ciclo. Como eu disse alguns posts atrás, na última RailsConf, Avi disse que “sabia o futuro”. Hoje ele demonstrou o futuro. O MagLev é Ruby rodando sobre a excelente VM da GemStone. Eu conversei com os engenheiros e responsáveis da GemStone e vou conseguir mais detalhes direto com eles. Para vocês terem uma idéia: os micro-benchmarks são melhores na ordem de 50 ~ 60, alguns até mais de 100 vez...

Update 29/05: Já estou assistindo o primeiro tutorial na RailsConf! Já encontrei pessoas legais aqui. Acompanhem minhas fotos aqui Em algumas horas estarei embarcando rumo à Portland. Ainda estou preocupado, pois eu só considero algo como sucesso quando eu chego lá. Considerarei finalizado quando finalmente pisar os pés em Portland amanhã pela manhã. Quem acompanhou minha saga do passaporte sabe do que estou falando :-) Ruby on Rails se tornou um enorme sucesso! Tão grande que hoje em dia dá ...

Acho que nunca mencionei no meu blog, mas minha cunhada é estilista. Mais do que isso ela é uma estilista auto-didata. Este artigo não tem necessariamente a ver com nenhuma tecnologia ou técnica de programação, mas tem a ver com a forma como as pessoas encaram seu trabalho e suas carreiras, por isso achei interessante contar este “causo”.

Não é fácil ser programador, mais difícil ainda ser um “bom programador”. Mas o que define um “bom” programador? Acho que é a mesma coisa que define ser “bom” em qualquer coisa, por isso o exemplo da minha cunhada é interessante para ilustrar meu ponto.

O grande Lucas se ofereceu prontamente para me ajudar na tradução desta primeira parte ontem mesmo (brigadão Lucas!). Vamos lá:

Rails 2.1 está prontinho para sair do forno e agora vem a atualização para “O Primeiro Tutorial Completo de Rails 2.1”.

Eu vou começar exatamente de onde paramos no último tutorial, então se você ainda não seguiu esse tutorial eu sugiro que o faça agora ou baixe o código-fonte disponível no Github. Eu adicionei uma tag ‘for_2.0’ para marcar o último tutorial e uma tag nova ‘for_2.1’ para as atualizações que vou mostrar para vocês nesse novo tutorial. Você pode seguir os tutoriais antigos para ter tudo rodando ou pode pular e baixar direto o exemplo da minha página do Github.

Eu vou considerar que você tem o projeto do blog em um diretório ‘blog’ no seu ambiente, e não importa se você baixou o arquivo zip ou clonou a minha árvore no github.

Essa é a Parte 1. Você pode seguir a Parte 2 (ainda em inglês) aqui

Outro dia eu estava com meu HD quase todo ocupado. Obviamente eu fiquei pasmo pois eu guardo quase tudo que não é essencial nos meus HDs externos, incluindo coisas como meu iTunes Library. Então pensei, “como diabos estou com tanto espaço ocupado?”

Abri meu GrandPerspective para dar um Raio X nos meus diretórios e encontrar quem era o culpado. Se eu trabalhasse mais com iMovie entenderia já que ele usa arquivos gigantescos. Não demorou para entender o que se passava.

So, here it goes, Part 2 of my Rails 2.1 Tutorial. Start from Part 1 if you didn’t read it already.

Disclaimer: If you like this tutorial and you’d like to translate to your own local language, ask me for the original Textile files through my e-mail.

Rails 2.1 is right around the corner and now comes my update for “The First Full Rails 2.1 Tutorial”.

I will take exactly from where we left off in the last tutorial, so if you still didn’t follow that tutorial I suggest you do it now or download the source code available now at Github. I have added a ‘for_2.0’ tag to denote the last tutorial and a new ‘for_2.1’ tag for the updates I am going to show you now at this new tutorial. You can either follow my previous tutorial to have everything running or you can skip it and just download the example from my Github page.

So, I will consider you have the blog project in a ‘blog’ directory at your environment, and it doesn’t matter if you simply downloaded the zip file or cloned from my github tree.

This is Part 1. You follow Part 2 from here

Novamente, o Twitter ficou um bom tempo fora do ar, deixando milhares de pessoas bastante irritadas, e com razão.

Novamente, o TechCrunch e outros pundits começaram a rolar suas máquinas de FUD: “a culpa é do Rails: Rails não escala.” nhé, nhé, nhé.

Antes de mais nada, os problemas do Twitter tem duas naturezas: ou acabou o dinheiro e, nesse caso, não há o que fazer; ou eles tem realmente problemas arquiteturais sérios que não tem a ver com Rails. Para começar eles já usam um mix de linguagens e tecnologias, PHP, Erlang, etc. Rails é apenas uma delas.

Muitos acham que Twitter = website, e website = Rails, portanto Twitter = Rails. Isso está errado. Twitter é uma plataforma de mensageria. Para os javeiros, estamos falando de coisas como JMS, e não HTTP. Exemplo, um dos componentes dessa plataforma são servidores Jabber, para broadcast para clientes de instant messaging.

Outro FUD grave: “Twitter é a maior aplicação Rails, que bela propaganda para o Rails …” Está também errado. Segundo esta compilação, baseada no Alexa, o topo da lista é o seguinte:

  1. Scribd (serviço de upload)
  2. Yellow Pages (as Páginas Amarelas!)
  3. Hulu (serviço de mídia da NBC)
  4. Penny Arcade (não tenho nem idéia do que seja :-)
  5. AboutUs (serviço de network de Wiki)
  6. Twitter (aqui está ele: 6o. lugar!!)

Fora eles, pouco abaixo estão outros sites que muita gente usa ou já viu e nem sabe que é feito em Rails, como o SlideShare, Guitar Hero, Gravatar, Feed Digest. Portanto, não, o Twitter não é o mais usado, porém os pundits adoram, pois é uma boa desculpa para colocar as palavras “Rails” e “não escala” na mesma frase sem parecer muito cara de pau.

Os problemas do Twitter são particulares do Twitter e de toda aplicação mal estruturada (seja tecnicamente e financeiramente). A lista que linkei acima tem apenas os Top 100. Na Working with Rails há uma lista muito maior, dentre elas 395 americanos e 30 brasileiros.

O objetivo da TechCrunch: imprensa marrom. O objetivo dos pundits: aliviar a dor de cotovelo. Resumindo: invejinha barata (ou “de barata”).

O blog Dare Obasanjo tem uma análise (especulativa) interessante que deve ajudar os iniciantes a entender os perigos de um conceito que parece tão simples quanto “followers” (seguidores).

Segue a tradução:

That’s for all my friends who don’t speak portuguese. I’ve met outstanding people from all over the world who’ve been very supportive and believed in my goals since the very beginning. People like Satish Talim, Geoffrey Grosenbach and many many other visionaries. Thanks to you all and I hope you keep appreciating the efforts we’re doing here in Brazil.

So, this week I’ve had the worst/best weekend I can remember of. First of all the good stuff: last week the #1 Brazilian hosting company, Locaweb decided to support and invest on Ruby on Rails and its first move was to launch a trial period of a mod_rails based shared hosting plan. But they won’t stop there.

O pessoal da Phusion lançou hoje a segunda dica do Quiz deles! E a dica é Typo 5.0.3 (lembram? A engine de blog que era famosa antes do Mephisto pegar mesmo?) Dia 1o de Junho durante a palestra deles na RailsConf, algo grande será anunciado! Essas dicas levam a isso! E todos concorrem às camisetas-limitadas-premium-plus-plus da Phusion ;-) Participem!

Esta semana tive o pior/melhor fim de semana dos últimos tempos. Primeiro a parte boa: vocês se lembram que a Locaweb resolveu investir em Rails e lançar o trial de plano com mod_rails. Porém isso não vai parar aí.

Diretamente do blog da Locaweb:

Você já deve ter ouvido, até mesmo nesse blog, sobre o poder do Ruby on Rails e suas vantagens para programadores iniciantes e experientes. Mas provavelmente você também deve conhecer os problemas de performance de uma aplicação Ruby rodando com Apache e CGI. A Locaweb inova mais uma vez disponibilizando uma plataforma mais robusta para Ruby on Rails usando Passenger, também conhecido como mod_rails. Com mod_rails você pode publicar sua aplicação RoR de maneir...

“Victorious!” Uma pequena batalha ganha na guerra contra o SISTEMA! Como eu reportei no post da semana passada, consegui uma ‘brecha’ no SISTEMA graças ao toque do Vinicius. Fui até Niterói e consegui dar entrada na renovação do meu passaporte que, se fosse pelas vias normais, não sairia antes do meio de Junho! Ontem peguei o ônibus à meia noite para voltar para Niterói, dia que foi marcado para buscar o passaporte. Detalhe: eles disseram que dois dias antes enviariam um e-mail de confirmação...

No Episódio 16 do nosso podcast, eu e o Carlos Brando falamos sobre a Insoshi. Ele é um projeto Rails que você pode fazer fork via Github e começar a mexer nele. É uma aplicação-template de um social network escrito em Rails, pelo mesmo autor do livro RailsSpace: Building a Social Networking Website with Ruby on Rails, Michael Hartl. Pelo visto, em casa de ferreiro o espeto é de ferro! Mas o motivo deste post é que a aplicação realmente é legal! O design de exemplo é bonito e limpo e o princi...

O Charles postou um ‘call to action’ hoje no seu blog avisando que os famosos RubySpecs do Rubinius finalmente se tornou um projeto independente. A idéia desse call to action é integrar os diversos suites de testes que existem para Ruby em um único maior e mais completo. O JRuby hoje executa meia dúzia de pacotes separados e com muitos testes redundantes entre eles. Um RubySpecs completo primeiro auxiliaria todas as outras implementações como IronRuby, Rubinius e o próprio MRI e cala a boca d...

“O poder total do Phusion Passenger ainda não foi libertado.” Ultimamente andei trocando idéias com o Ninh Bui e essa semana estávamos comentando sobre gerar Hype, estratégias Apple e tal. Lembram do “There’s something in the Air?” no começo deste ano? Pois é, a Phusion vai lançar alguma coisa grande no dia 1o de Junho, que é o último dia da RailsConf US. Eles me garantiram que quem estiver presente não vai se arrepender. As dicas para isso começam com o quiz que eles lançaram no site Ruby En...

Eu e o Carlos Brando estávamos conversando e chegamos à conclusão que passou da hora de traduzirmos o Why’s (Poignant) Guide to Ruby.

O Poignant Guide é um livro obrigatório para todo Rubista. O Programming Ruby é bom, o The Ruby Way é excelente, mas nada demonstra o espírito Rubista do que o Poignant Guide (e agora todo mundo vai entender o que é Chunky Bacon :-)

A primeira geração de Rubistas (incluindo o Why) começou com o livro do Dave Thomas, mas a segunda geração (como o Geoffrey) já começou com o Poignant Guide :-)

Muita gente me pergunta sobre isso:

“Akita, comprei o livro X, mas ele não é de Rails 2, eu consigo aprender com esse livro? Os exemplos vão funcionar?”

Vamos lá: se eu não estou enganado, tirando o livro do Obie Fernandez, nenhum outro livro cobre tudo do Rails 2 até agora (o do Dave Thomas ainda está em beta). Portanto, o que fazer? Esperar para comprar quando sair um livro novo?

De uns tempos para cá comecei a receber propostas de startups com muito mais frequência. Parece que os americanos estão começando a enxergar o Brasil como uma proposta viável de encontrar talentos de qualidade em Ruby on Rails a preços mais “acessíveis” do que os nativos americanos.

Ontem mesmo conversei via Skype com o Prasad e o Vikram, fundadores da Pixily. Achei o produto deles muito interessante por isso me propus a ajudar a divulgá-los por aqui.

A Pixily ajuda profissionais, pequenas e grandes empresas a organizar e encontrar papel e documentos digitais. A idéia é que você tem aquelas toneladas de documentos em papel aguardando cupins no fundo dos arquivos. O que fazer?

Você empacota e envia para eles por correio normal, daí eles fazem o serviço de scanner e os transforma em documentos digitais que, via OCR, também podem ser pesquisados pelo texto deles. Daí você pode compartilhar, pesquisar, agrupar, fazer download. Você também pode fazer upload direto de arquivos digitais.

Eles tem um video do beta neste link

Vou acrescentar mais um episódio na saga inspirada nos blog posts do Vinicius e do Tapajós, da Improve It, respectivamente:

Como vocês devem se lembrar, anunciei alguns meses atrás que eu pretendia ir para a RailsConf. Aliás, meu ingresso já estava até comprado. Mas aconteceu um problema: embora meu visto ainda seja válido até 2010, meu passaporte havia expirado e eu tinha me esquecido disso.

“Sem problemas”, eu pensei. Como sempre é o caso, basta ir na Polícia Federal que isso se resolve em questão de horas. Amigos meus, no fim do ano passado, fizeram o mesmo e estão na Europa agora, sem problema algum.


Eu e o Vinicius, depois de termos “dado” nosso sangue pelo Rails! :-)

Ledo engano. E eis que minha saga começa. Aliás, cá estou eu, escrevendo este artigo diretamente do aeroporto do Galeão, no Rio de Janeiro!!

Hongli Lai and Ninh Bui, from Phusion, shaked the Rails world a few days ago. They unleashed the Holy Grail of Rails deployment: mod_rails which was received with much fanfare, and they deserved it.

They finally settled the big issue that embarrassed Railers in the past. This will also relieve dozens of hosting services that were clueless on how to solve this equation. Now, those two computer science students are above them all with this clever solution. And they have more to come.

I was very fortunate to be able to interview them. I think this is the second interview, InfoQ broke the news first with this other interview which I highly recommend to understand more of the inner gears of Passenger. They are very easy going and it was a pleasure to talk to them.

Ola Bini é um colaboradores mais ativos do JRuby. É um programador jovem (tem seus 24 anos ou algo assim) mas conhece muito bem os detalhes da arte da programação. Apreciador de Lisp e inteligência artificial, é exatamente o tipo de artista que sabe apreciar a Boa Programação. Em luz dos recentes transtornos sobre a controvérsia Twitter, ele escreveu este divertido artigo que traduzo mais abaixo.

Diferente dos pseudo-gurus que continuamente apenas gostam de falar mal dos outros e jogar indiretas. Lembrem-se de uma coisa: um bom profissional não precisa falar mal dos outros como forma de parecer que está correto. Um bom profissional convence que o que ele acredita é bom por méritos próprios.

Outro bom exemplo? Avi Bryant. Ele teria todos os motivos do mundo para ser apenas mais um xiita, falar mal de Ruby, falar mal de Python, falar mal de Perl. Mas ele também é um artista. Ele acredita na tecnologia que desenvolve. Prova disso foi o que eu noticiei semana passada: em vez de cruzar os braços, foi ajudar a implementar Ruby sobre uma virtual machine Smalltalk. Não só isso, mas quando eu o entrevistei, ele disse abertamente que o carro-chefe do framework Seaside, o produto DabbleDB, também utiliza códigos em Ruby e Python. Bons programadores escolhem boas ferramentas para trabalhar. Xiitas precisam que os outros percam para que eles ganhem.

No longo prazo, adivinhem o que funciona? Bom, vamos à tradução:

Estou muito contente em anunciar que Geoffrey Grosenbach, da TopFunky/Peepcode, gentilmente se ofereceu para apoiar meu weblog! Não consigo descrever como isso me deixa feliz pois indica que estou indo na direção certa. Eu sempre recomendei os screencasts da Peepcode porque são de alta qualidade e ainda continuarei recomendando pelo mesmo motivo: qualidade. De fato, eu comprei tudo que eles lançaram até agora e gostei de todos. Geoffrey também apoia muitos outros grandes blogs como Ryan Daigl...

I’m very happy to announce that Geoffrey Grosenbach, from TopFunky/Peepcode, kindly offered to support my weblog! I can’t express how much I appreciate this as it indicates that I am in the right direction. I’ve always recommended Peepcode screencasts because they are high quality and I will still recommend them for the same reason: quality. Actually I bought every single item they released so far and enjoyed them all. Geoffrey also supports many other great blogs like Ryan Daigle, Wanstrath ...

Sempre me perguntam sobre cursos de Rails, finalmente a e-Genial vai começar a ministrar cursos de Ruby on Rails na atual versão 2.0. Quem dará o curso será o Julio Monteiro, que entre outras coisas mantém o site oficial rubyonrails.pro.br e também é quem dá suporte ao nosso Ruby on Rails Podcast Brasil. Quem queria aprender Rails, desde o começo, esta pode ser uma boa chance. Aproveitem!

Resolvi interromper um pouco minhas férias para opinar sobre esse assunto.

Ano passado, o Alex Payne criou muita controvérsia ao ter a estupidez de soltar um “Rails não escala para nós”. Causou alvoroço, as macacas de auditório de tecnologias concorrentes deram o chilique de sempre (aliás, nem sei porque se consideram ´concorrentes´, já que deveríamos estar todos no mesmo time). E no fim o Alex passou por newbie, quando menos de 24 horas depois mais de uma alternativa para o problema dele foi apresentado. Mas ficou aquele meme no ar de que Rails talvez não escale. É a típica estratégia de marketing para chamar atenção. Puro FUD. Típico de time que está perdendo.