Archives
Posts before 2026. See also Akitando and Off-Topic.
April 2024
1 articleMy "Personal Netflix" with Docker Compose
I built a personal library with Docker Compose, MakeMKV, HandBrake, qBittorrent, Sonarr, Radarr, Prowlarr and Plex. Plex is polished and practical, but PGS subtitles broke playback.
October 2018
1 articleTHE CONF - 2018 Edition Report
THE CONF 2018 received over 100 proposals, selected 28 talks, and brought together more than 300 people, but ran a deficit of at least R$59,931. Still, it remains an investment in an English-language technical conference in Brazil.
July 2018
1 article[Off-Topic] The Pity Evolution of Modern Society
Akita criticizes online lynch mobs, echo chambers, and the idea of a right never to be offended. To him, social media turns outrage into public trials without dialogue or due process.
April 2018
2 articlesRunning Arch Linux over Windows 10!
Akita installs Arch Linux in Windows 10's WSL and tests tools including Pacman, AUR, GNOME, Tilix, Ruby, Node.js, and Go. Everything works, but slow I/O keeps VMware smoother.
[SmallTips] Running GitLab CI Runner Locally
GitLab CI Runner uses `.gitlab-ci.yml` to reproduce failing server jobs locally through Docker, speeding up diagnosis. The tradeoff is starting over without cache or artifacts.
January 2018
1 articleMy Notes about a Production-grade Ruby on Rails Deployment on Google Cloud Kubernetes Engine
After taking Google Cloud Kubernetes Engine from zero to production, the author gathers notes on Rails, Docker, Cloud SQL, secrets, NGINX Ingress, and rolling updates. The platform works, but requires infrastructure experience.
December 2017
1 articleCryptocurrencies: Is it a Bubble? Does it Matter?
The bubble may burst and Bitcoin may plunge, but that does not end the story: the author compares it to the dot-com bubble and argues for an antifragile bet limited to what one can afford to lose.
November 2017
4 articlesFrom 10k and Beyond: Discussing Crypto Currencies
The author responds to criticism about the bubble, energy, centralization, scale, and social role of cryptocurrencies. His conclusion is to avoid hype, study the fundamentals, and personally accept the risk of investing.
From Microsoft to Apple, and Back Again
Comparing Windows 10, macOS, Linux, and premium laptops, the author concludes Windows deserves another chance, uses Manjaro in VirtualBox, and prefers a Dell XPS for development and a Surface Book 2 for design.
THE CONF 2017 - All the Recordings!
All 32 talks from The Conf 2017 are free in an InfoQ Brasil playlist, with the best ones also on the U.S. site. The event brought together 31 Brazilians presenting in English to a global audience.
How does Bitcoin force consensus among Byzantine generals?
Bitcoin combines hashes, Proof of Work, mining, and adjustable difficulty to reach consensus among unknown nodes. Even with $1.5 billion in hardware, the network would remain difficult to break.
October 2017
5 articles[Beginner] Long live PhantomJS, let's use Chrome Headless now
Fabio shows how to replace Poltergeist and PhantomJS with Selenium WebDriver and Chrome Headless in RSpec and Capybara. The setup changed, but the existing feature specs ran without alterations.
How NOT to zero out your Pusher development quota
Pusher Fake keeps Rails development and tests connected to a local server without using Pusher's free quota. Fabio explains the setup with Foreman, matching variables, and RSpec.
[Beginner] Trying out Rails 5.1.x
Fabio tries Rails 5.1 with new flags, Webpacker, Yarn, webpack-dev-server, and React while arguing for gradual upgrades. His conclusion is that the release is a good foundation for new projects.
Replacing RVM/Rbenv/Nvm/etc for ASDF
Fabio replaces RVM, Rbenv, NVM, and virtualenv with ASDF, which manages Ruby, Node.js, Python, and other languages through one set of commands. He covers plugins, local and global versions, and reshim.
THE CONF - 2017 Edition Report
THE CONF 2017 cost R$103,637.02, brought in R$53,000, and left Fabio with at least R$50,000 in losses. Still, more than 300 paying attendees confirmed that an English-language event works.
September 2017
1 articleWindows Subsystem for Linux is good, but not enough yet
I tested WSL with Rails, RSpec, PhantomJS, and Ruby and compared it with Linux and VirtualBox. Filesystem emulation was at least four times slower, so I stuck with virtualized Linux.
August 2017
2 articles[Off-Topic] Blockchain and Cryptocurrencies in Brazil
I shared recommendations for Brazilian companies connected to blockchain and cryptocurrencies, still as an investor without a project of my own. I also looked for professionals with hands-on experience to speak at THE CONF.
Why it is just lazy to bad-mouth Ruby on Rails
Ruby on Rails is neither dead nor the market leader anymore. Its legacy helped define the web's status quo, from Git and continuous testing to the cloud, continuous deployment, and metrics.
July 2017
1 articleUpcoming built-in Upload Solution for Rails 5.2 (ActiveStorage)
ActiveStorage organizes file uploads, transformations, and delivery, but still requires infrastructure decisions. On Heroku, prefer Direct Upload. For simple images, Cloudinary makes things easier, with lock-in.
June 2017
9 articlesRails 5.1 Deployment Checklist for Heroku
This checklist prepares a small Rails 5.1 app for production on Heroku, covering PostgreSQL, Procfiles, Webpack, a CDN with CORS, Memcached, and SSL, without claiming to fit every scenario.
Estimates are Promises - A Better Metaphor
Estimates can become promises when risk is managed: lock in time and cost, prioritize the first 20% of the scope, and use staging deliveries and velocity as gauges for adjusting course.
The Economics of Software Development
For small teams, software economics starts with the smallest product that works, accounting for time while avoiding technical debt, premature microservices, and unnecessary performance optimizations.
Starting with Blender
My guide to getting started with Blender covers initial settings like Cycles, Filmic, and CUDA, then moves into photography, composition, and PBR materials. Learning takes study, practice, and shortcuts.
Ex Manga Downloadr - Part 7: Properly dealing with large Collections
After Flow took over 3 minutes, I replaced it with Task.async_stream and got the old timings back. The solution simplifies the code, but reduces control and leaves downloads without retry.
Ex Manga Downloadr - Part 6: The Rise of FLOW
I replaced Poolboy and a custom GenServer with Flow to simplify parallel scraping. The code became more readable, but took over 3 minutes, versus less than half that in the previous version.
[Off-Topic] Talent Is Highly Overrated: Humanizing Einstein and Killing Gods
The piece questions the myth of natural talent and humanizes Einstein by highlighting deliberate practice, chance, and complex systems. Success has no recipe. It depends on effort and circumstances.
Appearing on Podcasts
I collect six podcast appearances about the Ruby community, tech careers, Rails, and my professional path, from its beginnings in the 1990s to conversations lasting nearly two hours.
Conference Talks, Interviews, and the Pen!
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.
May 2017
1 articleProgrammers Guild - Religion and Sports
Technology communities resemble religions and sports teams, with identity and confirmation bias distorting technical choices. Professionals accept trade-offs and take ownership of their decisions.
March 2017
1 articleEnabling Optimus NVIDIA GPU on the Dell XPS 15 with Linux, even on Battery
I fix 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.
February 2017
1 article[Off-Topic] Carpe Diem and the Myths of Happiness
I take apart the myths of constant happiness, motivation, and “do what you love.” Hedonic adaptation explains the frustration, while learning and enjoying the present restore agency.
January 2017
5 articlesFrom the Macbook Pro to the Dell XPS. Arch Linux for Creative Pro Users
I move from a MacBook Pro to a Dell XPS 9550 and configure Manjaro, Bumblebee, and NVIDIA drivers for creative tools. Linux works well, but Apple still has the edge for mobile Pro workflows.
Optimizing Linux for Slow Computers
I improve Linux responsiveness on an old Lenovo by tuning swap, schedulers, Dropbox, and Tracker. The biggest gains still come from adding more RAM and using a fast SSD.
[Off-Topic] Why are we all moving away from Apple?
This retrospective argues that the iPhone, cloud, and web apps made switching systems easy, while Apple stopped advancing after Steve Jobs. To the author, technology has been stuck since 2010.
Arch Linux - Best distro ever?
After getting frustrated with Fedora, the author installs Arch with GNOME 3.22 and finds more polished defaults, rolling upgrades, and a practical AUR. He ends convinced it is the best Linux distro he has used.
Customizing Fedora 25 for Developers
The author turns Fedora 25 into a development workstation with Crystal, Ruby, Node, Elixir, Go, Docker, and desktop tools. Even on old hardware, he considers it a capable alternative to macOS.
December 2016
3 articlesEx Pusher Lite - Part 3 - A Complete Solution
I built a Pusher-inspired service with Phoenix and Elixir, connecting a Rails application through WebSockets and an API and distributing messages across nodes. It covers many cases, but is not production-safe yet.
Elixir Phoenix App deployed into a Load Balanced DigitalOcean setup
The author builds a two-node Phoenix cluster on DigitalOcean with HAProxy and PostgreSQL, and gets distributed WebSockets running with Erlang. It works, but edeliver is slow and login still fails intermittently.
Coherence and ExAdmin - Devise and ActiveAdmin for Phoenix
Coherence and ExAdmin bring Phoenix closer to Devise and ActiveAdmin, while a simple Plug adds authorization for the admin area. They ease the start, but do not remove OTP and distributed-systems’ learning curve.
November 2016
3 articles3 Months of GitLab. The Hybrid-SaaS Era
After running nearly 200 repositories and 80 users on a self-hosted GitLab, the author argues for Hybrid SaaS: hosted services with OSS versions that restore control without rebuilding everything.
[Off-Topic] Learning Statistics
While studying statistics with R and Daniel Navarro’s book, the author uses Simpson’s paradox to show how aggregated data can hide patterns and why statistics demands care.
Matches, Rankings, The Social Network, League of Legends, and Ruby?
With 2,000 matches, the author shows that wins minus losses produces absurd rankings. The Elo system accounts for opponents’ strength and responds better to unlikely results.
October 2016
6 articlesRuby on Rails implementation of a (proper) Ranking/Popularity system
A Rails popularity implementation replaces fragile counts and averages with the Wilson lower bound, balancing vote proportion and uncertainty in an indexable score.
[Discussion] Can we protect our work from DNS providers suffering DDoS attacks?
To test a defense against future DNS outages, the author configures Unbound as a local recursive resolver and extends the cache to 172,800 seconds, while admitting the experimental solution violates TTLs.
Natural Language Generation in Ruby (with JRuby + SimpleNLG)
The author wraps the Java SimpleNLG library in a Rails API service with JRuby and creates a Ruby DSL to simplify its XML. The result adjusts plurals, verbs, and determiners in English sentences.
THE CONF Initiative
I propose THE CONF, a Brazilian conference held entirely in English and focused on code, to give Latin American developers an international stage and reach an audience beyond Brazil.
Sharing models between Rails Apps - Part 2
I evolve the central-support gem to distribute migrations, test two isolated Rails databases, and connect the secondary app to a read-only replica of Central in production.
Sharing models between Rails Apps - Part 1
I extracted stable Central model logic into Concerns in a testable RubyGem, moved the specs with almost no changes, and concluded it works well for secondary read-only apps.
September 2016
2 articlesThe Next 10 Years
I announce I’m stepping away from conferences tied to a language or platform, without abandoning Ruby. The next phase is defending freedom, critical thinking, and code that delivers value.
Ubuntu 16.04 LTS Xenial on Vagrant on Vmware Fusion
I build an Ubuntu 16.04 box in Vagrant with VMware Fusion and configure the development environment, from locale and PostgreSQL to Ruby, Java, Elasticsearch, Clojure, Rust, Go, and Elixir.
August 2016
6 articlesThe Ruby Community and Reputation
I defend Rails as an opinionated stack that reduces complexity and speeds delivery. Fine-grained alternatives are valid, but they must prove their value through code, adoption, and results.
Choosing MatterMost over Rocket.chat and Slack
I tested Slack, Rocket.chat, and Mattermost with nearly 50 people, and we ended up on Mattermost: its interface was faster and more responsive, though installation required Docker, Go, and hacks.
Hacking Mattermost Team Edition
I used a PostgreSQL trigger to automatically restore private channels deleted by regular users in Mattermost Team Edition, bypassing the missing permissions without changing the source code.
Moving away from Pivotal Tracker to Fulcrum. Good Enough.
I switched from Pivotal Tracker to Central, a Rails fork of Fulcrum that already covers stories, estimates, sprints, and velocity. Still incomplete, it’s good enough for most of our projects.
Moving away from Slack into Rocket.chat. Good Enough.
I chose Rocket.chat to replace Slack and built a production setup with MongoDB in a replica set, multiple Node.js instances, NGINX, SSL, and monitoring. It works, but it’s not for beginners.
Moving to GitLab! Yes, it's worth it!
While migrating hundreds of repositories from GitHub and Bitbucket to GitLab CE, I preserved important history, sped up builds with GitLab Runner, and cut costs by up to 11 times.
July 2016
3 articlesUpdating my Old Posts on Uploads
I updated my upload recommendations: Cloudinary with Attachinary simplifies direct upload and image processing, while a CDN like CloudFront should serve assets from S3.
The Year of Linux on the Desktop - It's Usable!
Testing Bash on Ubuntu on Windows, the author successfully runs Rails, Ruby, Node, Crystal, and Go. PostgreSQL requires a native Windows server, while Elixir and Erlang still lock up.
Trying to match C-based Fast Blank with Crystal
Rewriting Fast Blank in Crystal and comparing it with C and Ruby, the author finds string copying expensive. For this trivial algorithm, the C version remains the best choice.
June 2016
3 articles[Manga-Downloadr] Improving the Crystal/Ruby from bursts to pool stream
Replacing request bursts with steady worker pools in Manga-Downloadr, the author cuts times to 27s in Ruby, 30s in JRuby, and 21s in Crystal, but Elixir finishes in 15s.
[Manga-Downloadr] Porting from Crystal to Ruby (and a bit of JRuby)
Porting Manga-Downloadr from Crystal to Ruby and JRuby, the author finds an almost direct translation, swaps Fibers and Channels for Threads, and shows why the test favored Elixir’s architecture.
Small Experiment with Rails over JRuby 9.x on Heroku
Comparing the same Rails app on MRI and JRuby 9.1 on Heroku, the author finds similar performance but higher memory use and unstable boot on JRuby. For this case, MRI remains preferable.
May 2016
2 articlesFlirting with Crystal, a Rubyist Perspective
Evaluating Crystal from a Rubyist’s perspective, the author highlights its familiar syntax, fast native binaries, and cooperative concurrency for I/O, while making clear it doesn’t replace Ruby or Rails.
Rails has won: The Elephant in the Room
The defense of Rails admits its anti-patterns and monopoly in Ruby, but argues that focus, adoption, and cost-effectiveness still make it the pragmatic choice for most small and medium projects.
April 2016
3 articles[Off-Topic] Free Software: An Exercise in CAPITALISM
Free software is private property distributed under a license, with voluntary exchange and competition free of any regulator. That's why projects die, forks get born, and nobody can decree success.
[Off-Topic] If You Need "Validation," You're Probably Wrong
Drawing on his Rails journey, the author argues for producing on your own terms and rejecting moral authorities and dogmas. To him, critical thinking, falsifiable ideas, and personal responsibility are the antidote.
The Year of Linux on the Desktop, by Microsoft??
I tested Bash on Windows in Preview 14316: Ruby, Redis, and Memcached work, but memory, shared memory, symlinks, and pseudo-terminals still fail. The promise is good, but it isn’t ready.
March 2016
3 articlesWar is Over, or is it? A New Dawn for Microsoft
Bash on Windows and free, open-source Xamarin tools could make Windows attractive to non-.NET developers. The author sees a plausible way out of OS X, but only if Microsoft delivers on its promise.
Improving your Microservices Integration Performance with Memcache and ETAGs
Using ETAGs, If-None-Match, and Memcached between two Rails APIs, the author cuts responses from 26ms to 12ms and from 62ms to 24ms. The simple technique helps most with rarely changing data.
Is your Rails app ready for Production?
A Rails production checklist covers deployment, web servers, monitoring, dependencies, databases, queues, CDNs, and access. The final recommendation is to optimize with metrics before rewriting everything.
February 2016
1 articleElixir Pipe Operator for Ruby: Chainable Methods
The Chainable Methods gem passes each call’s return value as the next call’s first argument, making Ruby transformations more readable and testable. It uses method_missing for expressiveness, not speed.
December 2015
9 articlesFixing DHH's Rails 5 Chat Demo
While reviewing DHH’s Action Cable chat, the author moves persistence into a background job and removes the model callback. The code returns faster, but the concurrency benefit wasn’t measured.
Ex Pusher Lite - Part 2 - First Working Core!
Part 2 turns ExPusherLite into a working Phoenix core with apps, keys and secrets, authentication, channels, broadcasts, and Heroku deployment. Tests were quick, but security remains fragile.
Ex Pusher Lite - Part 1: Phoenix Channels and Rails apps
Part 1 replaces Pusher with a Phoenix server using Channels, WebSockets, and Basic Auth while keeping the Rails client and SuckerPunch. The clone works under your control, but remains incomplete.
Erlang's Ping Pong (tut15) in Clojure and Elixir
A Ping Pong exercise brings Erlang, Clojure, and Elixir together, highlighting pattern matching, macros, and the BEAM’s AST. The author sees power in all three, but still prefers Erlang to Lisp parentheses.
Ex Manga Downloadr - Part 5: Making it more robust!
MangaFox timeouts expose a flaw in Ex Manga Downloadr’s Workflow. The author uses Task.Supervisor and limited retries to catch HTTPotion errors, leaving GenServer refactoring as technical debt.
Ex Manga Downloadr - Part 4: Learning through Refactoring
Refactoring Ex Manga Downloadr replaces six repeated blocks with macros, improves Floki usage, and uses online tests to validate parsers. The project reaches version 1.0.0 with two fewer files.
The Obligatory "Flame War" Phoenix vs Node.js
In an admittedly unfair Siege benchmark, Node.js leads during I/O warmup, but Phoenix handles requests that block for one second better as concurrency increases.
Ex Manga Downloadr - Part 3: Mangafox Support!
Ex Manga Downloadr can now download from Mangafox using custom parsers, dynamic source selection, gzip decompression via zlib, and download resumption. Reducing the pool helps, but the site remains unstable.
The Obligatory "Why Elixir?" Personal Take
The author explains why he plans to combine Rails and Phoenix and argues for Elixir in concurrent, distributed systems. Immutability, schedulers, and supervisors make fault tolerance more approachable.
November 2015
9 articles"Yocto Services"! And My First Month with Elixir!
After an intense month studying Elixir, the author suggests thinking of BEAM processes as “Yocto Services”: supervised GenServers that fail independently, exchange messages, and talk across nodes.
Elixir 101 - Introducing the Syntax
Using ExMangaDownloadr examples, I introduce pattern matching, recursion, Lists, Tuples, Keyword Lists, and the pipe operator to show how Elixir makes Erlang primitives accessible.
ExMessenger Exercise: Understanding Nodes in Elixir
I refactored a pre-1.0 terminal chat into an Umbrella app and explored Nodes, names, cookies, and remote GenServers. The result is closer to distributed peers than a traditional TCP client and server.
Observing Processes in Elixir - The Little Elixir & OTP Guidebook
Using GenServer, Supervisor, and Observer, I show a worker being restarted, a pool of five processes being replenished, and the runtime staying active, though the worker’s state is lost.
Phoenix "15 Minute Blog" comparison to Ruby on Rails
I compare a blog with nested resources in Phoenix and Rails, from Mix through ExUnit. Phoenix is more explicit and promising for concurrent microservices, but still doesn’t replace the Rails ecosystem.
Ex Manga Downloadr - Part 2: Poolboy to the rescue!
I replaced manual batches of 80 requests with a GenServer Worker using Poolboy and a Supervisor, backed by a pool of 50 processes. Akira’s roughly 2,200 pages took under 50 seconds, limited by MangaReader.
Ex Manga Downloader, an exercise with Elixir
I built an Elixir scraper that parses MangaReader, downloads images with parallel Tasks, and creates 250-page PDFs for Kindle. The pipeline works, but timeouts limit it to about 80 requests.
Brazil Situation: No Macs for the Rest of Us
I tested a Dell Inspiron with Ubuntu after a MacBook Pro became too expensive for a Brazilian budget. Linux covers about 80% of my use, but proprietary software still requires Mac or Windows.
My first week learning Elixir
In one week and roughly 42 hours, I learned Elixir fundamentals, processes, and OTP, though I still didn’t feel fully comfortable. My path covers Programming Elixir, Elixir Sips, and exercises before Phoenix.
January 2015
1 article[Off-Topic] Compilation: "Processes and Methodologies Won't Help You!"
The collection criticizes ready-made recipes such as Agile, Kanban, and #noEstimates and argues for the scientific method, skepticism, and continuous study to make better decisions.
December 2014
1 article[Off-Topic] Talking with a University Professor
In response to a professor, the author argues for selective UML, Design Patterns as reference material, XP, and multiple paradigms. Java remains useful, but universities should prioritize fundamentals.
November 2014
1 article[Small Bites/Off-Topic] "People over Processes" — what are "People"?
Agile inherits from Lean its emphasis on processes and continuous improvement, but prioritizing people takes psychology, behavioral economics, and network theory. A reading list to start with, and a reminder that we're less rational than we'd like.
October 2014
2 articlesThe New Kid on the Block for Ruby Servers: Raptor!
I tested Raptor’s beta in synthetic Rack and Rails 4.1.6 benchmarks: it reached nearly four times the throughput in some scenarios, with slow-client protection and support for JRuby and Nginx.
[Off-Topic] 3D Printing, the Legend?
While analyzing Print the Legend, I show how MakerBot went from an open 12-person startup to acquisition by Stratasys. The documentary portrays the price of turning rebellion into a system.
September 2014
2 articles[Off-Topic] Agile: the Truth Behind the Method
I argue that Scrum, XP, and other Agile practices cannot save bad teams. They expose risks and problems quickly. Agility depends on committed people, continuous practice, and concrete behavior changes.
[Off-Topic] DO NOT Do What You ("THINK") You Love
I question “do what you love” and show how pursuing only what you think you love ignores responsibilities and unstable passions. My conclusion: seek Kaizen by always improving how you produce something useful.
August 2014
1 article[Off-Topic] First Time in São Paulo, What to do?
A personal guide organizes São Paulo’s restaurants, nightlife, museums, markets, parks, and neighborhoods by subway station, with a layered map for people short on time.
July 2014
1 article[Off-Topic] Someone Important Left the Community! Now What??
TJ Holowaychuk’s departure does not determine Node.js’s future. Resilient communities renew themselves when established figures make room for new contributors, without turning people into idols.
May 2014
1 article[Off-Topic] Career in Programming — Coding Isn't Programming
Programming is not just building websites with frameworks. The author argues for studying English, Computer Science, and fundamentals such as algebra, statistics, algorithms, and compilers to create valuable solutions.
March 2014
3 articles[Off-Topic] Commenting on the Approved Marco Civil
Commenting on the approved Marco Civil text, the author considers network neutrality valid but criticizes costs, regulatory agencies, and mechanisms that would expand state access to private data.
[Off-Topic] Breaking Bad was a very successful startup
Reading Breaking Bad as a startup, the author sees Walt as an entrepreneur obsessed with quality, scale, and territory. To him, taking responsibility requires sacrifices and good partners.
[Off-Topic] Lean Is Dead, Long Live Efficiency
Agile and Lean became an industry of courses, certifications, and tools that obscures their principles. The text argues for returning to basics: deliver value, avoid waste, learn, and question.
February 2014
1 article[Off-Topic] The New Generation's Dilemma: start a company or get a job?
A bad boss does not make entrepreneurship the only way out. A job offers pay, learning, and results for building a career, while starting a company without experience may just reproduce the same problem.
November 2013
4 articles[Off-Topic] Remote Work — Small Office, Home Office (SoHo)
Remote work works, but it is not a universal solution. Reviewing 37signals' book Remote, the argument is that structures between full centralization and isolation favor collaboration, mentoring, and career growth.
[Off-Topic] Tech Startups, B2C overcrowding. Boring.
The text criticizes the race toward nearly identical B2C startups and argues that B2B innovation starts with understanding corporate processes. Without that experience, the shortcut can leave a generation years behind.
[Off-Topic] Programmers Are Terrible Communicators (UDP vs TCP)
Using UDP and TCP as a metaphor, the text says programmers confuse informing with communicating. Real projects require confirming connection, context, order, understanding, and message delivery.
[Off-Topic] Agile Done Wrong
The text argues that Agile cannot save teams without technical ability and commitment. Planning, pair programming, quality, and responsibility become a performance, and bad professionals need replacing.
October 2013
4 articles[Translation] Letter to a Young Programmer Considering a Startup
In this translation by Alex Payne, startups appear as a means, not a destination: culture standardizes, VC seeks returns, and work can take a high toll on relationships. Purpose should guide the choice.
[Off-Topic] Math, Trolls, Haters, and Internet Discussions
A mathematical foundation against self-help's magic formulas: with no defined domain they just split opinions, correlation isn't causation, and isolated cases like Lean Startup prove nothing. Consensus doesn't make truth.
Rubyconf Brasil 2014 - Dates are Set!
Rubyconf Brasil 2014 already has a date and venue: August 28 and 29 at Teatro Frei Caneca, with room for more than 800 people. The Call for Papers was to open in March or April.
[Off-Topic] #noEstimates Debunked
The author separates projects from ongoing operations to defend estimates, objectives, and constraints in projects. To him, constraints drive innovation, but competent execution matters more than any methodology.
August 2013
13 articlesRubyconf Brasil 2013: Meet Luis Cipriani
Luis Cipriani explains how Rails developers can gradually learn HTTP caching, starting with basic headers. For the future, he highlights the Semantic Web, machine learning, information retrieval, and distributed databases.
Rubyconf Brasil 2013: Meet Carlos Galdino
Carlos Galdino presents Rubinius to explain how a Ruby implementation processes code under the hood. He also advocates functional programming for handling concurrency and parallelism more effectively.
[Off-Topic] Estimates Are Promises. Promises Must Be Kept.
The author argues that software estimates are promises, not predictions, and that keeping them requires responsibility for communication, negotiation, time, and obstacles, as well as code.
Rubyconf Brasil 2013: Meet William PotHix
William Molinari explains how Locaweb built its cloud with Ruby and Rails to handle hypervisors, firewalls, and DHCP, and sees Docker as a promising foundation for tools like flynn.io.
Rubyconf Brasil 2013: Meet Bruno AbstractJ
Bruno Oliveira presents Ruby cryptography for ordinary developers, covering fundamentals, common mistakes, complex APIs, and Krypt, and recommends following CVEs, NIST, libsodium, and Blake2.
Rubyconf Brasil 2013: Meet Danilo Sato
Danilo Sato explains why software design remains valuable even as languages and frameworks change. To escape obsolescence, he says, you must keep learning and study the past.
Rubyconf Brasil 2013: Meet Eduardo Shiota
Eduardo Shiota presents modular, event-driven architecture in JavaScript and argues for fundamentals, reusable code, and testing, without getting stuck on framework trends or a specific library.
Rubyconf Brasil 2013: Your first time in São Paulo, Brazil
A guide for foreigners attending Rubyconf Brasil 2013 covers weather, outlets, prepaid SIM cards, official taxis, safety, traffic, and the subway. Staying near Paulista makes São Paulo easier to explore.
Rubyconf Brasil 2013: Meet Hongli Lai
Hongli Lai presents Passenger 4 and argues that practice, formal fundamentals, and curiosity matter more than talent. Testing, CI, and operational automation are practices that last.
Rubyconf Brasil 2013: Jaime Andrés Dávila
Jaime Andrés Dávila uses semiotics to introduce DCI from scratch and explain why design patterns exist, without treating them as universal solutions. He also bets on OWAs and hypermedia APIs.
Rubyconf Brasil 2013: Meet Caike Souza
Caike Souza shows how to reduce the friction of joining an existing Rails project, from environment problems through the first deploy. He also recommends reading good code and following EdTech.
Rubyconf Brasil 2013: Meet Pablo Astigarraga
Pablo Astigarraga revisits MVC’s history, the problems it solves, and its current limits. He also shows how Docker and Dokku enable your own PaaS with deploys through git push.
Rubyconf Brasil 2013: Meet 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.
July 2013
2 articles[Off-Topic] Comfort Zone: Taking to the Streets Isn't the Only Solution
The author criticizes turning complaints about pay, conditions, or investment into a strategy and argues for taking on hard problems, because personal effort can create room for innovation there.
Predictably Irrational
Drawing on Dan Ariely, the author introduces Behavioral Economics to show how prices, dishonesty, and placebos expose predictably irrational decisions, something essential for anyone who manages people.
June 2013
3 articlesIntroduction to Agility
Robert Martin recounts how XP, Scrum, and Crystal converged at the 2001 Snowbird meeting into the Agile Manifesto. Akita warns against dogmatic process and consultancies that put method ahead of people and customer value.
Processes, Methodologies, and the Human Brain
The author explains how emotion, randomness, and pattern-seeking create superstitions and false recipes for success. In projects, methodologies are techniques to test and adapt, and none of them holds as a universal truth.
What Does It Mean to Be a Manager?
Henry Mintzberg treats management as a practice, not a science or profession: good managers combine art, craft, technique, and experience to act according to the context.
May 2013
6 articles[Off-Topic] A View from the Past About the Internet
A 1996 text revisits the Internet’s origins, users, and services, while following the arrival of advertising, e-commerce, and security protocols for online shopping.
[Off-Topic] A View from the Past About the Internet
Recovered from a 1996 Word file, the text reveals how the Internet was understood at the time, from demographic research and online ads to digital shopping and the promise of virtual reality.
Processes and Methodologies Won't Help You
Processes and methodologies don’t create good developers. The text argues for continuous practice and competent professionals first, then techniques and processes that can extend their work.
[Translation] Standards: excellence vs. mediocrity
Reporting on an exercise at Toyota, Jason Yip shows that the standard was the champion’s time: four seconds. The text contrasts standards that limit with those that drive excellence.
[Off-Topic] People: Rational Animals? The id and ego in marketing
Neuroscience suggests that emotions influence decisions before we rationalize them. From there, the text argues that marketing should trigger desire and then offer reasons to justify it.
Brazilian Portuguese Can Confuse Us: Standard vs Pattern
In programming, default, pattern, and standard can all become “padrão” in Portuguese, but they mean different things: a preselected choice, a recurring solution, and a norm used as a reference.
April 2013
1 article[Translation] Estimation — The Best We Can Do
Ron Jeffries argues for estimates as ranges of cost and velocity, used to test risks, make decisions every two weeks, and guide the product without becoming a promise or negotiation.
March 2013
1 article[Off-Topic] Most people said they'd use my product. Will it work? No!
An online survey with 70% favorable responses doesn’t validate a product: a biased sample, leading questions, and shallow analysis can turn numbers into meaningless conclusions.
January 2013
1 article[Off-Topic] The World Today Is Very Good! Happy 2013!
Using data from Gapminder, Hans Rosling, and Steven Pinker, the author argues that the world has improved in longevity, poverty, and violence, while criticizing alarmism and guilt tied to donations.
December 2012
1 article[Off-Topic] A Vent III, Reflecting on 2007
Revisiting his 2007 writing, the author argues that consulting requires continuous learning, autonomy, responsibility, and financial health. The problems of 2012 put that model to the test.
November 2012
1 articleStartup Journey 2012
Six accounts document a trip through San Francisco, Amsterdam, Berlin, and Tel Aviv to meet companies and people and explore different technology startup ecosystems.
September 2012
4 articles_Why, Ruby Dramas, and Dynamiting Courtlandt
Comparing _Why to Howard Roark, the author defends independent creation and interprets the programmer’s disappearance as a reaction to people who tried to control his work.
_Why Documentary at Rubyconf 2012, Denver
The author presents the trailer for a documentary about _Why, recalls his influence on the first Ruby generation and virtual disappearance, and shares an unexpected email he received from him.
Ruby is Beautiful? What is Beauty?
Based on a talk by Richard Seymour, the author argues that beauty isn't a choice between form and function: it's felt, and depends on knowledge and experience.
RubyConf Brasil 2012 - It's a Wrap!
The closing celebrates five years of RubyConf Brazil and records its largest edition yet, with 750 attendees in person, 500 online, 31 talks, and 36 speakers.
August 2012
1 article[Off-Topic] The Myth of the "Legacy"
The author criticizes automatically rewriting legacy systems and tells how he fixed an ASP with DCOM in two weeks, preserving the code and winning the client a new project.
July 2012
2 articles[English] Minimal I18n with Rails 3.2
The author adapts his two-part tutorial on minimal i18n with Rails 3.2 into English, using a demo application hosted on Heroku and code published on GitHub.
Registration are Open for Rubyconf Brazil 2012
RubyConf Brazil 2012 opened registration at R$150 through July 31, or R$120 in Locaweb's promotion. The event will have 33 speakers in São Paulo on August 30 and 31.
May 2012
2 articles[Off-Topic] Great Artists Steal
Starting from a phrase attributed to Picasso, the author argues that artists and developers begin by copying techniques, advancing only when practice helps them adapt, refine, and make them their own.
[Off-Topic] Reading with subtitles over Kanjis in Japanese webpages
Rikaichan, Furigana Inserter, HTML Ruby, and Mecab can add hiragana or katakana readings to Japanese webpages. The combination helps reading, but Furigana must be disabled to use Rikaichan.
December 2011
1 article[Off-Topic] New Year's Message — Philosophy
Drawing on Ayn Rand and Leonard Peikoff, the author defends capitalism as a moral issue: entrepreneurs should judge ideas rationally, not deceive the public, and recognize allies and enemies.
November 2011
1 article[Journey to Japan #3] Exclusive Video Interviews
Fabio edits and publishes five interviews from RubyKaigi 2011 with central figures in Japanese Ruby, including Matz. The interview with Matz has impaired audio because of bar noise.
September 2011
1 articleRubyConf Brazil 2011 is coming!
Fabio releases the beta RubyConf Brazil 2011 site, scheduled for two days in São Paulo, and opens its code on GitHub for forks, contributions, and community comments.
August 2011
1 article[Journey to Japan #2] The Final RubyKaigi
Fabio recounts how RubyKaigi 2011 exceeded his expectations with community translation, sessions, and keynotes by Aaron Patterson and Matz, before pausing to reorganize the event.
July 2011
2 articles[Journey to Japan #1] Exploring Tokyo City
On his first trip to Japan, Akita describes Tokyo through a Brazilian nikkei's experience: punctual transit, safety, urban spaces, customs, pop culture, and the clash between expectation and reality.
Upcoming: Journey to Japan
Akita announces accounts of his first visit to Japan, his grandparents' homeland, where he attended RubyKaigi 2011 and became the event's first South American speaker.
May 2011
1 article[Off-Topic] Opinions, Truths, Democracy and Ethics
Akita separates opinion from truth and democracy from anarchy: teams can decide how to implement a strategy, but must respect inviolable principles, professional ethics, and the client's outcome.
April 2011
4 articles[Off-Topic] Mea Culpa: Democratic Organizations Don't Work
After revisiting his defense of democratic organizations, Akita concludes that companies belong to owners and shareholders, while teams help implement strategy within defined limits.
[Objective-C] Distributing your Static Library
Akita shows how to configure targets in Xcode 4, use lipo to combine ARM and i386 binaries into a Universal Binary, and distribute a static library with headers in a reusable ZIP for iOS apps.
[Objective-C] Categories, Static Libraries and Gotchas
While testing an Objective-C static library, Akita finds categories missing at runtime and fixes the linker problem with -all_load on targets that depend on the library.
[Objective-C] It's a Unix System! I know this!
Akita uses strftime and CocoaOniguruma on iOS to create date and regex helpers with Ruby-like syntax, showing how to integrate C libraries into Objective-C without a complex bridge.
February 2011
3 articles[Off-Topic] Demystifying the "Evil" Microsoft
While translating a libertarian defense of Microsoft in its antitrust case, the author argues that vague laws give government arbitrary power and that the company's dominance came from competition, not coercion.
[Off-Topic] The Fountainhead: Howard Roark's Defense
After watching the 1949 adaptation, the author publishes Howard Roark's final speech with subtitles, Ayn Rand's defense of individualism against altruism, conformity, and servility.
[Off-Topic] Atlas Shrugged: Is Money the Root of All Evil?
Drawing on Francisco D'Anconia's speech in Atlas Shrugged, the author presents money as the result of production and reason, while condemning wealth gained through coercion, fraud, and favors.
January 2011
1 article[Documentary] The iPod Revolution
The author subtitles The iPod Revolution, a documentary summarizing Apple's recovery from 1997 to 2006, Steve Jobs's return, the iPod, and iTunes, and compiles videos on the iPhone, iPad, and other milestones.
September 2010
1 articleRubyConf Brazil is Coming up!
The author announces RubyConf Brazil 2010 at Frei Caneca, with tickets starting at R$150, a free introductory class from Caelum, and 24 speakers, as organizers aim for over 700 attendees.
June 2010
5 articles[Off-Topic] Jeff Patton and Megan Fox in the same post?
For his talk at Wire 2010, the author recreated Jeff Patton's iteration-and-increment example on video, replacing the article's pixelated image with a more polished version.
[RailsConf 2010] - Video Interview - David Hansson
In a relaxed conversation lasting almost 24 minutes, David Hansson talks about Rails 3, his time in Brazil, Rework, people management, entrepreneurship, and Ricardo Semler.
[RailsConf 2010] - Video Interviews - Part 2
The second part features four Ruby Heroes and their contributions: Aaron Patterson on parsers, Gregory Brown on Prawn, Nick Quaranto on Gemcutter, and Wayne Seguin on RVM.
[RailsConf 2010] - Video Interviews - Part 1
With the Flip Mino HD battery dying along the way, the author recorded 11 interviews at RailsConf 2010, starting with Ben Scofield, James Golick, Carl Lerche, and Santiago Pastorino.
[RailsConf 2010] - Video Interview - Robert Martin (English)
In a 16-minute interview, Robert Martin discusses languages, careers, certifications, and Agile, and explains why hardware advanced 25 orders of magnitude without equivalent progress in languages.
April 2010
1 article[Off-Topic] The Humble Programmer, by Edsger W. Dijkstra
Dijkstra argues for humility before the difficulty of programming: avoid bugs from the start, use abstractions and modest languages, because no tool eliminates complexity.
March 2010
1 article[Off-Topic] Penn & Teller and Larry Flynt, on Freedom
Flag burning and Hustler v. Falwell show that free speech protects even offensive symbols and satire against the government. The author extends this principle to companies.
February 2010
1 article[Off-Topic] Wake up Call
Starting with Up in the Air, the author recalls that jobs are not permanent: do good work without accepting abuse, stay loyal to yourself, and find a purpose.
January 2010
5 articles[Off-Topic] Reading the Agile Principles
The 12 Agile principles need to be read together: delivering value quickly does not excuse quality, simplicity, collaboration, or continuous improvement. The Manifesto is not a ready-made recipe.
[Off-Topic] Companies, People, Success
Apple, Buffett, and Niederhoffer show how luck and context distort success stories. For the author, retrospective recipes cannot be replicated, and companies should make money sustainably.
[Off-Topic] Who's the Idiot?
India's failed birth-control effort came from a misunderstood cause: without retirement, sons served as insurance for old age. Understanding why changes the solution.
Off-Topic: Literature for Agile Managers
Reading for Agile managers includes complex systems, chaos, and evolution. The thesis is that Agility requires studying principles and context, not copying recipes from Lean, Scrum, or manufacturing.
[Off Topic] Dunbar and Cross Functional Teams
In Dunbar's experiments, a multidisciplinary lab solved in 10 minutes a problem that E. coli specialists had spent weeks trying to overcome. Debate and metaphors make new ideas emerge.
December 2009
2 articles[Off Topic] Watch Out for Kanban-butt
Kanban is a technique from the Toyota Production System, not a synonym for Lean or a complete methodology. In non-repetitive software, understanding why comes before applying the tool.
[Off-Topic] You Don't Understand Anything About Scrum
Scrum's origins lie in complex adaptive systems, self-organization, and the studies of Takeuchi and Nonaka. Scrum, XP, and Lean share roots and should be understood through their principles.
November 2009
6 articles[Off-Topic] Restaurants and Technology
The restaurant analogy separates companies whose core business is technology from those that merely use it for support. In the former, programmers should experiment and create tools, as at GitHub.
Chatting with Adam Jacob
Adam Jacob and Jesse Robbins explain how Chef began, defend its Ruby-based flexibility, and show how the tool balances automation, scalability, and agility in Web Ops.
Chatting with Luke Kanies
Luke Kanies explains why he created Puppet, how its abstraction of resources and dependencies simplifies heterogeneous configurations, and why ITIL can become a checklist without solving problems.
[Off-Topic] Obedience to Authority
Drawing on Asch and Milgram, I argue that conformity and obedience weaken Agile teams and advocate decentralized organizations, with leaders and architects recognized through merit.
[Off-Topic] Cell Phones and Airplanes
I argue that cell phones do not bring down airplanes and interpret the warning to turn off electronics as a way to keep passengers attentive during critical moments of the flight.
[Off-Topic] The Problem of Credentials
I question using certifications, titles, and celebrities as shortcuts for validating ideas, show common decision-making fallacies, and argue for testing arguments with skepticism.
September 2009
4 articles[Off-Topic] Thinking Makes You Better
Pair programming needs an active pilot and co-pilot, Agility is accountability, and the Spolsky versus Bob Martin spat becomes a case for testing Agile practices, grasping their reasons, and refusing dogma.
[Off-Topic] The Argument from Intimidation
Ayn Rand's translation identifies argument from intimidation as a fallacy that replaces reasons with fear and guilt, defending evidence and carefully examined premises.
[Off-Topic] Man's Rights
Ayn Rand's translation defends individual rights as the foundation of freedom and capitalism, limits government to protection against force, and rejects economic rights requiring others' labor.
[Off-Topic] The Cult of Gray Morality
Commenting on Ayn Rand's The Cult of Gray Morality, the author distinguishes honest error from deliberate omission and criticizes those who use ambiguity to evade moral judgment.
August 2009
1 article[Off-Topic] The Damn Regulation Law Is Back!
The author criticizes PLS 607/07 for restricting systems analyst jobs to degree holders, leaving enforcement unclear, and threatening self-taught developers and the free market.
July 2009
8 articles[Off-Topic] All Marketers Are Liars
Seth Godin advocates marketing built on stories and genuinely different products, not checklists. The author applies the idea to Apple, the iPhone, and how Rails spread in Brazil.
[Translation] What Makes a Good Programmer?
Two translations argue that good programmers prioritize usability, responsibility, collaboration, and delivery. The second adds creative laziness and the humility to ask simple questions while debugging.
[Off-Topic] Bought My First Mac — Now What?
The author offers guidance for first-time Mac owners, covering shortcuts and Finder, apps, security, virtualization, and development. Adapting means leaving Windows habits behind.
[Off-Topic] Intervene or Not? The "Catch-22" of Co-Pilots
Drawing on airplane accidents, the author adapts the PACE protocol for software teams: ask, alert, challenge, and intervene when a manager ignores serious risks.
[Off-Topic] Reference Books 2008-2009
A reading list on Lean, Agile, management, complexity, and science reveals the path that led the author to connect self-organization, continuous learning, and democratic organizations.
[Off-Topic] Agility, Chaos, Self-Organization
The text connects Agile with complex systems, chaos, emergence, and power laws. The thesis is that organizations learn and innovate best at the edge of chaos, though provoking disorder carries risks.
[Off-Topic] Negotiable Scope Contract
The author contrasts fixed- and negotiable-scope contracts: trying to freeze uncertainty turns problems into disputes and losses, while prioritized deliveries and collaboration reduce risk.
[Off-Topic] Authority vs. Responsibility
The author argues that separating authority from responsibility dooms processes to failure. Teams accountable for results should decide how they work, with specialists serving as consultants.
June 2009
2 articles[Off-Topic] Standards, Commodities, and Innovations
Apple and Zara illustrate a Lean view: rethinking standards, reducing waste, and producing to demand can increase delivered value and reduce stuck inventory.
[Translation] Advice for Software Development Managers
Gerald Weinberg shows how blame culture and incongruent communication sabotage projects, while congruence improves problem-solving. Change happens through six stages.
May 2009
9 articles[Off-Topic] The 5 Team Dysfunctions in Code
Five team dysfunctions appear in anti-patterns such as null checks, duplication, untested code, and hard-to-understand solutions. Isolated techniques cannot fix a command-and-control organization.
RailsConf 09 - Ninh Grosenbach Bui
RailsConf 09 mixes technology and fun, featuring Ruby and Rails community names and Rubystein, a Ruby game Phusion used to show the language was fast enough.
RailsConf 09 - Message from Bryan Liles (TATFT) to Brazil
Bryan Liles presents Test All The Fucking Time, the motto that became a RailsConf catchphrase, and records a direct message for Brazilian programmers.
RailsConf 09 - Exclusive Audio Interviews
RailsConf interviews feature Chef, Spree, Scout, Heroku, Maglev, and PostRank, covering system configuration, e-commerce, monitoring, deployment, Ruby execution, and social metrics.
RailsConf 09 - Message from Peter Cooper to Ruby Inside Brazil
Peter Cooper sends a message about Ruby Inside Brasil, a branch created by Railers to cover Ruby and Rails news in the country and abroad.
RailsConf 09 - DHH - The Secret of Productivity
David Heinemeier Hansson revisits Rails' evolution and critics, previews Rails 3 features, and sums up productivity as the consistent application of basic Agile principles.
RailsConf 09 - Uncle Bob - Professionalism
Robert Martin answers whether it is possible to be too professional and turns the question into a simple explanation of professionalism. The post also points to the full keynote.
RailsConf 09 - Uncle Bob Martin
Robert Martin closes the day at RailsConf with a keynote, and Akita records part of it before asking Uncle Bob for quick advice to Brazilians who still do not understand TDD.
Going to RailsConf 2009
Akita travels from Brazil to Las Vegas for RailsConf 2009, dealing with a distant hotel and a possible MacBook repair. His focus is talking, interviewing, and meeting as many people as possible.
April 2009
1 articleOff-Topic: Should I Go to College?
Fabio concludes that a good college can accelerate learning and shape talent, but does not determine success: disciplined people can learn on their own too.
March 2009
1 article[Off-Topic] Net Negative Producing Programmer
Fabio introduces NNPP, the programmer who creates losses by accumulating technical debt or becoming a single point of failure, and distinguishes this profile from juniors willing to learn.
February 2009
1 articleTranslation: Flaccid Scrum
A translation of Martin Fowler's 'Flaccid Scrum': adopting Scrum without technical practices sinks the team into a messy codebase. Notes on testing, refactoring, frequent integration, and collective ownership.
December 2008
2 articlesTranslation: Technical Debt
Translation of Steve McConnell's classic article on technical debt: accidental vs. strategic debt, the interest that shortcuts charge, and why every debt belongs in the backlog.
Off-Topic: Scientific Method vs Cargo Cult
Cargo culting is repeating structures without understanding why. The fix is testing hypotheses with throwaway prototypes. At YellowPages, four months of prep kept four months of coding from becoming twenty.
November 2008
6 articlesQCon Special - Signing Off
Wrapping up QCon, Fabio points to functional programming, non-relational databases, and Agile as strong trends, and learns about Engine Yard’s scalable service planned for Rails and Merb.
Rails Podcast Brasil, QCon Special - Ola Bini (JRuby, Ioke)
Fabio interviews Ola Bini in nearly two hours on many paradigms and languages. Before introducing Ioke, a prototype-based dynamic language for the JVM, they explore a world beyond Java and C#.
Rails Podcast Brasil, QCon Special - John Straw (YellowPages.com) and Matt Aimonetti (Merb)
John Straw recounts rewriting 150,000 lines of untested Java into about 13,000 lines of Rails with nearly 100% coverage, after four months of preparation. Matt Aimonetti presents Merb and its Hello World benchmark.
Rails Podcast Brasil, QCon Special - Nick Sieger (JRuby) and Francesco Cesarini (Erlang)
Nick Sieger explains Rails on JRuby and Rails 2.2’s connection pool. Francesco Cesarini introduces Erlang, functional programming, concurrency, and scalability, topics Fabio considers important to the future.
Rails Podcast Brasil, QCon Special - Jan Lehnardt and Chris Anderson from CouchDB
Fabio talks with Jan Lehnardt and Chris Anderson about CouchDB and CouchRest. He argues for document-oriented databases in specific scaling cases without abandoning SQL, and considers CouchDB production-ready.
Rails Podcast Brasil, QCon Special - Yehuda Katz
In a special QCon episode, I interviewed Yehuda Katz about Merb, DataMapper, and modularity. He contrasts Merb’s architecture with Rails’ vision, but sees the disagreement as productive debate.
October 2008
2 articlesOff-Topic: Understanding the Economic Crisis
Drawing on Taleb and the financial crisis, the author explains why past data cannot prove theories. It can show an idea is false, while Black Swans expose its limits.
Off-Topic: The Agile Manifesto, or How to Become Google
Agility comes from philosophy, trust, and self-organizing teams; methodology alone won't do. From the Agile Manifesto to Conway, Pareto, Wikipedia, and Google: why open source culture breeds innovation.
September 2008
2 articlesChatting with Joshua Peek
Joshua Peek explains how he joined Rails Core after making Rails 2.2 thread-safe during Google Summer of Code. The interview covers modest MRI gains, JRuby improvements, and caches preloaded at boot.
Off-Topic: The Power of Myth, Redux
Self-help, certifications, and canned methodologies promise to manufacture leaders. The argument: leaders make themselves through self-teaching, merit, and real challenges; the magic recipe takes the credit.
July 2008
2 articlesOff Topic: Why Programmers Should Play Go
A Jon Dahl translation: Go has simple rules and near-infinite complexity, and shapes, proverbs, and joseki mirror design patterns, agile principles, and programming exercises.
Chatting with Luis Lavena (Ruby on Windows)
Luis Lavena explains why maintaining Ruby on Windows involves CRT, MinGW, C extensions, and RubySpecs. RubyInstaller already runs Rails, but the project needs more contributors.
June 2008
1 articleChatting with Blaine Cook (Twitter)
Blaine Cook separates performance from scalability, explains Twitter’s asynchronous architecture and the cost of sharding. In his view, scaling problems are rarely Rails’ fault.
May 2008
3 articlesOff-Topic: Bleeding for Rails! Part 2
After taking a bus to Niterói and enduring an exhausting day, the author picked up his passport at 7:05 a.m. With the paperwork in hand, he started scrambling for flights and lodging for RailsConf.
Off-Topic: Bleeding for Rails!
With no passport slots in São Paulo, the author went to Niterói, donated blood in an anti-dengue campaign, and got an appointment with the Federal Police. RailsConf was possible again, in a rush.
Chatting with Hongli Lai and Ninh Bui (Phusion)
Hongli Lai and Ninh Bui explain how Phusion Passenger simplifies Rails deployment, shuts down idle processes, and matches or outperforms Mongrel clusters. Ruby Enterprise Edition saved 33% of memory on average.
April 2008
4 articlesChatting with Chris Wanstrath (Err the Blog/Github)
Chris Wanstrath explains why he created GitHub to make open source contributions easier and reveals the platform’s architecture, with Git, SSH, memcached, background jobs, and a feed of nearly 1 million lines.
Off Topic: Let's All Stop the Regulation of the Systems Analyst Profession
The author criticizes regulating systems analysts by comparing software with high-risk professions. To him, degrees, councils, and bureaucracy do not guarantee quality and may still block good professionals.
Off Topic: Never Trust TIOBE
Examining TIOBE’s formula, the author shows how search-engine hits, duplicates, and noise distort the measurement. The index therefore cannot support reliable conclusions about language growth.
Off-Topic: Google App Engine and Cloud Computing
From self-hosting to co-location, VPS, AWS, and Google App Engine: the appeal of elastic on-demand resources and the price of adapting an application to paradigms that make future migration harder.
March 2008
1 articleOff Topic: We Are Mathematically Illiterate
While translating Bruce Martin, the author uses birthdays, presidents, sports, cards, and π’s digits to show that patterns naturally emerge in random data and do not prove supernatural causes.
February 2008
3 articlesChatting with Scott Hanselman
Scott Hanselman talks about his career, diabetes, and Microsoft tools. He sees ASP.NET MVC as a testable alternative to WebForms and attributes most Vista crashes to third-party drivers.
Chatting with Evan Phoenix
Evan Phoenix presents Rubinius, a Ruby VM inspired by Smalltalk and written almost entirely in Ruby. The interview covers generational GC, FFI, compatibility, and the plan for multiple VMs.
Translation: I Don't Know What I Want, But I Know How to Get It
The translation separates iterative development, which expects a solution to be validated and changed, from incremental development, which adds functionality. The point is to plan room to discover, refine, and discard.
January 2008
4 articlesOff Topic: "I Am Legend" - TERRIBLE!
The review considers I Am Legend’s opening strong, but rejects the monsters, Richard Matheson’s shallow adaptation, and the religious third act. For the author, the movie completely falls apart.
Chatting with Hal Fulton
Hal Fulton recalls how Ruby won him over with dynamic typing and consistency, discusses The Ruby Way, and recommends playing around and reading code. He also warns that metaprogramming can be misused.
Chatting with Peter Cooper
Peter Cooper tells how he created Ruby Inside, sold Code Snippets and Feed Digest, and wrote Beginning Ruby. He argues for the right tool for each job and sees truth in Zed Shaw’s criticism.
Chatting with Adrian Holovaty
Adrian Holovaty explains how demands from news sites led to Django and its high-level abstractions, such as site admin and Databrowse, while also discussing data and EveryBlock.
December 2007
2 articlesChatting with Avi Bryant - Part 2
Avi Bryant defends Smalltalk’s pragmatic simplicity, estimates that Ruby could be up to 25 times faster, and explains how Seaside uses continuations and components.
Chatting with Avi Bryant - Part 1
Avi Bryant recounts moving through Objective-C and Ruby before creating Seaside and Dabble DB, and explains why Smalltalk’s maturity and environment make him more productive.
November 2007
1 articleChatting with John Lam (IronRuby)
John Lam explains how IronRuby uses the DLR to run Ruby on .NET, prioritizes compatibility with MRI 1.8 and Rails, seeks CLR interoperability, and beats MRI in benchmarks.
September 2007
1 articleTranslation: Counting Is a Waste of Time
The translation criticizes counting tasks, estimates, and hours when those numbers do not guide decisions. A case involving 20 to 25 tasks a day exposes the waste of measurement.
August 2007
5 articlesOff Topic: Pale Blue Dot
An image of Earth captured by Voyager 1 inspires Carl Sagan to reflect on our fragility and responsibility, while the author recommends Cosmos as a legacy for raising curious children.
Off Topic: Enemies of Reason
Inspired by Richard Dawkins and Carl Sagan, the author argues for evidence, skepticism, and personal responsibility against dogma, superstition, and irrational disputes between technologies.
The Sunk Cost Fallacy
A movie ticket illustrates the sunk cost fallacy: money already spent should not decide the next step, whether you are judging a movie, a software license, or an architecture.
AkitaOnRails, Retrospective 1985-2007
The author revisits his path through computers, languages, and projects before reaching Rails and working for himself, arguing for continuous learning, curiosity, and non-dogmatic decisions.
Chatting with Jamis Buck
Jamis Buck tells how he moved from Java to Ruby, joined 37signals, and created Capistrano to run deployments across multiple servers. He also explains the name change and the limit for Windows destinations.
July 2007
1 articleChatting with Carl Youngblood
Carl Youngblood discusses his time in Brazil, BBSes, multiple languages, and arrival at Rails, showing how SBN, RailsConf, and Confreaks brought his work closer to the Ruby community.
June 2007
3 articlesChatting with Ola Bini (JRuby Core Team Member)
Ola Bini explains joining the JRuby Core Team, the challenges of compatibility with MRI and C extensions, using JRuby in Rails and Mingle, and why learning different languages makes better programmers.
A Rant, Part II
After leaving a consultancy that delayed payments, the author recommends staying liquid, learning continuously, and preparing an exit when signs of crisis appear, without trusting visionary bosses’ speeches.
Off Topic: Steve Jobs, Stanford Commencement Speech, 2005
In his Stanford speech translation, Steve Jobs connects chance, being fired, and illness to life’s choices. The message is to follow curiosity, work you love, and your own intuition.
May 2007
2 articlesChatting with David Black
David Black tells how he stumbled across Ruby, helped create Ruby Central, and left academia for training and consulting. To him, Rails requires truly understanding Ruby.
Chatting with Chad Fowler
Chad Fowler recounts moving from music to Ruby, creating Ruby Central, and writing his books. He sees Rails reaching traditional companies but warns against a closed, defensive community.
April 2007
3 articlesChatting with Geoffrey Grosenbach
Geoffrey Grosenbach recounts finding Rails, taking over the Rails Podcast, and creating PeepCode. The conversation covers self-teaching, open source, continuous learning, and small software businesses.
Chatting with Dr. Nic
Dr. Nic explains how he created Magic Models, Newgem, and Magic Multi Connection to solve real problems. He argues for extracting features from Rails core and sharing solutions through open source.
Off Topic: Be Arrogant!
The author turns “be arrogant” into a demand for competence: saying yes means studying and delivering. His journey with English, movies, audiobooks, podcasts, and feeds shows how he practices it.
March 2007
1 articleOff Topic: A Rant
The author criticizes careers stuck in forms, complaints, and technologies chosen only for salary. His answer is continuous learning, exploring systems, and contributing to open source projects.
February 2007
1 articleGetting Real Translation - Release Candidate 2 Launch
The Brazilian Portuguese translation of Getting Real reaches Release Candidate 2 with all 16 chapters translated and half the review complete. The public version comes before the final launch attempt.
January 2007
3 articlesOff Topic: "Here's to the crazy ones ..."
The Think Different ad marked Apple and Steve Jobs’ comeback, celebrating people who challenge rules and change the world. The author links that defense of creatives to a possible Rails and 37signals manifesto.
Off-topic: MacWorld 2007 - Steve Jobs Announces the Long-Awaited iPhone!
At MacWorld 2007, Steve Jobs introduces the iPhone as an iPod, phone, and internet communicator in one device, with a multitouch screen, OS X, Safari, Wi-Fi, and a camera. The US launch is planned for June.
Off-topic: MacWorld 2007 - Steve Jobs Keynote
Before the 2007 MacWorld keynote, rumors about the iPhone, Leopard, new Macs, and Apple TV heighten an unusual level of anticipation around Steve Jobs and Apple.
October 2006
1 articleKathy Sierra: Dilbert and the Zone of Mediocrity
Kathy Sierra describes the zone of mediocrity, the space of safe products nobody loves. Quoting Scott Adams, she argues for risking passion. Escaping means silencing the voice that kills ideas early.
September 2006
1 articleEvolution Through Competition
The author argues that criticism and competition drive technology forward. In Rails, limitations around internationalization, legacy systems, and asynchronous tasks have already encouraged community solutions.
April 2006
2 articlesRails Manifesto
The author presents Rails as an agile alternative to J2EE’s complexity, built on DRY and Convention over Configuration. The idea is to make Web applications simple and easy to adapt.
Welcome
Brazil’s Ruby on Rails community begins organizing to learn the platform despite the lack of Portuguese material and resistance from the market. The transition from Java will be gradual.