I finally got around to playing the now half‐year old Just Cause 3, and you know what that means: Time to chew gum and blow stuff up, and I’m all out of gum (no really, I am). The series’ third installment follows squarely and safely in the footsteps of its predecessor, but while it is in most respects a better game, you wouldn’t think a whole six years have passed.
Software changes at an accelerating pace. People, on the other hand, stay the same. That’s why some software engineering books are timeless classics: They speak to the human rather than the technical side of development. Robert Glass’s Facts and Fallacies of Software Engineering seems to be hailed as one such classic, and I too found this a highly rewarding read.
I recently blasted my way through the second half of Far Cry 4 after having meticulously collected and completed everything in its first half. The transition in my playing style happened when I realized that 1) much of Far Cry 4’s “unique” content is really just slight formulaic variations on the same concepts, which aren’t really that interesting in the first place, and 2) I’ve got better things to do. So here’s a ranty kind of review of Far Cry 4, which may be a bit negatively biased because I’m already grumpy about Ubisoft sandboxes’ lack of respect for my time.
The Pragmatic Programmer: From Journeyman to Master promises to make you a better programmer with around 70 concrete tips covering many different aspects of software engineering. But while I would have hoped for 70 deeply practical and thoughtful tips, many of them aren’t really that great. Pragmatic Programmer lacks depth, and its age (15 years) means that some of its tips are not nearly as helpful today.
Skyrim, Land of my Ancestors,
I write this to you now, at the turn of the era, as my bones have grown weary and old. My arms and armor, imbued with powerful magic still as potent as in my glory days, have been laid to rest throughout your lands, to be discovered by the intrepid adventurers of the next age. Only the Thu’um remains to me now.
In this forsaken place at the far end of the world, I have little save my quill and parchment. It is to these tools I now turn in my final hours on the plane of Mundus. There are things I need to tell you.
According to Socrates, “the only true wisdom is in knowing you know nothing.” In some respects then, Nassim Nicholas Taleb is very wise indeed, though judging by The Black Swan his ideas are better than his communication.
Every once in a while I recommend Telegram to my Facebook friends, mostly as a privacy‐centric alternative to Facebook Chat / Messenger. Recently a friend of mine pushed back against this recommendation, and suggested that I try out Signal instead. Incidentally, I use both, so here are some ramblings on Telegram vs. Signal.
I recently finished developing my very first WordPress widget. It’s called GR Progress, and it shows books from your Goodreads shelves together with their reading progress (which, to my knowledge, no other Goodreads or WordPress widgets can do). In this post I want to talk about how I went about “unit testing” the widget.
One of my earlier functions was a true abomination.
It was 250 lines long, accepted 18 input parameters, and was nested up to 9 levels deep with highly complex conditions at all levels. It’s not only gross; it’s horrible, and I wish it would just go away. But it does its job, and I would need to put in significant effort in restructuring the whole program if I wanted to do something about it. And you can bet I’m not touching it now, not with a ten‐foot stick.
The worst part? It’s the central cog in an equally abominable class (written entirely by yours truly) producing these plots, which are still used during scientific rocket launches from Andøya to determine the optimal moment for pressing the big red button.
I’ve heard it said that you can’t get a job doing something you’ve never done. What a load of equine droppings.
What follows is mostly a personal story of how I switched careers from academia to software development without really knowing the relevant technologies. More specifically, it’s about how I got a job as a C#/VB.NET/Xamarin developer when I started toying with those technologies just before the interview.