Jesús Burgos Maciá

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

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...