Fonte: Blog.MacMagazine.com

Esse comercial marca a volta da Apple, das cinzas, a volta de Steve Jobs ao comando. A campanha “Think Different” já tem 10 anos, o post que me lembrou disso também é meio antigo, mas a mensagem continua muito recente. Vale até mesmo para nós, Railers – seria um bom comercial de autoria de uma 37signals, por exemplo. Aproveitem.

Here’s to the crazy ones.

The misfits.
The rebels.
The troublemakers.
The round pegs in the square holes.
The ones who see things differently.

They’re not fond of rules.
And they have no respect for the status quo.

You can praise them, disagree with them, quote them,
disbelieve them, glorify or vilify them.
About the only thing that you can’t do, is ignore them.

Because they change things.

They invent. They imagine. They heal.
They explore. They create. They inspire.
They push the human race forward.

Maybe they have to be crazy.

How else can you stare at an empty canvas and see a work of art?
Or, sit in silence and hear a song that hasn’t been written?
Or, gaze at a red planet and see a laboratory on wheels?

We make tools for these kinds of people.
While some may see them as the crazy ones, we see genius.

Because the ones who are crazy enough
to think that they can change the world,

are the ones who do.

Fonte: techno weenie

Configurando seu Ambiente (Environment)

Em cada aplicação Rails existem várias coisas para configurar. Você pode precisar configurar um endereço de e-mail que o plugin exception_notification usa, ou talvez apenas inflexões customizadas. Vamos dar uma olhada nas opções disponíveis atualmente à nossa disposição:

O mundo acha que o Brasil é um exemplo de nação livre. Brasileiros acham que o Brasil é um exemplo de nação livre. Poucos conhecem a verdade embora saibamos que a maioria que se diz defensor de software livre na realidade confunde “Liberdade” com “custo zero” – principalmente se forem vozes vindas de empresas públicas, privadas e do Governo Federal, o último lugar no mundo onde alguém saberia diferenciar “Liberdade” de “Libertinagem”.

Apesar da imagem errada que o marketing brasileiro vendeu ao mundo, alguns formadores de opinião estão começando a se dar conta da falácia brasileira, como podemos ver nesta matéria. Se ela está totalmente correta ou não, é irrelevante: o problema existe e desviar as atenções a detalhes não muda esse cenário e nem os riscos ao futuro.

Fonte: Linux.com, por Bruce Byfield

De acordo com a mídia internacional, o Brasil é um líder na adoção em software livre e código aberto (FOSS). O New York Times descreve o país como uma “área tropical de movimento de software livre”, enquanto o BBC News afirma que “cada vez mais os ministérios do governo do Brasil e empresas estão abandonando Windows em favor de software ‘livre’ e de ‘código-aberto’”. Entretanto, defensores de FOSS familiares com o Brasil descrevem uma situação mais desesperançosa.

Galera, alguém já viu a edição 8 da revista Mac+ que chegou às bancas esta semana? A primeira coisa a se notar, claro, é a matéria de capa sobre o tão aguardado iPhone. Por outro lado, no fim da revista, eles costumam publicar uma coluna chamada + ou - e nesta edição dei uma pequena colaboração escrevendo o artigo Ferraris e Inspiração, espero que gostem. O editor-chefe, Heinar, foi muito receptivo. Nos falamos antes do Natal e ele me convidou para escrever esse artigo. Minha primeira intenç...

Fonte: O’Reilly Radar, por Nat Torkington O Professor Edward A. Lee do departamento EECS de UC Berkeley escreveu O Problema com Threads (PDF) ano passado. Nele, ele observa que threads removem o determinismo e abrem as portas para bugs súbitos mas mortais, e que enquanto o problema fora até certo ponto gerenciável em sistemas com um único core (núcleo/processador), threads em sistemas multicore vão tornar os problemas fora de controle. Ele sugere que a única solução é parar de enfiar paraleli...

Fonte :the { buckblogs :here }, por Jamis Em Named, explicit routes eu mencionei Object#with_options de passagem, somente para descobrir depois que este método super útil não consta na documentação da API do Rails! Desde então corrigi essa situação no trunk, mas o método é útil o suficiente (particularmente em conjunto com routing) que achei que valeria a pena blogar a respeito. O ponto doloroso que inspirou o método é esse: suponha que você tem um punhado de chamadas de métodos, todos aceita...

Fonte: techno weenie

O processo de inicialização do Rails mudou de maneiras súbitas para o Rails 1.2 por causa da recodificação de dependências e algumas mudanças em plugins. Se estiver interessado em extender o framework Rails através de plugins, é muito importante entender esse processo. O segredo para tudo isso é mantido no Rails::Initializer#process.

Para quem não conhece, Charles Nutter é funcionário da Sun e criador do projeto JRuby para rodar sistemas escritos em Ruby (em particular, Rails) dentro de uma virtual machine Java. Os progressos no interpretador foram espetaculares e Charles tem algo a dizer em seu blog, Headius, a respeito de compiladores. Existem algumas boas surpresas mais para o fim do post, aguentem firme e leiam tudo.

