Introducing Meltymoji: A Handy Emoji Shelf for Mac
I use a lot of emojis for social media, on Slack, and our corporate Slack-alike. I sometimes use them in git commit messages. I had been using an app called Rocket, that let me use Slack-style co...
I use a lot of emojis for social media, on Slack, and our corporate Slack-alike. I sometimes use them in git commit messages. I had been using an app called Rocket, that let me use Slack-style co...
I’ve loved Irish traditional music for about 40 years. (My first introcution was actually to Scottish trad music, but Irish is adjacent). I’ve been playing it myself on various instruments for a wh...
Up until now, Blinkar only worked with Blink’s cloud storage. If you had a Sync Module 2 with a USB drive, the setup Blink pushes you toward for local clip storage, Blinkar couldn’t see those clips...
Blinkar v1.2.0 added on-device object detection — every clip gets tagged as Person, Animal, or Motion. That was useful, but once you have detection labels on everything, the obvious next question i...
When I introduced Blinkar, it could show you your Blink camera clips and send you a notification when motion was detected. It was useful, but every notification said the same thing: “Motion detecte...
I have several Blink cameras. Cheap, wireless, battery-powered, and they mostly just work. But the only way to check your clips is the Blink phone app or the web dashboard, and neither is particula...
I sometimes have more tabs open than I should. The tab bar becomes a row of indistinguishable favicons, and finding the one I actually need turns into a game of hover-and-squint. Safari’s built-in ...
Just a few days after building JSONQuill, I found myself thinking it would be nice to have the same structured editing experience for YAML files, since I hate YAML. Config files, GitHub Actions wor...
I made another PICO-8 game. Actually, this is the first one I made. This one’s a wave-based arena shoot-em-up called Schmuppy. You pilot a little ship through endless waves of increasingly dangero...
I built Talrik to make it easier to post to multiple social networks at once. It currently works with Bluesky and any Mastodon instance. I had originally built full Threads support, too, but Meta’s...
A year or so ago, I got a personal weather station, which is now installed in my backyard. It has a panel that sits on a table, showing the current conditions, and some forecast data, but the only ...
Back in November, I got one of my “white whale” instruments, a Nyckelharpa. In mid-January, I noticed the top seemed to be coming off, and then I noticed a large crack in the top. Then I noticed th...
I posted yesterday about IBS Runner, and gave a link to play it in your browser. But you can also play it on macOS/Windows/Linux, and handheld devices, like my Anbernic RG 351V with the sweet, swee...
I made a video game. I was at the Winter Tech Forum last week, and someone shouted out this idea for a game. So I made it. It’s a rooftop parkour game for the PICO-8 fantasy console, and the premis...
I spend a lot of my day staring at JSON. API responses, config files, log dumps… it’s JSON all day. And for years my workflow has been some combination of jq, piping stuff into less, or just openin...
I haven’t updated this blog since 2017, but I’m going to try again. I’ve moved it from Wordpress.com to Github, and changed how its theme to something that (hopefully) looks a bit more modern. I’v...