- 
    
        The nature of AI discourse has changed
        
    
- 
    
        Homelab updates
        
    
- 
    
        I tried AI and all I got was disappointed
        
    
- 
    
        Raptor Lake iGPU SR-IOV
        
    
- 
    
        An ultra-low profile Chiffre: Le Oeuf
        
    
- 
    
        My latest ergo design: the Solanum
        
    
- 
    
        The server has been brought to life
        
    
- 
    
        It's time for a new server
        
    
- 
    
        Adapting to just 34 keys
        
    
- 
    
        Expanding LVM PVs and LVs
        
    
- 
    
        Stick a trackball on your keyboard
        
    
- 
    
        Audio controls in Home Assistant using MQTT
        
    
- 
    
        It's really easy to make a bike electric
        
    
- 
    
        Introducing another split keyboard: the Chicklet
        
    
- 
    
        Blue tape or Kapton? Why not both?
        
    
- 
    
        A 60% ortho keyboard with a trackpad: tamago v2
        
    
- 
    
        Streaming QR code detection in Home Assistant
        
    
- 
    
        It's always DNS; or: why I closed my Comcast Business account
        
    
- 
    
        Geocircles
        
    
- 
    
        Moving to Hugo and Cloudflare Pages
        
    
- 
    
        The homelab post
        
    
- 
    
        I designed another weird keyboard: tamago60
        
    
- 
    
        I made my custom keyboard wireless
        
    
- 
    
        The intransmissible packet
        
    
- 
    
        Keycard door access in Home Assistant
        
    
- 
    
        Typing on a weird keyboard: a retrospective
        
    
- 
    
        Adapting CEC controls to RS-232
        
    
- 
    
        Zip tie to smartify: the dumbest way to upgrade your appliance
        
    
- 
    
        Scraping wildfire timeseries data with NLP
        
    
- 
    
        Designing a split keyboard: the egg58
        
    
- 
    
        A demonstration of TDOA multilateration
        
    
- 
    
        How not to build a gaming PC
        
    
- 
    
        Revised smart doorbell adapter circuit
        
    
- 
    
        Pulseaudio configuration for soundboard routing
        
    
- 
    
        Adapting a smart doorbell to an incompatible digital chime
        
    
- 
    
        Dependency and build management for sourcemod with sourceknight
        
    
- 
    
        Tools to check for compromised Keepass passwords
        
    
- 
    
        A highly customizable RGB controller implementation for Arduino
        
    
- 
    
        Timelapses from Landsat data
        
    
- 
    
        An automated workflow for fetching and mosaicing Landsat imagery
        
    
- 
    
        Generating terrain meshes for 3D printing
        
    
- 
    
        A graphical tool for configuring Alesis V-Series MIDI controllers on Linux.
        
    
- 
    
        Reverse engineering the Alesis V-series SysEx protocol.
        
    
- 
    
        Using black magic to make a fast circular buffer.
        
    
- 
    
        Proving a mathematical curiosity.
        
    
- 
    
        Generating spectrograms the hard way with numpy.
        
    
- 
    
        Integrating GitLab and Google Calendar.
        
    
- 
    
        Adding custom fields to packets in ndnSIM 2.3 without forking the entire repository.
        
    
- 
    
        An idiot's guide to fulltext search in PostgreSQL.
        
    
- 
    
        Fun with integer division optimizations.
        
    
- 
    
        The problem with Python's datetime class.
        
    
- 
    
        Using bcache to back a SSD with a HDD on Ubuntu.
        
    
- 
    
        Parallelizing single-threaded batch jobs using Python's multiprocessing library.
        
    
- 
    
        The fruits of some recent Arduino mischief.
        
    
- 
    
        Optimizing MySQL and Apache for a low-memory VPS.
        
    
- 
    
        Information-centric networking for laymen.
        
    
- 
    
        Why are tuples greater than lists?
        
    
- 
    
        Quick postfix & dovecot config with virtual hosts (Ubuntu 16.04)
        
    
- 
    
        An easy way to visualize git activity
        
    
- 
    
        Adventures in image glitching
        
    
- 
    
        What's inside a PEM file?
        
    
- 
    
        My first adventure with Let's Encrypt on nginx, dovecot, and postfix
        
    
- 
    
        Demonstrating the double-DES meet-in-the-middle attack
        
    
- 
    
        A fun experiment with Twilio
        
    
- 
    
        No, fingerprints are not secure
        
    
- 
    
        Time clocking at the command line
        
    
- 
    
        A C++ encapsulation of the Linux inotify API
        
    
- 
    
        RIOT OS ported to TI Tiva C Connected Launchpad
        
    
- 
    
        Roll your own dynamic DNS (Ubuntu)
        
    
- 
    
        Quick and easy OpenVPN server config (Ubuntu)