Aruba - Como testar suas linhas de comando com Cucumber
Que tal testar seus scripts ruby com Cucumber? Agora é possível e da mesma forma que testamos as nossas aplicações web. Aruba, do mesmo criador do Cucumber, fornece uma ambiente familiar para testes de saída, status e comandos do sistema. Abaixo um pequeno exemplo para um teste de status de saída:
Para usar aruba, basta instalar a gem:
sudo gem install aruba |
e, em seguida, adicione em seu env.rb ou em qualquer arquivo em features/support
require 'aruba' |
What is our limit, when will we max out?
Carla and Henriette Hochdorfer
Estamos Contratando

A Amanaiê está procurando um profissional para desenvolvimento de Aplicativos Sociais. Contamos com uma equipe de railers de excelente nível, várias aplicações pontuais e projetos em desenvolvimento.
Requisitos:
- Ruby e Rails
- JavaScript - jQuery
- HTML e CSS
- Vontade de aprender coisas novas ;)
O salário inicial é de nível Junior, o trabalho é remoto e o horário é bastante flexível. Ganha pontos quem mandar algum projeto próprio ou pelo menos trechos de código para análise, github, twitter e blog.
Se alguém tiver interessado por favor, entre em contato comigo por: ozeias@amanaie.com.br.
Disabling Cache in the Orkut Sandbox
Orkut caches application XML specs to minimize the number of times that each file has to be fetched, saving bandwidth and reducing user latency. Caching is great for cases where many users are requesting your application, but can be disruptive during application development when you want to see each change as soon as you update your application's code.
Fortunately, you can disable this caching mechanism by appending &bpc=1 to the URL of any profile or application canvas page. This "bypass cache" parameter instructs orkut to pull a fresh version of the gadget XML from your server rather than the version currently in its cache.
For example, if you are viewing:
http://prod.sandbox.orkut.com/Main#Application?uid=#####&appId=##### |
You can view the uncached version by navigating to:
http://prod.sandbox.orkut.com/Main#Application?uid=#####&appId=#####&bpc=1 |
But it is very tedious task to append &bpc=1 to the application pages everytime you want to see the latest version. Now, you can use this greasemonkey script for fix that problem.
First you need install Greasemonkey plugin for Firefox/Flock and later, you need install this userscript Bypass Orkut Cache.
Você está trabalhando com Rails? Diga ao mundo!
O Working With Rails, mais conhecido como wwr, é uma app que indexa todos os desenvolvedores que trabalham com Rails. Oferece formas de analisar a comunidade por autoridade, popularidade e por país.
Falando em país, posso dizer que já estivemos quase no top, mas hoje estamos amargando a 4 posição - atrás dos United States, United Kingdom e India.
Temos muito mais que 1000 desenvolvedores por aqui e precisamos mostrar isto. Nós, brasileiros, não estamos acostumados a cuidar do nosso marketing pessoal, perdemos feio para os Indianos - nossos maiores concorrentes no mercado de offshore outsourcing.
Após criar sua conta, não se esqueça de recomendar-me. Aproveite e deixe o link do seu wwr nos comentários.
Amanaiê

Mês passado recebi um convite da Amanaiê, por meio do Mario Nogueira - Gerente de Projetos da empresa e fundador do Pagestacker - para gerenciar uma equipe de desenvolvimento que seria criada.
A Amanaiê cria, produz e distribui aplicativos sociais, que trazem novas maneiras para as pessoas se relacionarem entre si, além de tornarem seu dia-a-dia mais fácil e divertido.
Fundada por Gilberto Alves Junior - designer de interfaces há 8 anos e mantenedor do blog prati.ca. Foi um dos primeiros a trabalhar com Web 2.0 e escrever sobre o assunto no Brasil - e por Michael Nicklas - que tem trabalhado com desenvolvimento de software e integração nos últimos quinze anos. Tem grande habilidade em identificar novas tecnologias e implementar modelos de negócio inovadores, ajudando empresas como Viacom, Univision, IBM, Nielsen e Disney a desenvolver iniciativas estratégicas de tecnologia. Michael também é sócio da Thirst, uma empresa de serviços de design e desenvolvimento de software, baseada em Nova York, onde mora - tem sido destaque na mídia nacional e estrangeira.
Alguns dias depois, aceitei o desafio de criar excelentes produtos sociais para o mercado nacional. Junta-se ao nosso time, nos próximos dias, Dante Regis - Grande filósofo :) - e um outro cara que dispensa apresentações - ainda não posso dizer quem é :).
UPDATE:Querem saber quem é o outro cara? De uma olhada aqui.
Let's Rock!
Modismo - Ágil e Rails

