Um ano de mergulhao.info

E lá se vai um ano de mergulhao.info! Total de 53 artigos publicados, um punhado de comentários, diversas palestras pelo Brasil, alguns projetos realizados e outros em andamento.

Desde que começei com este blog, há pouco mais de um ano, sempre tive em mente que este era um projeto para divulgação do meu trabalho, um espaço meu. Partindo desse ponto, assumi integralmente o custo dele para mim, abrindo mão de qualquer tipo de remuneração de ads.

Hoje(na verdade quem visitou meu site nos últimos dias já viu) estou abrindo mão da ausência de propaganda em meu site, não por dinheiro, mas para uma causa que considero importante.

O Rio de Janeiro, capital, vem de 16 anos de governo Cesar Maia. Foram basicamente 16 anos em que o governo do Rio não teve diálogo com o governo estadual ou com o governo federal, ou com os dois ao mesmo tempo. Foram 16 de anos de obras de fachada, desvios de verba e um Pan-Americano que custou dezenas de vezes o orçado, construiu uma Vila que afunda e acabou com um patrimônio do automibilismo brasileiro, o Autódromo Nelson Piquet.

Para piorar as coisas os novos candidatos não são nem um pouco animadores. Eu já fiz a minha opção, não acho que exista um salvador da pátria, mas com certeza existe algo melhor.

4 comentários : 14.05.2008 09:52 PM

Ressaca do FISL

Foto da Galera

Para quem tinha pedido aqui estão os slides da minha palestra no FISL: Rails2 e Lucidus. Esse sem dúvida foi o melhor FISL que eu já participei. A minha palestra conjunta com o Vinicius estava lotada (alguém sabe a lotação daquela sala? 200~300 pessoas?), pena que as fotos não ficaram boas. Preciso de uma camera melhor.

Foi bom conhecer/reencontrar essa galera legal. Um ótimo networking, como diria, o Carlos da e-Genial, que foi um prazer ter conhecido. E fora isso teve mais uma galera que já postou sobre o assunto também.

0 comentários : 27.04.2008 01:37 PM

Atrasado, mas em tempo: 1 ano de Lucidus

Logo projeto Lucidus do Grupo Santa Isabel e Improve It

Pela falta de tempo estou um pouco atrasado, mas ainda em tempo. Desde novembro do ano passsado – passou muito rápido – tenho trabalhado fulltime no Lucidus. Todos os agradecimentos necessários foram feitos, então resta ressaltar a importancia deste projeto para mim, como desenvolvedor, profissional, pessoa.

Este projeto me mostrou como tdd e as boas práticas de programação são essenciais para manutenção da qualidade de um projeto de software, independentemente de qual metodologia de desenvolvimento está sendo utilizada. Antes de participar de um projeto onde essas práticas sejam largamente utilizadas e encorajadas é difícil perceber sua importancia. A partir do momento em que se desenvolve a cultura, ela se torna quase uma obsessão. Hoje o uso de testes e o refactoring estão no sangue e só serão substituídos por uma idéia melhor… quando ela for inventada ;)

O maior problema de todos nunca é técnico, tem relação com as pessoas e com a comunicação entre elas. Esse projeto me mostrou como melhorar a relação entre nós desenvolvedores na busca pela solução dos problemas. Confirmou que é possível um cliente presente e ativo no desenvolvimento de um projeto de software. Provou que XP não somente funciona, mas como é a melhor forma, a menos burocrática e a mais produtiva de se desenvolver software de qualidade em tempo aceitável.

Hoje estávamos discutindo sobre o projeto no fim do dia. Um dos questionamentos foi: este projeto estaria dando certo se estivesse na mão de outra equipe qualquer que não esta? A conclusão unânime foi: com uma probabilidade muito pequena este projeto daria certo na mão de outra equipe. Será que estamos sendo arrogantes? Não acho.

