Hello! I’m Daniel, a Software Engineer based in Edinburgh. This is where I note down useful things I don’t want to forget and also where I document some of the personal projects I’ve worked on.
Floating point values normally just work, but there are a few issues with them that are useful to be aware of! My previous post discussed the representation of values, but this one will talk more about the times where things might not work quite as expected. I’m aiming for this to be a practical guide with some simple rules to follow, rather than an exhaustive study into all the issues with floating point.
A recent discussion with a colleague about issues with floating point comparisons made me realise that my knowledge of best practices boiled down to comparing floating point values using tolerances and switching to
double if issues with accuracy popped up. I figured it was time to look into it further and get a better understanding of what is actually going on.
Following on from the C++ collections post, it’s time to create a similar overview page for Python! There are more collection classes than this, but I wanted to revise the basics.
As I work through a bunch of algorithm problems in C++, I thought it would be useful to create a summary of the collection classes built into the standard library.
I spent a little time over the New Year catching up on some reading, giving me an opportunity to skim through the 2018 ThoughtWorks Technology Radar to get an overview of interesting developments in the field. Here are some of the things that caught my eye.
Recently, a number of teams at work have started to make use of Docker. To improve our Docker knowledge across the company, we organised a Code Jam. We’ve run a number of these events in the past and, after some experimentation, we’ve settled on a format that seems to work well for us.
I’ve been playing with Docker recently, but not enough that I always remember the commands. Here’s my cheat sheet for future Docker use.
Time to resurrect the old GitHub Pages site! I haven’t really touched this for the last two years, so it’s time I brought the site up to date. One part of this is installing Jekyll locally on my Mac so I can test the site without continually uploading it to GitHub.
I tend to modify more projects than I create, so while I can often remember APIs, I often forget the steps I used to set everything up. Therefore, this page is a future reference for me when I forgot to do all this. (If you haven’t done this before then hopefully this will serve as a good starting point!)