Blog posts

Cracking a password-protected ZIP file with fcrackzip
Network connections and packet crafting on the Linux command line
Technicolor TG582n router: The missing event logging manual
Welcome to a new website with a new philosophy
Why virtual cyber security conferences should be the new normal
SANS FOR508: I’m now a GIAC Certified Forensic Analyst
Setting up Pi-hole to rein in an extremely noisy Samsung Smart TV
Long-form – HTTPS and VPNs: How private is your internet browsing?
A slightly geeky trip to Edinburgh: Castles, museums, and Star Wars
Update: Cyber security projects, another trip to Japan, and plans for 2020
Update: I’m back, and Def Con has inspired me to get hacking
Rise of DedSec: Why Watch Dogs 2 is the best hacking video game so far
The Twitch streamer who wastes tech support scammers’ time
Python tools for Windows forensics: Mozilla Firefox browsing history
Investigating external network connections with netstat and OSINT
The challenges and benefits of quitting Facebook and other social networks
Six lessons in strategy, management and teamwork from F1 boss Ross Brawn
Python tools for Windows forensics: Microsoft Office recent files
Raspberry Pi Home Hub: Building and sending a daily email briefing
An introduction to the Agile project management framework
Python tools for Windows forensics: Extracting a user’s Google Chrome history
Raspberry Pi Home Hub: Building the news and weather screen
SQL ALTER TABLE: Adding, modifying, and dropping columns in a SQL table
Why Football Manager is the most addictive spreadsheet ever designed
Python tools for Windows forensics: Windows Security event log
Raspberry Pi Home Hub: Project intro, requirements and objectives
How to approach your morning routine like a software developer
16 ways I embraced my interest in technology and engineering in 2018
SQL JOINs: INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL OUTER JOIN
Python tools for Windows forensics: Deleted files in the Recycle Bin
Cyber skills gap: Raising awareness of cyber security opportunities
Formula 1 World Championship 2018 review – the closest race in years
Python tools for Windows forensics: Parsing Prefetch program data
Review – Threat Modeling: Designing for Security by Adam Shostack
Exploring Brands Hatch at the Formula Ford Festival 2018
SANS FOR500: I’m now a GIAC Certified Forensic Examiner
Basic SQL queries: SELECT, FROM, WHERE and other operators
Liverpool will win the Premier League, according to my Python predictor
Review – How to Build a Car by F1 designer Adrian Newey
Approaching incident response on the front foot with the HARM method
Visualising connected hosts with a Python-generated network diagram
Seven things I’ve learnt in my first year as a cyber security consultant
Asus GeForce Dual GTX 1060 O6G review and PC build project update
A Python script to make sense of multi-dimensional Splunk exports
Review – InfoSec Rock Star: Because Geek Will Only Get You So Far
How to find a winning setup and strategy for a Project Cars 2 race
Security log analysis: How to group by two fields in Splunk
Muse: Drones World Tour – a fast-paced spectacle that’s very, very loud
How to build a Formula 1 car in Kerbal Space Program
How to design and build your own PC – and why you should
How passwords work – a simple demonstration in Python
Concorde, F1 cars and retro garages at the Brooklands Museum
The Social Network: A film that passed me by for eight years
What a security operations centre (SOC) is and how it works
How to build and fly a plane in Kerbal Space Program
Checking DNS requests against a domain blacklist in Python
Stuff I did in April: Isle of Dogs, RAF Museum, coffee and non-league football
How to tame the IndyCar beast in Project Cars 2
Automatically generating SOC emails with a Python script
Incident triage: Identifying the source of a malware infection
Here are some of the best things I did, saw and ate in Japan
I’ve arrived in the wearable future (but time is running out)
What cyber security courses don’t prepare you for
What I’ll be playing and reading in 2018
Grabbing domains and URLs from tcpdump data using Python
Creating beautiful graphs in Python with Plotly
The day Instagram advertising read my mind
Fetching and filtering tweets in Python with Tweepy
Three of the best cyber security podcasts around
Update: I now work in cyber security
Rick Sanchez explains command injection
Finishing line: I’ve passed my GCIH exam!
Automating a brute force web attack
How I became a Linux person
Flaws are more troubling than surveillance
Halfway point: I’m now GSEC certified!
Hackers look just like you and me
Yes, your OS needs anti-virus software
CES’s gadgets create new data to be stolen
2017: New challenges for a new year
Talking cyber security on Chicago radio