Fonte: Headius, Charles Nutter

Fonte: Riding Rails Para coincidir com o Rails 1.2.1, Zed lançou o Mongrel 1.0.1 oficial. Sim, o “.1” ao final é uma piada. Ele também disse que começou a trabalhar no Mongrel aproximadamente em Janeiro do ano passado, tornando ele por volta de 1 ano de idade também. Parabéns ao Zed e a todos que contribuíram com a aplicação e à maravilhosa comunidade Mongrel.

Fonte: Web 2.0 Technologies, por Andre

A metodologia CRUD no Rails 1.2 é uma grande maneira de simplificar a estrutura de sua aplicação. Uma das primeiras coisas que você vai querer fazer é colocar um recurso dentro do outro (nesting_). Essa é a maneira RESTful de trabalhar com relacionamentos hasmany. As primeiras vezes que fiz isso, esqueci de alguns passos (particularmente mudar o caminho das URLs nos controllers). Então vou explicar os passos aqui – com sorte isso ajudará no processo de aprendizado de CRUD no Rails 1.2.

Aproveitando o embalo do lançamento do Rails 1.2.1, mais uma boa notícia: a tradução em português do excelente livro Getting Real atingiu versão RC1 (Release Candidate 1). Por enquanto o texto continuará restrito apenas aos colaboradores que já estavam trabalhando nisso. Essa versão significa que TODOS os capítulos foram traduzidos. Agora o que resta é o processo de revisão, para tirar erros de concordância, ortografia e gramática. Foram 68 dias desde que convoquei os colaboradores. Infelizme...

Fonte: Riding Rails, por David

Encha suas bexigas e pegue seus chapéis engraçados porque estamos lá, baby. Sim, senhor, Rails 1.2 finalmente está disponível em toda sua glória. Levou um pouco mais de tempo do que imaginávamos inicialmente para deixar tudo alinhado (e mesmo chegando lá tivemos um pequeno empecilho que nos levou direto do 1.2.0 para 1.2.1 antes mesmo deste anúncio ter tido tempo de ser escrito).

Então, com esperança a espera valeu a pena. Quem estou enganando. Claro que valeu a pena. Ganhamos o sabor RESTful com novo encorajamento para arquiteturas orientadas a recursos. Ganhamos mime types, códigos de status HTTP e múltiplas representações do mesmo recurso seriamente. E claro, temos a pizza internacional de UTF-8 multibyte seguro.

Estes são apenas algumas das funcionalidades principais. Em cima disso, há uma quantidade monstro de refinamento entregue. O CHANGELOG apenas do Action Pack contém cerca de 200 entradas. Active Record tem mais uns 170.

Tudo isso possível por causa do trabalho incrível de nossa maravilhosa e gloriosa comunidade. Pessoas de todos os cantos do mundo fazendo sua parte, seja grande ou pequena, para aumentar o diâmetro do seu sorriso. Isso é amor, pessoal.

Como sempre, você pega a última e grande versão pelo gems:

gem install rails --include-dependencies

… ou se preferir congelar diretamente, você pode:

rake rails:freeze:edge TAG=rel_1-2-1

Se você for com os gems, lembre-se de mudar sua ligação de versão no config/environment.rb. Caso contrário, você ainda estará amarrado à seja lá qual versão que estava usando antes.

Perceba, porém, que esta é uma atualização massiva. Alguns grandes componentes foram jogados fora e completamente reescritos (routing e auto-loading inclusos). Tentamos nosso melhor para nos manter compatíveis com versões anteriores. Rodamos múltiplos candidatos de lançamento para que todos ajudassem a atingir esse objetivo.

Mas pode não ser perfeito – caramba, o que é? – então você está aconselhado a dar uma boa testada pela sua aplicação antes de qualquer novo deployment. Mas claro, você tem sido um bom testador e agora tudo que você precisa é um pequeno “rake” para ver se tudo passa pela sua suíte de testes, certo?

Alguns dias atrás, lendo o fórum do RubyOnbr me deparei com uma pergunta recorrente: “Onde devo colocar minhas regras de negócio, nos Models ou nos Controllers?” Parece algo trivial: “Claro, nos Models”. Mas a justificativa disso não é necessariamente clara, principalmente para iniciantes. Resolvi discorrer sobre esse assunto na coluna A Dieta dos Controllers que acabou de ser publicada no RubyOnbr.

Fonte: k-dub – Almost Serious Tradução: acabei de rodar gem i rails -y --source http://gems.rubyonrails.org e recebi rails 1.2.0 em vez do 1.1.6.5848 que eu esperava. Será que isso significa que o Rails 1.2 está empacotado e pronto para ir? Atualização: 16hs, Fonte: Kognitive Jelly" Bem, a última versão do Ruby on Rails finalmente foi lançada e as gemas foram empurradas para o rubyforge.org. Para aqueles que quiserem atualizar os gems rode: gem update rails ––include-dependencies Se tiver al...

Este keynote entrará para história, definivamente!

