Mattie B

They/them. Software consultant and developer. Hopeless nerd.

A little imperfect software for you

Back in June, I wrote a little bit about how I use an old Nintendo DS to dump GBA ROMs as well as dump and restore the save files. I also teased that I had a magical solution using TFTP to use WiFi instead of doing endless SD swaps. Well, thing is, it's not magical. It's actually some of the most imperfect software I've ever worked on, and that's why I haven't released it for fifteen years. I sucked it up and ended that streak four days ago, with a little bit of a caveat. transfile (transing ...
Read post

Echoes of a magic night

Content warning: grief. Also note: if you've been around the fediverse since before 2021, you may have a personal connection to this grief. Of all the half-written or half-formed pieces I've had floating around in recent memory, parts of this particular one have dwelt in that limbo state the longest, I think. I was never quite sure what to say. I just… felt. But on a recent morning's commute, I was listening to the end of Collapse Under the Empire's The Fallen Ones, having picked it out of my ...
Read post

I can't stop watching Muppets Mayhem

It (currently) says right on my "about me" page that I'm a Muppets nerd, and that is accurate. I grew up with The Muppet Show. I watched the first three Muppet movies over and over and over again as I was growing up. It was a toss-up between Caper and Manhattan for favorite. My uncontested favorite Disney World attraction remains Muppet★Vision 3D. I had a Fozzie plush in my crib and a Kermit puppet was one of my favorite toys for years. And while I enjoy Christmas Carol as much as the next per...
Read post

Introducing gbfs-web: attach files to homebrew ROMs without CLI tools

The Game Boy Advance and Nintendo DS homebrew scenes are amazing. Full stop. One of the stars of that particular galaxy I leveraged for 4-e was Damian Yerrick's GBFS, a set of tools that pack files up into an archive that can then be concatenated onto the end of a ROM, and a library to compile into that ROM that can work with those files. 4-e uses this to let you attach your own set of e-Card .bin files to the ROM that I build and release, yielding a custom 4-e build without having to compile ...
Read post

Introducing 4-e: Super Mario Advance 4 e-Cards without an e-Reader

