03/12/2008 em %w(Akita On Rails) * 2.0 - Home

Ruby on Rails ganhou o PrĂŞmio Info 2008

Como eu disse alguns dias atrás, o Ruby on Rails foi escolhido pelo voto popular (via revista Info Exame e pelo site deles) como a melhor plataforma de desenvolvimento do ano. As outras opções foram Adobe Air e Django. Foi uma disputa cabeça-a-cabeça porque o Rails ganhou do Air por apenas 1% :-) Foi 41% vs 40%!!

Ruby on Rails cresceu bastante em 2008, ao ponto em que finalmente muitas empresas já estão usando e outras estão pensando seriamente em usar. Muitos programadores já estão aprendendo e agora é hora de não perder tempo! Vejam a premiação da Locaweb e do Rails abaixo:

<object height="375" width="500"><param /><param /><param /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2423037&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" height="375" width="500"></embed></object>
Prêmio Info 2008 – Locaweb from Fabio Akita on Vimeo.

Além disso, cruzei com o pessoal do Mozilla Brasil por lá também já que o Firefox ganhou pelo segundo ano seguido. Então aqui vai um vídeo com eles também :-)

<object height="375" width="500"><param /><param /><param /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2423180&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" height="375" width="500"></embed></object>
Prêmio Info 2008 – Firefox from Fabio Akita on Vimeo.

Curiosidade: sabiam que no mundo o Firefox tem 20% de market share de browsers, mas no Brasil já alcançamos 30% !?

Parabéns ao Ruby on Rails, ao Firefox e às comunidades Open Source!

03/12/2008 em Nome do Jogo

Criando um template padrĂŁo de um projeto Rails, ou adeus Bort, Blank, Suspenders e outros

De um tempo para cá parece que virou moda a criação de projetos Rails semi-prontos. Em uma rápida pesquisa no GitHub encontrei o Bort, Blank, Suspenders, starter-app, appstarter e mais alguns menos conhecidos. E isto é muito bom, já que na maioria das vezes usamos sempre a mesma estrutura para criar nossos projetos, os mesmos gems [...]

03/12/2008 em %w(Akita On Rails) * 2.0 - Home

Tradução: Merb ♡ Rails

Conheci o Matt Aimonetti durante a QCon (veja no artigo dele). Ele faz parte da equipe principal do Merb e Ă© o principal evangelizador. Conversamos muito, nos tornamos bons amigos e vamos colaborar em divulgar mais o Merb como uma boa alternativa de framework web em Ruby. Acompanhe o Matt (e este blog, claro), ele vai anunciar algumas novidades interessantes em breve.

Para explicar: o framework Merb foi criado por Ezra Zygmuntowicz. Depois o trabalho de mantenedor passou para Yehuda Katz, que já ajudava no projeto DataMapper também. Ezra e Yehuda são da Engine Yard, mas essa empresa não é dona nem dita o futuro do Merb. Trata-se de um projeto open source como qualquer outro e tem vida própria.

Recentemente iniciou-se uma animosidade implĂ­cita entre as equipes do Rails e do Merb. Quem acompanha de perto sabia que uma pequena Guerra Fria estava se armando (e foi um dos meus objetivos tentar apaziguar isso durante minhas entrevistas na QCon). Hoje o Matt blogou um cessar-fogo. Vou traduzir o post dele.

03/12/2008 em %w(Akita On Rails) * 2.0 - Home

Tradução: Por que Git é Melhor que X

O Githubber Scott Chacon fez um grande artigo/site explicando porque Git Ă© melhor do que X (Subversion, Perforce, Mercurial, Bazaar).

Como eu achei o artigo muito bem feito, resolvi traduzĂ­-lo para portuguĂŞs (pra variar :-). EntĂŁo leiam e distribuam para seus amigos, colegas de trabalho e chefes:

http://akitaonrails.com/porquegitehmelhor/

Update: O Scott fez um post no blog do Github sobre a tradução. Ele puxou do meu repositório e colocou no seu site principal:

http://pt.whygitisbetterthanx.com/

03/12/2008 em %w(Akita On Rails) * 2.0 - Home

Rails Podcast Brasil, QCon Special - Yehuda Katz

Brazilians: click here

Update 11/19: Seems like the zip file was corrupted, I replaced it with the mp3 file itself. Please, try downloading again.

