Jesús Burgos Maciá

I'm a programmer.
I solve problems, if you don't have problems I can make them.

Nov 18, 2020

Focus on what's important

At any point in your career as an engineer, it’s healthy to ask yourself what is the next step you need to take to become better. In the early stages,...

Jul 22, 2019

Ruby, I love you but you're bringing me down

Ruby is great, I find it super expressive and concise. But sometimes you find corner cases which are very hard to explain. During an interview on the philosophy of Ruby,...

Jul 1, 2019

I just made Ruby++

I wanted to write a loop in Ruby, to show all numbers from 0 to 10: i = 0 while i < 10 puts i i++ end The above seems...

Jun 24, 2019

Buggy calendar systems

Today I want to write about a confusing yet intended behavior of Ruby dates: # Let's create a date object, sometime in the 16th century... d = Date.new 1582, 10,...

May 24, 2019

First week at Recurse Center!

Today I’m finishing my first week at RC. Yay! I’m struggling to get used to this, which I guess means that I needed to go through this experience. The fact...

Dec 15, 2018

Crackle Pop!

I was recently challenged to write CracklePop in any language of my choice, here’re the program specifications: Write a program that prints out the numbers 1 to 100. If the...

Nov 15, 2018

Summary of Dropbox gems

Some time ago I wrote the dropbox_api gem, this is a client for Dropobox’s API. I wasn’t the first one to write a gem for Dropbox, and currently there’re a...

Aug 11, 2018

Ruby through time

When Yukihiro Matsumoto created Ruby in 1993, performance wasn’t one of the highest priorities. He had one main goal in mind: For me, the purpose of life is, at least...

Apr 4, 2018

Code duplication

There’s a very common rule, specially amongst Ruby programmers, to avoid repeating code. This is called DRY, or Don’t Repeat Yourself. This is one of the first concepts you learn...

Mar 8, 2018

Google Hashcode

Last week, my brother and I participated in Google’s Hashcode. It’s a programming contest with just two rounds: The first round is online, around 5000 teams try to solve an...

Feb 25, 2018

Git bisect

Bugs are sometimes difficult to fix and it’s always good to know the tools available to hunt them. Today I’m presenting git bisect. You’ll find it useful in scenarios like...

Feb 5, 2018

Four almost equal methods

Let’s explore the different ways we can compare objects in Ruby. We’ll investigate the implementation of the following: Equality, or ==. Case Equality, or ===. eql? equal? For conciseness, I’ve...

Jan 22, 2018

Set the bar reasonably high

For the first time, I want to write about something totally non-technical. The reason why I started writing this blog was because I wanted to become a better programmer so...

Jan 9, 2018

Leaky abstractions

It’s said that an abstraction is leaking when part of the complexity it’s supposed to hide sneaks into the surface, exposing it in some way. Rational numbers as an example...

Dec 24, 2017

Bib detection

I’ve completed my first sort-of-useful AI program. Woo hoo! So here’s how to build a program to identify and recognize bib numbers in three simple steps: Train a model to...

Dec 15, 2017

What is a neural network?

So this’ll be another article about neural networks on the Internet. So why another one? I think most of the articles are either too shallow or too technical. This won’t...

Dec 9, 2017

Duck typing

When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck. – James Whitcomb Riley...

Nov 23, 2017

Private & protected methods

I’ve been using private and protected methods in Ruby for years, I always knew that these scope definitions weren’t exactly as you may expect if you come from other languages....

Nov 16, 2017

Javascript hoisting

Computers often surprise me. Going down the road of understanding all the small details of programming languages, today I’m writing about javascript hoisting. Let’s start by trying to guess what...

Nov 9, 2017

The symbol to proc operator, or not?

Some time ago I used to think that the & unary operator in Ruby could be used to create a Proc object. It turns out I was slightly wrong. I...