Todos aqui devem saber que eu sou um defensor de Metodologias Ágeis e de Rails. Tive o prazer de começar com Rails a uns 3 anos atrás, e a uns 2 anos com Ágil - Scrum, XP, Lean. Durante este tempo tenho colhido bons frutos das minhas escolhas e, como bom evangelista, eu prego aquilo que acredito e o que faço.
Mas nem tudo são flores, tenho me deparado com algumas coisas que me deixaram um pouco frustrado: O modismo. Modismo? Sim, Modismo. Modismo, é aquela tendência de comprar, fazer, falar e ser o que todos são no momento, ou seja, um indivíduo sem idéias fixas e definidas, que são guiados pela mídia - A ditadura que domina a cabeça das pessoas.
Mas isto é legal. Todos usando Rails e sendo "ágil"!!! Não é este o problema, vamos fazer uma análise: Quando comecei com Rails, tínhamos poucos desenvolvedores, tanto no Brasil quanto lá fora, e era mais do que nossa obrigação divulgar. Era o que podíamos fazer para conseguir expandir o mercado de trabalho e poder trabalhar profissionalmente com aquilo que aprendemos a gostar. E sabe o que tínhamos na época? Um monte de feras como o Akita, Tino Gomes, Lucas Húngaro, Tapajós, Ronaldo Ferraz, Rodrigo (caffo), Demetrius Nunes (dema), Bruno Miranda e outros. Isto era muito bom, porque era uma comunidade super pequena mas de alto nível, qualquer assunto levantado era discutido por quem sabia o que estava falando. Hoje nós temos uma comunidade “inchada”, com poucos excelentes programadores Ruby/Rails e um monte de “usuários” do framework.
Conheço um monte de “usuários” Rails que não sabem nada de Ruby. Alguns outros chegam a chamar o Rails de linguagem, pasmem, isto é o cumulo da ignorância. A rails-br se tornou uma lista de newbie, com perguntas que são facilmente respondidas fazendo uma busca no Google ou no próprio grupo, tornam-se extensas threads inúteis.
O mesmo está acontece com as metodologias ágeis: todos estão falando de ágil, cursos novos, certificações e um monte de blah, blah, blah. Está cheio de consultores e consultorias pronto para moldar um Scrum para sua empresa. Conseguem criar um produto "bonito" e cheio de marketing sem entender os conceitos, regras e fundamentos das metodologias. São apenas aberrações.
Já trabalhei com diversas metodologias, incluindo RUP, Espiral, Cascata e Incremental - que eu lembre foram estes, e o que diferencia estas metodologias tradicionais são o enfoque e os valores, a idéia das metodologias ágeis é o enfoque nas pessoas e não em processos ou algoritmos, a preocupação de gastar menos tempo com documentação e mais com a implementação. Mas para alcançar resultados é exigido muito de cada pessoa, da equipe e da organização, precisa de comprometimento, sacrifício, acreditar – ter fé, saber trabalhar em equipe, o que diga-se de passagem é impossível para a maioria das pessoas - no seu orgulho besta e infantil. Não adianta rotular como ágil sua empresa e não ter atitude. Melhor continuar sem o rótulo ou você vai ferrar com seu projeto/empresa.
Tenha em mente que Ruby não é a solução para tudo, e Ágil também não. O importante não é o que você usa: é quem e como usar. As pessoas ficam entusiasmadas com tudo que escutam e acabam por colocar o carro na frete dos bois.
Leia também:
- Agile indo para o buraco?
- Agile não é para todos
- The Decline and Fall of Agile
- The Decline and Fall of Agile
- Skipping Their Vegetables
- Rails não é solução para tudo
- Como Ruby on Rails pode o tornar um programador pior
4º Circuito Paraná de Software Livre
Nos dias 24 e 25 de abril, estará sendo realizado na Faculdade Sul Brasil - FASUL de Toledo, o 4º Circuito Paraná de Software Livre
Novamente estarei palestrando, e vou falar sobre Desenvolvimento Ágil de Software e a difícil adaptação das equipes. Aqui está a programação do evento para Toledo.
Maiores informações aqui e inscrições aqui.
Divulguem e não deixe de participar
Ozéias Sant'ana for hire

