Me, thinking out loud

A software developer's view

Finally catchup on ES6


I have managed to avoid most of the gnarly details of javascript beyond ES5 for many years. Unfortunately a side project has driven me to finally take it on board. These are my notes, gleaned mostly by reading ES6 In Depth from Jason Orendorff of Mozilla.

I now know enough to be more dangerous.

Learning Bash


Historically I’m a Windows developer (C/C++/C#). I’ve been using more and more Linux tooling and, day by day, the Linux learning is creeping in. A massive sprawling knowledge space, unfamiliar to me. But over and over again there are some basic bash scripting techniques I need, this is them.

Behaviours not Errors

Overview Recently, I have been thinking about my preference for structured logging (details on this in to-be-written entry). A trivial but significant aspect of this, is that once you have switched to structured logging, markers like INFO, DEBUG, ERROR,… don’t help. Simply grouping such a wide range of code paths into these categories is insufficient for any kind of analysis. What is an error? An error is a local failure scenario that you don’t currently understand - our continuous improvement process for error handling aims to move all these anomalies in the system from unknown to known.

Refactoring with VS Code

Efficient Refactoring

Whilst watching an episode of Francesc Campoy’s just for func series I noticed that there was a major feature of VS Code that was going unused. Multiple cursors. This is one of the biggest productivitiy features of modern text editors.

The coding interview

The code interview

The interviews I want to write about are specifically face-to-face code interviews. I have interviewed quite a few people over the years and too many of them seem to be going out of their way to fail. So these are my tips on how not to rule yourself out.

It's called Software for a reason

Making a change

When making a change to an existing piece of software I think there are broadly 2 options;

  1. Get in and out, change as little as possible
  2. Restructure the code to fit the new requirement

Get ready

New blog

This is attempt N (where N is larger than I’d like) of actually setting up and adding content to a blog and or article based web site.