O fato é que há poucas opções. Esse projeto dificilmente seria pego por uma grande empresa, simplesmente pois uma grande consultoria é caro demais. E qual a situação da maioria das pequenas e médias consultorias de software? Caótica, com desenvolvedores mal qualificados tanto para o desenvolvimento quanto para a comunicação com o cliente. Resultado: softwares lixo! Eu já vivenciei isso!

Este com certeza é um projeto especial. Parabéns!

0 comentários : 26.03.2008 01:56 AM

Invente menos problemas!

Invente menos problemas

O açucar União está com uma campanha publicitária chamada Viva Momentos de União, que possui mensagens que fazem alusão a situações de prazer e bem-estar, realçando a importancia da qualidade de vida e tudo mais. Não se preocupem, não vou escrever sobre açucar!

No projeto Lucidus os nossos sachês de açucar pro café são da União e cada um vem com uma mensagem, entre elas essa que eu achei brilhante:

Invente menos problemas.

E aí isso me remete, como desenvolvedor, ao nosso velho problema de querer sempre complicar as coisas. Há um bom tempo que estudo XP, mas foi somente nos últimos meses que tive a oportunidade de ver na prática como a coisa funciona. Desde que entrei para o projeto Lucidus meus conceitos sobre como desenvolver software mudaram muito, do meu ponto de vista para melhor, claro.

XP possui como um de seus valores a simplicidade. A idéia é implementar as coisas da forma mais simples possível, sem preocupar-se com o amanhã ou com tentar prever quais funcionalidades, métodos ou funções serão necessárias no futuro. É preocupar-se apenas em resolver o problema de agora de forma simples. Isso puxa(ou o inverso) uma das práticas do XP, o design incremental.

Quando estudei engenharia de software tradicional na universidade “aprendi” que o design deveria ser sempre feito antes da implementação. Então deveria-se planejar(o sistema, as classes, os patterns, a base de dados, os relacionamentos, etc) numa tentativa de prever o rumo que o projeto iria levar. Felizmente aprendi cedo de que isso na teoria é muito bonito, mas na prática não funciona. Quer queiram ou não, os projetos de software sempre sofrem mudanças na hora da implementação. Mudanças essas que podem ser drásticas a ponto de toda documentação/projeto que foi escrito não servir mais para nada, por não refletir a realidade do projeto.

Quando em XP dizemos que trabalhamos com design incremental do software, não estamos dizendo que não usamos patterns… Isso apenas quer dizer que decidimos que patterns utilizar na hora em que de fato precisarmos dele. O uso contínuo da refatoração nos leva aos patterns.

Há alguns anos atrás eu trabalhava(leia-se ganhava dinheiro) apenas com Java e, por coincidência ou não, muitas das pessoas com que trabalhei e empresas por onde passei possuiam essa mesma cabeça da engenharia de software tradicional e passavam meses projetando e montando o ambiente de trabalho antes de que qualquer linha de código útil fosse escrita.

Felizmente, mais uma vez, há 2 anos eu descobri o Ruby e o Rails. Descobri que as pessoas que trabalham com Ruby e Rails seguem fielmente a linha da simplicidade, dos princípios DRY e KISS. Descobri que Rails se encaixa como uma luva no XP. Então a frase do dia é:

Invente menos problemas. Use Rails!

2 comentários : 12.01.2008 03:55 PM

Inverse Captcha: Aprovado!

Mais de um mês e meio depois de instalar o Inverse Captcha não há o que discutir: nenhum spam durante todo esse período! Mais uma vez o conceito de fazer a coisa mais simples com chances de funcionar se mostrou eficaz e resolveu o problema de spam do blog.

Para saber mais sobre o Inverse Captcha, visite o post.

0 comentários : 22.12.2007 10:58 PM

Inverse Captcha: como não amolar seus visitantes

Quem tentou acessar meu site em alguns momentos no dia de ontem e hoje há alguns minutos se deparou com alguns 404 ou 500. Foi só uma pequena briga entre eu e o Dreamhost para atualização do Mephisto, isso vai ficar para o próximo post.

