InfoQ Brasil
November 10th, 2008

Este deve ser o último post da série de eventos que fui entre setembro e novembro. Acho que compareci em tantos que neste último o Alexandre Gomes, da SEA Tecnologia e o Fabio Akita comentaram: “Você também está em todas, hein?”.
Bom, no dia 01/11 aconteceu em uma unidade da Anhembi-Morumbi da Vila Olímpia o lançamento do portal InfoQ Brasil (InfoQ Launch Meeting). O portal InfoQ internacional é bastante conhecido da comunidade de desenvolvedores, abordando temas (queues, daí o nome) como Java, .NET, SOA, Arquitetura, Ruby e Agile, sendo que os assuntos que mais me interessam são os 3 últimos. Pensando nisso, o portal conta com um recurso interessante: é possível personalizar a visualização, escolhendo apenas os assuntos que são do seu interesse.
Voltando ao assunto, o Brasil ganhou uma versão do mesmo portal, com artigos e notícias em Português, traduzido pela comunidade de editores, de modo voluntário, e organizado pela Fratech It, que tem feito um ótimo trabalho nesse sentido. Sou um dos editores, e por enquanto traduzi uma das notícias que fizeram parte do lançamento do portal, sobre o lançamento do MagLev na RailsConf deste ano.

Outro destaque do conteúdo de lançamento é o famoso livro “Scrum e XP direto das trincheiras”, que foi traduzido por vários voluntários, com a organização da SEA Tecnologia.
O Launch Meeting teve palestras sobre os temas tratados na InfoQ e dois painéis, sobre plataformas distribuídas e métodos ágeis. O evento contou com a participação de Giovanni Bassi, Fábio Akita, Henry Conceição, Vinícius Senger, Alexandre Gomes, Felipe Rodrigues, Yara Senger, Victor Hugo, Rodrigo Yoshima, Hugo Corbucci, Wagner Santos e Manoel Pimentel, além dos internacionais Floyd Marinescu (fundador da InfoQ Internacional) e Max Lafranconi, do JCP.
Parabéns à Fratech It pelo bom trabalho! E quem quiser ajudar, traduzindo ou produzindo artigos, é só entrar em contato.
Rails Summit Latin America - Dia 1
October 16th, 2008
O Rails Summit Latin America começou no dia 15/10, no Auditório Elis Regina, no Anhembi. É o maior evento de Ruby on Rails da América Latina, e trouxe alguns dos maiores nomes de Rails do mundo.
O primeiro dia teve a abertura de Gilberto Mautner e Fabio Akita, da Locaweb. Logo em seguida tivemos uma sessão de perguntas e respostas com David Heinemeier Hansson (DHH), o criador do Rails. Ele respondeu perguntas ao vivo da platéia através de videoconferência. Apesar de algumas perguntas parecerem suporte técnico, outras foram bem interessantes, como sobre as novidades do Rails 2.2 e o futuro do framework.
Em seguida tivemos o keynote de Chad Fowler. Chad, sem a barba que lhe é característica, falou sobre como ser marcante (remarkable). Segue mais ou menos a linha do seu livro, “My Job Went to India”. Algumas frases da apresentação foram realmente marcantes, como:
Cada dia faça uma coisa melhor que o dia anterior
Você é um produto
Faça barulho
Depois do almoço, na sessão dupla, assisti à palestra de George Malamidis e Danilo Sato, que falaram sobre REST. Foi uma palestra bem teórica, e boa para quem ainda não está familiarizado com o conceito de RESTful Web Services. A palestra paralela, que não assisti, foi do Akita, que pelo que ouvi, foi bem básica, sobre o básico de Rails.
A palestra seguinte foi do Dr. Nic Williams, cujo tema foi “Todos podem contribuir”. Foi bastante similar à do Chad Fowler, motivacional, incentivando todos a contribuir para projetos open source, e falou sobre os ‘segredos’ para se tornar sensacional: aprenda testes unitários, comece um blog, aprenda a criar, e melhore seus conhecimentos. A sessão paralela foi com Carlos Brando, que falou como é trabalhar para uma empresa de fora do Brasil.
Todos voltaram ao auditório principal para o keynote de Chris Wanstrath, do github. Uma palestra também motivacional, muito parecida com a que ele deu no Ruby Hoedown deste ano.
Após a última palestra, começou o Birds of a Feather, que na verdade acabou sendo Lighting Talks, palestras bem rápidas sobre algum assunto relacionado. Infelizmente alguns participantes não captaram a mensagem e falaram sobre coisas totalmente sem relação com Ruby ou Rails, inclusive política (?). As melhores, sem dúvida, foram a do pessoal da Phusion, que demonstraram um interpretador Brainfuck em Ruby, e a do Elomar França, de apenas 17 anos, que deu um show na sua apresentação sobre o grupo de estudos aprendendo-rails.
Assim acabou o primeiro dia de Rails Summit. Hoje tem mais!
Aprenda a Programar
January 24th, 2008
Você é webdesigner e tem dificuldades de entender todo aquele código que o programador deixou? Você trabalha com suporte de software e não tem a menor idéia de como ele foi feito? Você sempre quis saber como esses maravilhosos programadores (ok, agora exagerei) conseguem fazer as coisas funcionarem? Seus problemas acabaram! (hehe).
Agora sério, deixa eu divulgar aqui esse excelente livro feito por Chris Pine, que eu, entre muitos outros programadores, ajudei a traduzir/revisar. O livro chama-se Aprenda a Programar e foi traduzido graças à iniciativa de Fabio Akita e com a ajuda da comunidade Rails-br.
Recomendo esse livro para uma introdução ao mundo da programação. A linguagem é descontraída e fácil de entender. Até os webdesigners vão entender </maldade>
Tirando os acentos
December 19th, 2007
Recentemente tive que fazer uma rotina para tirar os acentos de um arquivo texto (fornecido pelo cliente) antes de serem processados, pois as diferenças de charset (tipicamente ISO-8859-1 vs. UTF-8) levavam a linha a ter um comprimento maior que o esperado. Assim, o script que interpretava a linha entendia tudo errado, pois é baseado em comprimento de strings. Procurei muito na internet (quero dizer, Google) mas não achei nada que pudesse resolver o problema. Então fui explorando a documentação do Ruby e experimentando no IRB até chegar nessa solução:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
f = File.open(filename,'r') f.each_line do |line| line = line.strip next if line.length == 0 lines.push line # replace accented characters to avoid charset conflicts line = line.tr("\301\300\303\302\341\340\343\342",'a') line = line.tr("\311\312\351\352",'e') line = line.tr("\315\355",'i') line = line.tr("\323\325\324\363\365\364",'o') line = line.tr("\332\372",'u') line = line.tr("\307\347",'c') line = line.tr("\321\361",'n') # processamento da linha aqui end |
Não ficou lá muito elegante, mas pelo menos pra mim funcionou. Alguma sugestão de refactoring?




