- Digital resilience: redundancy for websites and communications
How you can make your digital life more resilient when using services you don't own.
- Add search to Hugo static sites with Lunr
Make your static site searchable with a client-side search index.
- What is TCP/IP? Layers and protocols explained
Alternatively titled, "Why the Internet Protocol Suite is an imaginary rainbow layer cake"
- Build your own serverless subscriber list with Go and AWS
How to build your own newsletter list with DynamoDB and SES email sign up confirmations.
- Three rules for choosing a VPN that takes your privacy seriously
The lesser-known risks of ISPs and why I chose ExpressVPN.
- Manipulating data with Django migrations
How to update Django models and manipulate existing data using migrations.
- Outsourcing security with 1Password, Authy, and Privacy.com
Take some work off your plate while beefing up security with three changes you can make today.
- SQLite in production with WAL 🔥
An underappreciated candidate for light and fast database transactions.
- Multithreaded Python: slithering through an I/O bottleneck
How taking advantage of parallelism in Python can make your software orders of magnitude faster.
- A cron job that could save you from a ransomware attack
How a simple scheduled job can help you quickly recover from ransomware.
- Publishing GitHub event data with GitHub Actions and Pages
A guide to overcoming the GitHub event data horizon with a little command-line magic.
- Secure application architecture basics: separation, configuration, and access
A starting point for building secure application architecture, for busy developers.
- Migrating to the cloud but without screwing it up, or how to move house
A practical guide to moving to cloud services with minimal downtime, using AWS examples.
- Hackers are Googling your plain text passwords: preventing sensitive data exposure
Why sensitive data controls need to be established long before you think you need them, as demonstrated by Google dorking.
- SQL injection and XSS: what white hat hackers know about trusting user input
A primer on SQL injection and cross site scripting, and how to handle user input in software development.
- How to write Bash one-liners for cloning and managing GitHub and GitLab repositories
Using xargs and awk in Bash to automate managing remote-hosted repositories.
- Knapsack problem algorithms for my real-life carry-on knapsack
Using a greedy algorithm and dynamic programming to pack my full-time nomad travel bag.
- Things you need to know about becoming a Data Scientist
Five Data Scientists discuss a day in the life and what it takes to be a successful Data Scientist.