#ruby
70 posts
2019 - agosto
1 post2016 - outubro
2 posts2016 - agosto
1 post2016 - junho
2 posts2016 - maio
2 posts2016 - fevereiro
1 post2015 - julho
1 post2015 - junho
2 posts2015 - maio
1 post2015 - março
1 post2015 - janeiro
3 posts2014 - dezembro
1 post2014 - outubro
1 post2014 - agosto
5 posts2014 - julho
2 posts2014 - janeiro
1 post2013 - outubro
1 post2013 - maio
1 post2013 - abril
1 post2012 - setembro
3 posts2012 - agosto
1 post2012 - junho
1 post2011 - abril
1 post2009 - dezembro
1 post2009 - novembro
2 posts2009 - abril
1 post2008 - novembro
4 posts2008 - julho
1 post2008 - fevereiro
2 posts2008 - janeiro
3 posts2007 - dezembro
4 posts2007 - novembro
3 posts2007 - agosto
1 post2007 - julho
1 post2007 - junho
1 post2007 - maio
3 posts2007 - abril
1 post2007 - fevereiro
1 post2006 - novembro
2 posts2006 - outubro
2 posts2006 - abril
1 post2019 - agosto
1 post[Akitando] #59 - A História de Ruby on Rails | Por que deu certo?
Fabio reconta a origem do Ruby on Rails e argumenta que seu sucesso veio da combinação de Ruby, convenções, testes, opinião forte e um ecossistema coeso, numa janela histórica difícil de repetir.
2016 - outubro
2 postsImplementaçã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.
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.
2016 - agosto
1 postA 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.
2016 - junho
2 posts[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.
2016 - maio
2 postsFlertando 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.
2016 - fevereiro
1 postOperador 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.
2015 - julho
1 post[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.
2015 - junho
2 posts[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.
2015 - maio
1 post[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.
2015 - março
1 post[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.
2015 - janeiro
3 postsRuby 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.
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.
2014 - dezembro
1 post[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.
2014 - outubro
1 postO 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.
2014 - agosto
5 posts[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.
[#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.
2014 - julho
2 posts[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.
2014 - janeiro
1 postCodeClimate, 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.
2013 - outubro
1 postRuby, 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.
2013 - maio
1 postIndo 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.
2013 - abril
1 postRuby 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.
2012 - setembro
3 posts_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.
2012 - agosto
1 postRuby 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.
2012 - junho
1 postAlgumas 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.
2011 - abril
1 postA 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.
2009 - dezembro
1 postPrê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.
2009 - novembro
2 posts[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.
2009 - abril
1 postLocos 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.
2008 - novembro
4 postsMicro-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#.
2008 - julho
1 postConversando 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.
2008 - fevereiro
2 postsConversando 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.
2008 - janeiro
3 postsTraduçã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.
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.
2007 - dezembro
4 postsCuidado 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.
2007 - novembro
3 postsAnatomia 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.
2007 - agosto
1 postConversando 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.
2007 - julho
1 postConversando 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.
2007 - junho
1 postConversando 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.
2007 - maio
3 postsNovidade! 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.
2007 - abril
1 postColuna 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.
2007 - fevereiro
1 postQuick 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.
2006 - novembro
2 postsEntrevista 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.
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.
2006 - outubro
2 postsEntrevista 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.
2006 - abril
1 postBem 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.