There’s been a lot of buzz around Rails lately. In particular, DHH published a series of Rails Myths articles. The #2 Mythbuster, for instance, brought Zed Shaw back for some more though it was rectified already. But Mythbuster #4 got some replies from Yehuda Katz, the current maintainer of Merb.

The main issue is around Modularity. DHH’s point of view is that Rails is modular enough and you can let some components loose. But Yehuda’s argument is that it requires you to patch Rails in order to release it from some of its components, whereas Merb was built around the concept of modularity from the beginning. Some people got worried that another Cold War was starting but Yehuda says that this is not the case and that open discussions like these are actually good, instead of having behind the scenes nitpicks.

While in San Francisco for QCon, I was able to interview Yehuda on these matters. By the way, thanks a lot for him and Leah for the nice dinner. I think this is a pretty comprehensive overview of Merb, DataMapper, the current issues around Rails modularity.

On the other hand we had some sad news yesterday as well: Engine Yard was forced to lay off lots of Rubinius developers. Evan explained the reasons in his blog, and Yehuda states again that Engine Yard is still committed to Rubinius. Besides that, they also announced yesterday that EY will have a new line of services around Amazon Web Services, providing tuned appliances for optimal Rails deployments in the cloud.

I have all the details in this special episode of the Ruby on Rails Podcast Brasil (in English). It is not in the official website yet, but expect it to show up in the feeds by tomorrow. Meanwhile you can download it directly from this link

I’ll have more insights from QCon later this week, stay tuned.

03/12/2008 em %w(Akita On Rails) * 2.0 - Home

Rails Podcast Brasil, QCon Special - John Straw (YellowPages.com) and Matt Aimonetti (Merb)

Brasileiros: cliquem aqui

Today was a pretty busy day of interviews. This afternoon I was able to first interview John Straw. He is the responsible for what he calls The Big Rewrite project. The project about replacing 150k LOC from Java, with no tests, to around 13k LOC of Ruby on Rails, with almost 100% test coverage, and without reducing the scope. The original project was developed unders 22 months and the rewrite took place in 4 months of development, with 4 developers (though they had 4 months of preparation and planning, but still …).

In this interview he talks about the motivations, how it was with the team to move from Java to Ruby, how they chose Rails, what’s the size of their infrastructure. It is a great case study for any company using Java to be reassured that changing to Ruby will only bring you benefits.

After that I finally interviewed Matt Aimonetti. He is the main Merb Evangelist. He has a training and consulting firm in San Diego, he was also responsible for MerbCamp, the first Merb event around. And he is also one of the main contributors to Merb.

He was kind enough to spend a long time showing me the nuts and bolts of Merb. I was not aware of its current state and I have to tell you that it is pretty compelling. Very well thought out, it has everything you need to start developing web applications with almost the same easy of use and convenience of Ruby on Rails.

Among the best things I saw in Merb is: it can be pretty close to Rails, so you will feel right at home. It has “Slices” which is feature that I expected Rails to have for a long time – it works almost the same way as Engines, but it is built-in and feels much better. It has a neat feature of a “master process”, so you can instruct it to load N workers processes (such as a mongrel cluster) and it will monitor those workers, so if one goes down, the master will respawn it automatically, which is pretty convenient. And finally, it’s modularity is top-notch. It feels weird at first having lots of gems around, but it makes sense very fast.

And according to Matt, Merb is way faster than Rails – at least in a “Hello World” benchmark :-) All in all, I highly recommend it, specially if you’re already an advanced Ruby developer that wants more (or less) than Rails can offer out of the box right now.

Download John’s audio file from here and Matt’s file from here.

02/12/2008 em Nome do Jogo

Rails 2.2: Bug ao testar rotas nomeadas

Existia um bug bem especifico no Rails, que vinha sendo arrastado até a versão 2.1, quando em um teste funcional testávamos o funcionamento de uma rota nomeada usando parâmetros antes de executar um request. Para entender do que estou falando, veja um exemplo: def test_something post_url(:id => 1) # Antes do request isto retornará um [...]

02/12/2008 em Simples Idéias. Por Nando Vieira.

Entendendo os contadores no Ruby on Rails

Aparentemente, os counters sĂŁo as coisas que mais geram confusĂŁo para quem está começando no Ruby on Rails. Afinal, existem diversas maneiras de se obter o total de itens de uma coleção. Imagine que vocĂŞ possua dois modelos: class User < ActiveRecord::Base has_many :things end   class Thing < ActiveRecord::Base belongs_to :user end Vamos popular o banco de dados [...]

