My tone doesn’t make me wrong, or how I convinced the Ruby project to fix an inconsistency

Back in 2012 I stumbled upon an inconsistency in Ruby's handling of time zones which took me a lot of discussions to get fixed, but eventually I managed to get it done. Essentially this didn't work: DateTime.strptime('0 +0100', '%s %z') The time zone part (+0100) was ignored. If you are not familiar with strptime/strftime, the … Continue reading My tone doesn’t make me wrong, or how I convinced the Ruby project to fix an inconsistency

Refactoring JavaScript promise tests

I've been writing some tests for promises in QUnit, and I noticed many areas of opportunity to simplify the code. Tests in QUnit are simple: test('error check', assert => { const error = 'Bad Request'; assert.equal(error, 'Bad Request'); }); Not so much when promises are involved: test('promise', assert => { const done = assert.async(); /* … Continue reading Refactoring JavaScript promise tests

Cambios en la distribución del ingreso en México (2018-2020)

El Producto Interno Bruto suele ser la única métrica en la que muchos se enfocan para medir el progreso económico de un país, pero cualquier análisis a cualquier nivel demuestra que no es suficiente, incluso para medir un pantalón necesitas al menos dos números. Por si fuera poco, cuando ésta métrica disminuye, muchos tienden a … Continue reading Cambios en la distribución del ingreso en México (2018-2020)