After some few months working at TownConnect, various challenges and learning, my work on the project has ended.
Well, I'm anxious to start a new project to work on.
I'm looking for full-time projects, with the minimum of three months contract, flexible hours, motivated team and small team is desired.
You will hire a professional self-motivated and goal oriented, dedicated, hard-working team player, self-learner and focused on results. Easy adaptation to new working environments and good problems solving skills. Highly skilled in Web Technologies.
Ruby / Ruby on Rails enthusiast, specialist and evangelist. Software architect, consultant, developer and analyst.
It would be wonderful if you can share this post with anyone who would benefit from having me on their team.
I can be contacted at oz.santana@gmail.com.
Contrate o Ozéias Sant'ana
Após alguns meses de trabalho na TownConnect, diversos desafios e aprendizados, infelizmente o desenvolvimento do projeto teve que parar.
Bom, estou ansioso para começar a trabalhar em um novo projeto.
Procuro por projetos em tempo integral, com no mínimo 3 meses de contrato, com horário flexível, equipe motivada e de preferência pequena.
Você irá contratar um profissional motivado e com metas, dedicado, com excelente trabalho em equipe, autodidata e focado em resultados. Fácil adaptação ao ambiente de trabalho e com muita habilidade na resolução de problemas. Especialista em desenvolvimento web.
Entusiasta, especialista e evangelizador de Ruby / Ruby on Rails. Arquiteto, consultor, programador e analista de Sistemas.
Agradeceria se você pudesse compartilhar este post com quem se beneficiaria em ter-me na equipe.
Você pode entrar em contato comigo através do email oz.santana@gmail.com.
Ativando o 1Password no Safari 4 Beta

Hoje pela manhã a Apple liberou o Safari 4 beta. Foram diversas as modificações, entre elas, a Nitro Engine - JS, que chega a ser 30 vezes mais rápido que o browser da Microsoft, suporte a HTML 5, CSS3 e o primeiro browser não-experimental a passar no Acid3 Test atingindo a maior nota possível: 100/100.
Os usuários do 1Password perceberam que ele não funciona na nova versão. Para que ele volte a funcionar, feche o Safari e o 1Password e edite o seguinte arquivo:
/Applications/1Password.app/Contents/Resources/SupportedBrowsers.plist |
Procure uma chave nomeada com Safari e o valor da chave MaxBundleVersion. Você encontrará o valor 5528.1, que é a versão máxima suportada. Bom, basta alterar para 5528.16, salvar e fechar. Agora reabra o Safari e pronto.
O verdadeiro teste de qualidade do código

Instalando o WordPress no Nginx

