Trying Perl signatures

Software

Speaking of signatures, Perl 5.20 introduced the concept in an experimental feature in 2015, and I’m only just getting around to trying it. Prior we would have done this:

sub sumificate {
    my ($first, $second) = @_;
    return $first + $second;
}

Or this for a single parameter:

sub printificate {
    my $message = shift;
    return $message;
}

Now we can do this:

use feature qw(say signatures);
no warnings qw(experimental::signatures);    
    
sub sumificate($first, $second) {
    return $first + $second;
}

This is compatible with use strict, even without my on the parameters which is a nice shorthand. The script is in my lunchbox if you want to give it a try.


Testing from Big Sur

Software

This is a test post of my blogging pipeline from my new macOS Big Sur install. It was a success if you’re reading this!

macOS 11 Big Sur is rough. Lots of ugly and inconsistent interface elements, inexcusably-poor contrast, and plenty of wasted space. It looks like a bad knockoff of macOS made by an open-source software project, or what Microsoft would have released a decade ago. The worries I had for the direction of macOS after Yosemite have all come true.

It’s all so beautifully awful and absurd, I’m cradling this coffee and can’t wipe the smile off my face! I might go for a nice walk.


Troubleshooing Palm Desktop on Windows 2000

Software

Earlier this month I talked about getting a Palm LiveDrive syncing with a Windows 2000 QEMU VM. A few people asked me if it works on other hypervisors, so I tried in Parallels Desktop with the same USB passthrough. It worked, though it had a couple of surprises I wasn’t expecting.

I uploaded my version of the Palm LifeDrive software to the Internet Archive for those missing it. Then attached the extracted ISO to my VM:

-cdrom "Palm LifeDrive Software for Windows.iso"

Autorun showed the palmOne welcome splash screen, and I installed as normal. When it came to detect the Palm though, nothing happened. I tried launching Palm Desktop but got this dialog box:

The dynamic link library MSVCP60.dll could not be found in the specified path C:\Program Files\palmOne;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;[..]

This DLL looked suspiciously like the Visual C++ Runtime, but installing the most recent version that runs on Windows 2000 didn’t resolve this. SYSTEM32 included MSVCP50.DLL, but not version 6. I ended up finding an old newsgroup thread where a Microsoft technician suggested pulling the DLL from the installer:

  1. Mount your Windows 2000 installer
  2. Go to D:\SUPPORT\TOOLS in Windows Explorer
  3. Open SUPPORT.CAB in Windows Explorer and locate MSVCP60.DLL
  4. Copy this to C:\Program Files\palmOne

You could put it directly in SYSTEM32, but disk space is cheap now, and I know this specific version works with the Palm software. One does not want a repeat of DLL Hell in 2021!

Screenshot showing the MSVCP60.DLL file in the SUPPORT.CAB folder, and the palmOne folder destination

Now I was able to launch the Palm software. Not sure why this happens specifically in Parallels; maybe their Tools package clobbers something. I’m still impressed they still support Windows 2000 at all.


David Gerard’s IT job description

Media

Stilgherrian’s interview with David Gerard on the absurdity, environmental catastrophe, and scams surrounding Bitcoin was rather excellent. I especially liked his job description which sounds suspiciously familiar:

I have a day job as a senior sysadmin, where my life is about half meetings and public relations… but I touch computers occasionally.


The M1 Mac: “seems fine”

Hardware

Clara just got an M1-based MacBook Pro at work. Naturally I wanted to know if the software she was installing was running on Rosetta, and how well it performed. “Don’t know, seems fine”.

Credit where credit’s due, that’s an achivement.

The Apple Mac OS X Universal badge

I knew when PowerPC software was running in Rosetta on my first-gen MacBook Pro in 2006. It performed better than I expected, having grown up running x86 Windows in Connectix Virtual PC on PowerPC Macs. But my beloved old Macromedia Fireworks did struggle a bit when opening large images.

The world is a different place from the mid-2000s. The difference between the ARM architecture and x86_64 feels like a bigger leap than going from my PowerMac G5 to an Intel MacBook Pro, for example. Maybe the difference was more stark for those coming from PowerBooks with a long-in-the-tooth G4. I wasn’t around for the Motorola to PowerPC transition, I wonder how that felt?