01/12/2008 em Nome do Jogo

Faça com que cada nova funcionalidade prove o seu valor

Um dos tópicos mais polêmicos do livro Getting Real é o “Comece com Não”. Certa vez eu fiz alguns comentários sobre este ponto e ficou claro que algumas pessoas simplesmente não concordam com ele. Acredito que o grande vilão neste caso são as consultorias e empresas de software que desde que sejam pagos aceitam criar qualquer [...]

01/12/2008 em MouseOver Studio

Rails 2.2 e múltiplas aplicações no Passenger

Como o Carlos falou, no Rails 2.2 a propriedade relative_url_root não é mais configurada automaticamente, pelo que quando queiramos ter mais de uma aplicação Rails (sendo pelo menos uma delas versão 2.2) rodando sobre o Phussion Passenger num mesmo host, além de configurar os diferentes contextos no Apache: <virtualhost *:80> .... [...]

30/11/2008 em Nome do Jogo

Dica: Alterando dados no console, sem alterar nada

Precisa testar alguma coisa no script/console do Rails, mas não pode correr o risco de alterar nenhuma informação do banco de dados? script/console --sandbox Quando você sair do console tudo que foi alterado retornará ao ponto anterior (i.e. rollback).

30/11/2008 em %w(Akita On Rails) * 2.0 - Home

Info Award, Speeches through Brazil, My Year of 2008

Yesterday I wrote a detailed summary of everything I’ve done in the year of 2008 and I think it is important to translate it into English so everybody else outside of Brazil can see how we’ve been evolving.

This was a very busy year. I was always a quiet guy. On the other hand I always hated routine, I always hated do only the things everybody else were doing. I’ve changed perspectives several times. On the late 80’s I’ve toyed with DOS and standalone local systems. On the early 90’s it was client-server. Mid-90’s multimedia, CD-ROMs, publicity agencies. Late 90’s it was the first Internet wave. Early XXI century, enterprisey, SAP, Java. 3 years ago my Ruby on Rails journey began, first the portuguese book, then the blog, then throwing out the enterprise world for freelancing in Rails. This year, Locaweb, Rails Summit.

By 2006, right after I taught myself Rails, it was obvious that this was a worthwhile path. But, back then there was no market for Ruby in Brazil. Some people that started before me were already giving up. I had 2 options: try outside of Brazil or create a new market from scratch here. Obviously, I chose the less easy path. Fortunately more and more people joined and the community grew fast.

And before I go on, the good news! Next week, December, 3rd, Ruby on Rails will receive the “Info Award 2008” for software development, and I will be there on the behalf of David Hansson. For those of you who are not from Brazil, the “Info Exame” magazine is “the” single largest IT magazing in Brazil. So you can imagine that this is an important award and a big win for the entire Ruby community. This is a key milestone and I congratulate the efforts of the entire community for it.

29/11/2008 em %w(Akita On Rails) * 2.0 - Home

PrĂŞmio Info, Palestras pelo Brasil, Meu Ano de 2008

Ufa, este ano foi corrido. Eu sempre fui um cara pacato. Por outro lado sempre detestei rotina, sempre detestei fazer apenas o que todo mundo faz. Já mudei de horizontes várias vezes. No fim dos anos 80 brinquei de DOS e sistemas locais. No começo dos anos 90 foram sistemas cliente-servidor. No meio dos anos 90 foi a era da multimídia, CD-ROMs, produtoras e agências de publicidade. No fim dos anos 90 foi a primeira onda da internet. No começo do século XXI veio o mundo corporativo, SAP, Java. 3 anos atrás começou minha jornada com Ruby on Rails, primeiro o livro, depois o blog, depois largar o mundo corporativo para ser freelancer de Rails. Este ano, Locaweb, Rails Summit.