Super Mario Advance 4 is more than Super Mario Bros. 3. When this final game of the Super Mario Advance series launched, it of course had Bros. 3 for its main draw. But it also went all-in on Nintendo’s e-Reader, a special cartridge with an optical scanner that could read specially-encoded data on cards that Nintendo distributed. Nintendo published over a hundred cards for Advance 4. These e-Cards were power-ups, switches that changed the game (like adding Super Mario Bros. 2 turnips to pull u...
Read post

Backing up and restoring GBA ROMS and saves with modern tools

I try not to think too hard about how old the Game Boy Advance is. Back in its heyday, I bought many games for it (the Super Mario Advance series, the Golden Sun series, Rhythm Heaven, anything The Legend of Zelda…) I also dabbled a bit in third-party devices to copy the games’ saves and restore them, as well as copy the games’ ROMs themselves to play them on computers or experiment with them. When the Nintendo DS hit, sporting its SLOT-2 (which, contrary to popular belief, wasn’t just a Game ...
Read post

The Analogue Pocket's d-pad is bad, but I made mine work

In this post: My experience with the d-pad How I save time and risk opening up my Pocket, including how to avoid having to detach the infamous display cable The solution I used and why it works for me And, as usual, plenty of story time But first! I’m gonna talk about how I take apart my device here. If you do that and you break your stuff, you get to keep both pieces. More clearly: I take absolutely no responsibility for any damages that occur as a result of anything you read here, inclu...
Read post

I played Torna after Xenoblade 2 Chapter 7 and it was a great idea

This post is spoiler-free, as best I can make it. That said, the time to read it might be when you've wrapped up chapter 7 of Xenoblade 2. Last night, I finished Xenoblade 2. I left a bunch of quests undone, which is a very different place than I'd ended up with Xenoblade. I am not gonna fire it up to find out, but probably 95% of what that game offered me to do, I did. 2 was a different animal. Like many reviewers, I found 2 a bit obtuse in introducing its systems. Eventually, though, and wit...
Read post

I'm not gonna finish Xenoblade X

With Nintendo shutting down online play for Wii U and 3DS in about a month, and given that I had just finished the absolutely fantastic Xenoblade: Definitive Edition on my Switch, I recently dusted off the ol' Wii U and unsealed (!) the copy of Xenoblade X I had bought way back in… well, looks like 2015, I guess, since I bought the limited edition? It took me four tries to get through the original Xenoblade, actually. The first time was the original US Wii version—the one you had to get at Game...
Read post

I refuse to observe DST this year

Every year around this time, my ability to enjoy the arrival of spring is severely impacted by the fact that I'm struggling to adjust my circadian rhythm to what we all know is the worst idea we've ever had as a society—daylight saving time, or DST. So, this year, I'm gonna try opting out. I think it's rather telling that I had a plan to do this a few months ago. Then had this persistent impression I was getting the direction of the time adjustment wrong. I went back and forth like this for aw...
Read post

Getting my monitors in line

I got super interested in colorimeters a year or so ago. I have had this 2009 Panasonic plasma TV since, well, 2009. And I've always loved it and it's still going strong. Except it was always kinda enthusiastic about the red. This particular TV gave you no color controls save the "color" (saturation) and "tint" (hue) controls that were basically holdovers from the CRT era. So I was never really able to mess with it, and I was always kinda scared of the AV experts' warnings about service menus...
Read post

Are you really trans?

Do you really qualify as "trans"? Please take this quiz. Does your gender ever misalign with what people proclaimed you were when you were born? If you answered "yes" to question 1, then you qualify! If you wish to call yourself transgender, then congratulations! Here's your membership card. You might not want to show it at the border crossing into Florida. But I really do get the question. It's a question I've asked myself so many times. Telling myself "no" What feels like an eternity a...
Read post

Without "Enemy", what would I do?

I was in the car the other day, trying to think of what I wanted to listen to. After revisiting CHVRCHES’ “The Bones of What You Believe”, I found myself in the mood to dig out an old favorite. I've been an Apple Music subscriber since the beginning, when it was mostly famous for deleting or not deleting your music files. (I never lost anything, but also would keep opening my phone to find The Love Club had vanished from its original album and now appeared on one featuring a giant duck inflatab...
Read post

A proposal for shell libraries

I recently wrote a new shell library called portable-color. Its job is to colorize shell output, but be much more respectful of the environment it's being executed in than just jamming ANSI color codes (now ECMA-48; see "SGR") into stdout. I'll talk more about portable-color itself on another day. Today, what I wanted to do was figure out how to actually install a shell library on my system. You see, there's not a standard for this—at least not one I can find. Executing shell scripts in the co...
Read post

HiDPI on macOS and Ubuntu

It's been a good while since "HD" was acceptable for computer monitors. Thing is, operating system people seem to have not really caught up to this idea. Not even Apple, whose "Retina" branding for HiDPI monitors is dangerously close to becoming generic like Kleenex is for facial tissues. (Who calls them "facial tissues", anyway?) I've also been running Ubuntu Desktop for some things lately, and the situation isn't great there either—but here, I'm also not surprised in the slightest. After all...
Read post

macOS' "Failed to personalize" error may have been me being an over-eager deleter

I had been tracking the macOS public beta on my M2 MacBook Pro for a little while in the hopes they were fixing a particularly painful issue with Linux Rosetta support. Because I've experienced some serious pain before running a beta as my daily driver, I opted to run the beta in a partition and leave my production macOS alone. This worked pretty well for a time, but then I decided to clean it up. Inside Disk Utility's partition dialog, I saw my main macOS partition, my beta macOS partition,...
Read post

Python rot and bringing in the old blog

I've been working on a little project for a few evenings now: folding my old domain and old blog into this one. The old blog was built with a static site generator called Felix Felicis (yeah, it makes me wince now, too). I got to write posts in Markdown, then run a Python program to build all the HTML that I'd then rsync on over to my OpenBSD server hosting zigg.com. Honestly, I might even still be using it today, if it weren't for Python rot. I used to adore Python, oh my gosh. Before I star...
Read post

In defense of the USB-C future now past

I recently upgraded my nearly-five-year-old MacBook Pro with one of the shiny new M2-based ones. (I do work with these, so the company I work for contributes toward their cost.) Prior to that, I had the 2018 MacBook Pro. That was the one that had the best version of the worst keyboard. Not content with that, it had another controversy swirling around it—apart from a headphone jack, it only had USB-C ports. Before the super-thin 2016-2018 MacBook Pros came around, we had machines with the headp...
Read post

Choosy is for more than just browsers

One of my essential macOS apps is George Brocklehurst's Choosy. I maintain Safari as my personal browser (it's convenient, particularly cross-device, and Advanced Data Protection now covers bookmarks too!) and Chrome as my work browser. What Choosy does for me is inject a quick step after clicking links that prompts me to pick one or the other. We also use Miro quite a bit at work, both internally and with clients. And there's one workflow that has always ticked me off—clicking a Miro link pra...
Read post

You got your LEGO in my cube!

While hunting for white elephant gifts, I came across something really neat. A company called ULUZE (what is with the myriad company name concotions from online sellers?) makes a combination 3x3 cube and LEGO knockoff I had to get for myself. ULUZE's Magic Cube, a 3x3 Rubik's-like cube with LEGO-knockoff 2x2 plates for faces. It's been rearranged so the faces are in checkboard patterns. Okay, so, this thing is really neat. First, I wouldn't mistake it for a speedcube. (I ...
Read post

Controlling iCloud Drive's space usage

Last August, I wrote a post over at Atomic Spin on calling macOS APIs in Automator workflows. My impetus was to control the amount of space iCloud Drive was taking up on my Macs with smaller disks. I don't know how many people actually read that post, because nobody seemed to notice I didn't actually need to write a Swift script to accomplish the task at hand. Because brctl exists. (Mind you, I'm glad I wrote the post and did the exploration. I think it's really valuable not just from an Autom...
Read post

Better captioned images on Listed

I realized that I have been using the figcaption HTML element incorrectly, when I originally added the photo of a Nazi book burning to my post about Twitter and the pink lists. I was trying something like the following, to get text to land below my images: ![An image.](http://example.com/image.jpeg) <figcaption>A caption.</figcaption> This isn't using figcaption correctly, though. And I needed some negative top-margin to align the caption a little closer to the image, as well as so...
Read post

Hey Siri, add a transaction to YNAB

That was an interesting journey. I'd never really invested the time in creating my own really complicated iOS Shortcut from scratch before. The limited debugging options and figuring out how it all worked, step by step by step, reminded me a bit of my early days programming as a kid, bewildered but steadily figuring it out. Okay, but to back up for a minute: my goal was to teach Siri how to record a transaction in You Need a Budget—YNAB, for short. There were, of course, already-written solut...
Read post

Hey Siri, open the garage door

I went smart garage door shopping a little while ago. After looking around at the options, I settled on the Chamberlain Smart Garage Control. But wait, Mattie! You're deep, and I mean deep, into the Apple ecosystem. This ain't a HomeKit deal. And I'm in it for good reason. I mean, I was chomping at the bit for my HomePods to get upgraded to audioOS 16.2 so that I could get into Advanced Data Protection as soon as possible. End-to-end all the things! But the Smart Garage Control had a few thin...
Read post

Making song links for any streaming service

We live under capitalism, so of course there are eleventy billion ways to play a song, many of which are hoping to get you to commit to subscription fees. All hail the subscription economy! I'm the Apple Music type of consumer, owing in part to my stack of Apple stuff but also because I can upload music to it that isn't in the catalog. (Streaming rights being what they are, this has turned out to be a critical need. That and yt-dlp have kept me listening to stuff I wouldn't be able to otherwise...
Read post

Jesus at the Intersection of Fear and Disapproval

Content warning: religious hate of queer people, queer self-hatred. Some of this has been a long time coming. Parts can be found in several drafts hiding out in my private notes. Until today, I've been too afraid to say what I need to say. But something I came across gave me a nudge. This poem from Jay Hulme has been making the rounds. (Jay wrote about this, if you're interested in more.) Jesus at the Gay Bar He's here in the midst of it - right at the centre of the dance floor, robes hitch...
Read post

Uploading images for Listed with an Imgur iOS Shortcut

Please enjoy my first shot at embedding images in my Listed blog. The complete set of LEGO Muppet minifigures. I did this using a iOS Shortcut I created, Upload to Imgur. There are other Upload to Imgur Shortcuts, but this one is mine. And this one resizes the image width to 2048px before uploading. I am not 100% convinced I want to stick with Imgur, but for now, it works out. And maybe I can get my headshot in there too. ...
Read post

The Twitter implosion and the pink lists

Content warning: violence against queer people in history. Like many people, I've been watching the implosion of Twitter under Space Karen with a mixture of dark humor, relief (that I left when I did), and horror. As time goes on and the likelihood that the company continues to be a going concern rapidly approach nil, the horror is growing. I started looking around for a couple options to try to scrub history. (I probably should have been doing this regularly. But I wasn't.) That was when I d...
Read post

A little more Listed customization

My last post introduced a few new things. For starters: Listed does code highlighting. It doesn't make the greatest color choices, though, in dark mode. I wonder if this is something I can contribute fixes for. I also wanted to use keycaps in that post. For this, I added my first bit of custom CSS: --- metatype: css --- kbd { border-style: outset; padding: 0em 0.25em; font-family: Roboto,sans-serif; } I based this on a little bit of fiddling in my browser's inspector, and also a ...
Read post

Edit your Zsh command line with vi

I have a bad habit of just kind of going with very slightly inconvenient things when developing, because I don't want to lose my focus. One of those is when I need to edit something in the middle of a long command line. I'll just hold the arrow key until I get there. When I used OpenBSD and ksh far more often, the solution to this was set -o vi stuck into my $HOME/.kshrc file, which transformed my shell into a little vi editor. Now I could hit Esc to hop out of normal mode and use all my favo...
Read post