Como muitos de vocês, eu também acho o Captcha uma bosta de uma invenção. Infelizmente os “bots postadores de formulários alheios” estão importunando cada vez mais e estava precisando de algo que resolvesse esse problema nos comentários do blog.

A questão é: como minimamente garantir que há um humano postando o formulário e não um bot? Resolvi pesquisar por algo sobre o assunto e encontrei coisas interessantes.

Fazendo o oposto do Captcha, o conceito do Inverse(ou Negative) Captcha não é fazer o nosso visitante se identificar como humano, mas fazer o bot se entregar. Como? Fazendo a coisa mais simples com chances de funcionar. Dentro do formulário há um campo hidden via css. Os bots vêem esses campos como inputs comuns, pois eles não interpretam o css. O humano(ou os leitores de tela) ignoram esse campo, pois ele não aparece na tela. Logo, basta ignorar qualquer submissão que vier com o campo hidden preenchido.

Invese Captcha

Utilizei o plug-in para Mephisto desenvolvido pelo Sven Fuchs que implementa essa solução. Simples, não? Vamos ver se funciona.

ATUALIZAÇÃO: Ainda não descobri por que, mas parece que o plug-in está apresentando problemas e não está salvando nem os comentários “humanos”. Em meu ambiente de teste está funcionando normalmente, estou desconfiado mais uma vez das loucuras do Dreamhost. Qualquer dúvida ou sugestão me enviem um e-mail. Um abraço.

ATUALIZAÇÃO2: Problema resolvido, agora está tudo ok. Qualquer problema nos comentários me comuniquem.

3 comentários : 05.11.2007 11:16 PM

Conservadorismo tecnológico, até que ponto?

Ultimamente tenho me deparado com algumas questões relativas à adoção de novas tecnologias. No momento não estou falando especificamente de uma tecnologia, mas sim no geral.

Qual aplicação realmente precisa de um uptime de 99,99999999…99999%? Poucas? Muitas? Eu diria que quase nenhuma! Por exemplo esse blog, ou outros blogs. Que diferença faz se o Dreamhost cai (pelo menos) uma vez por mês (seria por semana?), deixando meu site fora do ar por algumas horas? Nesse caso pra mim nenhuma, ninguém morreu por isso. Pelo menos não que eu saiba. Se você conheceu alguém que morreu porque não conseguiu acessar meu blog, me informe urgentemente para eu trocar logo de host, ou muitas outras poderão morrer também! :)

É claro que sempre achamos muito ruim quando necessitamos utilizar aquele serviço e, na hora h, está fora do ar… Se por isso você perdeu dinheiro, então está na hora de buscar outro compatível que dê a você o uptime de que necessita ou poderá perder mais ainda, certo?

O grande ponto que gostaria de alcançar é: até que ponto vale a pena a adoção de uma tecnologia mais antiga visando a imaginária segurança da robustez em detrimento de uma mais moderna que traga vantagens de produtividade e recursos? Claro, ninguém possui a resposta para todos os casos, cada um deve ser analisado à parte, levando em consideração todos os fatores envolvidos.

O fato é que em nossas vidas utilizamos software beta o tempo todo! Será que algum dia existirá um software verdadeiramente estável?

7 comentários : 26.09.2007 01:44 PM

Sistema de inscrições e eu

Durante todos os outros anos do Fórum do Software Livre do Rio de Janeiro utilizávamos um sistema de inscrições que era feito em PHP. Esse sistema já havia sido adaptado ao nosso evento, resgatado de um outro evento de estudantes de computação. Todo ano novas modificações para ele se adaptar às novas necessidades. Esse ano decidi escrever mesmo uma outra aplicação e não poderia ser diferente, escolhi Rails como framework base.

O grande problema que criei por essa minha decisão foi: onde hospedar? A nossa parceira Hostnet ainda não fornece serviço de hospedagem para Rails e na Unirio não tínhamos nenhum servidor preparado para isso. Sobrou hospedar juntamente com meu site, no Dreamhost. Após 3 ou 4 dias com o sistema no ar estávamos tendo muitas reclamações referentes ao desempenho. Lento, muito lento (coisa que não acontece com o site principal não sei o motivo). E claro, com alguns momentos down.