App stores and package managers have automated distribution so its not up to customers to look for software cartons sporting a Universal Binary badge. Few Apple users beyond professionals and hobbyists back then knew the difference between CPUs and how to select software for them, and I’ll bet even fewer do now (at least, as a percentage of their userbase).

I’ve lamented how “boring” computing have become lately. I hadn’t considered that for most people in the real world, that’s exactly what they want.


John Oliver on hair

Media

John Oliver did a segmnent on his Last Week Tonight programme about hair, and the unique pressures placed on Black and African American people. I feel ashamed to admit that I was completely oblivious to all of this. Which now has me thinking what else I take for granted, or assume, or don’t realise.

Play Hair: Last Week Tonight with John Oliver (HBO)

Those outside the US might need to use a VPN to watch it, but please do if you can, it’s worth it.

As an aside, Clara and I saw John Oliver when he did a standup show at the State Theatre in Sydney. He was witty and lovely, exactly what we hoped!


David Gray, White Ladder LP

Thoughts

Today’s Music Monday gets physical. Clara and I just received our twentieth anniversary, limited-release white LP of David Gray’s White Ladder. It looks gorgeous spinning in our track selecting, quartz locking, direct drive, linear tracking turntable atop my robot.

(I have a longer post pending about Mr Robot, but my dad built him for me as a chest of drawers before I started primary school. Last year I removed the drawers and now use him for Hi-Fi gear. It’s almost as though he knew in advance, given he’s just wide enough for a standard RU of equipment)!

Photo showing the White Ladder LP playing in the aforementioned turntable, with the sleeve on the left.

White Ladder remains one of my all-time favourite albums. It became a breakout hit in the early 2000s, but I always thought it had more of a mid-to-late 1990s vibe for reasons I can’t articulate. I since learned from its Wikipedia article that it was indeed recorded during that time, which I was happier to hear than I perhaps should have been!

The album is such a nostalgic snapshot into my childhood, both from radio play at the time, and its later inclusion in my iTunes chill playlists. There was something so unique about his instrumentation, which I think wasn’t appreciated as much as his distinct voice at the time. Pianos are such a perfect fit for pop music, it’s a shame it isn’t used more often.

Babylon was probably his most well-known track, but my favourite is still Please Forgive Me.


Applying Georgina’s framework to anxiety

Thoughts

Georgina is the exact person I’m talking about when I pontificate about the state of independent writers, blogging, RSS, and wrestling control away from social networks and writing farms that have so successfully convinced most Netizens that one needs their blessing in order to post those aforementioned pontifications. That was a long sentence, especially when placed next to this comparatively shorter one. We need more writers like this.

One of her recent posts was a brutally honest take on the concept of adulting, or being someone who has their shit together. She goes into detail about the emotional states and frustrations that manifest from specific obligations which she routinely struggles to action. She cites “saying yes to too many things”, “the apartment has a lot of stuff”, and “I need new running shoes” as examples.

I can empathise. I don’t suffer from depression, but I’ve always had acute anxiety. The worst thing isn’t not doing something, its the worry from not doing it, which is followed by guilt for not doing it, then doubt about whether it’s even possible. This spiral eventually builds up the original task into an insurmountable challenge that triggers crippling physiological symptoms at the mere thought.

Breaking out of this feedback loop is tough, which is why nipping it in the bud before it spirals is so critical. Which is why I took special interest in Georgina’s spreadsheet for identifying tasks:

  • The thing
  • Why is this happening? Why am I feeling this way?
  • Action item
  • Result

I’d devised my own pseudocode based on triggers, thought mistakes, and diffusions, but it’s very much reactionary. This table looks like it could be useful for proactively breaking down and tackling specific tasks, which is exactly what I need.

Anyway, I thought I’d share this in case someone out there finds it useful. Read Georgina’s post for all the details.


A simple bar of soap

Thoughts

Happy Sunday! Soap. It’s a access protocol; it’s used as an industrial lubricant; and some of us even use it for washing hands. It’s to our collective benefit that it’s so ubiquitous and widely used, save for one unfortunate twist.

Clara and I have always erred on the side of being clean freaks, but it wasn’t until Covid that we really started taking stock of how much soap we use in a given month. Not necessarily in cost or supermarket trips, but in the volume of empty plastic bottles it generated.

