Reviewing Data Structures and Algorithms

In the past I've worked with a number of people who are solid programmers but do not have a traditional computer science background. With no exposure to data structures and algorithms, sub-optimal decisions can be made.To help with this, I've taken to having 1-on-1 sessions to review the fundamentals…

Edinburgh Fringe Festival 2018

I go to the Edinburgh Fringe Festival for one weekend every year. Last year we attended £¥€$ by Ontroerend Goed which I've been meaning to write about as it has some interesting ideas for game design. However, as I just came back from this year's festival - I figured it's not…

dotTest

The name test is reserved by the Internet Engineering Task Force (IETF) in RFC 2606 (June 1999) as a domain name that is not intended to be installed as a top-level domain (TLD) in the global Domain Name System (DNS) of the Internet for production use. dotTest is a small…

I want to change my password

My wife's phone was stolen last week. Though her data is password (/fingerprint) protected, and all of her passwords are stored in 1Password behind a strong master password, she still felt more comfortable after changing the passwords for things accessible from her phone. Since she was doing it, I decided…

Facts and Fallacies of Software Engineering

This book is mostly a restatement of a lot of Robert Glass' previous work. As implied by the title, it covers a collection of facts and fallacies about Software Engineering. For each one it gives justifications for why it is true or not true, including referencing appropriate research. I found…

One Hour One Life

Last Week, Jason Rohrer released his latest game, and it's full of interesting ideas that are worth having a play with. A couple of years ago, my wife and I created Story of Everyone, which experimented with collaborative content creation and player familial relationships. Given the limitations imposed by the…

Advent of Haskell: Day 1

I recently completed Advent of Code 2017, and enjoyed it so much I'm going to go back to do the previous years. I ended up doing almost all of this year's in Python as that's my most comfortable language for hacking things out, so I didn't really use this year's…

Advent of Code: Day 25

For Day 25, the challenge is to implement a turing machine simulator. My Python solution is: states = {} current_state = None current_rule = None def enter_state(line): global current_state current_state = line.rsplit(" ", 1)[-1][:-1] if current_state not in states: states[current_state] = {} def enter_…