Como eu sei que todo Railer que se preze gosta da Apple, acredito que todos saibam que acabou de terminar (17:07) o keynote do Steve Jobs em São Francisco, na MacWorld 2007. Os rumores foram enormes nos últimos dias, não houve keynote mais esperado e Steve Jobs não decepcionou. Vejam os detalhes, transcript e fotos no site ao vido da Engadget.

Independente da qualidade do Apple TV (na WWDC 2006 foi lançado o protótipo como iTV) a pérola do ...

Em menos de uma hora, às 15hs (horário de Brasília), 9 da manhã (horário do Pacífico), Steve Jobs dará sua palestra na MacWorld Conference & Expo 2007, em São Francisco. Essa palestra, ou keynote, poderá ser vista online de diversos sites (veja lista atualizada). Esse keynote vem sendo motivo de dezenas de rumores, artigos e avaliações feitas por toda a indústria. Nenhum keynote é mais esperado que o de Steve Jobs. A revista Forbes publicou ontem All Eyes On Apple and Jobs. Não existe ningué...

O Chris, do err.the_blog tem artigos fantásticos e excelentes dicas de “Rubyisms and Railities”, como ele mesmo diz. Resolvi fazer mais uma tradução, mas desta vez será um combo, 3 artigos em 1 de uma seleção que eu fiz. A cereja do bolo é o terceiro artigo, mas espero que todos os três aumentem seus apetites para buscar o resto dos mais de 40 artigos em seu blog.

Ou, escreva seu próprio maldito servidor web

Este é um serviço de utilidade pública. Com a palavra, Zed Shaw, criador do famoso e espartano servidor web Mongrel. Acredito que suas palavras devam ajudar a esclarecer algumas dúvidas frequentes a respeito de seu produto e também dar algumas dicas sobre como trabalhar em projetos de software.

Fonte: Zed Shaw

Fonte: Labnotes

Você vai deixar de lado um presente grátis?

Com Rails 1.2 você pode facilmente responder à mesma requisição com tipos de conteúdo diferentes. Digamos que você tem uma action que mostra uma página HTML com todos os livros na categoria ‘Ruby’. Da mesma action, também pode retornar dados como XML ou JSON.

Uma vez que se começa a adicionar saídas em XML ou JSON, se torna uma segunda natureza e mínimo esforço tirar APIs da sua aplicação web.

Documentar APIs leva algum tempo, então aqui vai outra dica para tornar sua API melhor. Deixe as pessoas explorarem usando seus browsers.

Digamos que você queira listar todos os livros de uma certa categoria. Use o browser para navegar para a página, agora adicione .xml ou .js ao final da URL. Você acabou de descobrir a URL, e pode usar o browser para visualizar a saída.

E para atualizações, as URLs e parâmetros das requisições são as mesmas usadas no formulário HTML.

Não consigo pensar numa maneira mais simples de contruir e aprender uma API.

Fonte: O’Reilly Ruby e TIOBE Ruby agora está na lista de Top Ten do TIOBE index e foi declarado Linguagem de Programação do Ano de 2006 porque teve o maior aumento de popularidade em 2006 dentre todas as linguagens monitoradas. Estamos felizes em anunciar que Ruby se tornou “Linguagem de Programação do Ano de 2006”. Ruby teve o maior aumento de popularidade em um ano dentre as linguagens de programação (+2.15%). Quem esteve próximo esse ano é JavaScript com +1.31%. Ambas as linguagens foram i...

Do Riding Rails : É isso ái. Estamos nos finalmentes de lançar a versão final do Rails 1.2. Mas antes de acender os fogos e estourar a champagne, vamos fazer mais um pequenino teste. Como colocar óculos de proteção no centro de Copenhagen no Ano Novo. Você sabe, apenas por precaução. Então, por favor, faça realmente um bom teste. Estamos procurando por problemas do tipo PAREM O BOTE e SEGUREM AS PRENSAS desta vez. Nada mais irá nos parar (mas por favor de qualquer forma relatem qualquer coisa...

Do Rails Engines : Com a chegada próxima do Rails 1.2, achei que seria uma grande oportunidade de revisitar a maneira que os plugins engines operam internamente. No último ano ou um pouco mais, o plugin de engines causaram certo distúrbio (e ganharam alguns admiradores, mas a despeito de alguns mal entendidos e opiniões, as pessoas ainda acham eles úteis.

Entretanto, Rails está sempre mudando, assim como o plugin de engines que precisa mudar também …

Para quem não conhece, o YARV (Yet Another Ruby Virtual machine), como o próprio nome diz, é uma máquina virtual para Ruby. Será a troca de rodar sobre um interpretador para rodar sobre uma máquina virtual, nos moldes de como o Java roda sobre a JVM. Mas somente isso não basta, o projeto YARV é sobre criar a mais rápida máquina virtual para Ruby. Teoricamente ela seria um dos pilares do Ruby versão 1.9.×. Cuidado, isso não quer dizer que o interpretador atual é ruim nem que a virtual machine sairá perfeita logo de início. É um passo evolutivo para o Ruby, muito tem que ser feito. _why relata que o sub-projeto Yarv foi mesclado na árvore de desenvolvimento da distribuição oficial do Ruby.