Agora, é possível ‘embedar’ códigos do codestacker em seu site! No update de hoje, implementei esse recurso e finalmente, um sistema de busca.
Migrations sem timestamp
No Rails 2.0, os arquivos de migração eram gerados com o prefixo do timestamp. Exemplo: 20080614155951_create_users.rb. Nas versões anteriores, o prefixo era numérico. Para o Rails 2.2, será possível você mesmo configurar isso, definindo no environment.rb:
Vale a pena a leitura do Release Notes do Rails 2.2 e, se você ainda não pegou o RC 1 do Rails, lembre-se:
RubyMine: Textmate-killer?
Essa semana apareceu uma nova IDE para Ruby: a RubyMine, que se auto-denomina com a mais inteligente IDE para Ruby. O software é multiplataforma e parece ser bem interessante. Notei algumas coisinhas numa primeira-impressão:
1) há templates para testes (RSpec e TestUnit)
2) integração com o Mac OS: o look'n feel não combina muito (= feia) com o sistema e ele está mais para NetBeans e Eclipse do que para um Textmate. Nada de maçã + w para fechar um arquivo nem maçã + n para um novo arquivo. A velocidade dele também está mais para NetBeans/Eclipse do que para um Textmate
3) inspetor: ele possui um inspetor interessante: para CSS, por exemplo, ele verifica suas folhas de estilo e informa por imagens quebradas, seletores não usados e código desnecessário (como escrever '0px', onde somente '0' já resolve). Para Ruby, ele verifica, entre vários itens, referências não resolvidas e erros em chamadas de métodos (apesar de que, no meu projeto, o que ele inspencionou estava certo)
4) parece ter uma integração interessante com controle de versão (Git, Subversion e CVS)
5) ele também tem um Go to File, como no Textmate
6) ele tem uma janela amigável para rodar scripts (como o RadRails)
Essa próxima semana vou utilizá-lo e ver se ele pode ser um Textmate-killer ou uma boa alternativa para Windows e Linux.
Bota Pra Fazer
Vi com bons olhos a campanha Bota Pra Fazer. A série de comerciais exibida na Globo (e YouTube) é estrelada por empreendedores de todo Brasil e é a primeira campanha politicamente correta que vejo para incentivar o empreendorismo - campanha beeem melhor do que aquela de colocar jogadores de futebol para incentivar a leitura. A campanha é positiva ao mostrar que todas essas pessoas de sucesso enfrentaram problemas e clichês para colocarem a ação todas as suas idéias e mostraram para todo mundo que elas estavam certas e a maioria errada.
"Para quem está na faculdade, empreendorismo é um bicho de 7 cabeças. A gente quer mostrar que basta uma cabeça para ele funcionar" - do site Bota Pra Fazer
A sociedade inteira limita nosso instinto empreendedor. A escola é uma cópia de uma fábrica da revolução industrial - hierarquias, cronogramas, horários, todo mundo pensando dentro de uma mesma caixa quadrada e escura. Crescemos dentro de uma fábrica, aprendemos a pensar igual a todo mundo e após isso temos um emprego igual ao de todo mundo. Grande zona de conforto.
É de empreendorismo que cada um de nós precisa. Trabalhe mais, pense mais, inove mais! Seja o pino redondo no buraco quadrado, nade contra a corrente, a unanimidade é sempre burra. Saia da sua zona de conforto, caia na real e faça a diferença.
Google em 2001
Como parte das comemorações dos 10 anos, o Google criou uma busca que indexa tudo como era 2001. Um verdadeiro túnel do tempo. Bem interessante.

Integração contínua no codestacker
Meses atrás lancei o codestacker. Para seu desenvolvimento segui a conhecida metodologia Getting Real e lancei o serviço sem os principais features. Pouco a pouco estou acrescentando recursos ao site.
Internet é isso. Caia na real e tenha integração contínua em seu serviço.

