Centralisation, repeatability, and automation in a modular SOC
Cyber security sometimes means learning things backwards
Using winget to automate software deployment to a new laptop
Investigating Explorer's temporary ZIP folders and retrieving files
Parsing login sessions from the Windows event log with PowerShell
Using Tkinter to build simple GUIs for Python apps
Linux .bash_history: Basics, behaviours, and forensics
SANS Holiday Hack Challenge 2021: Slot machine walkthrough
SANS Holiday Hack Challenge 2021: Yara rule analysis walkthrough
Backutil development: Implementing multiprocessing in Python
Installing Splunk Free in a virtual machine for log analysis
File carving: Recovering a deleted file from a Windows disk image
Backutil development: Building and JOINing SQLite databases in Python
Introducing Backutil: A Python‐based Windows backup utility
The best cyber security and technology books I read during 2020
AWS: Deploying and connecting to a SQL database in the cloud
AWS: Deploying a virtual network and server in the cloud
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?
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
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
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
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
Python tools for Windows forensics: Parsing Prefetch program data
Review – Threat Modeling: Designing for Security by Adam Shostack
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
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
A Python script to make sense of multi-dimensional Splunk exports
Review – InfoSec Rock Star: Because Geek Will Only Get You So Far
Security log analysis: How to group by two fields in Splunk
How passwords work – a simple demonstration in Python
The Social Network: A film that passed me by for eight years
What a security operations centre (SOC) is and how it works
Checking DNS requests against a domain blacklist in Python
Automatically generating SOC emails with a Python script
Incident triage: Identifying the source of a malware infection
I’ve arrived in the wearable future (but time is running out)
What cyber security courses don’t prepare you for
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