My home audio system goes through a Denon AVR-X1700H as the primary receiver. My house has three pairs of ceiling speakers: one in the living room, one in the dining room, and one in the kitchen. When listening to music I want them all streaming from the same Spotify source, but if I'm playing video games I occasionally want Spotify from just the kitchen/dining room. Let's reverse engineer how the app controls the receicver so I can swap from my watch.
Read More
While Elon's purchase of Twitter knocked me off the platform for a bit, I returned for bad political takes, mediocre housing takes, good energy takes, and a surfeit of memes. A tweet recently caught my eye showing off a rigged word search. I wanted to make my own, so I built a generator.
Read More
I will be the first to admit that I'm sometimes bad at responding to texts — but I'm not 112-unread-messages bad, as the notification badge on my Mac makes me out to be. It sits there mocking me, over a hundred messages that despite my best efforts I can never clear. No matter how many times I right-click to try and find them they remain tucked away somewhere, inactionable and yet unread, invisible yet demanding to be seen. "Look at me!" they shout. "You're missing out on the opportunity of a lifetime!"
I've ignored this in the past and tabled it for later: it must stand the test of time. But that time is now. Here's how I used lldb to reverse engineer Messages, found a bug in Apple's code, and fixed my badge.
Read More
My brother Spencer works as an artist in Asheville. He's also into nature conservation, leading a nature journaling class and regularly weaving ecology and local wildlife into his work. When UNC Asheville announced plans to turn a local urban forest into a soccer stadium, he pushed back, in part by raising awareness through birding sessions to show off a Great Horned Owl family and their three owlets living in the forest. Spencer set up a 24/7 camera filming their nest but wanted to livestream that footage and couldn't figure out how — enter me, stage right! While it wasn't easy here's how I eventually made it work (though unfortunately by the time you're reading this they've flown away and the livestream has ended).
Read More