I'm a programmer.
I solve problems, if you don't have problems I can make them.
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,...
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,...
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...
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,...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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....
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...
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...