Posts
- This is now an 11ty blog
- Blog switchover, incoming!
- Code is a craft, and I'm a craftsperson
- Leaving Listed…?
- A turntable and a HomePod: welcome to digital Goldbergia
- I just cancelled Amazon Vine
- The 8BitDo Lite is secretly the best controller for platformers and puzzlers
- I still have a Kindle, but I can buy books from Kobo
- My feedback to Apple Accessibility about losing audiograms in Headphone Accommodations
- PSA: lock in your audiogram with your old AirPods before iOS 18.1
- It sure looks like Apple ripped out a valuable hearing loss feature from the AirPods line
- Bob Ross and the circular rabbit hole
- Asynchronous agony
- A little imperfect software for you
- Echoes of a magic night
- I can't stop watching Muppets Mayhem
- Introducing gbfs-web: attach files to homebrew ROMs without CLI tools
- Introducing 4-e: Super Mario Advance 4 e-Cards without an e-Reader
- Backing up and restoring GBA ROMS and saves with modern tools
- The Analogue Pocket's d-pad is bad, but I made mine work
- I played Torna after Xenoblade 2 Chapter 7 and it was a great idea
- I'm not gonna finish Xenoblade X
- I refuse to observe DST this year
- Getting my monitors in line
- Are you really trans?
- Without "Enemy", what would I do?
- A proposal for shell libraries
- HiDPI on macOS and Ubuntu
- macOS' "Failed to personalize" error may have been me being an over-eager deleter
- Python rot and bringing in the old blog
- In defense of the USB-C future now past
- Choosy is for more than just browsers
- You got your LEGO in my cube!
- Controlling iCloud Drive's space usage
- Better captioned images on Listed
- Hey Siri, add a transaction to YNAB
- Hey Siri, open the garage door
- Making song links for any streaming service
- Jesus at the Intersection of Fear and Disapproval
- Uploading images for Listed with an Imgur iOS Shortcut
- The Twitter implosion and the pink lists
- A little more Listed customization
- Edit your Zsh command line with vi
- What it's like writing on Listed
- Mister Rogers and François Clemmons
- Let's try this again
- The drain of self-advocacy
- On supporting a friend
- Review: GRIS
- Your candle
- In memoriam
- Natalie Nguyen
- A JavaScript object that dynamically returns unknown properties
- Setting up Windows to build and run Node.js applications
- Feeling Pride at Atomic
- Review: end-to-end encrypted notes with Standard Notes
- Why a no-moonlighting guideline benefits employees
- Spreading the spread and rest love
- Resetting a Wacom Bamboo Spark
- A PyOhio emergency
- Lessons learned losing
- Retiring brewdo
- Representing function properties in TypeScript
- Can the macOS Disk Utility really erase an SSD?
- Virtual network customization in VMware Fusion
- Security hygiene for software professionals
- The security spectrum of curl | sh
- Easy secure web serving with OpenBSD's acme-client and Let's Encrypt
- Command injection, or how /bin/sh can rm -rf your server
- Date math across timezones with Moment.js
- "npm install -g" considered harmful
- The JavaScript Promises trilogy
- Precision decimal math in JavaScript with decimal.js
- Developing on OS X inside Vagrant
- Swiss Cheese and Pair Programming
- Questions to ask when bringing in third-party code
- pyenv slides from PyOhio
- Tall trucks, low bridges, and iOS geofences
- Creating man pages in Markdown with Ronn
- Using reflection to test complex objects
- Getting started using C libraries from Swift
- Trace writes inside Selenium tests
- Understanding the 3 main types of encryption
- Turning asynchronous networking inside-out
- sudoless Rails
- brewdo lightning talk slides from PyOhio
- octothorpe talk slides from PyOhio
- Introduction to Ansible talk
- A week of code
- Sandboxing Homebrew
- Using virtualenv Python in local Ansible
- octothorpe talk slides from GRDevDay
- My bdist_rpm talk from GRPUG
- Trust upgrades
- Slides from my RPM talk at DevOps West Michigan
- Everything I think I know about flowers in Animal Crossing: New Leaf
- Yum repository bootstrapping in Ansible
- Introducing sham
- Hello, world!
- eBooks: a love-hate story
- The new lock-in
- Disabling wlan power management
- Disabling hibernation in PolicyKit
- Permanence
- This is the end
- Closing up shop... for now
- Shiny black plastic: please die
- Taking Lucid for a spin
- Maybe I'll skip Ubuntu Karmic
- A tribute to Chris Short, resurrector of Palms
- Getting my data back out of NVBackup
- mustafa downloads to PC at 70 KiB/s
- savehost's bizarre metamorphosis
- Geek adventure: getting Ubuntu's console to stay in 132×60 mode
- Ubuntu's missing crc32sum tool, in Python
- Nintendo DS Save Host up on SourceForge
- Awww
- The end of the saga with Dick's Sporting Goods warranty... or is it?
- Sharing the wife's new iMac
- Perfectionism slows progress yet again
- Hope springs eternal: will Dick's Sporting Goods' warranty come through at last?
- Not so much like riding a bicycle
- The continuing adventures of Matt the consumer
- Extended warranty, or extended trial?
- Facebook trusts your friends to decide on your privacy
- Social networking, the automatic gossip
- A brief critique of the Blogger toolbar
- The nonsense game
- Portable aural joy
- Dick's "No Sweat Warranty": no sweat, literally
- Simple is a style all its own
- A teaspoon of new thinking for the Web
- Don't worry, I'm a professional
- Sansa satisfaction
- The joy of namespaces
- vorbissort: Reorganizing Vorbis comments for the Sansa Fuze
- Welcome to the circus