Em 2006, logo depois de ter aprendido Rails, era óbvio ver que valia a pena ir nessa direção. Porém, naquela época basicamente inexistia mercado para isso no Brasil. Algumas pessoas que começaram Rails antes de mim, que eu contatei, não pareciam muito animadas também. Eu tinha duas opções: buscar meu caminho fora do Brasil ou criar o mercado aqui. Obviamente, escolhi o caminho menos óbvio. Felizmente mais pessoas se juntaram e a comunidade Ruby cresceu. A melhor coisa desta comunidade é que ela é essencialmente descentralizada. Coisas centralizadas falham. Quando você tem uma liderança central, a comunidade sempre terá esse teto artificial. Num universo que forma redes de livre escala, com vários grandes hubs bem conectados, a comunidade se transforma numa teia robusta e resistente a falhas aleatórias (Barabási). É a ordem emergindo do caos. É como outras comunidades open source cresceram, é como a comunidade Ruby cresceu também.

Antes de continuar, uma boa notícia! Semana que vem, dia 3 de dezembro, estarei representando o David Hansson para receber o Prêmio Info 2008 de desenvolvimento de software. Isso mesmo: vocês todos ganharam! O Ruby on Rails foi o escolhido este ano! Eu dei a notícia ao DHH e ele me autorizou a representá-lo. Esse é apenas mais um marco desta comunidade. Parabéns a todos!

29/11/2008 em %w(Akita On Rails) * 2.0 - Home

Rails Podcast Brasil, QCon Special - Jan Lehnardt and Chris Anderson from CouchDB

Brasileiros: cliquem aqui

Another great day at QCon SF, and this morning I had the pleasure of interviewing both Jan Lehnardt and Chris Anderson, both committers for the extraordinary CouchDB project. And there is another nice twist to this as Chris is also the creator of the CouchRest project, the Ruby library to consume CouchDB resources that Geoffrey Grosenbach presents in his CouchDB screencast.

I’ve been saying that Functional Programming and Non-Relational Databases will be the way to go into the multi-core, multi-server parallel world. We are seeing this movement already. Sun is investing in different languages, including Clojure. Microsoft has been developing F# and will add functional aspects to C# 4.0. In the Cloud space we see Amazon with SimpleDB, Google with BigTable and Microsoft Azure with SQL Data Services: none of them are relational.

In the Ruby community we’ve been dabbling around Erlang for a while now, I’ve seen people trying out CouchDB with Ruby projects, even here in Brazil. So I think Rails/Merb + CouchRest will be a really nice way to have highly scalable applications almost “out of the box”.

We’ve been good at scaling the Web tier. We understand HTTP, we know load balancing techniques, we understand shared-nothing architectures. But there is always the last mile: the database tier. SQL Server implementations such as MySQL scales very poorly. Bi-directional replication is a pain to do, queries are not easily parallelizable. At some point you will have to leave the relational theory behind and start denormalizing like crazy. And at some other point, you might even need to shard your database. All this requires you to change your application code and everything is just one big and nasty nightmare.

Database scalability does not come for free, and one solution may be to leave RDBMS completely. I am not advocating dropping SQL for everything and going CouchDB, but instead that some Use Cases may be more well served with Documente-Oriented Databases instead.

Jan and Chris were really nice to give me the opportunity to interview them on the ins and outs of CouchDB. Bottomline: it’s good to prime time right now. New features are coming, but you can take advantage of it today. Again, the audio file will be available in the feed for the Ruby on Rails Brasil Podcast (in English), but you can download directly from here.

29/11/2008 em %w(Akita On Rails) * 2.0 - Home

Rails Podcast Brasil, QCon Special - Nick Sieger (JRuby) and Francesco Cesarini (Erlang)

Brasileiros: cliquem aqui

This morning I interviewed Nick Sieger, core committer for the JRuby project. I was very interested to know more about how it is to develop Rails application using JRuby. He explained about the new connection pooling system in Rails 2.2 and other details about his work and contributions to JRuby.


Nick, Matt, Chris and Jan

After that I was able to interview Francesco Cesarini. He gave us an introductory tutorial on Erlang early this week. He’s been working with Erlang for the last 15 years and he is also writing a new book for O’Reilly, called Erlang Programming. This is a very insightful conversation on functional programming, scalability, concurrency and why all these subjects matter today and how Erlang fits in.

It was interesting because both Kent Beck and Tim Bray were talking about future trends in their keynotes and both mentioned CouchDB and Erlang as great stuff. You want to stay ahead of the curve? Learn Erlang.

The audio files will show up in the Ruby on Rails Podcast Brasil feed soon enough, but before that happens, you can download the audio files directly from here. Click here for Nick and here for Francesco.

Página 1Página 2Página 3Página 4Página 5Página 6