Accessibility engineer/tech lead at Mozilla. Previously co-lead developer of the NVDA screen reader. Father, husband, pianist/keyboardist, tech enthusiast, totally blind.
I've recently jumped on the Tailscale bandwagon and am loving it. What's astounding to me is that in several days of using it as a screen reader user, I've encountered only a single minor accessibility issue across web, Windows and iOS. It is an absolute dream to use from an #accessibility standpoint, even its "visual" access controls editor. In a world where most tech products (*especially* those from high value tech companies and startups) are riddled with painful accessibility papercuts at best, complete barriers at worst, this is actually incredible. And unlike some tech companies that publicly wax lyrical about how they have such a great accessibility model and how everyone should learn from their work, then ship utter crap that is utterly exhausting to use for people with disabilities, Tailscale has just done the work without any public grandstanding. I don't give such praise lightly, but it's nice to be able to call out great accessibility work for a change. Thanks @tailscale@hachyderm.io. Please keep up the good work and don't let it slip as you grow.
Last year, I moved all of my personal stuff to a mini PC, which has been working really well for the most part. It has no monitor. On the few occasions I've needed sighted help, I just connected via VNC from a laptop with a screen. But I needed to change a BIOS setting, so VNC wasn't an option and I didn't want to cart it somewhere else to connect it to a TV or whatever.
It turns out that contrary to my expectations, USB HDMI video capture devices are quite cheap these days (AUD$30ish). So I bought one and connected it to a laptop. The video capture device shows up like a camera.
Once I was streaming the video from that, I was able to use Be My Eyes desktop to repeatedly take screenshots. OCR worked too, but it doesn't provide sufficient info to tell which option is selected. Direct streaming meant I didn't have to worry about positioning a camera, etc. With some prompting, Be My Eyes was able to give me enough information to tell me which option I had selected, what it was set to, how to get to the option I needed with the arrow keys, etc.
Doing it this way was definitely kinda tedious, but it's nevertheless pretty awesome that I could do this without sighted help and without having to faf about with a camera.
The thing that's great about being a coder is that when you're looking for a particular tool and you can't find anything that works exactly the way you want it to, you just write your own. The thing that sucks about being a coder is that when you're looking for a particular tool and you can't find anything that works exactly the way you want it to, you just write your own.
I've been on holiday in Japan for a bit over a week with my family. I really like it here. Some noteworthy things:
1. Everyone talks about this, but the variety and quality of food available in convenience stores - 7 11, etc. - is truly astounding. I wondered if perhaps it was highly processed, low quality, etc., but it really isn't. I hate cooking enough that if I lived here, I reckon I'd never cook again. 😂
2. Overall, people are much quieter and more considerate here. Even in relatively crowded spaces where I'm used to it being super loud - public transport, train stations, shopping centres, crowded streets, etc. - it's just so much quieter.
3. The bathrooms are so clean! Men's bathrooms in a lot of countries, including Australia, are often pretty smelly and awful. I've not experienced that once here. It just goes to show that it *is* possible for people to not behave like animals in public bathrooms if they want to. This seems to be an extension of people being generally more considerate overall.
4. My (albeit limited) experience is that there are far more physical buttons, far less ridiculous and unnecessary touch interfaces and much more use of braille and tactile markings on buttons. Unfortunately, I can't read Japanese braille, so this hasn't been as helpful as it could have been, but that's my fault. :)
5. Mobility accesssibility for blind people is probably better overall, but with some notable absences. Train announcements are consistent and super helpful, plus there are audible indications like music, bird sounds, etc. to aid with navigation and location, assuming you know what they mean. (I haven't figured them out yet.) Some escalators, elevators, bathrooms, etc. have audible indicators to help you find them. There are tactile ground markers all over the place, though of course they're still only useful if you have some sense of where you need to go. On the flip side, I've seen very few audible trafic lights, and the ones I have seen are far too subtle, difficult to locate and hard to distinguish. This lack seems kinda strange given how far ahead Japan is in those other areas. Australia is far more consistent and practical in this one area IMO.
6. The public transport system is incredible; frequent, fast, efficient. To be fair, I live in Brisbane, so any decent public transport system impresses me.
I didn't bring a laptop with me on my holiday. Using only an iPhone for more than a week (with a bit under a week to go) is really grinding my gears. While some of it is just general efficiency differences that everyone experiences regarcless of disability, most of it is a myriad of seemingly trivial but unbelievably painful accessibility papercuts experienced all over the place, like focus not being restored correctly when you switch apps; or focus bouncing away from where you put it and having to (sometimes repeatedly) move it back, especially when it bounces just as you're double tapping to activate so you end up activating the wrong thing; or controls inexplicably disappearing from left/right flick VoiceOver navigation, especially when the buttons are tiny and hard to locate with muscle memory; or the keyboard disappearing while you're trying to locate the Passwords button, thus taking the Passwords button with it; or auto language switching which you can't disable, especially on Apple Watch where loading a different voice can take more than 5 seconds; or websites which cause WebKit + VoiceOver to lag so badly that they're completely unusable; or asymmetric VoiceOver flick navigation such that if you miss a control, you can't necessarily get back to it quickly; or large items which cause other items to disappear from VoiceOver flick navigation, requiring you to faf about with manual scrolling and explore by touch until they reappear. And these are just the issues off the top of my head. On one hand, it's great that I can do a whole bunch of stuff on a pocket sized device, especially given that I'm travelling and carrying around and getting out a laptop isn't logistically practical. On the other hand, some of these issues combined this morning resulted in a (rather fiddly) booking management task taking nearly 2 hours when it probably would have taken me less than 15 minutes on desktop, and I probably couldn't count how much time the issues cost me throughout the rest of the week. I would never have tolerated this kind of stuff when I was working on NVDA, and I don't tolerate it in the Firefox browser engine now. It boggles my mind (even if it's not at all surprising to me) that big tech companies are content to let utter crap like this slide, as a matter of pride if nothing else. And since every commercial platform after Windows and Mac is completely locked down, there's little to no chance of this ever improving now on iOS or Android, let alone any platform that comes after. We are forever bound to the whims of big tech companies, with no way to compete to improve the situation ourselves or pressure big tech to do better. It's so damned depressing.
In last week's episode of exasperating but fascinating nerdy discovery, my son dropped his iPhone SE 2nd generation. Thereafter, it hard crashed and rebooted very frequently. We ended up getting him a second hand replacement. But I still had the challenge of getting the data off the old phone, since he doesn't have enough iCloud storage to have a recent cloud backup.
Neither a transfer or computer backup was an option. Neither of those can be resumed and they never finished before the phone crashed and rebooted. But then I started to notice that the phone was crashing every 3 minutes. That looked suspiciously like a watchdog timer, so I started digging.
It turns out that the phone has a damaged thermal sensor. To prevent itself from overheating (which can be very bad, especially in a device with a battery), the iPhone has a monitoring daemon (thermalmonitord). If it doesn't get a response from one of the thermal sensors within 3 minutes, that causes a kernel panic, force restarting the device to protect it.
Thankfully, there is an exploit which allows one to disable thermalmonitord. As noted above, this is pretty dangerous, so I wrapped the phone in an ice pack to keep it from potentially overheating. That allowed me to complete a backup and thus restore it to his new phone.
I also found instructions to fix the hardware failure. Unfortunately, I'm incapable of executing them myself, but I should hopefully be able to find a repair person who is. Hopefully, my diagnosis will make this a lot faster to repair and thus cost me less.
I've just spent far too long writing the beginnings of a ridiculous music game for web browsers. You use either a MIDI keyboard or the computer keyboard (a s d f g h j k). The game plays a bar of random notes and you have to play it back, correct notes and correct timing. As you level up, the patterns get more rhythmically complicated. If you make 5 mistakes, game over; you have to start again. Still probably a lot more to do to make this more interesting, but I'm curious as to whether anyone finds this remotely worthwhile.
One challenge right now is how to calibrate if you don't have absolute pitch. I feel like I might need to add some sort of screen where it plays you a few notes until you find the right ones or something. For now, note that it's in A minor, A3 to A4.
https://files.jantrid.net/simus/
Atlassian's CEO says: “The bar for what ‘great’ looks like for software companies – on growth, on profitability, on speed, on value creation – has gone up.” I love how "quality" doesn't come into that at all. It's very demonstrative of the tech industry across the board these days.
Atlassian to shed ten percent of staff, because AI https://www.theregister.com/2026/03/11/atlassian_layoffs/
For a school project, my son wants to do a live looping performance involving keyboard, vocals and maybe violin. Looping pedals that support vocals and another instrument are surprisingly expensive; several hundred dollars at least. So, I looked into software options and couldn't find anything that quite did what I want.
He wants to be able to quickly toggle overdubbing of loops. He also wants to be able to mute parts of the loop - e.g. mute a set of instruments and bring them back later - which means the looper has to be multi-track.
REAPER's Super8 almost does the trick, but aside from its inaccessibility (my son has sight, so that's okay for him), it doesn't seem to work the way we want with MIDI control. When you assign record and play to MIDI CCs, it works the first time you trigger it, but not after that, which is weird.
GLoop is quite nice, but although it supports undo and redo for overdubs, it doesn't support multiple tracks that you can take out and bring back in at will.
I even looked at Ableton Live's Looper device, but that is only single track.
In the end, I gave up and wrote my own audio-only looper from scratch in #REAPER JSFX. It's very basic. It has a single stereo input and a single stereo output. It doesn't pass through input, so you put it on a track and send other tracks to it that you want included in the loop. It supports 4 stereo internal loop tracks and has separate record and play/stop triggers for each track, plus a reset trigger (9 triggers in total). The triggers are exposed as FX parameters which trigger when the value changes to 1, so you can map them to MIDI buttons or pedals using REAPER's parameter learn function.
I have them mapped to the 8 buttons on my Komplete Kontrol keyboard in MIDI mode. Kontrol MIDI templates allow you to expose multiple pages of buttons, so the reset trigger is mapped to the first button on the second page. If you're doing this with Kontrol, you'll want to change the buttons to gate instead of toggle, as otherwise, the buttons send on for the first press, off for the second press, etc.
I probably won't do much more with this - it serves its purpose - but I thought I'd post it here in case anyone might find it useful.
You can download it from here:
https://raw.githubusercontent.com/jcsteh/jtReaper/main/jsfx/simplooper
Like... who would have thought that "moving fast", mindlessly shoving AI into everything whether it served a real user need or not, and not caring a Zarq about quality in the process would irritate users? Surely no one could have predicted that. Surely not. But hey, this is just how tech companies roll these days, so they didn't really make a mistake that needs an apology. This is just a slight "pivot" and them being "agile" in their response to a changing world.
Windows boss promises to heal the operating system's self-inflicted wounds
https://go.theregister.com/feed/www.theregister.com/2026/03/24/windows_boss_promises/
Ah. The joys of emailing yourself links like it's 1995 because your personal and work accounts are entirely separated on different machines due to work policies, but you still end up having a bunch of work related correspondence on your personal GitHub and social media accounts.
So after months of zero musical inspiration, I started writing a song about how utterly fed up I am of enshitification and hypercapitalism. Here's the intro, first verse, first chorus and interlude. The bad news: I have no idea where this is going from here, especially lyrically, so who knows when I'll finish it. The good news: it's far enough along now that it shouldn't die completely. Hopefully. https://files.jantrid.net/music/NthDegree/DidntHaveToBeThisWay17Mar.mp3