Decolonizing my language

One way to define personal growth is “a regular unlearning of entrenched falsehoods in favor of newly discovered realities”. For too long I have blithely used language that was built up in a culture of racial and other forms of discrimination. I intend to deconstruct it, destruct the flawed...

Why I disapprove of terms like “Code Monkey”

Originally written in 2015 in a private correspondence. In our line of work, we have a wide array of tasks that require some degree of specialization. Keeping Continuous Integration/Continuous Deployment builds green, monitoring the complexity of code, observing the trends on the Kanban wall, guarding against too many meetings,...

Secrets

Yesterday, I made a mistake that’s unfixable. I committed a database password to a public code repository. Granted, it was a password to a local database — one that can only run on “localhost” (i.e. the computer you’re working on). And it was for a small project that my...

The benefits of allyship

Why should a cis-gendered man advocate for the rights of women and LGBTQ+ people? “Be warned that if you wish, as I do, to build a society in which individuals cooperate generously and unselfishly towards a common good, you can expect little help from biological nature. Let us try...

Conference report: FOSDEM 2020

On the first two days of February, I attended and presented at the 20th edition of FOSDEM – the annual Free and Opensource Developers’ European Meeting in Brussels, Belgium. Background FOSDEM bills itself as the best Opensource conference in Europe. It has always been held in Brussels and, to my knowledge,...

Conference report: DeliveryConf

On January 21st and 22nd, I attended the inaugural DeliveryConf in Seattle Washington.  Format Over the course of two days, there were four keynote sessions1, one at the beginning and the other at the end of each day. There were 9 other speaking slots (5 on Tuesday, 4 on Wednesday)....

The year that was

The end of the (Gregorian) calendar year is an apt time to reflect upon the year that was. There are many approaches on how to do this personal retrospective; my friend Johannes Thönes captured a few of them here. Another technique that I use is an adaptation of McKinsey’s Three Horizons of Growth....

Deliberately Ugly Names

There is a humorously devilish piece of satire by Andy Yurisich that “instructs” us to give variables names like ínt, god, and LancelotsFavouriteColor – all in the pursuit of job security through inscrutable code. It’s brilliantly creative writing and I encourage you to read it; as a parody piece and not as an instruction manual....

Unit Tests

How would you define Unit Tests? That’s not a rhetorical question: I am asking (and perhaps challenging) you to come up with a crisp definition of a Unit Test. A definition that is short, is not circular, and does not need to refer to a specific programming language or...

Give me some space

My colleagues Aly Nielson and Ante Grgić recently worked on a part of a web application that required trimming strings. Their interesting and anomalous findings prompted me to write this. Quick defintions: a “string” is an array of zero or more characters. A “character” represents one symbol that has...