Há algum tempo adotei o Nginx como servidor HTTP, e desde então tenho configurado diversos servidores, sempre obtendo bons resultados.
Esta semana precisei configurar um servidor da TownConnect para rodar o WordPress, mas diferente do que já tinha feito, precisava dele em um subdiretório no domínio principal, não em subdomínio ou domínio próprio. Neste exemplo, vou usar a versão estável, Nginx 0.6.34, WordPress 2.7 e o Debian Linux.
Instalando o Nginx
Vamos instalar as dependências do Nginx:
Agora vamos instalar o Nginx:
Você pode optar por instalar usando o apt-get, particularmente eu prefiro assim. Devemos configurar o funcionamento do Nginx:
Agora precisamos criar o daemon para executar o Nginx:
Instalando o PHP CGI
Temos duas opções para instalar o PHP, usando o apt-get ou compilando o código fonte.
Usando o apt-get
Vamos instalar o PHP CGI com suporte a MySQL e o Lighttpd para obter o spawn-fcgi, que vai cuidar dos pedidos ao FastCGI do PHP. Depois de instalados, vamos parar e remover o serviço do Lighttpd, que não é necessário:
O spawn-fcgi deve ser configurado para executar como um serviço. É preciso escolher a porta que vai ser usada, neste caso, a escolhida foi 53987 (aleatoriamente). Desta maneira poderemos reiniciar o servidor sem se preocupar:
E para finalizar:
Compilando o código fonte
Apesar de ser um pouco demorado, particularmente prefiro desta forma. Se você já instalou usando o apt-get, pule esta parte. Vamos instalar as dependências, baixar o código fonte do PHP, o patch PHP-FPM, aplicar o path, compilar e instalar:
Setamos o usuário que vai executar o php-cgi como:
E para finalizar:
Instalando o WordPress
Faça o download do WordPress e siga os passos de 1 a 5 do Famous 5-Minute Install. O sexto passo vamos deixar para depois. O diretório usado para a instalação do WordPress deste tutorial é /var/www/example.com/blog.
WordPress configurado em um domínio
WordPress configurado em um subdomínio
WordPress configurado em uma subpasta do domínio
Agora basta seguir o sexto passo do Famous 5-Minute Install e o WordPress estará instalado e rodando em um dos melhores servidores HTTP, o Nginx.
Top Brazilian Rubyists to follow on Twitter
Some friends have encouraged me to write a post with profiles of personalities and developers of the Ruby/Rails World here in Brazil, as well as the RubyLearning, in 50+ Rubyists to Follow on Twitter and Top Ruby Merbists to follow on Twitter.
This list does not include all profiles, but it should give you a great start to following some talented brazilian Rubyists.
- AkitaOnRails - Fabio Akita
- arthurgeek - Arthur Zapparoli
- brupm - Bruno Miranda
- caffo - Rodrigo Franco
- carlosbrando - Carlos Brando
- daviscabral - Davis Cabral
- dcrec1 - Diego Carrion
- derencius - Marcus Derencius
- divoxx - Rodrigo Kochenburger
- dtsato - Danilo Sato
- eduardofiorezi - Eduardo Fiorezi
- egenial - Carlos Eduardo
- fabiokung - Fabio Kung
- flaviogranero - Flávio Granero
- fnando - Nando Vieira
- georgeguimaraes - George Guimarães
- herval - Herval Freire
- jmonteiro - Júlio Monteiro
- jonysk - Jony dos Santos
- lucashungaro - Lucas Húngaro
- mlemos - Manoel Lemos
- ozeias - Ozéias Sant'ana
- pcalcado - Phillip Calcado
- tapajos - Marcos Tapajós
- taq - Eustáquio Rangel
- tinogomes - Celestino Gomes
- viniciusteles - Vinícius Teles
Update: We are updating the list based on your recommendations.
This dude also talk about Ruby/Rails, sometimes :-).
We forgot to anyone?
You can help. Please feel free to add a link to a Brazilian Rubyist’s Twitter profile. Add yours, too.
Os melhores Rubyists brasileiros para seguir no Twitter
Alguns amigos tem me encorajado a escrever um post com perfis de Personalidades e Desenvolvedores do Mundo Ruby/Rails aqui do Brasil, assim como o RubyLearning, nos posts 50+ Rubyists to Follow on Twitter e Top Ruby Merbists to follow on Twitter.
Esta lista não inclui todos os perfis, mas deve dar-lhe um grande começo para seguir alguns brasileiros talentosos.
- AkitaOnRails - Fabio Akita
- arthurgeek - Arthur Zapparoli
- brupm - Bruno Miranda
- caffo - Rodrigo Franco
- carlosbrando - Carlos Brando
- daviscabral - Davis Cabral
- dcrec1 - Diego Carrion
- derencius - Marcus Derencius
- divoxx - Rodrigo Kochenburger
- dtsato - Danilo Sato
- eduardofiorezi - Eduardo Fiorezi
- egenial - Carlos Eduardo
- fabiokung - Fabio Kung
- flaviogranero - Flávio Granero
- fnando - Nando Vieira
- georgeguimaraes - George Guimarães
- herval - Herval Freire
- jmonteiro - Júlio Monteiro
- jonysk - Jony dos Santos
- lucashungaro - Lucas Húngaro
- mlemos - Manoel Lemos
- ozeias - Ozéias Sant'ana
- pcalcado - Phillip Calcado
- tapajos - Marcos Tapajós
- taq - Eustáquio Rangel
- tinogomes - Celestino Gomes
- viniciusteles - Vinícius Teles
Update: Estamos atualizando a lista com base em suas recomendações.
De vez enquanto este cara aqui também fala alguma coisa de Ruby/Rails :-).
Esquecemos de alguém?
Você pode ajudar. Fique à vontade para adicionar no comentários um link para um perfil do Twitter de outro brasileiro. Adicione o seu também.





