I’ve wanted to write for a while about a serious injury I sustained to my finger in October. Finally getting around to it.
I’m now week 9 in recovering from severing my FDP tendon in zone II of my little finger with a butter knife. I was separating some chicken with it (trying to use it as a wedge), when my hand slipped down the shaft and the “blade” cut into my little finger in the worst spot. I noticed something was wrong a few days later when I couldn’t move the end of my little finger. It may not sound like a big deal losing the little finger like that, but trust me, it’s worse than you can imagine. Severing this tendon in the little finger also affected the function of the ring finger (the tendons controlling the two come from the same muscle, and the tendons themselves are usually connected in the wrist).
A quick post since this isn’t well covered: FreeBSD on EFI systems still will hard-code the name enumerated at install time (like da0p2). There is a better way than using glabel (which injects itself into the last block of the partition, which can be problematic). Instead, you can use GPT labels, which are cross-platform and well-known.
It’s because Visual Studio seems to copy an x86 version of the VC++ runtime into system32 on ARM64 systems. That’ll make it crash with a bad image format error. If you copy the ARM64 version of vcruntime140.dll (for me, found in C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.28.29325\arm64\Microsoft.VC142.CRT) into the build directory, binaries will work.
QEMU recently gained Apple Silicon hypervisor support. That was pretty damn cool for the first few weeks of M1 in people’s hands. Even without any optimizations, Windows 10 on M1 outclasses the Surface Pro X and even my Ryzen gaming desktop. Unfortunately, that didn’t include 3D acceleration (though virtio-gpu is now a thing for 2D).
Luckily, Parallels has ported their virtualization software to M1. It’s incredibly janky (and certainly deserving of a technical preview because of that!), but shows a lot of promise, complete with D3D11 support for games. Unfortunately, it requires some hacks to get running stable, but it’ll work fine after that.
Here’s a post off-the-cuff (and not what I usually write): True Stories is one of my favourite movies that never gets talked about. It’s got everything – Talking Heads songs done better than the album, observing the state of the American suburbs of the 1980’s, and bizarre monologues. What’s not to love?
The scene I want to talk about the most though, is the scene where Byrne has dinner with a local businessman (the kind revered for contributions to their local and small community) and his family. It’s one of the most amusing scenes, but also the most prophetic – particularly for people in the computer business.
I needed to attempt a notarization of a Mac app (currently still in the middle of that long story), but I wasn’t using Xcode, so I had to run tools manually. Unfortunately, I couldn’t use xcrun altool, as it couldn’t find the command. I had upgraded the version of Xcode I was using, so I guess I had some stale links somewhere. Running xcode-select -r did the trick and fixed it.
I tend not to like cross-compiling, but sometimes it’s just the simplest solution, particularly if Windows and autotools come into the mix. Recently, I wanted to build xz for Windows, and build it in some particular ways.
windres (the GNU Windows resource compiler) will eat CPPFLAGS, but it won’t process most of them the same way. I often like to use it as a shorthand for both C++ and C compiler options (like -O2), but if windres is in play, only put preprocessor related things. As an example, if you enter -O2 for CPPFLAGS, you get unknown format type `2'.
If you need to target pre-Windows XP, be sure that the compiler is before 7.3. This patch has a hard dependency on a symbol that exists only on XP.
The end result is now I have a cursed xz for an even more cursed operating system: