London, UK -  I work in cyber security but write about the broader technology landscape, looking past the hype to discover what works, what doesn't, and whether any of it truly improves our lives.

Recent blog posts

File carving: Recovering a deleted file from a Windows disk image
 -  Most computer users assume that when they delete a file and empty the Recycle Bin, it’s gone forever. After all, if Windows doesn’t show us a file, it doesn’t exist anymore, right? Wrong. With the right tools and knowledge, forensics experts can f...
Backutil development: Building and JOINing SQLite databases in Python
 -  This post is something of a development diary for Backutil - my Python-based utility for backing up files from Windows systems. I published the first version of Backutil (v0.51) at the beginning of 2021, and pushed a small update (v0.52) to fix so...
Introducing Backutil: A Python‐based Windows backup utility
 -  Back in the spring, I decided that 2020 would be the year I would finally see a coding project through to completion. A recent work project shone a light on backup and recovery, and I realised that I should probably be a bit more consistent with m...
The best cyber security and technology books I read during 2020
 -  One of the few upsides of the whole 2020 situation is that I’ve had a lot more time to read. Periods that I would usually have spent commuting, out with friends, or cramming in chores between getting home and going to bed became downtime that I co...
AWS: Deploying and connecting to a SQL database in the cloud
 -  My first Amazon Web Services (AWS) basics post covered the process of setting up a Virtual Private Cloud (VPC) and a Windows Server 2019 EC2 instance. This time we’re going to build on this simple setup by deploying a Amazon Aurora SQL database an...
AWS: Deploying a virtual network and server in the cloud
 -  Having worked on serveral projects involving Amazon Web Services (AWS) recently, but always at arm’s length, I decided to get a bit more hands-on. At worst this would give me a more practical grounding in managing cloud instances, and at best it w...
Cracking a password-protected ZIP file with fcrackzip
 -  I recently took part in a DFIR capture the flag with some colleagues. Participants were provided with a system disk image and asked to mount it and complete a number of challenges to discover various flags hidden within the data. Exercises like th...
Network connections and packet crafting on the Linux command line
 -  The problem with taking leave during a pandemic is that there are very few places you can go that don’t present an unnecessary risk. For me at least, the thought of taking a plane abroad wasn’t appealing, and neither were the Tube journeys that wo...
Technicolor TG582n router: The missing event logging manual
 -  What started as curiosity has turned into something of a labour of love. Online information about the Technicolor TG582n router’s event logging capabilities is scarce, and scattered across a number of forums. I’ve used that information along with ...
Welcome to a new website with a new philosophy
 -  You may have noticed that things have changed around here - I built a new website, following the ethos that it should be as clear, lightweight, and fast as possible while respecting visitors’ privacy by keeping outside scripts and tracking to a mi...

📓

Field Notes newsletter

A monthly roundup of my latest writing, plus exclusive links and observations

Thinking about

Digital journalism
Coincidentally, in the space of a week I encountered both Zach Seward's article about Quartz and Craig Mod's excellent podcasts with Tim Ferriss. Both evoked fond memories of my time in journalism and the buzz surrounding digital journalism and media in the 2010s

Interests

  • Cyber security
  • Tech
  • Python
  • PowerShell
  • JavaScript
  • F1
  • Reading
  • Writing
  • Psychology
  • Philosophy
  • Exercise
  • Running
  • Gaming
  • Football
  • Music
  • Guitar