[update 22/11/08] corrigido bugs no ie.
[update 16/11/08] implementado busca e agora o código pode ser 'embedado'. Exemplo:
[update 02/11/08] corrigido alguns bugs (valeu os toques, André!) e refatorado muito código.
[update 23/10/08] implementado textile.
A crise dos EUA for dummies
Economia é algo que tem me interessado bastante. Esse ano comecei na bolsa e as coisas não estão nada boas. Vi o seguinte texto no blog Como comprar meias, que explica facilmente a crise americana.
O seu Biu tem um bar, na Vila Carrapato, e decide que vai vender Cachaça “na caderneta” aos seus leais fregueses, todos bêbados, quase todos desempregados.
Porque decide vender a crédito, ele pode aumentar um pouquinho o preço da dose da branquinha (a diferença é o sobre preço que os pinguços pagam pelo crédito).
O gerente do banco do seu Biu, um ousado administrador formado em curso de emibiêi, decide que as cadernetas das dívidas do bar constituem, afinal, um ativo recebível, e começa a adiantar dinheiro ao estabelecimento tendo o pindura dos pinguços como garantia.
Uns seis zécutivos de bancos, mais adiante, lastreiam os tais recebíveis do banco, e os transformam em CDB, CDO, CCD, UTI, OVNI, SOS ou qualquer outro acrônimo financeiro que ninguém sabe exatamente o que quer dizer.
Esses adicionais instrumentos financeiros, alavancam o mercado de capítais e conduzem a operações estruturadas de derivativos, na BM&F, cujo lastro inicial todo mundo desconhece (as tais cadernetas do seu Biu).
Esses derivativos estão sendo negociados como se fossem títulos sérios, com fortes garantias reais, nos mercados de 73 países.
Até que alguém descobre que os bêubidos da Vila Carrapato não têm dinheiro para pagar as contas, e o Bar do seu Biu vai à falência. E toda a cadeia vai para o brejo.
Ruby on Rails Portable
Você não precisa mais ficar querendo o novo Macbook para levar suas aplicações Rails para qualquer lugar. Um sujeito chamado Etienne Savard criou o Ruby on Rails Portable. O pacote, com uns trinta e poucos megabytes vem com o Scite - um editor de código - também portátil.
PS. só falta saber se um aplicativo Rails rodando em um pendrive vai escalar :P
PS2. o autor desse projeto também fez um Cygwin portátil.
PS3. ainda não testei, talvez pelo estranho fato de ter um pen-drive de 256 mb da Toshiba que só é detectado após 15 minutos ligado na usb.
Backup no Mac OS
Felizes são os pessimistas... porque já fizeram backup hoje! Depois do dia que o HD do meu MacBook morreu misteriosamente (sem motivo algum!), fiquei simplesmente viciado em backup. Na busca de um software perfeito, encontrei várias opções e resolvi escrrever sobre isso. No meu caso, buscava um software que fizesse backup da minha partição onde está o Leopard e que também espelhasse minha outra partição de dados, em FAT32 (sim, FAT32, acredite!).

[updated] Meu novo aplicativo favorito de backup para o Mac é Sync Professional. Faz a sincronização de uma forma bem amigável

O Time Machine resolve o problema de backup da partição do Leopard. Assim sendo, não tenho muito o que falar sobre ele, além do óbvio: USE.

O SilverKeeper é atualmente o software que estou usando para fazer backup da minha partição FAT32. É um software da Lacie, aquela marca famosa de HDs e é grátis. Além de todas essa vantagens, ele tem um log beeeem completo e dar para acompanhar, em tempo real, qual arquivo ele está copiando no momento (modo neurótico ON).

O Carbon Copy Copier é talvez o mais interessante dos softwares. Ele possui tarefas automatizadas e poderia criar uma que, ao conectar meu HD USB, executasse o backup previamente estabelecido. Só parei de usá-lo porque descobri que minha partição de destino do backup não poderia ser diferente de HFS.

O RsyncX, conforme sugerido pelo nome, é uma interface bonitinha para o Rsync. Eu estava utilizando esse software e do nada ele parou. Foi aí que o substituí pelo SilverKeeper. Mesmo assim, pode funcionar pra você.

O iBackup também é um software interessante e faz backup de uma série de coisas, como configurações dos seus aplicativos (Firefox, Adobe, por exemplo), dos seus System Preferences, além de suas pastas de usuário (Sites, Music, Movies...). Para backup de pastas, o achei bem lento.
PS: todos os softwares que uso no Mac estão no meu iUseThis.
Artigos da semana sobre Rails
Ando muito sem tempo para postar, basicamente devido aos meus dois trabalhos. Essa semana vi várias coisas interessantes e abaixo um comentário para cada uma delas.
Rails Security Checklist - dicas básicas para implementar segurança em suas views, models e controllers.
Getting Started with Rails e DataMapper - estou num meio de um projeto onde cogitamos a possibilidade de substituir o ActiveRecord pelo DataMapper. Para quem não conhece a solução, é um bom start.
Meaning 400s and 500s - um rápido código abordando erros
Clone Pastie with Sinatra and DataMapper - Sinatra é um pequeno framework em Ruby bem interessante. O link levanta como fazer um app que manipula dados em um banco através do DataMapper.
ps.: quem está assinando o rss do site está recebendo meus códigos no codestacker.