☄️ Thiago Araujo

You want to become a great ruby or elixir developer, but there are lots to learn! Follow me and I’ll help you write professional Ruby on Rails and Elixir Phoenix applications.

red and black pattern

How to pick your first Rails Issue and start contributing to Open-Source

Did you always want to help an open-source project like Ruby on Rails, but never got started? Many people have the interest of contributing to open-source, myself included. I’ve done a couple of small contributions, but nothing fancy. It’s a little intimidating, right? You’re not part of the group of contributors and you don’t really know where to start. You see 800 open issues, but which one should you pick?...

May 12, 2021 · 3 min · Thiago Araujo
A black and white pattern

How should I change production data on a new Rails application?

You need to change production data. You know that doing it manually is unsafe and will definetely cause lots of trouble, like corrupting all you customer’s data. How else should you do it? You might be spending a lot of time asking yourself these questions: Is there a proper rails way to change data in production? Should I run data and schema modifications in one database migration? Should I run rake scripts in production to modify data?...

April 13, 2021 · 3 min · Thiago Araujo

hexdevs podcast

My wife and I are launching the greatest podcast in the world and a new site called hexdevs! We’ll talk about how to start a business, and how to get better at your craft. We want everyone to be more confident, successful, and smarter, so if you want to become an awesome dev, listen to our podcast and sign up for the mailing list! And stay tuned!...

July 17, 2019 · 1 min · Thiago Araujo

Generic JDBC Queries on EMR Zeppelin

The EMR (Elastic Map Reduce) service on Amazon has some nice packages that come pre-installed, and one of them is Apache Zeppelin, which is a Jupyter Notebook interface for Spark. Zeppelin has interpreters for spark, pyspark, spark-sql and others, but if you want to run spark-sql code on a PostgreSQL database, you need first to install the JDBC interpreter and add some extra configuration to Zeppelin. The JDBC adapter supports a wide variety of database engines, and it allows you to configure multiple database connections, which makes data exploration much easier....

April 3, 2019 · 5 min · Thiago Araujo

Fast ElasticSearch Indexing with Apache Spark on EMR (overview)

I’ve been building the data infrastructure for a project and I needed to efficiently query, merge, process and clean terabytes of structured data and then index hundreds of millions of documents on elasticsearch. The problem is that querying and joining data on a RDBMS like Postgres is very painful when you have more than low terabytes of data. You’re going to spend a huge amount of time tuning your database, reading query plans, adding indexes, sharding, and slowly moving data around until you have something decent that take hours, days, maybe weeks to run....

September 6, 2018 · 3 min · Thiago Araujo


An interesting quote about the unexpected effects of actions and the limitations of rationality and the planning fallacy: A net set up to catch fish may snare a duck; a mantis hunting an insect may itself be set upon by a sparrow. Machinations are hidden within machinations; changes arise beyond changes. So how can wit and cleverness be relied upon? – Back to Beginnings, Reflections on the Tao by Huanchu Daoren, translated by Thomas Cleary....

September 6, 2018 · 1 min · Thiago Araujo
xkcd: The Strong Collatz Conjecture states that this holds for any set of obsessively-hand-applied rules

Collatz Conjecture

The Collatz Conjecture is a simple mathematical problem that still has no formal proof. So it’s an open problem. This is how it works: Choose any positive integer x. While x > 0, do: if x is even, divide it by 2 (x = x/2) if x is odd, multiply it by 3 and add 1 (x = 3x + 1) The Collatz Conjecture states that no matter what value of x you start with, the sequence will always reach x = 1....

October 15, 2015 · 2 min · Thiago Araujo
Dilbert cartoon about Bureaucracy

Two Quotes About Bureaucracy

I’ve been reading the book “The Utopia of Rules: On Technology, Stupidity, and the Secret Joys of Bureaucracy”, from David Graeber, and I want to share two interesting quotes about Bureaucracy: The body of officials actively engaged in a ‘public’ office, along with the respective apparatus of material implements and the files, make up a ‘bureau.’ In private enterprise, ‘the bureau’ is often called ‘the office.’ (…) The idea that the bureau activities of the state are intrinsically different in character from the management of private economic offices is a continental European notion and, by way of contrast, is totally foreign to the American way....

April 22, 2015 · 2 min · Thiago Araujo