Solução 1: preparar um servidor na Unirio. Sistema que estava instalado no servidor disponível: Fedora Core 4. Se alguém conhece Fedora sabe que isso está muito desatualizado. Ou seja, um monte de pacotes antigos, apache antigo, ruby antigo, sem adaptador mysql para ruby etc. DESCARTADO!

Solução 2: propus levantar um servidor virtual com Ubuntu server e recursos modestos que eu me encarregaria de configurar tudo. Duas horas depois de receber o acesso ssh para configurar o servidor (e já 3h da manhã de algum dia da semana passada) estava tudo no ar, com apache rodando Rails utilizando fastcgi. Não me atrevi a colocar em mongrel, pois não li nenhuma documentação sobre ele ainda. IMPLANTADO!

Ok, até então se saindo muito bem. Até que no último domingo, dia 23, faltou luz na Unirio por 4 horas. O no-break, claro, não segurou, sem gerador… foi tudo por água abaixo. Quase metade do dia com o serviço fora do ar, pois os servidores precisavam ser religados e entrar domingo numa Universidade pública não é algo trivial, muito jogo de cintura com os seguranças e ligações telefônicas até conseguir liberação para fazer coisa que dura 5 minutos.

Enfim… voltou ao ar no fim da noite… Valeu Max!

1 comentário : 25.09.2007 06:57 PM

Não sejam medíocres!

Se alguém me pergunta: Você saber X?. Tenho apenas duas respostas diretas: Sim ou Não. Dizer não apenas de vez em quando, é até perdoável, passável. Dizer não com frequência é derrotista. Como assim você não sabe algo simples como X!?. Dizer não o tempo todo é admitir uma fraqueza. Dizer não sempre é assumir a própria incompetência.

(…)

Agora, se disser Sim com frequência, prepare-se para ser massacrado. Ninguém gosta de pessoas que falam Sim o tempo todo. Porque elas se sentem inferiorizadas: Como assim ele sabe e eu não? E por causa disso todos tentarão derrubá-lo, por pura e simples mesquinharia. Chegarão ao ponto de dizer grande coisa que ele sabe, eu poderia saber. Poderia, mas não sabe.

(…)

Média da Média
E qual o problema de ser a média? Por que preciso ser diferente de todo mundo?

(…)

Quero que todos lembrem de uma coisa: a palavra média é raíz para outra: Medíocre e garanto que ninguém se sente lisonjeado em ser chamado de medíocre. Lembrem-se disso da próxima vez que pensarem que está tudo bem em se considerarem parte da média.

O texto é do Fábio Akita. Em torno do inglês ele comenta sobre várias situações em que a maioria das pessoas simplesmente aceitam o seu status de medíocre.

É um texto polêmico, que muitos acham arrogante, mas é esse o ponto. É um dos melhores posts do Akita e coloca em palavras a grande realidade.

Faz lembrar a música dos Móveis Coloniais:

Não vou mentir
Não sua média você será
Medíocre

Leia na íntegra

0 comentários : 24.05.2007 01:40 PM

Problemas acontecem... principalmente com discos rígidos

É pessoal, a coisa tá feia. Fazia tanto tempo que isso não acontecia comigo, que já até tinha esquecido que poderia acontecer. O hd do meu desktop queimou. Junto se foram diversas fotos, alguns documentos e uns esqueletos de projeto… com certeza uma perda, mas acho que nada muito prejudicial – bom pelo menos não que eu me lembre no momento. Pelo menos ainda tenho o notebook para trabalhar, mas já estava querendo atualizar ele para o Ubuntu 7.04, muitos já me disseram que está muito bom. Se ele reconhecer a minha wifi sem eu ter que entrar na linha de comando eu tiro o chapéu ;-).