I try to do the right thing when it comes to rubbish, so I made it a habit of removing the pump spout and thoroughly washing the container so it could be recycled. But then I started taking a closer look at the complicated mechanisms and mixes of plastic, and wondering just how feasible recycling this contraption was. If recycling is at all complicated by something, you know it’s been thrown away instead. I thought back to all the bottles I’ve bought over the years and blanched.

Seeking a solution (heh) to this problem, Clara and I first went back to the supermarket to check out refills instead of buying new pump packs each time. They exist, but come in plastic bottles themselves. It reduces the amount the waste by refilling three to four bottles without shipping more of those non-recyclable pump mechanisms. But the irony wasn’t lost on us that it’s still more plastic.

Turns out, there’s been a solution available this whole time. Bars of soap are cheap, easy to use, and often come in little cardboard boxes. We bought a cute little pair of draining soap dishes from Muji, and have been using a specific moisturising soap on our hands and bodies ever since.

There’s something satisfying, and almost meditative, about working up a bar of soap into a lather in your hands. You’re not pushing a button and moving on, you’re taking deliberate time out to take care of yourself. It’s almost like working clay, only the end result is a lowered risk of getting sick.

Maybe it’s another manifestation of my need for more tactile things of late, like LPs and cassettes for music. Only this one is useful!


I’m not sure that UNIX won

Software

I’ve been reading a lot of articles lately proclaiming that UNIX won, and I’m on the fence about whether that’s true.

Apple’s Darwin underpinnings aside, most of these articles discuss Linux, and how it powers everything from clouds and virtual machines to embedded devices and phones. Even Microsoft, the company formerly chaired by a classy gentleman claiming Linux was a malignant cancer and funded dubious TCO research, now has the backwards-named Windows Subsystem for Linux.

Except, GNU is not UNIX. Real UNIX has been on the wane for years, most spectacularly with the buyout of Sun Microsystems and the subsequent close-sourcing and snuffing out of Solaris. SGI’s IRIX was discontinued two decades ago. SCO and its various phoenixes can’t be pushing too many new UnixWares and OpenServers. The likes of IBM AIX and HP-UX are relegated to backroom duties, with Tux taking centre stage by their vendors. And who can forget Xenix.

This leaves Linux, a system Dennis Ritchie described in 1999 as “draw[ing] so strongly on the basis that UNIX provided”. My worry is Linux and the community around it have strayed further from UNIX for a long time since, to the point where systemd discussions include comments like this with hundreds of upvotes:

People see Linux as a UNIX-like operating system. This is what it originally was, but it’s now outgrowing that legacy. And this upsets some people.

This attitude is perhaps more telling than the OP intended.

My first industrial and educational UNIX experiences were with SunOS. These systems had their own frustrating limitations compared to what I could do on my FreeBSD and Red Hat Linux boxen at home at the time, but part of using them was learning about UNIX. Even with the BSDs, I remember reading that great quote that learning FreeBSD made the gentleman a better Linux user. There’s value in understanding why specific decisions were made, and why we caution against others.

As the oft-quoted saying goes, those who don’t understand UNIX are condemned to reinvent it, poorly. Unfortunately for us, there are now influential people in the industry for whom Linux their only UNIX or UNIX-like experience. Some, like the OP above, see UNIX as a vestige.

The inevitable result of this is a narrowly-focused monoculture. Software is increasingly assuming Linux, and the quaint ideas of POSIX compliance and portability are seen as time-wasting anachronisms. Some of the funnier Freudian slips in systemd bug reports stem from fundamental misunderstandings of UNIX, and the indifference of the developers to it. This should concern you if you understand and value UNIX development philosophies and system design.

I’m relieved Linux is in widespread use; as FreeBSD and macOS users we benefit from its ecosystem and mindshare. Make no mistake, had Microsoft got their way we’d all be running Windows Server today and their about-face with Linux would not have happened. You’re also free to think traditional UNIX is antiquated and Linux is the future. Either way, UNIX winning is only a half-truth; at best it was supplanted by an OS that once resembled it more in design, philosophy, and attitudes than it does now.

(I wrote a follow-up post to this in September 2021. Yes, follow-up post… we’ll go with that)!