Matt's Codecave

A code cave is a series of null bytes in a process's memory

All views expressed are my own

  • Blog
  • Essays
  • Guides
  • RSS Feed
  • About Me
  • PGP key
  • The Photolog!

    2024

  • 2024-12-23 Links Digest
  • Something To Do With Paying Attention Review
  • 2024-11-03 Links Digest
  • How I Put Together My Sleep System
  • The Incentive Problem Behind Web Bloat
  • 2024-09-28 Links Digest
  • LLMs Turned Out Pretty Useful, But
  • Freedom in Banks' Utopia
  • 2024-08-24 Links Digest
  • 2024-08-11 Links Digest
  • Jake Seliger is Gone Now
  • I Hope We Don't Learn the Wrong Lesson From the Crowdstrike Incident
  • What Do They Know That I Don't
  • Solving Writer's Block By Pure Luck
  • And What is Good Software, Phaedrus?
  • Rhetoric in Zen and the Art of Motorcycle Maintenance
  • SRECon Fieldnotes: Storytelling and Rhetoric in Conference Talks
  • The Enshittification of Enshittification
  • 2023

  • Are We Only Human?
  • Utopians Fear Them
  • The Future is Vast, Yet Beautiful
  • You Are a Story
  • Degrowth: Such a Bad Deal
  • "Kill It with Fire" Review
  • Software's Cornucopia
  • The First Horseman of the AI Apocalypse
  • 2022

  • Review: Baysian Statistics the Fun Way by Will Kurt
  • If You Haven't Yet, Try a Workshop-Heavy Writing Class
  • The Open Society and Its Enemies: Summary and Thoughts
  • SRE is a Way of Seeing, Not a Checklist
  • To Make Better Software, Do What Artists Do
  • Resist the Siren Song of Make
  • Productivity Notes I
  • The Hidden Meaning of The Matrix: Resurrections
  • Blockchains Are Not Databases
  • Archivebox Helm Chart for the Raspberry Pi
  • 2021

  • Only Use Bash When
  • Another Lost Bitcoin Wallet Story
  • Watching Myself Program
  • Effective Git
  • [updating] Web3 Reading Material
  • Debugging Writer's Block
  • Degrowth: A Useful Obstacle for Saving the Planet
  • Everything I Know About TLS
  • The STEM/Humanities Dichotomy is BS
  • A Better Web is Coming
  • Social Media: Designed to Be Bad for You and Society
  • The Small Things, They Count
  • The Web is Turning into Cable TV
  • Blog Update: Simplicity
  • Pandemic VIII: The European Trolley Problem
  • My Kludge'y Backups
  • Why I'm Betting NFTs Will Be Big
  • The Case for Social Media Filters
  • Pandemic VII: Bureaucracy - We Are the Dreamers of Dreams
  • How-to: Move from Google Authenticator to Aegis
  • Aaron Swartz, Eight Years Later
  • The End of History vs. 2020
  • [Fixed] Can't log in after suspending Xubuntu 20.04
  • 2020

  • Attention Scarcity x Involvement Scarcity
  • SRE Toolbox: Investigations
  • Pandmic VI: Damn You Neil Postman
  • Pandmic V: The Medium is The Message
  • How I Write
  • Learning to Sleep
  • The Thrill of SRE
  • Are Books Worth It?
  • Pandemic IV: Blue Screens of Death
  • Wet Soil: Starting with Microcontrollers
  • Pandemic III: American Prepping
  • Blog Software Updates
  • Pandemic II: No More HN
  • Pandemic I: The Game Has Changed
  • Field Guide to Human Error Notes
  • Blog outage: A Post-Mortem
  • 2019

  • How to Set Up Wireguard on a Raspberry Pi 3
  • Notes on Culture and Empire
  • New Photolog
  • Thoughts on Excellent Sheep
  • Why C++ Programmers Haven't Flocked to Go
  • Software Bugs Are Communication Bugs
  • License to Survive
  • 2018

  • Copying & Pasting is a Harmful Habit
  • Flat is slow, slow is fast
  • Don't Mock What You Don't Own
  • Web Development as a Cargo Cult
  • New Year, New Blog
  • py.test cheatsheet
  • Asyncio: Choose early, choose wisely
  • 2017

  • Good Python Code to Read
  • Howto: Reading Git Diffs and Staging Hunks
  • Best Developer Career Advice Ever
  • 2016

  • Python 2 is Stupid
  • Script for Quickly Docking/Undocking a Thinkpad Ultrabay HDD
  • Why K&R C is a Must-Read
  • Troubleshooting DNS Using dig to Figure out Dropped Emails
  • Thoughts on B. Rich's "Skunk Works"
  • An Example of Experimental Refactoring
  • Simple Python Framework from Scratch
  • Thoughts on Testing & TDD
  • Switching from 2 to 3: Love, asyncio, and more
  • A Web Developer Builds a Kivy App
  • Stockfighter - 2 Weeks
  • Stockfighter - First Impressions
  • Elixir for Pythonistas pt. 1
  • 2015

  • 2015 in Books
  • DIY Static Site Generator in Python
  • Black Code: The Battle for the Future of Cyberspace - Review
  • Pragmatic Thinking and Learning - Review & Notes
  • The Phoenix Project - Thoughts and Review
  • PlaidCTF 2015 - Corrupt PNG
  • Using Python and UPnP to Forward a Port
  • Why Linux?
  • 2014

  • 2014 in Books
  • New York musings pt 2
  • Diving into Clojure
  • Create and distribute a .deb package in your company
  • New York Musings pt. 1
  • München Musings
  • Crash Course in Front-End Development
  • Raspberry Pi SD Card Corruption Fix
  • Setting up Raspberry Pi and mpd (music player daemon) with Raspbian
  • PositiveSSL Note
  • Programming Collective Intelligence chapter 11 notes
  • Programming Collective Intelligence chapter 10 notes
  • Programming Collective Intelligence chapter 9 notes
  • Programming Collective Intelligence chapter 8 notes
  • Programming Collective Intelligence chapter 7 notes
  • Programming Collective Intelligence chapter 6 notes
  • Programming Collective Intelligence chapter 5 notes
  • Programming Collective Intelligence chapter 4 notes
  • Programming Collective Intelligence - chapter 3 notes
  • Programming Collective Intelligence - chapter 2 notes
  • First Real Application Post-Mortem
  • Thursday's lessons
  • A Year's Worth of Work
  • 2013

  • masters of doom
  • Getting CouchDB to work with CouchRest in Rails 4
  • CSAW 2013 <= 200 write ups (most)
  • How I update my blog app
  • Rails makes you pragmatic
  • The ship has sailed... to Rails 4, Nginx, SSL, and DigitalOcean
  • CakePHP 2.3 cookies and Django 1.4 password reset
  • Tutorial: Parsing HTML with lxml, Requests, and XPath (and SQLite3) part II
  • Tutorial: Parsing HTML with lxml, Requests, and XPath part I
  • Meet Edward / Blog update
  • Django grokked