Arquivo
Posts anteriores a 2026. Veja também Akitando e Off-Topic.
Dezembro 2024
1 artigoRefletindo Sobre Alcance de Redes Sociais
Depois de crescer organicamente em várias redes, defendo que alcance depende mais de engajamento do que de seguidores ou views. Conteúdo neutro e atrasado desaparece. Opinião com substância e timing circula.
Outubro 2024
2 artigosOmakub pra Manjaro e ArchWSL
Fiz um fork do Omakub para Manjaro e ArchWSL, trocando Apt por Yay e acrescentando Flatpak, LazyVim, Zellij, Mise e Atuin. É o setup que hoje uso no desktop e no notebook.
Meus Teclados Modernos Favoritos
Testei Moonlander, Corne, GK6, Q15 e Voyager para comparar layouts, QMK e ergonomia. Depois de muito treino, o Voyager virou meu teclado diário por ser split, fino e customizável.
Abril 2024
1 artigoMeu "Netflix Pessoal" com Docker Compose
Montei uma biblioteca pessoal com Docker Compose, MakeMKV, HandBrake, qBittorrent, Sonarr, Radarr, Prowlarr e Plex. O Plex é polido e prático, mas legendas PGS travaram a reprodução.
Maio 2020
1 artigoO Resultado do Modelo do Imperial College sobre a COVID-19 pode estar ERRADO
Akita examina a implementação C++ do modelo de COVID-19 do Imperial College, aponta testes insuficientes e resultados divergentes com os mesmos seeds. Sem código histórico e inputs completos, as projeções não podem ser verificadas.
Outubro 2019
1 artigoThe Conf 2019 Edition Report
The Conf 2019 nearly doubled attendance to 575 people while Codeminer 42 and OmniTrade covered most of the R$133,891.77 cost. All ticket revenue went to two social institutions.
Março 2019
1 artigoTHE CONF 2019 - Call for Papers está no Ar!
A THE CONF 2019 recebe propostas de palestras em inglês sobre código e tecnologia até o fim de abril. O evento será em agosto e destinará toda a receita dos ingressos a duas organizações.
Outubro 2018
1 artigoThe Conf 2018 - Relatório da Edição
A THE CONF 2018 recebeu mais de 100 propostas, selecionou 28 palestras e reuniu mais de 300 pessoas, mas teve déficit de pelo menos R$ 59.931. Ainda assim, segue como investimento numa conferência técnica em inglês no Brasil.
Julho 2018
1 artigoOff-Topic: A Lamentável Evolução da Sociedade Moderna
Akita critica linchamentos virtuais, câmaras de eco e a ideia de um direito a nunca ser ofendido. Para ele, redes sociais transformam indignação em julgamentos públicos sem diálogo nem devido processo.
Abril 2018
2 artigosRodando Arch Linux sobre o Windows 10!
Akita instala Arch Linux no WSL do Windows 10 e testa ferramentas como Pacman, AUR, GNOME, Tilix, Ruby, Node.js e Go. Tudo funciona, mas o I/O lento mantém o VMware mais fluido.
SmallTips: Rodando o GitLab CI Runner Localmente
O GitLab CI Runner usa o `.gitlab-ci.yml` para reproduzir localmente, via Docker, os jobs que falham no servidor, acelerando o diagnóstico. O preço é recomeçar sem cache ou artefatos.
Janeiro 2018
1 artigoMinhas Notas sobre Deploy Produção do Ruby on Rails no Google Cloud Kubernetes Engine
Depois de levar o Google Cloud Kubernetes Engine do zero à produção, o autor reúne notas sobre Rails, Docker, Cloud SQL, secrets, NGINX Ingress e rolling updates. A plataforma funciona, mas exige experiência em infraestrutura.
Dezembro 2017
1 artigoCriptomoedas: É uma Bolha? Isso Importa?
A bolha pode estourar e o Bitcoin pode despencar, mas isso não encerra a história: o autor compara o cenário à bolha pontocom e defende uma aposta antifrágil, limitada ao que se pode perder.
Novembro 2017
4 artigosDe 10 Mil e Além: Discutindo Criptomoedas
O autor responde às críticas sobre bolha, energia, centralização, escala e função social das criptomoedas. Sua conclusão é evitar hype, estudar os fundamentos e assumir pessoalmente o risco de investir.
Da Microsoft para a Apple e de Volta
Ao comparar Windows 10, macOS, Linux e notebooks premium, o autor conclui que o Windows merece outra chance, usa Manjaro no VirtualBox e prefere Dell XPS para desenvolvimento e Surface Book 2 para design.
The Conf 2017 - Todas as Gravações
As 32 palestras da The Conf 2017 estão grátis numa playlist do InfoQ Brasil, com as melhores também no site americano. O evento reuniu 31 brasileiros que apresentaram em inglês para um público global.
Como o Bitcoin Força Consenso entre os Generais Bizantinos?
O Bitcoin combina hashes, Proof of Work, mineração e dificuldade ajustável para obter consenso entre nós desconhecidos. Mesmo com US$ 1,5 bilhão em hardware, a rede continuaria difícil de quebrar.
Outubro 2017
5 artigosIniciante: Longa Vida ao PhantomJS - Vamos Usar Chrome Headless Agora
Fabio mostra como trocar Poltergeist e PhantomJS por Selenium WebDriver com Chrome Headless no RSpec e Capybara. O setup mudou, mas os feature specs existentes rodaram sem alterações.
Como Não Zerar sua Cota de Desenvolvimento no Pusher
O Pusher Fake mantém desenvolvimento e testes Rails conectados a um servidor local, sem consumir a cota gratuita do Pusher. Fabio explica o setup com Foreman, variáveis alinhadas e RSpec.
Iniciante Experimentando o Rails 5.1.x
Fabio experimenta o Rails 5.1 com novas flags, Webpacker, Yarn, webpack-dev-server e React, enquanto defende upgrades graduais. Sua conclusão é que o release é uma boa base para projetos novos.
Substituindo rvm, rbenv, nvm e outros pelo asdf
Fabio troca RVM, Rbenv, NVM e virtualenv pelo ASDF, que gerencia Ruby, Node.js, Python e outras linguagens com um só conjunto de comandos. Ele mostra plugins, versões locais, globais e reshim.
The Conf 2017 - Relatório da Edição
THE CONF 2017 custou R$ 103.637,02, arrecadou R$ 53 mil e deixou pelo menos R$ 50 mil de prejuízo para Fabio. Ainda assim, mais de 300 pagantes confirmaram que o evento em inglês funciona.
Setembro 2017
1 artigoWindows Subsystem for Linux é Bom, Mas Ainda Não Suficiente
Testei o WSL com Rails, RSpec, PhantomJS e Ruby e comparei o resultado com Linux e VirtualBox. A emulação do filesystem foi pelo menos 4 vezes mais lenta, então fiquei com Linux virtualizado.
Agosto 2017
2 artigos[Off-Topic] Blockchain e Criptomoedas no Brasil
Compartilhei indicações de empresas brasileiras ligadas a blockchain e criptomoedas, ainda como investidor sem projeto próprio. Também procurei profissionais com experiência prática para falar na THE CONF.
Por que Falar Mal do Ruby on Rails é Simplesmente Preguiça
Ruby on Rails não morreu nem lidera mais o mercado. Seu legado ajudou a definir o status quo da web, de Git e testes contínuos à nuvem, deploy contínuo e métricas.
Julho 2017
1 artigoA Solução de Upload Nativa do Rails 5.2: ActiveStorage
O ActiveStorage organiza upload, transformação e entrega de arquivos, mas ainda exige escolhas de infraestrutura. No Heroku, prefira Direct Upload. Para imagens simples, Cloudinary facilita, com lock-in.
Junho 2017
9 artigosChecklist de Deploy do Rails 5.1 no Heroku
Este checklist prepara um app pequeno Rails 5.1 para produção no Heroku, cobrindo PostgreSQL, Procfiles, Webpack, CDN com CORS, Memcached e SSL, sem pretender atender todo cenário.
Estimativas São Promessas - Uma Metáfora Melhor
Estimativas podem virar promessas quando há gestão de risco: trave tempo e custo, priorize os primeiros 20% do escopo e use entregas em staging e velocidade como termômetros para ajustar o rumo.
A Economia do Desenvolvimento de Software
Para pequenas equipes, a economia do software começa pelo menor produto que funciona, levando o tempo em conta e evitando dívida técnica, microsserviços prematuros e otimizações de performance sem necessidade.
Começando com Blender
Meu guia de entrada no Blender passa pelos primeiros ajustes, como Cycles, Filmic e CUDA, e chega a fotografia, composição e materiais PBR. O aprendizado depende de estudo, prática e atalhos.
Ex Manga Downloadr - Parte 7: Lidando Corretamente com Grandes Coleções
Depois de o Flow levar mais de 3 minutos, troquei-o por Task.async_stream e recuperei os tempos anteriores. A solução simplifica o código, mas reduz o controle e deixa os downloads sem retry.
Ex Manga Downloadr - Parte 6: A Ascensão do FLOW
Troquei Poolboy e um GenServer customizado por Flow para simplificar o scraping paralelo. O código ficou mais legível, mas levou mais de 3 minutos, contra menos da metade na versão anterior.
[Off-Topic] Talento é Altamente Supervalorizado: Humanizando Einstein e Matando Deuses
O texto questiona o mito do talento natural e humaniza Einstein ao destacar prática deliberada, acaso e sistemas complexos. Sucesso não segue uma receita: depende de esforço e circunstâncias.
Participando em Podcasts
Reúno seis participações em podcasts sobre a comunidade Ruby, carreira em tecnologia, Rails e minha trajetória profissional, das origens nos anos 90 a conversas que chegam a quase duas horas.
Palestras em Conferências, Entrevistas e a Caneta
Akita argues that talks, interviews, and blog posts lose their audience when they focus on what and how instead of why. Persuasion starts with understanding each audience’s priorities.
Maio 2017
1 artigoGuilda de Programadores - Religião e Esportes
Akita compares technology communities to religions and sports teams, showing how identity and confirmation bias distort technical choices. Professionals accept trade-offs and own their decisions.
Março 2017
1 artigoHabilitando a GPU Optimus NVIDIA no Dell XPS 15 com Linux (até na Bateria)
Akita fixes a TLP and Bumblebee conflict on Manjaro running on a Dell XPS 15 by blacklisting the NVIDIA PCI device, restoring GPU use after suspend and while on battery.
Fevereiro 2017
1 artigo[Off-Topic] Carpe Diem e os Mitos da Felicidade
Akita desmonta os mitos da felicidade constante, da motivação e do “faça o que ama”. A adaptação hedônica explica a frustração, enquanto aprender e aproveitar o presente devolvem agência.
Janeiro 2017
5 artigosDo MacBook Pro para o Dell XPS: Arch Linux para Usuários Criativos
Akita migra do MacBook Pro para um Dell XPS 9550 e configura o Manjaro, Bumblebee e drivers NVIDIA para ferramentas criativas. O Linux funciona bem, mas a Apple ainda leva vantagem em fluxos Pro móveis.
Otimizando o Linux para Computadores Lentos
Akita melhora a responsividade do Linux em um Lenovo antigo ajustando swap, schedulers, Dropbox e Tracker. Os ganhos maiores continuam vindo de mais RAM e de um SSD rápido.
Off-Topic: Por que Estamos Todos Migrando para Longe da Apple?
A retrospectiva argumenta que iPhone, nuvem e apps web tornaram a troca de sistema simples, enquanto a Apple parou de avançar depois de Steve Jobs. Para o autor, a tecnologia está parada desde 2010.
Arch Linux: A Melhor Distro de Todas
Depois de se frustrar com o Fedora, o autor instala Arch com GNOME 3.22 e encontra padrões mais polidos, upgrades rolling e um AUR prático. Ele termina convencido de que é a melhor distro Linux que já usou.
Customizando o Fedora 25 para Desenvolvedores
O autor transforma o Fedora 25 em uma estação de desenvolvimento com Crystal, Ruby, Node, Elixir, Go, Docker e ferramentas de desktop. Mesmo em hardware antigo, considera a experiência uma alternativa competente ao macOS.
Dezembro 2016
3 artigosEx Pusher Lite - Parte 3 - Uma Solução Completa
Montei um serviço inspirado no Pusher com Phoenix e Elixir, conectando uma aplicação Rails por WebSockets e API e distribuindo mensagens entre nós. A solução cobre muitos casos, mas ainda não é segura para produção.
Aplicativo Elixir Phoenix em Deploy num Setup com Balanceamento de Carga no DigitalOcean
O autor monta no DigitalOcean um cluster Phoenix com dois nós, HAProxy e PostgreSQL, e consegue operar WebSockets distribuídos com Erlang. O sistema funciona, mas o edeliver é lento e o login ainda falha de forma intermitente.
Coherence e ExAdmin - Devise e ActiveAdmin para Phoenix
Coherence e ExAdmin aproximam o Phoenix de Devise e ActiveAdmin, enquanto um Plug simples acrescenta autorização para a área administrativa. Eles facilitam o começo, mas não eliminam a curva de aprendizado de OTP e sistemas distribuídos.
Novembro 2016
3 artigos3 Meses de GitLab. A Era do SaaS Híbrido
Depois de rodar quase 200 repositórios e 80 usuários no GitLab próprio, o autor defende o SaaS Híbrido: serviços hospedados com versões OSS para recuperar controle sem reconstruir tudo.
[Off-Topic] Aprendendo Estatística
Ao estudar estatística com R e o livro de Daniel Navarro, o autor usa o paradoxo de Simpson para mostrar como dados agregados podem esconder padrões e por que estatística exige cuidado.
Partidas, Rankings, A Rede Social, League of Legends e Ruby?
Com 2.000 partidas, o autor mostra que vitórias menos derrotas gera rankings absurdos. O sistema Elo considera a força dos adversários e reage melhor a resultados improváveis.
Outubro 2016
6 artigosImplementação em Ruby on Rails de um sistema de Ranking/Popularidade (do jeito certo)
Uma implementação Rails de popularidade substitui contagens e médias frágeis pelo limite inferior de Wilson, equilibrando proporção de votos e incerteza num score indexável.
[Discussão] Como proteger nosso trabalho de provedores de DNS sofrendo ataques DDoS?
Para testar uma defesa contra novas falhas de DNS, o autor configura o Unbound como recursivo local e estende o cache para 172.800 segundos, mas admite que a solução é experimental e viola TTLs.
Geração de Linguagem Natural em Ruby (com JRuby + SimpleNLG)
O autor envolve o SimpleNLG Java num serviço Rails-API com JRuby e cria uma DSL Ruby para simplificar seu XML. O resultado ajusta plural, verbos e determinantes em frases inglesas.
Iniciativa THE CONF
Proponho a THE CONF, uma conferência brasileira toda em inglês e focada em código, para dar a desenvolvedores latino-americanos um palco internacional e alcançar público além do Brasil.
Compartilhando models entre apps Rails - Parte 2
Evoluo o gem central-support para distribuir migrations, testo dois bancos Rails isolados e conecto a aplicação secundária a uma réplica read-only do Central em produção.
Compartilhando models entre aplicações Rails - Parte 1
Extraí a lógica estável dos models do Central para Concerns numa Rubygem testável, movi os specs quase sem alterações e concluí que a solução funciona bem para apps secundárias read-only.
Setembro 2016
2 artigosOs Próximos 10 Anos
Anuncio que deixarei de organizar conferências presas a uma linguagem ou plataforma, sem abandonar Ruby. A próxima fase é defender liberdade, pensamento crítico e código que entregue valor.
Ubuntu 16.04 LTS Xenial no Vagrant com Vmware Fusion
Monto uma box Ubuntu 16.04 no Vagrant com VMware Fusion e configuro o ambiente de desenvolvimento, do locale e PostgreSQL a Ruby, Java, Elasticsearch, Clojure, Rust, Go e Elixir.
Agosto 2016
6 artigosA Comunidade Ruby e a Reputação
Defendo o Rails como uma stack opinativa que reduz complexidade e acelera a entrega. Alternativas fine-grained são válidas, mas precisam provar seu valor com código, adoção e resultados.
Escolhendo MatterMost no lugar de Rocket.chat e Slack
Testei Slack, Rocket.chat e Mattermost com quase 50 pessoas e acabamos no Mattermost: a interface era mais rápida e responsiva, embora a instalação exigisse Docker, Go e alguns hacks.
Hackeando o Mattermost Team Edition
Usei um trigger do PostgreSQL para restaurar automaticamente canais privados apagados por usuários comuns no Mattermost Team Edition, contornando a falta de permissões sem alterar o código-fonte.
Saindo do Pivotal Tracker para o Fulcrum. Bom o Suficiente.
Troquei o Pivotal Tracker por um fork Rails do Fulcrum, o Central, que já cobre stories, estimativas, sprints e velocity. Ainda incompleto, ele é bom o suficiente para a maioria dos nossos projetos.
Moving away from Slack into Rocket.chat. Good Enough.
Escolhi o Rocket.chat para substituir o Slack e montei uma instalação de produção com MongoDB em replica set, múltiplas instâncias Node.js, NGINX, SSL e monitoramento. Funciona, mas não é para iniciantes.
Migrando para o GitLab! Sim, vale a pena!
Ao migrar centenas de repositórios do GitHub e Bitbucket para o GitLab CE, preservei o histórico importante, acelerei os builds com GitLab Runner e reduzi custos em até 11 vezes.
Julho 2016
3 artigosAtualizando Meus Posts Antigos Sobre Uploads
Atualizei minhas recomendações de upload: Cloudinary com Attachinary simplifica direct upload e processamento de imagens, enquanto um CDN como o CloudFront deve servir os assets do S3.
O Ano do Linux no Desktop - Está Usável!
Testando o Bash on Ubuntu on Windows, o autor roda Rails, Ruby, Node, Crystal e Go com sucesso. PostgreSQL exige um servidor nativo do Windows, enquanto Elixir e Erlang ainda travam.
Tentando igualar o Fast Blank em C usando Crystal
Reescrevendo a Fast Blank em Crystal e comparando-a com C e Ruby, o autor encontra um custo alto na cópia de strings. Para esse algoritmo trivial, a versão em C continua sendo a melhor escolha.
Junho 2016
3 artigos[Manga-Downloadr] Melhorando o Crystal/Ruby de rajadas para fluxo de pool
Trocando rajadas de requisições por pools constantes de workers no Manga-Downloadr, o autor reduz os tempos para 27s no Ruby, 30s no JRuby e 21s no Crystal, mas Elixir termina em 15s.
[Manga-Downloadr] Portando de Crystal para Ruby (e um pouco de JRuby)
Portando o Manga-Downloadr de Crystal para Ruby e JRuby, o autor encontra uma tradução quase direta, troca Fibers e Channels por Threads e mostra por que o teste favoreceu a arquitetura do Elixir.
Pequeno Experimento com Rails sobre JRuby 9.x no Heroku
Comparando a mesma aplicação Rails em MRI e JRuby 9.1 no Heroku, o autor encontra desempenho parecido, mas maior consumo de memória e boot instável no JRuby. Para esse caso, prefere continuar no MRI.
Maio 2016
2 artigosFlertando com Crystal, a Perspectiva de um Rubyista
Avaliando Crystal pela ótica de um Rubyista, o autor destaca sua sintaxe familiar, binários nativos rápidos e concorrência cooperativa para I/O, mas deixa claro que a linguagem não substitui Ruby ou Rails.
Rails Venceu: O Elefante na Sala
A defesa de Rails admite seus anti-padrões e o monopólio no Ruby, mas sustenta que foco, adoção e custo-benefício ainda fazem dele a escolha pragmática para a maioria dos projetos pequenos e médios.
Abril 2016
3 artigos[Off-Topic] Software Livre: Exercício de CAPITALISMO
Software livre é propriedade privada distribuída sob licença, com trocas voluntárias e competição sem regulador. Por isso projetos morrem, forks nascem e ninguém consegue decretar sucesso.
[Off-Topic] Se Você Precisa de "Validação", Provavelmente está Errado
A partir de sua trajetória com Rails, o autor defende produzir nos próprios termos e rejeitar autoridades morais e dogmas. Para ele, pensamento crítico, ideias refutáveis e responsabilidade pessoal são o antídoto.
O Ano do Linux no Desktop, pela Microsoft??
Testei o Bash on Windows no Preview 14316: Ruby, Redis e Memcached funcionam, mas memória, memória compartilhada, symlinks e pseudo-terminais ainda falham. A promessa é boa, mas o ambiente não está pronto.
Março 2016
3 artigos[Off-Topic] Uma Nova Era para a Microsoft
O Bash no Windows e as ferramentas Xamarin gratuitas e open source podem tornar o Windows atraente para desenvolvedores não-.NET. O autor vê uma saída plausível do OS X, mas só se a Microsoft cumprir a promessa.
Melhorando a Performance de Integração entre Microservices com Memcache e ETAGs
Usando ETAGs, If-None-Match e Memcached entre duas APIs Rails, o autor reduz respostas de 26ms para 12ms e de 62ms para 24ms. A técnica é simples e rende mais em dados que mudam pouco.
Sua aplicação Rails está pronta para Produção?
Um checklist de produção para Rails cobre deploy, servidor web, monitoramento, dependências, banco, filas, CDN e acessos. A recomendação final é otimizar com métricas antes de reescrever tudo.
Fevereiro 2016
1 artigoOperador Pipe do Elixir para Ruby: Chainable Methods
A gem Chainable Methods passa o retorno de cada chamada como primeiro argumento da próxima, deixando transformações Ruby mais legíveis e testáveis. O experimento usa method_missing e prioriza expressividade, não velocidade.
Dezembro 2015
9 artigosConsertando o Demo de Chat do DHH no Rails 5
Ao revisar o chat de Action Cable de DHH, o autor move a gravação para um background job e remove o callback do model. O código retorna mais rápido, mas a vantagem de concorrência não foi medida.
Ex Pusher Lite - Parte 2 - O Primeiro Core Funcional!
A Parte 2 transforma o ExPusherLite em um core Phoenix funcional, com apps, keys e secrets, autenticação, canais, broadcasts e deploy no Heroku. Os testes foram rápidos, mas a segurança ainda é frágil.
Ex Pusher Lite - Parte 1: Phoenix Channels e aplicações Rails
A Parte 1 substitui o Pusher por um servidor Phoenix com Channels, WebSockets e Basic Auth, mantendo o cliente Rails e o SuckerPunch. O clone funciona sob controle próprio, mas ainda é incompleto.
Ping Pong de Erlang (tut15) em Clojure e Elixir
Um exercício de Ping Pong aproxima Erlang, Clojure e Elixir, destacando pattern matching, macros e a AST da BEAM. O autor reconhece o poder das três linguagens, mas ainda prefere Erlang aos parênteses Lisp.
Ex Manga Downloadr - Parte 5: Deixando mais robusto!
Timeouts do MangaFox expose a flaw in Ex Manga Downloadr’s Workflow. O autor usa Task.Supervisor e retries limitados para capturar erros do HTTPotion, deixando a refatoração com GenServer como dívida técnica.
Ex Manga Downloadr - Parte 4: Aprendendo Através do Refactoring
O refactoring do Ex Manga Downloadr troca seis blocos repetidos por macros, melhora o uso do Floki e usa testes online para validar parsers. O projeto chega à versão 1.0.0 com dois arquivos a menos.
A Obrigatória "Flame War": Phoenix vs Node.js
Num benchmark assumidamente injusto com Siege, Node.js leva vantagem no aquecimento I/O, mas Phoenix suporta melhor as requisições que bloqueiam por um segundo conforme a concorrência aumenta.
Ex Manga Downloadr - Parte 3: Suporte ao Mangafox!
O Ex Manga Downloadr passa a baixar do Mangafox com parsers próprios, seleção dinâmica da fonte, descompressão gzip via zlib e retomada de downloads. Reduzir o pool ajuda, mas o site segue instável.
O Obrigatório "Por Que Elixir?" - Visão Pessoal
O autor explica por que pretende combinar Rails e Phoenix e defende Elixir para sistemas concorrentes e distribuídos. Imutabilidade, schedulers e supervisores tornam a tolerância a falhas mais acessível.
Novembro 2015
9 artigos"Yocto Services"! E o Meu Primeiro Mês com Elixir!
Após um mês intenso estudando Elixir, o autor propõe pensar nos processos BEAM como “Yocto Services”: GenServers supervisionados que falham isoladamente, trocam mensagens e conversam entre nós.
Elixir 101 - Apresentando a Sintaxe
Com exemplos do ExMangaDownloadr, apresento pattern matching, recursão, Lists, Tuples, Keyword Lists e o pipe operator para mostrar como Elixir torna as primitivas do Erlang acessíveis.
Exercício ExMessenger: Entendendo Nodes em Elixir
Refatorei um chat de terminal pré-1.0 para um Umbrella app e explorei Nodes, nomes, cookies e GenServers remotos. O resultado se aproxima mais de peers distribuídos que de um cliente TCP e servidor tradicional.
Observando Processos em Elixir - The Little Elixir & OTP Guidebook
Com GenServer, Supervisor e Observer, mostro um worker sendo reiniciado, um pool de 5 processos sendo reposto e o runtime permanecendo ativo, embora o estado do worker seja perdido.
Phoenix "15 Minute Blog": comparação com Ruby on Rails
Comparo um blog com nested resources em Phoenix e Rails, de Mix a ExUnit. Phoenix é mais explícito e promissor para microserviços concorrentes, mas ainda não substitui o ecossistema Rails.
Ex Manga Downloadr - Parte 2: Poolboy ao resgate!
Troquei lotes manuais de 80 requisições por um Worker GenServer com Poolboy e um Supervisor, usando um pool de 50 processos. O download de Akira, com cerca de 2.200 páginas, levou menos de 50 segundos, limitado pelo MangaReader.
Ex Manga Downloadr, um exercício com Elixir
Construí um scraper em Elixir que parseia o MangaReader, baixa imagens com Tasks paralelas e gera PDFs de 250 páginas para o Kindle. O pipeline funciona, mas timeouts limitam o volume a cerca de 80 requisições.
Situação Brasil: No Macs for the Rest of Us
Testei um Dell Inspiron com Ubuntu depois que um MacBook Pro ficou caro demais para o orçamento brasileiro. Linux cobre cerca de 80% do meu uso, mas software proprietário ainda exige Mac ou Windows.
Minha primeira semana aprendendo Elixir
Em uma semana e cerca de 42 horas, aprendi os fundamentos de Elixir, processos e OTP, embora ainda não me sentisse totalmente confortável. Minha trilha passa por Programming Elixir, Elixir Sips e exercícios antes do Phoenix.
Outubro 2015
6 artigosPhoenix Experiment: Holding 2 Million Websocket clients!
Um benchmark de Chris McCord levou o Phoenix a 2 milhões de clientes WebSocket em uma máquina de 40 cores e 128 GB. Broadcasts para um tópico levavam de 1 a 3 segundos, com o limite em ulimit.
Personal Thoughts on the Current Functional Programming Bandwagon
Programação funcional ajuda a raciocinar sobre transformações imutáveis e concorrência, mas não é o fim dos paradigmas. Elixir é a aposta pessoal do autor, enquanto linguagens híbridas devem dominar o mainstream.
How Fast is Elixir/Phoenix?
Em um teste no Heroku gratuito, o Phoenix levou cerca de 17 a 25 ms para servir uma página simples, mas chegou a 15 segundos ao buscar 1.000 linhas sob carga. O gargalo estava no PostgreSQL.
Novo Layout (versão 2015)
Para reorganizar o blog, revisei manualmente 1.025 posts e marquei 613 como obsoletos. Os 412 restantes passaram a aparecer juntos na homepage, em um layout bare-essentials com apenas 250 KB de HTML.
[Heroku] ActiveRecord::ConnectionTimeoutError: Problemas de Max Pool Size, Sidekiq e Octopus
O ActiveRecord::ConnectionTimeoutError pode nascer de pools mal dimensionados, especialmente com Sidekiq e Octopus. O guia calcula as conexões e combina PgBouncer, followers read-only e pools separados para aliviar o PostgreSQL.
Rubyconf Brasil 2015 "Novo Formato" - Sucesso!
A Rubyconf Brasil 2015 estreou um formato maior, com mais de 1.000 participantes, 75 palestrantes, cinco trilhas e um Andar Aberto para outras tecnologias. O evento foi um sucesso e terminou sem incidentes.
Agosto 2015
2 artigos[Small Bites] Adicionando um CDN ao seu site (a forma fácil!)
Com o Asset Pipeline, adicionar CloudFront a uma aplicação Rails exige criar a distribuição, apontar a origem e liberar o header Origin. Os fingerprints mantêm o cache dos assets correto e reduzem requisições ao app.
[Small Bites] Debugando um Controller pelo Console
Para investigar um controller Rails complexo, o console pode simular login, CSRF, parâmetros e requests reais. O caso revelou um INSERT travado por timeout no PostgreSQL do Heroku.
Julho 2015
1 artigo[Small Bites] Começando no Grupo "Ruby on Rails Brasil" no Facebook
As regras do grupo Ruby on Rails Brasil exigem informar salário e contratação nos anúncios e pesquisar antes de repetir dúvidas. Iniciantes também precisam respeitar a convivência.
Junho 2015
3 artigos[Casa do Código] Livro: Introdução à Computação: Da Lógica aos jogos com Ruby
Guilherme Silveira ensina fundamentos de programação com Ruby usando jogos que crescem em dificuldade. O livro prioriza raciocínio, algoritmos e estruturas de dados em vez de copiar código.
[Primeiros Passos] Brincando de Rust + Ruby/FFI
Um exercício compara Ruby e Rust lendo arquivos grandes e usando regex via FFI. A crate inicial deixou Rust mais lento, mas trocar por PCRE tornou a implementação 3,7 vezes mais rápida.
[Primeiros Passos] Elixir 1.0 + Phoenix Framework 0.13
O primeiro CRUD com Elixir 1.0, Phoenix 0.13 e PostgreSQL mostra um framework parecido com Rails, mas ainda imaturo. APIs concorrentes e recursos real-time eram promissores, não prontos para produção.
Maio 2015
3 artigosDynamic Site as fast as a Static Generated One with Raptor
Uma aplicação Rails dinâmica chegou a quase 7.300 requests em 60 segundos, com média de 20 ms no Heroku usando Etags, Memcached e Passenger 5. Puma com Rack::Cache falhou no mesmo teste.
[Small Bites] Trocando de SASS para SASSC e colocando no Heroku
Trocar sass-rails por sassc-rails usa libsass para acelerar deployments Rails no Heroku com múltiplas buildpacks. A compatibilidade ainda não era total, então o resultado precisava ser testado.
[Small Bites] Brincando de Crawlers e algumas Dicas Úteis
Um crawler Ruby para apagar imagens do Slack combina Faraday, Typhoeus, Oj e Parallel. Threads ajudam em I/O. Para processamento pesado, processos separados aproveitam melhor o paralelismo.
Abril 2015
2 artigos[Prévia] Rubyconf Brasil 2015 - Call for Papers e Novo Formato!
A Rubyconf Brasil 2015 testaria um novo formato: dois tracks avançados e um Open Floor com workshops, cases e várias atividades. A proposta buscava acomodar iniciantes, experientes e outras tecnologias Web.
[Small Bites] Brincando com o Jelastic Cloud da Locaweb
O primeiro deployment Rails no Jelastic Cloud da Locaweb funcionou com Raptor, PostgreSQL, Memcached e balanceamento, mas exigiu SSH e ajustes manuais. A plataforma ainda não oferecia workers nem um pipeline completo.
Março 2015
1 artigo[Small Bites] Novidades no Garbage Collector do Ruby 2.2.1
O Ruby 2.2.1 passou a usar mais gerações e GC incremental, reduzindo pausas longas e tornando as respostas mais previsíveis. Nos testes descritos, isso custou cerca de 30% mais memória por processo.
Fevereiro 2015
1 artigoIIS 8 finalmente ganha um módulo de Proxy-Reverso! E como executar Rails sobre JRuby no Windows!
JRuby permite rodar Rails no Windows com Puma, SQL Server e JDBC, enquanto o HttpPlatformHandler faz o proxy reverso no IIS 8. A configuração funciona, mas exige ajustes específicos no Java, IIS e Web.config.
Janeiro 2015
4 artigosRuby e Rails no Ubuntu 14.04 LTS Trusty Tahr
O autor atualiza seu ambiente Rails no Ubuntu 14.04 com Ruby via RVM, PostgreSQL, Redis, Memcached, Vim, Nginx e Passenger, cobrindo desenvolvimento e deploy.
[Off-Topic] Coletânea "Processos e Metodologias Não Vão Te Ajudar!"
A coletânea critica receitas prontas como Agile, Kanban e #noEstimates e defende método científico, ceticismo e estudo contínuo para tomar decisões melhores.
Lembrando os Heróis Ruby que se foram em 2014
O autor relembra Jim Weirich, Ezra Zygmuntowicz e James Golick, três colaboradores queridos do Ruby e do open source, e registra o impacto pessoal de suas mortes em 2014.
Começando o Ano com um Ruby Drama: RubySpec vs MRI Core Team
Ao analisar o conflito entre RubySpec, Rubinius e o time do MRI, o autor rejeita as acusações de Brian Shirai e defende colaboração com a suíte de testes já existente.
Dezembro 2014
4 artigos[Small Bites] Direct Upload para S3: a Solução Definitiva!
O autor mostra como o Refile envia imagens do navegador direto ao S3, reduzindo a carga no Rails, e integra cache e CloudFront. Ele ressalva que recomendações posteriores mudaram.
[Small Bites] Downloader para MangaReader (Kindle Edition)
O autor criou um downloader em Ruby para o MangaReader que baixa capítulos em paralelo, retoma interrupções e gera PDFs ajustados ao Kindle Paperwhite.
[Off-Topic] Conversando com um Professor Universitário
Ao responder a um professor, o autor defende UML seletiva, Design Patterns como referência, XP e múltiplos paradigmas. Java continua útil, mas a universidade deve priorizar fundamentos.
[Small-Bites] Em defesa do Asset Pipeline: tudo que você precisa
O autor defende manter o Asset Pipeline do Rails e mostra como modularizar JavaScript com ModuleJS e Rails Assets, usando Bundler para controlar dependências sem RequireJS.
Novembro 2014
2 artigos[Small Bites/Off-Topic] "People over Processes", o que são "People"?
Agile herda do Lean a ênfase em processos e melhoria contínua, mas priorizar pessoas exige psicologia, economia comportamental e teoria de redes. Uma lista de livros para começar e a lembrança de que somos menos racionais do que gostaríamos.
[Heroku Tips] Usando Followers do Heroku Postgresql
Mostro como usar Followers do Heroku PostgreSQL e a gem Octopus para separar leituras pesadas das escritas no master. Como a réplica tem atraso, medir o ganho antes e depois é indispensável.
Outubro 2014
2 artigosO Novo Garoto da Pesada para Servidores Ruby: Raptor!
Testei o beta do Raptor em benchmarks sintéticos com Rack e Rails 4.1.6: ele chegou a quase quatro vezes o throughput em alguns cenários, com proteção contra clientes lentos e suporte a JRuby e Nginx.
[Off-Topic] Impressão 3D, a lenda?
Ao analisar Print the Legend, mostro como a MakerBot passou de uma startup aberta de 12 pessoas à aquisição pela Stratasys. O documentário retrata o preço de transformar rebeldia em sistema.
Setembro 2014
2 artigos[Off-Topic] Agile: a Verdade por trás do Método
Defendo que Scrum, XP e outras práticas Ágeis não salvam equipes ruins: elas expõem riscos e problemas rapidamente. Agilidade depende de pessoas comprometidas, prática contínua e mudanças concretas de comportamento.
[Off-Topic] NÃO Faça o que Você ("ACHA") que Ama
Questiono o conselho “faça o que ama” e mostro como perseguir apenas o que você acha que ama ignora responsabilidades e paixões instáveis. Minha conclusão é buscar Kaizen: melhorar sempre o modo de produzir algo útil.
Agosto 2014
9 artigosMilésimo (1000) Post no Blog!
No milésimo post, celebro oito anos de blog e publico a reflexão de Rafael Rosa Fu sobre como compartilhar conhecimento reforça o aprendizado, preserva a memória, cria portfólio e fortalece comunidades. O importante é começar.
[Small Bite] Session Injection Challenge
Mostro como o Session Injection Challenge permite redefinir a senha do admin ao usar uma chave da session controlada pela URL e a conversão de strings do ActiveRecord. A falha nasce da confiança indevida nos parâmetros.
[Small Bite] Brincando com Metasploit
Apresento o Metasploit, sua instalação e o uso do msfconsole para carregar módulos, configurar alvos e executar testes. Ao explorar o desafio Rails, mostro como ler exploits em Ruby ajuda a estudar segurança.
Retrospectiva on Rails - 10 Anos e Muito Mais!
Uma retrospectiva percorre os marcos que moldaram Ruby, Rails e seu ecossistema, de Smalltalk-72 ao Rails 4.0, incluindo a comunidade brasileira e a trajetória do autor.
[Small Bite] Páginas Ruby/Rails Legais para Acompanhar!
Ruby Toolbox, listas Awesome, guias de estilo e Better Specs formam um roteiro prático para encontrar projetos, consultar referências e escrever Ruby e Rails com mais consistência.
[Off-Topic] Primeira Vez em São Paulo, O Que Fazer?
Um guia pessoal organiza restaurantes, baladas, museus, mercados, parques e bairros de São Paulo por estações de metrô, com um mapa em camadas para quem tem pouco tempo.
[Small Bite] Um pouco tarde: O Grande Debate Sobre TDD
Depois de assistir ao keynote de DHH e ao debate com Martin Fowler e Kent Beck, o autor considera a disputa secundária: seja Test-First ou Test-After, o essencial é escrever testes.
[#WhyDay] 5 Anos Sem _Why
Um ano após a exibição beta na Rubyconf Brasil, Kevin Triplett lança Two Cartoon Foxes, documentário sobre Why the Lucky Stiff, ainda planejando contexto para não-programadores e o CLOSURE.
[Small Bite] Palestra "Ruby & GC" - QConSP 2014 (Nova Gravação!)
Como a gravação original ficou difícil de acompanhar, o autor ressincroniza áudio, slides e animações de Ruby & GC, palestra sobre a evolução do Garbage Collector do Ruby e conceitos úteis em Java.
Julho 2014
7 artigos[Small Bites] IDEs e Editores, como escolher?
O autor compara Vim, Atom, Sublime Text, TextMate e RubyMine, recomenda cada um conforme o perfil e defende foco, regex, splits e busca rápida. No Ag, a pesquisa cai de 11 para 1 segundo.
[Small Bites] Vagrant + Ubuntu 14.04 + Chef Solo
Um cookbook Chef cria no Vagrant um Ubuntu 14.04 com Ruby, bancos, Redis, Elasticsearch, Node e ferramentas de desenvolvimento. Provisionar, destruir e recriar funciona, mas as senhas expostas são só para desenvolvimento.
[Off-Topic] Meu Primeiro "Livro"
Um backup revela o “livro” de informática que o autor escreveu na USP em 1996. Ele publica os capítulos em PDF, preservando suas ideias sobre computadores, internet e tecnologia antes da Web onipresente.
[Small Bites] Tirando Proveito de Threads em Ruby
Para buscar títulos de links do blog, o autor troca chamadas sequenciais por Threads Ruby e reduz o tempo de mais de 19 segundos para 1,6. O ganho vem da concorrência durante operações de I/O.
Aprendendo Ruby e Rails, Livros e Guias
O autor revisa Conhecendo Rails, elogia sua introdução prática e aponta lacunas e defasagens em Rails 4.1. Depois, reúne livros e cursos para avançar de Ruby e Rails básicos até internals e deploy.
[Off-Topic] Alguém importante deixou a comunidade! E agora??
A saída de TJ Holowaychuk não determina o futuro do Node.js. Comunidades resilientes se renovam quando referências deixam espaço para novos contribuidores, sem transformar pessoas em ídolos.
Web Components é uma Revolução?
Web Components combina Custom Elements, Shadow DOM, Templates e HTML Imports para organizar e isolar componentes. O autor vê uma evolução útil para desenvolvedores, mas não uma revolução.
Junho 2014
2 artigosSwift para Rubistas, Funções e Closures
Ao comparar funções e closures de Swift com métodos e blocos de Ruby, o autor mostra que Swift é mais verboso, porém muito mais legível que Objective-C e viável para DSLs.
Swift para Rubistas, Rápida Introdução
Um tour de Swift para rubistas compara ranges, opcionais, extensions, coleções, tuples e closures com Ruby. A sintaxe fica mais simples, mas as extensas APIs Cocoa continuam sendo o desafio.
Maio 2014
2 artigosSegurança em Rails
O post apresenta o Bundler Audit, que cruza gems do Gemfile.lock com o Ruby Advisory DB, e o Rack::Attack, middleware para limitar scrapers, força bruta e IPs indesejados.
[Off-Topic] Carreira em Programação - Codificar não é Programar
Programar não é apenas montar sites com frameworks: o autor defende estudar inglês, Ciência da Computação e fundamentos como álgebra, estatística, algoritmos e compiladores para criar soluções de valor.
Abril 2014
1 artigoVídeos de algumas de minhas Palestras
Uma coleção cronológica reúne vídeos de palestras sobre Ruby, Rails, agilidade, startups, software e pesquisa, gravadas entre 2007 e 2013, com a intenção de incluir novos registros.
Março 2014
4 artigos[Off-Topic] Comentando o Marco Civil Aprovado
Ao comentar o texto aprovado do Marco Civil, o autor considera válida a neutralidade de rede, mas critica custos, órgãos reguladores e mecanismos que ampliariam o acesso estatal a dados privados.
[Off-Topic] Breaking Bad foi uma startup de muito sucesso
Lendo Breaking Bad como uma startup, o autor interpreta Walt como um empreendedor obcecado por qualidade, escala e território. Para ele, assumir a responsabilidade exige sacrifícios e bons parceiros.
[Off-Topic] Lean está Morto, longa vida à Eficiência
Agile e Lean viraram uma indústria de cursos, certificações e ferramentas que obscurece seus princípios. O texto defende voltar ao básico: entregar valor, evitar desperdício, aprender e questionar.
Introdução ao Rails Composer
Rails Composer troca templates difíceis de manter por uma receita interativa para montar aplicações Rails. Você escolhe RSpec, PostgreSQL, gems, servidor, view engine e CSS, e já começa com uma base completa.
Fevereiro 2014
1 artigo[Off-Topic] O dilema da Nova Geração: empreender ou arranjar um emprego?
Um chefe ruim não torna o empreendedorismo a única saída. Um emprego oferece salário, aprendizado e resultados para construir carreira, enquanto abrir uma empresa sem experiência pode apenas reproduzir o mesmo problema.
Janeiro 2014
3 artigos[Dica Rápida] Timeout no Heroku
No Heroku, configure o Rack Timeout abaixo do limite do Unicorn e dos 30 segundos do Router para receber um stacktrace antes do erro genérico. A informação revela o gargalo e orienta a correção.
CodeClimate, Qualidade de Código e os Rubistas Sádicos
Code Climate transforma métricas de complexidade, duplicação, segurança e testes em uma nota contínua para projetos Ruby. Ela ajuda a localizar code smells, mas não substitui a avaliação humana do código.
[Criptografia] Não use TripleDES/ECB - e uma curiosidade sobre Cipher Key do .Net
Uma integração entre C# e Ruby expõe os riscos do TripleDES em ECB e mostra por que AES é preferível. O texto também explica como o .NET completa uma chave MD5 curta para reproduzir o resultado.
Dezembro 2013
2 artigosSoluções para um Mundo Assíncrono/Concorrente
CPU-bound e I/O-bound são problemas conhecidos, não motivos automáticos para trocar Rails. O texto recomenda jobs em background, serviços prontos e migração de runtime apenas quando o caso realmente exigir.
Rails Assets
Rails Assets tenta transformar pacotes Bower em gems rails-assets, mantendo dependências front-end e back-end no Bundler. A proposta simplifica o workflow, mas ainda precisa lidar com paths e ajustes manuais.
Novembro 2013
4 artigos[Off-Topic] Trabalho Remoto - Small Office, Home Office (SoHo)
Trabalho remoto funciona, mas não é solução universal. Resenhando o livro Remote, da 37signals, o argumento é que estruturas entre a centralização total e o isolamento favorecem colaboração, mentoria e carreira.
[Off-Topic] Tech Startups, superlotação de B2C. Boring.
O texto critica a corrida por startups B2C quase idênticas e defende que inovação B2B começa por conhecer processos corporativos. Sem essa experiência, o atalho pode deixar uma geração anos atrasada.
[Off-Topic] Programadores são péssimos Comunicadores (UDP vs TCP)
Usando UDP e TCP como metáfora, o texto diz que programadores confundem informar com comunicar. Projetos reais exigem confirmar conexão, contexto, ordem, entendimento e entrega da mensagem.
[Off-Topic] Agile feito Errado
O texto argumenta que Agile não salva equipes sem capacidade técnica e comprometimento. Planning, pair programming, qualidade e responsabilidade viram encenação, e maus profissionais precisam ser substituídos.
Outubro 2013
6 artigos[Tradução] Carta para um Jovem Programador Considerando uma Startup
Nesta tradução de Alex Payne, startups aparecem como meio, não destino: a cultura se padroniza, o VC busca retornos e o trabalho pode cobrar um preço alto nas relações. Propósito deve orientar a escolha.
[Off-Topic] Matemática, Trolls, Haters e Discussões de Internet
Uma fundação matemática contra as fórmulas mágicas da autoajuda: sem domínio definido elas dividem opiniões, correlação não é causalidade e casos isolados como o Lean Startup não provam nada. Consenso não faz verdade.
Ruby, a linguagem do mundo Cloud
O texto apresenta Ruby como um ecossistema vertical que cobre Rails, testes, front-end, deploy e infraestrutura Cloud. A recomendação é tratar Rails e automação como base e avançar em Chef e Vagrant.
[Iniciante] Configurações de ambiente com Dotenv
O autor mostra como usar dotenv-rails para separar configurações por ambiente no Rails, manter secrets fora do Git e configurar tokens diferentes para desenvolvimento e Heroku.
Rubyconf Brasil 2014 - Datas Confirmadas!
A Rubyconf Brasil 2014 já tem data e local: 28 e 29 de agosto, no Teatro Frei Caneca, com espaço para mais de 800 pessoas. O Call for Papers abriria em março ou abril.
[Off-Topic] Desmontando o #noEstimates
O autor separa projetos de operações contínuas para defender estimativas, objetivos e restrições em projetos. Para ele, restrições impulsionam inovação, mas execução competente pesa mais que qualquer metodologia.
Setembro 2013
2 artigos[Heroku Tips] Problemas iniciais com Rails 4 no Heroku
Ao migrar um app Rails 4 para o Heroku, o autor enfrenta falhas de gems no assets:precompile e usa user-env-compile como paliativo. Ele também explica a migração de MySQL para PostgreSQL, sequences e backups.
Rubyconf Brasil 2013 - Fechamento
O fechamento da Rubyconf Brasil 2013 revela os bastidores de um evento com 24 palestras e cerca de 900 participantes, marcado por problemas de logística, internet, traduções e cancelamentos. O crescimento trouxe novos desafios.
Agosto 2013
19 artigosRubyconf Brasil 2013: Conheça Tiago Bastos e Eduardo Gurgel
Tiago Bastos e Eduardo Gurgel falam sobre Erlang, Elixir e mensagens assíncronas, defendem leitura de código e experimentos e veem a programação funcional, especialmente Elixir, entrando em seus projetos.
Rubyconf Brasil 2013: Conheça Halan Pinheiro
Halan Pinheiro apresenta testes automatizados com JavaScript e diz que RSpec ajuda, mas não é pré-requisito. Ele também aponta novos padrões de navegadores e ferramentas de teste, integração contínua e qualidade.
Rubyconf Brasil 2013: Conheça Luis Cipriani
Luis Cipriani explica que desenvolvedores Rails podem aprender HTTP caching gradualmente, começando pelos headers básicos. Para o futuro, ele destaca Web Semântica, machine learning, recuperação de informação e bancos distribuídos.
Rubyconf Brasil 2013: Conheça Carlos Galdino
Carlos Galdino apresenta Rubinius para explicar como uma implementação de Ruby processa código por baixo dos panos. Ele também defende programação funcional para lidar melhor com concorrência e paralelismo.
Rubyconf Brasil 2013: Lembrando de _Why. Engenharia vs Arte
Ao revisitar _Why e seu guia poético de Ruby, o autor defende a programação como arte, interpreta a remoção dos projetos como uma escolha legítima e anuncia um documentário traduzido para abrir a Rubyconf.
[Off-Topic] Estimativas são Promessas. Promessas devem ser cumpridas.
O autor argumenta que estimativas de software são promessas, não previsões, e que cumpri-las exige responsabilidade por comunicação, negociação, tempo e obstáculos, além de código.
Rubyconf Brasil 2013: Conheça William PotHix
William Molinari explica como a Locaweb construiu seu cloud com Ruby e Rails para lidar com hypervisors, firewalls e DHCP, e vê no Docker uma base promissora para novas ferramentas como o flynn.io.
Rubyconf Brasil 2013: Conheça Bruno AbstractJ
Bruno Oliveira apresenta criptografia em Ruby para desenvolvedores comuns, abordando fundamentos, erros frequentes, APIs complexas e o Krypt, e recomenda acompanhar CVEs, NIST, libsodium e Blake2.
Rubyconf Brasil 2013: Conheça Eduardo Shiota
Eduardo Shiota apresenta arquitetura modular e orientada a eventos em JavaScript e defende fundamentos, código reutilizável e testes, sem ficar preso à moda dos frameworks ou a uma biblioteca específica.
Rubyconf Brasil 2013: Vinheta de Abertura
Para deixar de fazer apenas vídeos caseiros, o autor criou uma vinheta profissional para a Rubyconf Brasil com a The Kumite, equipe da FLAG conhecida por trabalhos para a Globo e comerciais da Samsung.
Rubyconf Brasil 2013: Conheça Rodrigo Caffo
Rodrigo Caffo relembra sua trajetória no Ruby, desde o Rails 0.7 até o trabalho remoto na LivingSocial, e recomenda mapas mentais, Elixir, Go e Docker.
Rubyconf Brasil 2013: Sua Primeira Vez em São Paulo, Brasil
Um guia para estrangeiros na Rubyconf Brasil 2013 aborda clima, tomadas, chip pré-pago, táxis oficiais, segurança, trânsito e metrô. Ficar perto da Paulista facilita explorar São Paulo.
Rubyconf Brasil 2013: Conheça Danilo Sato
Danilo Sato explica por que design de software continua valioso mesmo quando linguagens e frameworks mudam. Para ele, escapar da obsolescência exige aprender continuamente e estudar o passado.
Rubyconf Brasil 2013: Conheça Hongli Lai
Hongli Lai apresenta o Passenger 4 e defende que prática, fundamentos formais e curiosidade importam mais que talento. Testes, CI e automação operacional são práticas duradouras.
Rubyconf Brasil 2013: Jaime Andrés Dávila
Jaime Andrés Dávila usa a semiótica para apresentar DCI desde o zero e explicar por que design patterns existem, sem tratá-los como solução universal. Ele também aposta em OWAs e APIs hipermídia.
Rubyconf Brasil 2013: Conheça Carlos (Chester) Nascimento
Carlos “Chester” Nascimento mostra como um emulador de Atari em Ruby introduz emulação e escovação de bits. Para lidar com escala, ele recomenda estudar arquitetura e acompanhar bancos NoSQL.
Rubyconf Brasil 2013: Conheça Caike Souza
Caike Souza mostra como reduzir o atrito ao entrar em um projeto Rails existente, dos problemas de ambiente ao primeiro deploy. Ele também recomenda ler bom código e acompanhar a EdTech.
Rubyconf Brasil 2013: Conheça Pablo Astigarraga
Pablo Astigarraga revisita a história do MVC, os problemas que o padrão resolve e seus limites atuais. Ele também mostra como Docker e Dokku permitem um PaaS próprio com deploy via git push.
Rubyconf Brasil 2013: Conheça Hal Fulton
Hal Fulton presents External DSLs and parsing as especially useful for library, tool, and plugin authors, then shares practical advice on learning Ruby through books, code, pairing, and experimentation.
Julho 2013
2 artigos[Off-Topic] Zona de conforto: sair às ruas não é a única solução
O autor critica quem transforma reclamações por salários, condições ou investimento em estratégia e defende assumir problemas difíceis, porque é neles que esforço próprio pode abrir espaço para inovação.
Previsivelmente Irracional
A partir de Dan Ariely, o autor apresenta a Economia Comportamental para mostrar como preços, desonestidade e placebo expõem decisões previsivelmente irracionais, algo essencial para quem gerencia pessoas.
Junho 2013
4 artigosIntrodução à Agilidade
Robert Martin conta como XP, Scrum e Crystal convergiram no Manifesto Ágil de 2001, em Snowbird. Akita critica o processo dogmático e as consultorias que colocam método acima de pessoas e do valor ao cliente.
[#IF] Rotação de Logs em Apps Rails
No Rails 3, o Logger pode rotacionar logs automaticamente, mantendo até cinco arquivos de 100 MB e evitando discos cheios. A solução é simples, mas não substitui todos os recursos do logrotate.
Processos, Metodologias e o Cérebro Humano
O autor explica como emoção, aleatoriedade e busca por padrões criam superstições e falsas receitas de sucesso. Em projetos, metodologias são técnicas para testar e adaptar, e nenhuma delas vale como verdade universal.
O que significa ser um Gerente?
Henry Mintzberg trata o gerenciamento como uma prática, não como ciência ou profissão: bons gerentes combinam arte, ofício, técnica e experiência para agir conforme o contexto.
Maio 2013
10 artigosDesmistificando o método Kanban
Kanban é uma técnica do Sistema Toyota de Produção, não seu sinônimo. O texto mostra por que copiar cartões no software não basta sem racionalização, Kaizen e melhoria contínua.
[Off-Topic] Visão do Passado sobre a Internet
Um texto de 1996 revisita a origem da Internet, seus usuários e serviços, e acompanha a chegada da publicidade, do comércio eletrônico e dos protocolos de segurança às compras online.
[Off-Topic] Visão do Passado sobre a Internet
Resgatado de um arquivo Word de 1996, o texto revela como a Internet era entendida na época, das pesquisas demográficas e anúncios online às compras digitais e à promessa da realidade virtual.
Processos e Metodologias não vão te Ajudar
Processos e metodologias não criam bons desenvolvedores. O texto defende prática contínua e profissionais competentes primeiro, para só então usar técnicas e processos capazes de ampliar seu trabalho.
[Tradução] Padrões: excelência vs. mediocridade
Ao relatar um exercício na Toyota, Jason Yip mostra que o padrão era o tempo do campeão, quatro segundos. O texto contrapõe padrões que limitam a padrões que impulsionam a excelência.
[Off-Topic] Pessoas: Animais Racionais? O id e o ego no marketing
A neurociência sugere que emoções influenciam decisões antes da racionalização. A partir disso, o texto argumenta que o marketing deve provocar o desejo e depois oferecer razões para justificá-lo.
Indo de Ruby 1.8 e Rails 2.3 para Ruby 2.0 e Rails 3.2
Uma aplicação Ruby 1.8 e Rails 2.3 foi atualizada passo a passo para Ruby 2.0 e Rails 3.2 em menos de três semanas, enquanto os testes passaram de zero a mais de 50% e as requisições caíram de 15 segundos para 400 ms.
[#IF] ActiveAdmin + Editor HTML 5
O tutorial estende o ActiveAdmin com WYSIHTML5 e Dragonfly para criar um CRUD de páginas HTML com editor, galeria e upload de imagens, incorporando recursos de CMS à aplicação Rails.
A Língua Portuguesa-Brasileira Pode Nos Confundir: Standard vs Pattern
Em programação, default, pattern e standard podem virar “padrão” em português, mas significam coisas distintas: escolha pré-selecionada, solução recorrente e norma usada como referência.
[Off-Topic] Blogs are Obsolete. What's Next?
After nearly 900 posts, the author argues that chronological blogs bury useful older work. Tags, categories and featured posts still fail at discoverability, leaving the blog structure in need of a new model.
Abril 2013
3 artigosRuby 1.9 e Tail Call Optimization
Testando Ruby 1.9.3, o autor mostra que o MRI já suporta Tail Call Optimization, embora desativada por padrão. Com ela ligada, a recursão calcula fact1(100_000) sem estourar a pilha.
[Tradução] Estimativa - O Melhor que Podemos Fazer
Ron Jeffries defende estimativas como intervalos de custo e velocidade, usados para testar riscos, decidir a cada duas semanas e orientar o produto sem virar promessa ou negociação.
[Off-Topic] Restrições são libertadoras: menos é mais
Restrições forçam escolhas, priorização e criatividade, enquanto a abundância pode acomodar e dispersar. Do alfabeto ao design e ao binário, o autor mostra como menos recursos geram inovação.
Março 2013
2 artigosQuais são algumas das piores práticas para aplicações Ruby on Rails?
Ao revisar projetos Rails problemáticos, o autor aponta falta de testes, SQL manual, N+1, NoSQL sem justificativa e código sem documentação, mostrando como o ActiveRecord reduz 11 queries a 2.
[Off-Topic] A maioria disse que usaria meu produto. Vai dar certo? Não!
Uma pesquisa online com 70% de respostas favoráveis não valida um produto: amostra enviesada, perguntas tendenciosas e análise superficial podem transformar números em conclusões sem sentido.
Janeiro 2013
1 artigo[Off-Topic] O Mundo Hoje é Muito Bom! Feliz 2013!
Com dados de Gapminder, Hans Rosling e Steven Pinker, o autor argumenta que o mundo melhorou em longevidade, pobreza e violência, e critica alarmismo e culpa associada a doações.
Dezembro 2012
1 artigo[Off-Topic] Um Desabafo III, refletindo sobre 2007
Ao revisitar seus textos de 2007, o autor defende que consultoria exige aprendizado contínuo, autonomia, responsabilidade e saúde financeira. Os problemas de 2012 colocaram esse modelo à prova.
Novembro 2012
7 artigosJornada Startup 2012
Seis relatos registram uma viagem por São Francisco, Amsterdã, Berlim e Tel Aviv, feita para conhecer empresas, pessoas e diferentes ecossistemas de startups de tecnologia.
Viagem à Europa (Parte 3) - Tel Aviv, Israel
Em Tel Aviv e Jerusalém, o autor relata a segurança de Ben Gurion, o impacto de Yad Vashem e visitas a startups e grupos Ruby. Para ele, IDF, imigração e foco global ajudam a explicar Israel.
Viagem à Europa (Parte 2) - Berlim, Alemanha
Em um dia intenso, o autor percorre Berlim de transporte público e visita Groupon, SponsorPay, Travis-CI e SoundCloud. Imóveis acessíveis atraem startups, mas encontrar bons profissionais continua difícil.
Viagem à Europa (Parte 1) - Amsterdã, Holanda
Na primeira visita à Europa, o autor explora Amsterdã, participa da BubbleConf, visita a FingerTips e percorre museus e pontos turísticos numa cidade compacta, acolhedora e fácil de explorar em inglês.
Viagem a São Francisco (Parte 3) - Pessoas e Turismo
Entre encontros, festas, turismo e uma longa pedalada até Tiburon, o autor explora São Francisco e sua comunidade de tecnologia. A cidade é prática e agradável, mas ele não se imagina morando ali por muito tempo.
Viagem a São Francisco (Parte 2) - Visitando Empresas
Visitando empresas como Twitter, Heroku, Stripe, Airbnb, Pivotal, GitHub, VMware, Google, Square, Yammer e Get Satisfaction, o autor observa como o crescimento transforma cultura, ambiente e autonomia.
Viagem a São Francisco (Parte 1) - Techcrunch Disrupt
Após percorrer o Startup Alley por três dias, o autor encontrou muitos clones e derivações, pouca inovação realmente disruptiva e apostaria em menos de 5% das startups.
Setembro 2012
4 artigos_Why, Dramas do Ruby e Dinamitando Courtlandt
Ao comparar _Why a Howard Roark, o autor defende a criação independente e interpreta o desaparecimento do programador como uma reação a quem tentou controlar seu trabalho.
Documentário do _Why na Rubyconf 2012, Denver
O autor apresenta o trailer do documentário sobre _Why, relembra sua influência na primeira geração Ruby, o desaparecimento virtual e um e-mail inesperado que recebeu dele.
Ruby é Belo? O Que é Beleza?
A partir de uma palestra de Richard Seymour, o autor argumenta que beleza não é uma escolha entre forma e função: ela é sentida e depende de conhecimento e experiência.
RubyConf Brasil 2012 - Encerramento!
O encerramento celebra cinco anos da RubyConf Brasil e registra a maior edição até então, com 750 participantes presenciais, 500 online, 31 palestras e 36 palestrantes.
Agosto 2012
3 artigosRubyConf Brasil 2012 - Falta só 10 dias!
A dez dias da RubyConf Brasil 2012, o autor anuncia o evento de 30 e 31 de agosto e republica vídeos da edição anterior para ajudar na divulgação.
[Off-Topic] O Mito do "Legado"
O autor critica a reescrita automática de sistemas legados e conta como consertou, em duas semanas, um ASP com DCOM, preservando o código e conquistando um novo projeto do cliente.
Ruby e Rails no Ubuntu 12.04 LTS Precise Pangolin
Guia para configurar no Ubuntu 12.04 LTS um ambiente Ruby e Rails com RVM, bancos de dados, Redis, Memcache, Vim, Git e Nginx com Passenger.
Julho 2012
8 artigos[English] I18n Mínimo com Rails 3.2 no RubyLearning
O autor adapta para o inglês seu tutorial em duas partes sobre i18n mínimo com Rails 3.2, usando uma aplicação demonstrativa hospedada no Heroku e código publicado no GitHub.
ActiveAdmin + Best in Place
Para atualizar tags em mais de 860 posts, o autor combina BestInPlace, ActiveAdmin e ActsAsTaggableOn e passa a editar o tag_list diretamente na listagem, sem abrir cada registro.
Internationalização (I18n) Mínima em Rails 3.2 - Parte 2
A Parte 2 mostra como cachear o HTML gerado a partir de Markdown, estilizar a aplicação com Bootstrap, integrar ActiveAdmin ao Globalize 3 e criar rotas traduzidas.
Internationalização (I18n) Mínima em Rails 3.2 - Parte 1
A Parte 1 monta uma aplicação Rails 3.2 em inglês e pt-BR, configura UTF-8, Devise e Globalize 3 e usa Friendly Id para traduzir conteúdo e manter URLs com slugs estáveis.
Inscrições Abertas para a Rubyconf Brasil 2012!
A RubyConf Brasil 2012 abriu inscrições por R$ 150 até 31 de julho, ou R$ 120 na promoção da Locaweb. O evento terá 33 palestrantes em São Paulo, em 30 e 31 de agosto.
[Off-Topic] Steve Jobs, The Lost Inverview
Ao comentar a entrevista perdida de Steve Jobs, o autor reforça que uma ideia só ganha valor com execução, refinamento e equipes talentosas, capazes de discutir, errar e melhorar o trabalho.
Asset Pipeline para Iniciantes - Parte 2
A Parte 2 mostra como separar desenvolvimento e produção no Asset Pipeline, incluir assets extras, gerar sprites com Compass e Sass e configurar URLs, cache e gzip no NGINX.
Asset Pipeline para Iniciantes
O guia apresenta o Asset Pipeline no Rails 3.2 com exemplos de manifestos, pré-compilação, concatenação, minificação, gzip e fingerprints, mostrando como o deploy resolve problemas de cache.
Junho 2012
1 artigoAlgumas Dicas da Linguagem Ruby
Com exemplos práticos, o autor reúne formas mais idiomáticas de escrever Ruby usando atribuição múltipla, interpolação, condicionais, ranges, hashes, arrays e o operador splat.
Maio 2012
2 artigos[Off-Topic] Grandes Artistas Roubam
A partir de uma frase atribuída a Picasso, o autor defende que artistas e desenvolvedores começam copiando técnicas, mas só avançam quando as adaptam, refinam e tornam suas pela prática.
[Off-Topic] Lendo com legendas sobre Kanjis em páginas japonesas
Rikaichan, Furigana Inserter, HTML Ruby e Mecab podem adicionar leituras em hiragana ou katakana a páginas japonesas. A combinação facilita a leitura, mas exige desativar o Furigana para usar o Rikaichan.
Abril 2012
4 artigos[Off-Topic] Comprei meu primeiro Mac, e agora? (Edição 2012)
A edição 2012 reúne dicas para ajustar um Mac com Lion, ativar o FileVault 2, organizar Mission Control e Auto Save, instalar Homebrew e escolher apps para feeds, espaço em disco e arquivos.
[Heroku Tips] Enciclopédia do Heroku
A Enciclopédia do Heroku explica como publicar Rails com dynos, processos e filas Resque, usar Redis e enviar assets e uploads ao S3. Em produção, o autor recomenda escalar e monitorar.
RubyConf Brasil 2012 - Call for Papers
RubyConf Brazil 2012 extended its Call for Papers to April 27, with a unique link for updating proposals. The conference will take place in São Paulo on August 30 and 31.
Screencasts Liberados Gratuitamente!
O autor liberou gratuitamente quatro screencasts antes vendidos, sobre software, Ruby, Vim e Git, ao encerrar a produção comercial. Os links podem ser compartilhados, mas os vídeos não podem ser editados.
Dezembro 2011
1 artigo[Off-Topic] Mensagem de Ano Novo - Filosofia
Com base em Ayn Rand e Leonard Peikoff, o autor defende o capitalismo como uma questão moral: empreendedores devem julgar ideias racionalmente, não enganar o público e reconhecer seus aliados e inimigos.
Novembro 2011
4 artigos[Jornada ao Japão #3] Entrevistas Exclusivas em Vídeo
Fabio edita e publica cinco entrevistas feitas na RubyKaigi 2011 com nomes centrais do Ruby japonês, incluindo Matz. A conversa com Matz tem áudio prejudicado pelo barulho do bar.
Páginas Estáticas no Rails
No Rails, uma rota dinâmica e uma única action eliminam matches repetidos no routes.rb e métodos vazios no controller, mapeando /page/hello diretamente para sua view.
RubyConf Brasil 2011 - Grande Sucesso!
A RubyConf Brasil 2011 reuniu mais de 700 pessoas presencialmente e 500 online em dois dias, com mais de 30 palestras, duas salas, tradução e transmissão ao vivo.
Primeiro Dia de RubyConf Brasil 2011
Fabio anuncia a RubyConf Brasil 2011 e propõe testar hashtags separadas por sala, exibindo tweets nos projetores para perguntas e comentários em tempo real durante as palestras.
Outubro 2011
4 artigosRubyConf Brasil 2011 - Lightning Talks e Twitter Streams
A RubyConf Brasil 2011 terá Lightning Talks de cerca de cinco minutos e hashtags próprias para cada sala, permitindo acompanhar as duas trilhas e comentar as palestras pelo Twitter.
RubyConf Brasil 2011 - Palestrantes Brasileiros
Fabio apresenta os palestrantes brasileiros da RubyConf Brasil 2011 e uma programação baseada em experiências práticas, de escalabilidade e arquitetura Rails a Elixir, JRuby, front-end e cloud.
RubyConf Brasil 2011 - Palestrantes Internacionais
Os palestrantes internacionais da RubyConf Brasil 2011 trazem experiências de Rails, Agile, Sinatra, Pusher, escala, NoSQL, SAML e front-end, com casos reais de várias comunidades.
[Off-Topic] Tributo a Steve Jobs
Akita homenageia Steve Jobs relembrando sua relação com o Macintosh e lendo sua trajetória como uma jornada do herói, da fundação da Apple ao retorno em 1997 e além.
Setembro 2011
3 artigos[Off-Topic] Disney, História do Computador e o Encarte Perdido
Digitalizei uma revista Disney de 1984 sobre a história dos computadores e o Macintosh, e procuro quem ainda tenha o encarte central de 32 páginas que se perdeu.
RubyConf Brasil 2011 está chegando!
Fabio lança o beta do site da RubyConf Brasil 2011, marcada para dois dias em São Paulo, e abre seu código no GitHub para forks, contribuições e comentários da comunidade.
[Off-Topic] Minha Carreira - Fase 5 - Codeminer 42
Após um ano ajudando a consolidar a Gonow, Akita encerra essa fase e funda a Codeminer 42, uma pequena consultoria de software com equipe enxuta, menos overhead e mais foco.
Agosto 2011
1 artigo[Jornada ao Japão #2] A RubyKaigi Final
Fabio relata como a RubyKaigi 2011 superou suas expectativas com tradução comunitária, sessões e keynotes de Aaron Patterson e Matz, antes de uma pausa para reorganizar o evento.
Julho 2011
3 artigos[Jornada ao Japão #1] Explorando a Cidade de Tóquio
Na primeira viagem ao Japão, Akita relata Tóquio pela experiência de um nikkei brasileiro: transporte pontual, segurança, espaços urbanos, costumes, cultura pop e o choque entre expectativa e realidade.
Em breve: Jornada ao Japão
Akita anuncia relatos sobre sua primeira visita ao Japão, país de origem dos avós, onde participou da RubyKaigi 2011 e se tornou o primeiro palestrante sul-americano do evento.
Indo para a RubyKaigi 2011 - Fechando um Ciclo
A Gonow envia Akita de última hora à RubyKaigi 2011, onde ele visita o Japão pela primeira vez, representa a América do Sul e prepara uma palestra sobre seus seis anos na comunidade Ruby.
Maio 2011
1 artigo[Off-Topic] Opiniões, Verdades, Democracia e Ética
Akita separa opinião de verdade e democracia de anarquia: equipes podem decidir como implementar uma estratégia, mas devem respeitar princípios invioláveis, ética profissional e o resultado do cliente.
Abril 2011
8 artigos[Off-Topic] Mea Culpa: Organizações Democráticas não Funcionam
Ao revisar sua defesa de organizações democráticas, Akita conclui que empresas pertencem a donos e acionistas, enquanto equipes participam da implementação da estratégia dentro de limites definidos.
[Objective-C] Distribuindo sua Static Library
Akita mostra como configurar targets no Xcode 4, usar lipo para unir binários ARM e i386 numa Universal Binary e distribuir a static library com headers em um ZIP reutilizável em apps iOS.
[Objective-C] Categories, Static Libraries e Pegadinhas
Ao testar uma static library Objective-C, Akita encontra categories ausentes em runtime e resolve o problema do linker com -all_load nos targets que dependem da biblioteca.
[Objective-C] É um sistema Unix! Eu sei mexer nisso!
Akita usa strftime e CocoaOniguruma no iOS para criar helpers de data e regex com uma sintaxe próxima de Ruby, mostrando como integrar bibliotecas C ao Objective-C sem uma ponte complexa.
[Off-Topic] Adendo à controvérsia HAML, SASS, Coffeescript: Tamanho do Documento
Akita argumenta que escolher HAML, SASS ou CoffeeScript exige mais que gosto pessoal: manutenção, contrato, fornecedores e contexto do cliente também definem se a troca vale a pena.
A Controvérsia Test::Unit vs RSpec/Cucumber
Ao revisar a história de TDD e BDD, Akita compara Test::Unit, RSpec e Cucumber e conclui que conceitos importam mais que sintaxe, recomendando começar pelo framework padrão do Ruby.
A Controvérsia CoffeeScript
Akita explica como SASS, HAML e CoffeeScript transformam código antes da execução e distingue ganhos reais de manutenção no SASS de escolhas estéticas, com custo extra para quem dará suporte.
Twitter muda de Ruby para Java. Ruby é 3x mais lento que Java.
Akita contesta a ideia de que o Twitter provou Ruby inferior ao migrar para Java: o ganho veio de arquitetura assíncrona e escala, enquanto Rails segue valioso por produtividade e manutenção.
Março 2011
1 artigo[Off-Topic] iOS Development and Open Source Libraries
O autor apresenta bibliotecas para acelerar o desenvolvimento de apps iOS, cobrindo analytics, HTTP, JSON, compartilhamento, jogos, realidade aumentada e testes, mas ressalva que o processamento de imagens está desatualizado.
Fevereiro 2011
3 artigos[Off-Topic] Desmistificando a Microsoft do "Mal"
Ao traduzir uma defesa libertária da Microsoft no caso antitruste, o autor argumenta que leis vagas dão poder arbitrário ao governo e que a posição dominante da empresa resultou de competição, não de coerção.
[Off-Topic] The Fountainhead: Defesa de Howard Roark
Depois de assistir à adaptação de 1949, o autor publica legendado o discurso final de Howard Roark, uma defesa do individualismo de Ayn Rand contra altruísmo, conformismo e servilidade.
[Off-Topic] A Revolta de Atlas: Dinheiro é a raíz de todo o mal?
A partir do discurso de Francisco D’Anconia em A Revolta de Atlas, o autor apresenta o dinheiro como resultado da produção e da razão, enquanto condena riqueza obtida por coerção, fraude e favores.
Janeiro 2011
1 artigo[Documentário] The iPod Revolution
O autor legenda The iPod Revolution, documentário que resume a recuperação da Apple entre 1997 e 2006, o retorno de Steve Jobs, o iPod e o iTunes, e reúne vídeos sobre iPhone, iPad e outros marcos.
Dezembro 2010
1 artigo[Objective-C] Method Missing!
O autor reproduz em Objective-C uma API inspirada no Builder::XmlMarkup, usando message forwarding, seletores, NSInvocation e blocos para gerar XML indentado, ainda sem suporte a atributos.
Novembro 2010
2 artigos[Objective-C] Brincando com Categorias e Blocos
Com categorias e blocos, o autor estende NSArray em Objective-C com um método each inspirado no Ruby, mostrando captura de variáveis externas e como aproximar a linguagem de APIs mais dinâmicas.
[Objective-C] Entendendo NSAutoreleasePool
Ao criar milhares de Strings dentro de um loop, o autor mostra como o NSAutoreleasePool principal ultrapassa 1 MB e reduz o pico para pouco mais de 100 KB ao liberar pools menores a cada mil iterações.
Outubro 2010
2 artigos[Off-Topic] Dicas de Mac para Palestrantes
Para evitar problemas no palco, o autor recomenda testar projetor, cores, slides, áudio e bateria, usar um controle USB confiável, desligar redes e gravar demos em vez de depender da internet.
RubyConf Brasil 2010 - Sucesso!
A primeira RubyConf Brasil reuniu mais de 700 pessoas no Frei Caneca, com palestras tecnicamente mais avançadas e ingressos acessíveis. O evento foi bem avaliado, mas a Wi-Fi falhou completamente.
Setembro 2010
1 artigoO RubyConf Brasil está Chegando!
O autor anuncia a RubyConf Brasil 2010 no Frei Caneca, com ingressos a partir de R$ 150, aula introdutória gratuita da Caelum e 24 palestrantes, enquanto a organização mira mais de 700 participantes.
Agosto 2010
1 artigo[Screencast] Começando com Git
Em um screencast de 3h17, o autor ensina Git do nível iniciante ao intermediário em Linux, Mac e Windows e acrescenta correções para HTTPS no Windows, proxy e certificados do msysGit.
Julho 2010
5 artigosLost in Translation
Um backup antigo recuperou entrevistas perdidas na migração do blog de Mephisto para Enki, reunindo conversas com nomes como Dr. Nic, Chad Fowler, Jamis Buck e John Lam.
Usando ETAG e Memcached
ETAGs com Memcached reduziram requisições Rails de cerca de 50ms para 7ms a 1ms, mas exigiram invalidação após mudanças e chaves limitadas a 250 caracteres.
What happened to Rails Summit Latin America?
O Rails Summit Latin America dará lugar à primeira RubyConf Latin America, em São Paulo, com dois dias de evento, tradução simultânea, ingresso de BRL 150 e chamada para propostas aberta.
O que aconteceu com o Rails Summit?
Após duas edições bem-sucedidas, o Rails Summit será substituído pela RubyConf Latin America, organizada com Ruby Central e Locaweb, em dois dias no Frei Caneca por R$ 150.
[Screencast] Entenda Software da Maneira Correta
Nesta palestra na USP, o autor usa Open Source, Darwin, Galvão Bueno e Dwayne Johnson para questionar por que processos não garantem software de qualidade.
Junho 2010
6 artigos[Off-Topic] Jeff Patton e Megan Fox no mesmo post?
Para sua palestra na Wire 2010, o autor recriou em vídeo o exemplo de iteração e incremento de Jeff Patton, trocando a imagem pixelada do artigo por uma versão mais caprichada.
[RailsConf 2010] - Video Entrevista - David Hansson
Em uma conversa descontraída de quase 24 minutos, David Hansson fala sobre Rails 3, sua passagem pelo Brasil, Rework, gestão de pessoas, empreendedorismo e Ricardo Semler.
[RailsConf 2010] - Video Entrevistas - Parte 2
A segunda parte apresenta quatro Ruby Heroes e suas contribuições: Aaron Patterson nos parsers, Gregory Brown no Prawn, Nick Quaranto no Gemcutter e Wayne Seguin no RVM.
[RailsConf 2010] - Video Entrevistas - Parte 1
Com a bateria do Flip Mino HD acabando no caminho, o autor gravou 11 entrevistas na RailsConf 2010, começando por Ben Scofield, James Golick, Carl Lerche e Santiago Pastorino.
[RailsConf 2010] - Viagem e Evento
A RailsConf 2010 combinou Rails 3, escalabilidade, NoSQL e uma comunidade latino-americana ativa. O autor também relata sua primeira palestra em inglês e a gravação de 11 entrevistas em meio dia.
[RailsConf 2010] - Video Entrevista - Robert Martin
Robert Martin discute linguagens, carreira, certificações e Agile em uma entrevista de 16 minutos, além de explicar por que o hardware avançou 25 ordens de grandeza sem evolução equivalente nas linguagens.
Maio 2010
1 artigoVocê já está usando ETAGs, certo?
ETAGs fizeram um teste Rails cair de 9ms para 5ms ao evitar a renderização repetida, mas o autor ressalta o custo de consultar o banco e relata um teste frustrante com ActiveResource.
Abril 2010
1 artigo[Off-Topic] O Programador Humilde, por Edsger W. Dijkstra
Dijkstra defende humildade diante da dificuldade de programar: é melhor evitar bugs desde o início, usar abstrações e linguagens modestas, pois nenhuma ferramenta elimina a complexidade.
Março 2010
1 artigo[Off-Topic] Penn & Teller e Larry Flynt, sobre Liberdade
A queima da bandeira e o caso Hustler contra Falwell mostram que a liberdade de expressão protege até símbolos e sátiras ofensivos contra o governo. O autor leva esse princípio às empresas.
Fevereiro 2010
1 artigo[Off-Topic] Wake up Call
A partir de Up in the Air, o autor lembra que empregos não são permanentes: faça um bom trabalho sem aceitar abusos, mantenha lealdade a si mesmo e encontre um objetivo.
Janeiro 2010
5 artigos[Off-Topic] Lendo os Princípios Ágeis
Os 12 princípios ágeis precisam ser lidos em conjunto: entregar valor rapidamente não dispensa qualidade, simplicidade, colaboração e melhoria contínua. Manifesto não é receita pronta.
[Off-Topic] Empresas, Pessoas, Sucesso
Apple, Buffett e Niederhoffer mostram como sorte e contexto distorcem histórias de sucesso. Para o autor, receitas retrospectivas não são replicáveis e empresas devem ganhar dinheiro de forma sustentável.
[Off-Topic] Quem é o Burro?
O fracasso do controle de natalidade na Índia veio de uma causa mal compreendida: sem aposentadoria, filhos homens funcionavam como seguro para a velhice. Entender o porquê muda a solução.
Off-Topic: Literatura para Gerentes Ágeis
A leitura para gerentes ágeis passa por sistemas complexos, caos e evolução. A tese é que Agilidade exige estudar princípios e contexto, não copiar receitas de Lean, Scrum ou manufatura.
[Off Topic] Dunbar e Cross Functional Teams
Nos experimentos de Dunbar, um laboratório multidisciplinar resolveu em 10 minutos um problema que especialistas em E. coli levaram semanas para vencer. Debate e metáforas fazem novas ideias emergirem.
Dezembro 2009
3 artigos[Off Topic] Cuidado com o Kanban-butt
Kanban é uma técnica do Toyota Production System, não sinônimo de Lean nem uma metodologia completa. Em software, que é não repetitivo, entender o porquê vem antes de aplicar a ferramenta.
[Off-Topic] Você não entende nada de Scrum
A origem do Scrum passa por sistemas complexos adaptativos, auto-organização e os estudos de Takeuchi e Nonaka. Scrum, XP e Lean compartilham raízes e devem ser entendidos por seus princípios.
Prêmio Info 2009: Personalidade do Ano
Ao receber 45% dos votos para Personalidade do Ano da Info, o autor revisita como livros, eventos e o Rails Summit ajudaram a formar uma comunidade Ruby on Rails e Agile no Brasil.
Novembro 2009
9 artigos[Off-Topic] Restaurantes e Tecnologia
A analogia com restaurantes separa empresas cujo negócio central é tecnologia das que apenas a usam como suporte. Nas primeiras, programadores devem experimentar e criar ferramentas, como no GitHub.
Conversando com Adam Jacob
Adam Jacob e Jesse Robbins contam como nasceu o Chef, defendem sua flexibilidade baseada em Ruby e explicam como a ferramenta equilibra automação, escalabilidade e agilidade em Web Ops.
Conversando com Luke Kanies
Luke Kanies explica por que criou o Puppet, como sua abstração de recursos e dependências simplifica configurações heterogêneas e por que ITIL pode virar apenas um checklist sem resolver problemas.
[Tradução] Três Contextos Implícitos em Ruby
A tradução explica os três contextos implícitos de Ruby, self, definidor padrão e cref, e compara class_eval com instance_eval para mostrar onde métodos e constantes são resolvidos.
[Tradução] Metaprogramação em Ruby: é tudo sobre Self
Yehuda Katz unifica a metaprogramação Ruby pelo conceito de self e mostra como class, class_eval e instance_eval definem métodos na classe ou na metaclass de cada objeto.
Rubistas.com.br
I launched rubistas.com.br as a Portuguese fork of Rubyists.eu, then took it down after missing Creative Commons attribution and upsetting collaborators with an unfortunate description of the original site.
[Off-Topic] Obediência à Autoridade
A partir de Asch e Milgram, argumento que conformidade e obediência enfraquecem equipes ágeis e defendo organizações descentralizadas, com líderes e arquitetos reconhecidos por mérito.
[Off-Topic] Celulares e Aviões
Defendo que celulares não derrubam aviões e interpreto o aviso para desligar eletrônicos como uma forma de garantir a atenção dos passageiros nos momentos críticos do voo.
[Off-Topic] O problema das credenciais
Questiono o uso de certificações, cargos e celebridades como atalhos para validar ideias, mostro falácias comuns na tomada de decisões e defendo testar argumentos com ceticismo.
Outubro 2009
6 artigos[Rails Summit 2010] Commence Planning
Anuncio o Rails Summit 2010 após uma edição latino-americana com mais de 550 pessoas, com mudança para o Frei Caneca, duas trilhas, tradução simultânea e inscrições perto de US$ 140.
[Rails Summit 2010] Iniciando o Planejamento
Analiso a pesquisa para planejar o Rails Summit 2010 e comparo Elis Regina e Frei Caneca em acesso, custo e espaço. Também considero realizar o evento na quarta e quinta e abrir inscrições de palestras.
[Rails Summit 2009] Retrospectiva
Faço a retrospectiva do Rails Summit 2009, que reuniu cerca de 550 pessoas e 20 palestrantes, corrigiu problemas de espaço e tradução, gastou menos e ampliou a diversidade da programação.
[Rails Summit 2009] ThoughtWorks pousa no Brasil
Anuncio a chegada da ThoughtWorks ao Brasil, com sede em Porto Alegre, patrocínio do Rails Summit 2009, metade do valor de 30 ingressos e recrutamento de desenvolvedores durante o evento.
[Rails Summit 2009] Palestrante Arthur Zapparoli
Arthur Zapparoli relembra como o Rails 0.13 o levou do Python ao Ruby e apresenta uma palestra sobre Git, workflows e controle de versões no trabalho diário.
[Rails Summit 2009] Palestrante Nando Vieira
Nando Vieira conta como descobriu Rails 0.13 e criou seu blog, enquanto prepara uma palestra com exemplos sobre as mudanças do Ruby 1.9 em relação ao 1.8.
Setembro 2009
11 artigos[Rails Summit 2009] Palestrante Ilya Grigorik
Ilya Grigorik explica por que Ruby facilita protótipos e apresenta tecnologias da Real-Time Web, como XMPP, AMQP, PSHB e Webhooks, baseadas em interfaces push.
[Off-Topic] Procurar Raciocinar Faz Bem
Programação em par exige piloto e co-piloto ativos, agilidade é accountability, e a discórdia entre Spolsky e Bob Martin vira mote para testar práticas ágeis, entender seus motivos e recusar dogmas.
[Rails Summit 2009] Palestrante Matt Aimonetti
Matt Aimonetti fala sobre a expressividade do Ruby, as convenções do Rails e seus experimentos com MacRuby, jogos 2D e CouchDB antes de discutir o futuro da plataforma.
[Rails Summit 2009] Palestrante Carlos Brando
Carlos Brando relata sua migração das tecnologias Microsoft para Ruby e explica como está construindo um framework, usando renderização, helpers, geradores e banco de dados para examinar o Rails por dentro.
[Rails Summit 2009] Palestrante Bryan Liles
Bryan Liles apresenta sua série sobre boas práticas de programação e mostra como enviar logs do Rails por syslog para um servidor remoto, recomendando o Splunk.
[Rails Summit 2009] Palestrante Leonardo Borges
Leonardo Borges mostra como o JRuby on Rails integra Ruby à JVM e pode dar nova vida a sistemas Java legados, tema especialmente útil para equipes corporativas.
[Rails Summit 2009] O Trailer mais Esperado!
Depois do teaser exibido no Dev in Rio, o post apresenta a versão oficial do trailer do Rails Summit Latin America 2009 e retoma a divulgação do evento.
[Rails Summit 2009] Teaser Trailer
Tapajós conta como publicou uma foto em um repositório do GitHub e acabou vendo o projeto receber pull requests, ganhar vida própria e continuar sendo forkado.
[Off-Topic] A Argumentação através da Intimidação
A tradução de Ayn Rand identifica a argumentação através da intimidação como uma falácia que substitui razões por medo e culpa, defendendo evidências e premissas bem examinadas.
[Off-Topic] Direitos do Homem
A tradução de Ayn Rand defende direitos individuais como base da liberdade e do capitalismo, limita o governo à proteção contra a força e rejeita direitos econômicos que exigem o trabalho alheio.
[Off-Topic] O Culto da Moral Cinzenta
Ao comentar O Culto da Moral Cinzenta, de Ayn Rand, o autor distingue erro honesto de omissão deliberada e critica quem usa a ambiguidade para fugir do julgamento moral.
Agosto 2009
1 artigo[Off-Topic] Maldita Lei de Regulamentação está de volta!
O autor critica o PLS 607/07 por restringir a profissão de analista de sistemas a diplomados, deixar a fiscalização em aberto e ameaçar autodidatas e o livre mercado.
Julho 2009
11 artigos[Off-Topic] Todos os Marketeiros são Mentirosos
Seth Godin defende marketing baseado em histórias e produtos realmente diferentes, não em checklists. O autor aplica essa ideia à Apple, ao iPhone e à difusão do Rails no Brasil.
Rails Summit Latin America 2009
O Rails Summit Latin America reuniria em São Paulo nomes conhecidos de Ruby e Rails em dois dias de palestras, com duas trilhas, tradução simultânea, Wi-Fi e espaço para networking.
[Tradução] O que faz um bom programador?
Duas traduções defendem que bons programadores priorizam usabilidade, responsabilidade, colaboração e entrega. A segunda acrescenta a preguiça criativa e a humildade de fazer perguntas simples ao depurar.
[Off-Topic] Comprei meu primeiro Mac, e agora?
O autor reúne orientações para quem comprou o primeiro Mac, de atalhos e Finder a aplicativos, segurança, virtualização e desenvolvimento. A adaptação exige abandonar hábitos do Windows.
[Off-Topic] Intervir ou não Intervir? O "Catch-22" dos Co-Pilotos
A partir de acidentes aéreos, o autor adapta o protocolo PACE a equipes de software: perguntar, alertar, desafiar e intervir quando um gerente ignora riscos graves.
[Off-Topic] Livros de Referência 2008-2009
Uma lista de leituras sobre Lean, Agile, gestão, complexidade e ciência revela a trilha que levou o autor a relacionar auto-organização, aprendizado contínuo e organizações democráticas.
[Off-Topic] Agilidade, Caos, Auto-Organização
O texto relaciona Agile a sistemas complexos, caos, emergência e leis de potência. A tese é que organizações aprendem e inovam melhor no limite do caos, embora provocar desordem envolva riscos.
Screencast: Agilidade, Qualidade e Futuro
Em um screencast de uma hora e meia, o autor revisa sua sexta palestra sobre desenvolvimento de software, Agile, Lean e a evolução da gestão rumo às organizações democráticas.
[Off-Topic] Contrato de Escopo Negociável
O autor contrapõe contratos de escopo fixo e negociável: tentar congelar a incerteza transforma problemas em disputa e prejuízo, enquanto entregas prioritárias e colaboração reduzem riscos.
[Off-Topic] Autoridade vs Responsabilidade
O autor argumenta que separar autoridade e responsabilidade condena processos ao fracasso. Equipes que respondem pelos resultados devem decidir seu próprio trabalho, com especialistas atuando como consultores.
Dicas de Git
Dicas práticas de Git mostram como desfazer mudanças, usar o index, reverter commits remotos, recuperar históricos com reflog, criar branches antigos, rastrear alterações e corrigir mensagens.
Junho 2009
2 artigos[Off-Topic] Padrões, Commodities e Inovações
Apple e Zara ilustram uma visão Lean: repensar padrões, reduzir desperdícios e produzir conforme a demanda pode aumentar o valor entregue e diminuir estoques encalhados.
[Tradução] Conselhos para Gerentes de Desenvolvimento de Software
Gerald Weinberg mostra como a cultura de culpa e a comunicação incongruente sabotam projetos, enquanto a congruência melhora a resolução de problemas. A mudança passa por seis etapas.
Maio 2009
9 artigos[Off-Topic] As 5 disfunções de equipes em código
Cinco disfunções de equipes aparecem em anti-padrões como null checks, duplicação, código sem testes e soluções difíceis de entender. Técnicas isoladas não resolvem uma organização baseada em comando e controle.
RailsConf 09 - Ninh, Grosenbach e Bui
A RailsConf 09 mistura tecnologia e diversão, com nomes da comunidade Ruby e Rails e o Rubystein, jogo feito em Ruby que a Phusion usou para mostrar que a linguagem era rápida o bastante.
RailsConf 09 - Mensagem do Bryan Liles (TATFT) para o Brasil
Bryan Liles apresenta o lema Test All The Fucking Time, que virou bordão na RailsConf, e grava uma mensagem direta para os programadores brasileiros.
RailsConf 09 - Entrevistas Exclusivas em Áudio
Entrevistas da RailsConf apresentam Chef, Spree, Scout, Heroku, Maglev e PostRank, passando por configuração de sistemas, e-commerce, monitoramento, deploy, execução de Ruby e métricas sociais.
RailsConf 09 - Recado do Peter Cooper para o Ruby Inside Brasil
Peter Cooper manda um recado sobre o lançamento do Ruby Inside Brasil, filial criada por Railers para cobrir novidades de Ruby e Rails no país e no exterior.
RailsConf 09 - DHH - O Segredo da Produtividade
David Heinemeier Hansson revisita a evolução e as críticas ao Rails, adianta recursos do Rails 3 e resume a produtividade à aplicação consistente de princípios ágeis básicos.
RailsConf 09 - Tio Bob - Profissionalismo
Robert Martin responde se é possível ser profissional demais e transforma a pergunta em uma explicação simples sobre profissionalismo. O post também aponta para a keynote completa.
RailsConf 09 - Tio Bob Martin
Robert Martin encerra o dia da RailsConf com uma keynote, e Akita grava parte da palestra antes de pedir a Uncle Bob um conselho rápido para brasileiros que ainda não entenderam TDD.
Indo para a RailsConf 2009
Akita viaja do Brasil a Las Vegas para a RailsConf 2009, enfrentando hotel distante e um possível conserto do MacBook. Seu foco é conversar, entrevistar e conhecer o máximo de pessoas possível.
Abril 2009
2 artigosOff-Topic: Devo fazer faculdade?
Fabio conclui que uma boa faculdade pode acelerar o aprendizado e moldar talentos, mas não determina o sucesso: quem tem disciplina também pode aprender sozinho.
Locos x Rails Wrap up
Fabio resume o Locos x Rails, encontro argentino com mais de 100 participantes estimados, palestras internacionais e uma organização elogiada que aproximou a comunidade Ruby e Rails.
Março 2009
1 artigo[Off-Topic] Net Negative Producing Programmer
Fabio apresenta o conceito de NNPP, o programador que produz prejuízo acumulando dívida técnica ou virando ponto único de falha, e distingue esse perfil de juniores dispostos a aprender.
Fevereiro 2009
1 artigoTradução: Scrum Flácido
Tradução do 'Flaccid Scrum', de Martin Fowler: adotar Scrum sem práticas técnicas afunda o time numa base de código bagunçada. Comento testes, refatoração, integração frequente e propriedade coletiva.
Dezembro 2008
3 artigosTradução: Dívida Técnica
Tradução do artigo clássico de Steve McConnell sobre dívida técnica: a diferença entre dívida acidental e estratégica, os juros que atalhos cobram e por que registrar cada dívida no backlog.
Off-Topic: Método Científico vs Cargo Cult
Cargo cult é repetir estruturas sem entender a razão. A saída é testar hipóteses com protótipos descartáveis. Na YellowPages, quatro meses de preparação impediram que quatro de implementação virassem vinte.
Ruby on Rails ganhou o Prêmio Info 2008
Ruby on Rails venceu o Prêmio Info 2008 por votação popular, derrotando o Adobe Air por 41% a 40%. Fabio também registra o segundo prêmio consecutivo do Firefox no Brasil.
Novembro 2008
11 artigosQCon Special - Encerrando os Trabalhos
Ao encerrar a QCon, Fabio aponta programação funcional, bancos não relacionais e Agile como tendências fortes e conhece o serviço escalável que a Engine Yard planejava lançar para Rails e Merb.
Rails Podcast Brasil, Especial QCon - Ola Bini (JRuby, Ioke)
Fabio entrevista Ola Bini em quase duas horas de conversa sobre vários paradigmas e linguagens. Antes de apresentar o Ioke, linguagem dinâmica baseada em protótipos na JVM, eles percorrem um mundo além de Java e C#.
Rails Podcast Brasil, Especial QCon - John Straw (YellowPages.com) e Matt Aimonetti (Merb)
John Straw relata a reescrita de 150 mil linhas de Java sem testes em cerca de 13 mil linhas de Rails, com quase 100% de cobertura, após quatro meses de preparação. Matt Aimonetti apresenta o Merb e seu benchmark de Hello World.
Rails Podcast Brasil, QCon Special - Nick Sieger (JRuby) e Francesco Cesarini (Erlang)
Nick Sieger explica Rails sobre JRuby e o pool de conexões do Rails 2.2. Francesco Cesarini introduz Erlang, programação funcional, concorrência e escalabilidade, temas que Fabio considera importantes para o futuro.
Entrevista com Jan Lehnardt e Chris Anderson do CouchDB
Fabio conversa com Jan Lehnardt e Chris Anderson sobre CouchDB e CouchRest. Ele defende bancos orientados a documentos para casos específicos de escala, sem abandonar SQL, e considera o CouchDB pronto para produção.
Rails Podcast Brasil, Especial QCon - Yehuda Katz
Em episódio especial na QCon, entrevistei Yehuda Katz sobre Merb, DataMapper e modularidade. Ele contrapõe a arquitetura do Merb à visão de Rails, mas vê a divergência como debate produtivo.
Rails Summit: Blogosfera
Reuni reviews, transcrições, fotos e vídeos sobre o Rails Summit Latin America 2008. Como os vídeos oficiais foram perdidos por problemas técnicos, a comunidade registrou o evento.
Micro-Tutorial de Ruby
Preparei um micro-tutorial prático de Ruby em três partes, voltado a quem vem de linguagens tradicionais. A série destaca diferenças da linguagem e ainda aguarda revisão.
Micro-Tutorial de Ruby - Parte III
A Parte III mostra strings multilinha, Symbols, parâmetros opcionais, splat, reflexão, meta-programação e nil. Também alerta para SQL Injection e defende escrever Ruby à maneira Ruby.
Micro-Tutorial de Ruby - Parte II
A Parte II explica mensagens, send e method_missing, depois mostra como blocos, lambdas e closures permitem criar iteradores e funções de ordem superior com map, select e inject.
Micro-Tutorial de Ruby - Parte I
A Parte I apresenta Ruby pelo IRB e explica objetos, classes abertas, monkey patching e módulos. A ideia é entender o dinamismo da linguagem sem tentar programar como em Java ou C#.
Outubro 2008
8 artigosRails Summit: Sucesso = Comunidade
O Rails Summit reuniu mais de 500 pessoas em apenas quatro meses de preparação. Mesmo com falhas técnicas, calor e gravações perdidas, o autor atribui o sucesso à comunidade participativa.
Rails Summit: é amanhã, preparem-se!
Na véspera do Rails Summit, o autor atualiza a programação, confirma a chegada de palestrantes e anuncia um Q&A online com David Heinemeier Hansson. Ele também fará uma introdução a Ruby e Rails.
Rails Summit: Últimos Dias!
Nos últimos dias antes do Rails Summit, Carlos Brando substitui Carlos Villela, Charles Nutter e Tom Enebo passam a participar por videoconferência, e David Hansson muda sua sessão para o dia 15.
Palestrante Rails Summit: George Guimarães
George Guimarães conta como cuida da infraestrutura do Pagestacker e antecipa uma palestra sobre escalabilidade e capacity planning. Para ele, desenvolvedores precisam pensar na aplicação inteira.
Off-Topic: Entendendo a Crise Econômica
A partir de Taleb e da crise financeira, o autor explica por que dados passados não provam teorias. Eles podem revelar que uma ideia é falsa, enquanto Cisnes Negros expõem seus limites.
Off-Topic: O Manifesto Ágil, ou Como se Tornar o Google
Agilidade de verdade nasce de filosofia, confiança e equipes auto-organizadas; metodologia sozinha não basta. Do Manifesto Ágil a Conway, Pareto, Wikipedia e Google: por que cultura open source produz inovação.
Rails Summit: Next Week! (photos)
O Rails Summit Latin America acontece nos dias 15 e 16, com Wi-Fi, tomadas e uma sessão Birds of a Feather para lightning talks. O post também mostra renderizações 3D do Auditório Elis Regina.
Rails Summit: Semana que vem! (fotos)
O Rails Summit Latin America terá Wi-Fi aberto, tomadas e um espaço Birds of a Feather no fim do primeiro dia, com micro-palestras de cerca de 20 minutos. O post também mostra a estrutura do evento.
Setembro 2008
6 artigosConversando com Joshua Peek
Joshua Peek conta como entrou no Rails Core após tornar o Rails 2.2 thread-safe no Google Summer of Code. A entrevista aborda os ganhos modestos no MRI, as melhorias no JRuby e os caches pré-carregados no boot.
Rails Summit: Apoio
Akita anuncia os primeiros apoiadores do Rails Summit Latin America e reúne os links para as páginas de inscrição em português, inglês e espanhol. É um breve convite para conhecer e divulgar o evento.
Off-Topic: O Poder do Mito, Redux
Autoajuda, certificações e metodologias prontas prometem fabricar líderes. A tese: líderes se formam sozinhos, com autodidatismo, mérito e desafios reais, enquanto a receita mágica fica com o crédito.
Rails Summit: Promoção para Estudantes por Tempo Limitado!
O Rails Summit oferece até 26 de setembro ingressos promocionais de R$ 300 para não estudantes e R$ 100 para estudantes, mediante comprovação. Depois, os valores sobem para R$ 400 e R$ 150.
Palestrante Rails Summit: Danilo Sato
Danilo Sato relembra a passagem de Java para Ruby e Rails e apresenta sua palestra sobre testes automatizados. Ele pretende discutir TDD, BDD, mocks, stubs e cobertura para melhorar a qualidade do código.
Rails Summit: Preço Promocional chegando ao fim
O Rails Summit mantém o ingresso promocional por R$ 300 até 9 de setembro. A partir do dia seguinte, o preço passa a R$ 400, encerrando a primeira faixa de inscrição do evento.
Agosto 2008
7 artigosPalestrante Rails Summit: Vinicius Teles
Akita apresenta Vinicius Teles, um dos primeiros divulgadores de métodos Ágeis, XP e Ruby on Rails no Brasil. O post recomenda seu texto sobre fazer o que se ama e anuncia sua participação no Rails Summit.
Palestrante Rails Summit: Fabio Kung
Fabio Kung mostra que Java, Ruby e Rails podem coexistir e relata experiências com automação, compiladores, open source e Jetty Rails. Sua palestra discutirá ganhos, perdas e deployment de Rails sobre a JVM.
Palestrante Rails Summit: Carlos Villela
Carlos Villela apresenta uma arquitetura que usa a web para guardar e manipular documentos, mesmo fora de aplicações documentais. Com REST e decisões pouco convencionais, seus projetos ganharam produtividade, testabilidade e escala.
Rails Summit: now really for Latin America!
Rails Summit Latin America opens international registration for the October 15-16 event in São Paulo, accepting foreign credit cards and offering real-time English-to-Spanish translation. Tickets are BRL 300 until September 9, then BRL 400.
Rails Summit: Pagamento por Boleto
O Rails Summit agora aceita boleto bancário, além de cartão. A inscrição custa R$ 300 até 9 de setembro e passa a R$ 400 depois disso.
Rails Summit na Linux Magazine!
O primeiro anúncio impresso do Rails Summit Latin America saiu na Linux Magazine. O post mostra a propaganda e convida a comunidade a participar do evento.
Largada para o Maior Evento de Rails da América Latina!
O Rails Summit Latin America terá dois dias de palestras, tradução e sessões para diferentes comunidades, com ingresso promocional de R$ 300 e vagas estudantis limitadas.
Julho 2008
6 artigosTradução: Por que você não deve codificar em Português
A tradução defende nomes em inglês para variáveis, funções, classes, campos, bancos e comentários, porque isso facilita manutenção e colaboração internacional. O argumento é pragmático.
Tradução: Regras de Otimização
As regras de otimização são simples: escreva código claro, meça antes de mexer e concentre o esforço nos gargalos comprovados, preservando a manutenção do restante.
Off Topic: Por que programadores devem jogar Go
Tradução do Jon Dahl: o Go tem regras simples e complexidade quase infinita, e formas, provérbios e joseki espelham design patterns, princípios ágeis e exercícios de programação.
RAILS SUMMIT LATIN AMERICA 2008
O Rails Summit Brazil pode se tornar Rails Summit Latin America, com tradução simultânea para espanhol e palestrantes como DHH, Charles Nutter e Luis Lavena. Uma enquete mede o interesse regional.
Está chegando a hora! Rails Summit Brazil 2008!
A Locaweb anuncia o Rails Summit Brazil, em São Paulo, com dois dias, sessões paralelas, almoço e nomes importantes da comunidade, incluindo David Hansson por vídeo. O ingresso promocional custa R$ 300.
Conversando com Luis Lavena (Ruby no Windows)
Luis Lavena explica por que manter Ruby no Windows envolve CRT, MinGW, extensões C e RubySpecs. O RubyInstaller já permite rodar Rails, mas o projeto precisa de mais colaboradores.
Junho 2008
11 artigosRailsConf 2008 - Video Interview with Phusion
Na RailsConf 2008, entrevisto Hongli Lai, Ninh Bui e Tinko Andringa sobre o Phusion Passenger 2.0 e o Ruby Enterprise Edition, ferramentas da Phusion para publicar aplicações Rails.
Conversando com Blaine Cook (Twitter)
Blaine Cook separa performance de escalabilidade, explica a arquitetura assíncrona do Twitter e o custo do sharding. Para ele, problemas de escala raramente são culpa do Rails.
Machucando Código por Diversão e Lucro
Traduzi o keynote de Ryan Davis e gravei um screencast em português sobre cuidar, refatorar e até “machucar” código para evoluir como programador. Os slides também estão disponíveis em PDF.
RailsConf 2008 - Memories
O autor narra a viagem de São Paulo a Portland para a RailsConf 2008: foram pelo menos 16 horas de deslocamento e quatro dias intensos de sessões, entrevistas e encontros que compensaram o esforço.
RailsConf 2008 - Rails Scales!
Na RailsConf 2008, os relatos sobre escalar Rails apontaram para a arquitetura completa do sistema: medir gargalos, aplicar cache e ganhar tempo antes de refatorar com base em dados reais.
RailsConf 2008 - DHH vs Spolsky, epilogue
Joel Spolsky falou sobre produtos bem-sucedidos sem mencionar Rails, enquanto David Hansson defendeu escolhas, descanso e aprendizado. O convite de David ao palco encerrou a antiga rixa entre os dois.
RailsConf 2008 - Rails 2.1 Released!
Jeremy Kemper apresentou o Rails 2.1 e mostrou como contribuições da comunidade, como o jetty-rails de Fabio Kung, chegam ao projeto. Depois, o Core Team precisou resolver um problema no empacotamento das Gems.
RailsConf 2008 - Ruby Heroes Awards
O Ruby Hero Awards premiou seis pessoas por contribuições diferentes, de código e infraestrutura a artigos, livros e screencasts. A cerimônia reforçou que toda forma de compartilhar conhecimento fortalece a comunidade.
RailsConf 2008 - Phusion Passenger Enterprise Edition Unleashed!
A Phusion revelou o Passenger 2.0 com suporte a Rack, inicialização até 90% mais rápida e economia de memória com copy-on-write. O Enterprise Edition era uma brincadeira, mas o Passenger já rodava em produção.
RailsConf 2008: A Controvérsia MagLev
O MagLev impressionou com memória compartilhada, transações ACID e micro-benchmarks até 100 vezes superiores ao MRI, mas ainda era uma prova de conceito, com compatibilidade e suporte a Rails incompletos.
AkitaOnRails na RailsConf 2008 - Preview
Antes de voltar a São Paulo e compilar toneladas de material da RailsConf 2008, o autor oferece um breve preview do evento e esclarece que não foi ele quem codificou o Passenger.
Maio 2008
5 artigosMy Career - Level 3
Locaweb invested in Ruby on Rails, launched a mod_rails shared-hosting trial, and hired the author as Rails Product Manager. He left Surgeworks to help expand the company and Brazil’s Rails community.
Minha Carreira Rails - Fase 3
A Locaweb decidiu investir em Rails e lançou um trial de hospedagem compartilhada com mod_rails. O autor saiu da Surgeworks para assumir a gerência de produtos Rails e ajudar a expandir a comunidade brasileira.
Off-Topic: Dando o Sangue pelo Rails! Parte 2
Depois de viajar de ônibus a Niterói e enfrentar um dia exaustivo, o autor retirou o passaporte às 7h05. Com a documentação em mãos, começou a correr atrás de passagens e hospedagem para a RailsConf.
Off-Topic: Dando o Sangue pelo Rails!
Sem vagas para o passaporte em São Paulo, o autor viajou a Niterói, doou sangue numa campanha contra a dengue e conseguiu atendimento na Polícia Federal. A RailsConf voltou a ser possível, na correria.
Conversando com Hongli Lai e Ninh Bui (Phusion)
Hongli Lai e Ninh Bui explicam como o Phusion Passenger simplifica o deploy Rails, encerra processos ociosos e supera ou iguala clusters Mongrel. O Ruby Enterprise Edition economizava 33% de memória, em média.
Abril 2008
9 artigosConversando com Chris Wanstrath (Err the Blog/Github)
Chris Wanstrath conta por que criou o GitHub para facilitar contribuições open source e revela a arquitetura por trás da plataforma, com Git, SSH, memcached, jobs em background e um feed de quase 1 milhão de linhas.
Off Topic: Vamos todos impedir a regulamentação da profissão de analista de sistema
O autor critica a regulamentação de analistas de sistemas por comparar software a profissões de risco. Para ele, diploma, conselhos e burocracia não garantem qualidade e ainda podem barrar bons profissionais.
Off Topic: Nunca confie no TIOBE
Ao examinar a fórmula do TIOBE, o autor mostra como hits de buscadores, duplicatas e ruído distorcem a medida. Por isso, o índice não sustenta conclusões confiáveis sobre o crescimento das linguagens.
Off-Topic: Google App Engine e Cloud Computing
De hosting próprio a co-location, VPS, AWS e Google App Engine: o atrativo dos recursos elásticos sob demanda e o preço de adaptar a aplicação a paradigmas que dificultam a migração futura.
MOD_RAILS LANÇADO!!
O Phusion Passenger é lançado prometendo deploy Rails quase tão simples quanto mod_php, isolamento entre usuários no Apache e bloqueio de aplicações como root. A edição Enterprise alegava reduzir memória em até 33%.
GitHub Oficialmente Lançado!!
O GitHub deixa oficialmente o beta, dispensando convites para criar contas. A partir daí, qualquer pessoa pode abrir forks e começar a contribuir com os projetos hospedados na plataforma.
Interviewed by FiveRuns
Em entrevista, Fabio Akita relembra como Rails mudou sua carreira e discute comunidade, Rubinius e JRuby. Ele defende escolhas pragmáticas, comunicação com o cliente e a ideia de que Rails não é uma bala de prata.
Micro Tutorial de Git
Com exemplos práticos, o autor percorre o fluxo diário do Git, de clones e branches a merges, rebases, stash, conflitos e resets. O histórico local torna tudo rápido, flexível e fácil de sincronizar.
Finalmente! Rails mudando de SVN para Git!!
O Rails Core anuncia a migração do Subversion para o GitHub e do Trac para o Lighthouse. SVN e Trac seriam congelados, e acompanhar o Edge Rails passaria a exigir Git.
Março 2008
2 artigosRails serve para grandes aplicações?
Rails não substitui um ERP corporativo como SAP, mas pode atender mini-ERPs ou funcionar como front-end de SAP e Java. Isso exige processos maduros, bons programadores, integração e objetivos realistas.
Off Topic: Somos Matematicamente Ignorantes
Ao traduzir Bruce Martin, o autor usa aniversários, presidentes, esportes, cartas e dígitos de π para mostrar que padrões surgem naturalmente em dados aleatórios e não provam causas sobrenaturais.
Fevereiro 2008
6 artigosTradução: Tipagem Dinâmica vs Linguagem Dinâmica Explicado
A tradução distingue tipagem dinâmica de linguagem dinâmica com Ruby, Python e Groovy. O caso Groovy mostra que tipos estáticos não garantem detectar chamadas dinamicamente despachadas na compilação.
Aguri: A Estrutura de Dados mais Legal que Você Nunca Ouviu Falar
A tradução explica como binary radix tries buscam por bits e prefixos, depois apresenta Aguri: uma trie limitada com LRU que infere netmasks a partir do tráfego observado.
Conversando com Scott Hanselman
Scott Hanselman fala sobre carreira, diabetes e ferramentas Microsoft. Ele vê o ASP.NET MVC como alternativa testável ao WebForms e atribui a maior parte dos travamentos do Vista a drivers de terceiros.
Conversando com Evan Phoenix
Evan Phoenix apresenta o Rubinius, uma VM de Ruby inspirada em Smalltalk e escrita quase toda em Ruby. A entrevista cobre GC geracional, FFI, compatibilidade e o plano de múltiplas VMs.
Tradução: De quem é essa variável, afinal?
A tradução compara a ligação de variáveis de instância em Java, Smalltalk e Ruby, do compilador aos bytecodes. No Ruby, a resolução dinâmica simplifica Observer e controllers RESTful.
Tradução: Não sei o que quero, mas sei como conseguir
A tradução separa desenvolvimento iterativo, que espera validar e mudar uma solução, de incremental, que adiciona funcionalidade. O argumento é planejar espaço para descobrir, refinar e descartar.
Janeiro 2008
6 artigosTradução: Faça uma Apresentação como Steve Jobs
A tradução transforma as apresentações de Steve Jobs em dez práticas concretas: definir um tema, contextualizar números, usar slides visuais, demonstrar benefícios e ensaiar até tudo fluir.
Tradução: Lisp em Ruby
Jim Weirich converte as funções eval e apply do Manual do Programador de Lisp 1.5 em um interpretador mínimo escrito em Ruby. O exemplo executa reverse sem parser Lisp nem REPL.
Off Topic: "I am Legend" - HORRÍVEL!
A crítica considera forte o início de I Am Legend, mas rejeita os monstros, a adaptação superficial de Richard Matheson e o terceiro ato religioso. Para o autor, o filme desanda completamente.
Conversando com Hal Fulton
Hal Fulton relembra como Ruby o conquistou com tipagem dinâmica e regularidade, comenta The Ruby Way e recomenda brincar e ler código. Também alerta que metaprogramação pode ser mal utilizada.
Conversando com Peter Cooper
Peter Cooper conta como criou o Ruby Inside, vendeu Code Snippets e Feed Digest e escreveu Beginning Ruby. Ele defende a ferramenta certa para cada trabalho e vê verdade nas críticas de Zed Shaw.
Conversando com Adrian Holovaty
Adrian Holovaty explica como as demandas de sites jornalísticos deram origem ao Django e às suas abstrações de alto nível, como site admin e Databrowse, além de discutir dados e EveryBlock.
Dezembro 2007
5 artigosConversando com Avi Bryant - Parte 2
Avi Bryant defende a simplicidade pragmática do Smalltalk, estima que Ruby poderia ser até 25 vezes mais rápido e explica como Seaside usa continuações e componentes.
Cuidado com suas Closures
Closures Ruby podem manter vivos objetos e variáveis capturados sem necessidade. O texto explica o problema e sugere criar blocos no menor escopo possível.
Ruby on SimpleDB
O texto apresenta o SimpleDB da Amazon, compara suas APIs e limitações ao CouchDB e mostra como usá-los com Ruby, concluindo que o CouchDB é mais flexível.
Conversando com Avi Bryant - Parte 1
Avi Bryant conta como passou por Objective-C e Ruby até criar Seaside e Dabble DB, e explica por que a maturidade e o ambiente Smalltalk aumentam sua produtividade.
class Ruby; include Smalltalk; end
Um exercício de metaprogramação recria em Ruby a sintaxe de condicionais do Smalltalk, mas o teste mostra que o envio de métodos fica de 2 a 4 vezes mais lento.
Novembro 2007
3 artigosAnatomia de Ruby Blocks/Closures
A explicação mostra como blocos, Proc, lambda, yield, &, escopo e closures funcionam em Ruby, com exemplos de iteradores, transações e abertura segura de arquivos.
Ruby Symbols
Símbolos Ruby funcionam bem como identificadores reutilizáveis, evitando duplicação de strings. O texto explica sua notação e seu uso em Hashes e no Rails.
Conversando com John Lam (IronRuby)
John Lam explica como o IronRuby usa o DLR para rodar Ruby no .NET, prioriza compatibilidade com MRI 1.8 e Rails, busca interoperabilidade com o CLR e supera o MRI em benchmarks.
Setembro 2007
4 artigosGIT: Muito Promissor
Em um teste com git-svn e Google Code, o autor trabalha offline com commits, branches e merges. O GIT preserva mudanças após renomes e supera suas expectativas.
Jogar Pedra em Gato Morto: por que Subversion não presta
O autor critica os merges difíceis do Subversion e recomenda testar o GIT, mas mostra que o git-svn permite trabalhar localmente sem abandonar servidores SVN.
100% pure Object-Oriented: The Fallacy
O texto questiona a ideia de que mais pureza orientada a objetos torna uma linguagem melhor e defende escolher a tecnologia pelos requisitos concretos de cada projeto.
Tradução: Contar é Perda de Tempo
A tradução critica a contagem de tarefas, estimativas e horas quando ela não orienta decisões. Um caso com 20 a 25 tarefas por dia expõe o desperdício da medição.
Agosto 2007
6 artigosOff Topic: Pálido Ponto Azul
A imagem da Terra capturada pela Voyager 1 inspira Carl Sagan a refletir sobre nossa fragilidade e responsabilidade, enquanto o autor recomenda Cosmos como legado para formar crianças curiosas.
Por que Testar?
O Problema da Parada mostra por que nenhum algoritmo pode garantir o comportamento de todo programa. Testes unitários, funcionais e integrados reduzem riscos sem oferecer certeza absoluta.
Off Topic: Inimigos da Razão
Inspirado por Richard Dawkins e Carl Sagan, o autor defende evidências, ceticismo e responsabilidade pessoal contra dogmas, superstições e disputas irracionais entre tecnologias.
A Falácia do Custo Perdido
O ingresso de cinema ilustra a falácia do custo perdido: dinheiro já gasto não deve decidir o próximo passo, seja ao avaliar um filme, uma licença de software ou uma arquitetura.
AkitaOnRails, Retrospectiva 1985-2007
O autor revisita sua formação em computadores, linguagens e projetos até chegar ao Rails e trabalhar por conta própria, defendendo aprendizado contínuo, curiosidade e decisões sem dogmas.
Conversando com Jamis Buck
Jamis Buck conta como saiu de Java para Ruby, entrou na 37signals e criou o Capistrano para operar deployments em vários servidores, além de explicar a troca de nome e o limite para destinos Windows.
Julho 2007
3 artigosGoF Design Patterns - Sobreviveu ao teste do tempo?
A discussão sobre o livro GoF contrapõe críticas à complexidade e à relevância dos patterns com sua utilidade como exemplos de design, desde que não sejam copiados como receitas ou dogmas.
Conversando com Carl Youngblood
Carl Youngblood fala sobre sua passagem pelo Brasil, BBS, múltiplas linguagens e chegada ao Rails, mostrando como o SBN, a RailsConf e a Confreaks aproximaram seu trabalho da comunidade Ruby.
Hanselminutes: Entrevista com David Hansson e Martin Fowler
David Hansson e Martin Fowler defendem HTML e CSS para a Web atual, protótipos em páginas reais, iterações curtas e testes, enquanto criticam telas em branco, Photoshop e firulas sem função.
Junho 2007
4 artigosPrimeiro Aniversário
Após um mês na Surgeworks, o autor contrasta a confiança da equipe remota com cinco anos de consultoria e relata como a liberdade do home office trouxe dispersão e exigiu recuperar a disciplina.
Conversando com Ola Bini (JRuby Core Team Member)
Ola Bini explica sua chegada ao JRuby Core Team, os desafios de compatibilidade com MRI e extensões C, o uso de JRuby em Rails e Mingle e por que aprender linguagens diferentes melhora o programador.
Um Desabafo, parte II
Depois de deixar uma consultoria que atrasava pagamentos, o autor recomenda manter liquidez, aprender continuamente e preparar a saída diante de sinais de crise, sem confiar em discursos de chefes visionários.
Off Topic: Steve Jobs, Discurso em Stanford, 2005
Na tradução do discurso em Stanford, Steve Jobs conta como conectou acaso, demissão e doença às escolhas da vida. A mensagem é seguir a curiosidade, o trabalho amado e a própria intuição.
Maio 2007
3 artigosNovidade! Akita na Surgeworks
Ao sair da Balance, o autor troca um emprego CLT por uma contratação remota da Surgeworks para trabalhar com Ruby e Rails. Ele vê a oportunidade como resultado de anos de estudo e dedicação.
Conversando com David Black
David Black conta como encontrou Ruby por acaso, ajudou a criar a Ruby Central e trocou a universidade por treinamento e consultoria. Para ele, Rails exige entender Ruby de verdade.
Conversando com Chad Fowler
Chad Fowler narra a passagem da música para Ruby, a criação da Ruby Central e os livros que escreveu. Ele vê Rails chegando a empresas tradicionais, mas alerta contra uma comunidade fechada e defensiva.
Abril 2007
4 artigosConversando com Geoffrey Grosenbach
Geoffrey Grosenbach relata como chegou ao Rails, assumiu o Rails Podcast e criou o PeepCode. A conversa passa por autodidatismo, open source, aprendizado contínuo e pequenos negócios de software.
Conversando com Dr. Nic
Dr. Nic explica como criou Magic Models, Newgem e Magic Multi Connection para resolver problemas reais. Ele defende extrair funcionalidades do núcleo do Rails e compartilhar soluções em open source.
Coluna RubyOnbr: Acampamento de Curiosos
A coluna usa o Camping como ponto de partida para entender ou criar um framework web mínimo. O desafio é aprender como essas ferramentas funcionam, não provar que sua implementação é melhor.
Off Topic: Seja Arrogante!
O autor transforma “seja arrogante” em uma cobrança por competência: dizer sim exige estudar e entregar. Sua jornada com inglês, filmes, audiobooks, podcasts e feeds mostra como pratica isso.
Março 2007
2 artigosOff Topic: Um Desabafo
O autor critica carreiras presas a cadastros, reclamações e tecnologias escolhidas só pelo salário. Sua resposta é aprender continuamente, explorar sistemas e contribuir com projetos open source.
Coluna RubyOnbr: Memórias de uma Tradução
Enquanto concilia trabalho e revisão, o autor registra os bastidores da tradução brasileira de Getting Real. A coluna remete ao relato completo do processo publicado pela RubyOnBr.
Fevereiro 2007
2 artigosQuick and Clean
A palestra de Chad Fowler sustenta que Ruby e Rails aceleram bons programadores, mas não corrigem código ruim. O caso da armadilha 1 + N mostra por que entender SQL e Active Record importa.
Tradução Getting Real - Lançamento Release Candidate 2
A tradução brasileira de Getting Real chega ao Release Candidate 2 com os 16 capítulos traduzidos e metade da revisão concluída. A versão pública antecede a tentativa de lançamento final.
Janeiro 2007
3 artigosOff Topic: "Here's to the crazy ones ..."
O comercial Think Different marcou a volta da Apple e de Steve Jobs, celebrando quem desafia regras e muda o mundo. O autor aproxima essa defesa dos criativos de um possível manifesto para Rails e 37signals.
Off-topic: MacWorld 2007 - Steve Jobs anuncia o esperado iPhone!
Na MacWorld 2007, Steve Jobs apresenta o iPhone como iPod, celular e comunicador de internet em um só aparelho, com tela multitoque, OS X, Safari, Wi-Fi e câmera. O lançamento nos EUA está previsto para junho.
Off-topic: MacWorld 2007 - Keynote do Steve Jobs
Antes do keynote da MacWorld 2007, rumores sobre iPhone, Leopard, novos Macs e Apple TV ampliam uma expectativa incomum em torno de Steve Jobs e da Apple.
Dezembro 2006
2 artigosMinha Coluna na RubyOnBr: Rails, Sucesso pela Arrogância?
A coluna explica como o Opinionated Software orienta as escolhas do Rails e relaciona essa abordagem à tendência de criar aplicações web focadas, em vez de sites que tentam fazer tudo.
David Hansson e Opinionated Software
David Hansson defende concentrar a lógica de negócio no domain model, sem stored procedures ou constraints em bancos de aplicação. Akita ressalva que integração e processamento maciço exigem outra arquitetura.
Novembro 2006
4 artigosEntrevista com Yukihiro Matsumoto: parte IV
Na entrevista, Matz recomenda ler código, aprender linguagens diferentes e priorizar fundamentos. Ele também defende reduzir o trabalho e tratar interfaces de usuário e de máquinas como parte central do sistema.
Minha Coluna na RubyOnBr: Desenvolvimento Sustentável com Rails
A coluna percorre processos, metodologias e ferramentas para discutir desenvolvimento sustentável com Rails. A conclusão é que todo projeto precisa de algum controle, inclusive no open source, onde mantenedores organizam o trabalho.
Entrevista com Yukihiro Matsumoto: parte III
Matz explica como blocos e fechamentos em Ruby abstraem os detalhes dos loops, permitem definir diferentes formas de iteração e customizar métodos, além de capturar e compartilhar variáveis do escopo.
MVC vs Model 2
A tradução diferencia o MVC original, a variação da NeXT e o Model 2 adotado na web, situando Rails academicamente mais perto deste último. A recomendação é escolher o design conforme a interface.
Outubro 2006
6 artigosDesign Patterns representam defeitos nas Linguagens
O texto argumenta que muitos Design Patterns expõem deficiências das linguagens e deveriam ser absorvidos por elas, até se tornarem invisíveis. Ruby on Rails aparece como exemplo ao integrar MVC em uma DSL web.
Livro Free: Getting Real, da 37signals
A 37signals libera Getting Real para leitura online, defendendo software simples, telas reais e decisões baseadas no produto que o usuário vê. A abordagem combina especialmente com web apps que evoluem continuamente.
Kathy Sierra: Dilbert e a zona de mediocridade
Kathy Sierra descreve a zona de mediocridade, o espaço dos produtos seguros que ninguém ama. Citando Scott Adams, defende arriscar paixão. Sair dela exige desligar a voz que mata ideias antes do teste.
Entrevista com Yukihiro Matsumoto: parte II
Matz mostra como Ruby usa métodos dinâmicos, proxies, callbacks e mix-ins para adaptar bibliotecas e manter o código conciso. A robustez, diz ele, depende de testes e do interpretador.
Entrevista com Yukihiro Matsumoto: parte I
Matz explica por que Ruby privilegia harmonia, liberdade de escolha e código conciso em vez de uma linguagem perfeita. Seu objetivo é reduzir a frustração e tornar a programação mais prazerosa.
Um pouco de propaganda: Minha entrevista na Rubyonbr
O autor fala sobre sua trajetória e o livro Repensando a Web com Rails em uma entrevista à Rubyonbr, anuncia novas colunas e divulga o evento de lançamento na FNAC Paulista.
Setembro 2006
2 artigosEvolução pela Concorrência
O autor defende que críticas e concorrência fazem tecnologias evoluírem. Em Rails, limitações como internacionalização, legado e tarefas assíncronas já estimularam soluções da comunidade.
Jeff Bezos + 37signals
A 37signals aceita investimento da Bezos Expeditions, aproximando Jeff Bezos dos criadores do Rails. O autor vê uma parceria promissora, mas lembra que capital de risco também impõe controle.
Abril 2006
2 artigosRails Manifesto
O autor apresenta Rails como alternativa ágil à complexidade do J2EE, apoiada em DRY e Convention over Configuration. A proposta é tornar aplicações Web simples e fáceis de adaptar.
Bem Vindos
A comunidade brasileira de Ruby on Rails começa a se organizar para aprender a plataforma, apesar da falta de material em português e da resistência do mercado. A transição a partir do Java será gradual.