Bom então estou eu agora aqui fazendo backup das últimas coisas que me restam no notebook para depois atualizá-lo para a última versão do Ubuntu. E enquanto isso resolvi escrever alguma coisa por aqui, já que hoje era um dos dias que tinha tirado minha noite para escrever sobre Rails, mas devido a esse imprevisto não foi possível. Bom se tudo der certo – pois sai de baixo né, quando chove m…, nunca é garoa, já dizia um amigo meu – no próximo post vou falar sobre algo que estudei no mês passado que é o has many through e compará-lo com o has and belongs to many. No começo achei muito confuso, mas depois que entendi o conceito ficou tudo muito claro e sem dúvida é uma ótima funcionalidade que foi adicionada no Rails 1.2 ou 1.1, não me recordo exatamente agora.

Pelo menos uma coisa boa aconteceu hoje! Estava eu blogeando por aí numa hora vaga no trabalho, quando caí no blog do Luciano Ramalho. Luciano é um cara sensacional, bebemos várias cervejas juntos já. Conheci ele a uns dois anos atrás quando veio para a 3a. Semana de SL aqui do Rio de Janeiro, na Unirio. Até então conhecia ele como O CARA do Zope aqui no Brasil. Hoje descobri que ele está dando umas boas estudadas também no Ruby e no Rails! Tem até foto do cara com o Matz :-). TODO LIST: Conversar com o Luciano assim que possível.

0 comentários : 09.05.2007 11:31 PM

Finalmente, ao assunto principal!

Resolvi criar esse site para divulgar um pouco de meu trabalho profissional e também para ter um espaço próprio onde pudesse publicar os projetos em que estou envolvido, bem como trocar dicas e informações.

Sou um aficionado por tecnologia, desenvolvimento e software livre. Já passei por inúmeras (mais de uma dúzia talvez) linguagens de programação, mas há aproximadamente um ano conheci a linguagem Ruby e foi amor à primeira vista ;-). Dedico muito do meu tempo ao aprendizado do framework MVC de desenvolvimento para web Rails, que é escrito em Ruby. Espero poder postar aqui algumas dicas e macetes sobre o Rails, que cada vez me deixa mais fascinado. Atualmente, posso me dizer feliz por trabalhar cem porcento com tecnologias livres. Mais sobre o meu perfil você encontra na seção Sobre.

Recentemente, encerrei o curso de Bacharel em Sistemas de Informação pela UNIRIO. Do meu trabalho de conclusão, que está disponível na seção Artigos, resultou minha palestra “Nos Trilhos com Rails” apresentada no último FISL, mês passado. Na mesma seção deixarei outros artigos e palestras que realizei nos últimos anos assim como pretendo continuar atualizando-a com meus trabalhos futuros.

Sejam todos bem vindos e espero que voltem sempre :-).

Obs: assim que possível o RSS estará disponível para ficar mais fácil o acompanhamento do site.

0 comentários : 02.05.2007 10:47 PM

Está difícil no Rio de Janeiro

Fugindo um pouco da idéia inicial desse site, fica aqui um desabafo sobre a atual situação da cidade onde vivo. Há mais ou menos um mês, no show do Roger Waters na Apoteose, foi-se o meu celular… E agora, no último sábado, foi-se a minha carteira, furtada na Lapa por um meliante qualquer. E por R$50,00 que havia lá dentro foi-se junto cartão de banco, crédito, carteira de motorista etc e que, diante de todo trabalho que terei para recuperá-los, valem mais que o dinheiro.

Por esse e outros motivos está cada vez mais complicado por aqui e cada vez mais penso em ir para uma cidade onde as coisas ainda não estejam no nível em que estão no Rio de Janeiro.

0 comentários : 01.05.2007 10:34 PM

Tentando começar

Estou perdendo um pouco de tempo pra customizar o mephisto ao meu modo e também com o dreamhost que às vezes demora um pouco para reiniciar a aplicação, mas a coisa está andando e dentro de uns dias o site já estará com o seu conteúdo atualizado.

E por favor, se você também usa mephisto, deixe um comentário. Gostaria de compartilhar figurinhas sobre ele…

0 comentários : 28.04.2007 07:31 PM