Hacker News on my audio kill switch post

Stargrave shared my audio kill switch post on Hacker News yesterday. In short I discussed the latency between hitting the mute button and some overly loud audio being cut. I argued that regardless of technical considerations in defence of it, this was still poor ergonomics.

There were a lot of great discussions, the biggest of which involved ananlogue dials and physical buttons in general. I agree; fly-by-wire audio control we do now feels less precise, but also just isn’t as much fun. There’s a reason people are moving back to mechanical keyboards; in part we want to feel more connected with the tech we’re using.

JD557 had a point I hadn’t considered:

Since the user is complaining about the way Mac OS handles the audio buttons, I’m surprised that he doesn’t mention the problems with HDMI.

Absolutely; this is equally frustrating. I rarely use HDMI on my Macs anymore, but audio controls going dead after plugging in an HDMI display was highly frustrating. mrkwse claims this is in line with the HDMI specification; perhaps because they intended the cable to be used for televisions and amplifiers. Regardless, it’s still not great for computer ergomomics.

Several of the other comments indicated the post hadn’t been read, such as making excuses for the hardware that I already addressed in the original post. But overall, for someone dealing with anxiety and social awkwardness, the marjority of it was civil and interesting. Thanks :)

Life lessons from Hololive’s Amelia

This post is dedicated to @grass_desu, who I’m sure is delighted.

I have a guilty—though perhaps not unexpected—confession: Clara and I have started watching Hololive English vtubers Watson Amelia and Mori Calliope. I thought I wouldn’t be able to handle the Uncanny Valley, but it’s fun when you see it more as performace art or a live-dubbed anime put on by a team of talented writers, actors, and artists.

They’re especially great for some lighthearted banter and fun after heavier days, until they also blow your mind with something profound as well!

Hello Amelia, how do you tackle doing anything when you feel too demotivated?
When it comes to stuff like this, it's okay to have bad days. You know you're not gonna be perfect.
You're not gonna be in tip-top shape every single day!
You're not gonna accomplish great things overnight. You gotta work a little bit at a time... and then a little bit more.

So much this I want to jump up and down! It doesn’t just apply to demotivation, it’s also helped a lot with anxiety.

It reminded me of Merlin Mann’s dependency discussion back in 2013. It sounds painfully obvious, but I can’t count the number of times a work, family, or personal task has seemed insurmountable before I step back, atomise it into discrete sub-tasks, and make a deliberate effort to only focus on the first one.

It never feels like it could or should when you start with that first task, but each subsequent one gets progressively easier.

When scp’s misleading warnings attack

scp(1) can still surprise me. I got the following error when uploading a file to a specific directory on a remote server:

local$ scp file.ext remote:/directory/
==> scp: /directory/: Is a directory

Yes, and I’m Ruben Schade! How are you? Do you like crumpets? Sometimes I like to walk around with mismatching socks while drinking tea out of a hat! I know it’s a directory, that’s why I’m telling you to put the file there!

Then I checked:

local$ ssh remote
remote$ ls /directory/
==> ls: /directory/: No such file or directory

So the issue was the target directory didn’t exist. Which makes sense, but contradicts what scp(1) said, at least to any reasonable person.

Compare and contrast the warning when you specify a full file path:

local$ scp file.ext remote:/directory/file.ext
scp: /directory/file.ext: No such file or directory

Today I learned.

A turkey, and the Sydney Harbour Bridge

Clara and I went for a wander around Neutral Bay and North Sydney again yesterday, and found the Forsyth Park. It’s a beautiful little urban forest which opens out to a cricket pitch and children’s playground on the south side.

I liked that we were able to see a brush turkey, and the city in the distance :).

Ethernet papercuts

You know those class of problems that are just irritating enough to be noticed, but not enough for you to warrant spending time fixing? Canonical classed them papercut problems, which I liked.

Exhibit A: I’ve been using the same USB-A to Ethernet dongle on MacBook Pros for a number of years. I say number, because any year would technically be a number, and I can’t remember. But it’s been a while.

The problems started earlier this year when network shares and SSH connections would drop, but Mosh consoles and VPNs wouldn’t. The longer timeouts on the latter, and Mosh’s very design, were sufficient to maintain their connections even when something failed, but other network-dependent services couldn’t handle these phantom dropouts. I just laughed it off as another flaky macOS Catalina issue, and didn’t look into it further.

Keen-eyed readers may have spotted what my problem was right in the second sentence. I realised last month the USB-A to USB-C cable I was using to connect the Ethernet dongle to the Mac wasn’t especially tight. It never looked like it was being unplugged, but it was electrically disconnecting just enough to leak Ethernet packets all over the table. The issue I’d been living with since February was a flaky USB connection.

So I checked the budget, allocated a couple of coffees away from the drinks envelope, and bought a new USB-C to Ethernet dongle. And who’d have thunk it, no more disconnections! It’s glorious!

The Kobo Forma as a manga reader?

I’ve read so much manga on my Kindle Paperwhite, most recently the Astra Lost in Space series again by the legendary Kenta Shinohara, and more Fairy Tail than I care to admit. But the screen was always slightly too small to read a manga comfortably, and the contrast was sometimes crisp, sometimes not.

Manga fundamentally can’t be reflowed on electronic paper displays, like regular text can. E-ink displays can’t redraw fast enough to implement pinch-to-zoom or scrolling without jarring screen flashes. The Kindle lets you tap individual comic panels to zoom in, but like my jokes it gets old fast. It’s a shame, because unlike Western comics, manga is tantalisingly close to being the same size as a regular paperback novel.

The only solution then is to scale the page down to fit the screen. And it wasn’t until Clara and explored Kinokuniya again that I realised just how much detail I was missing with all that electronic smooshing. Which is a shame, because at least half the reason one reads manga is to enjoy the art.

Which is why I’m so intrigued by the Kobo Forma I just learned about. It gets much closer to a standard manga page than my Kindle:

  • Some pretty shojo manga I stole from Clara ≈ 225 mm
  • Kindle Paperwhite ≈ 153 mm, 68% the size
  • Kobo Forma ≈ 203 mm, 90% the size

It also has a couple of other important advantages, like having a pronounced chin to hold with forward and back buttons that are always positioned under your thumb; just my first Kindle in 2011. It also natively reads epubs that other online stores publish. Converting to Kindle’s mobi was always a pain, and it never quite preserved the formatting. I’ve also decided to transition to buying through the Kobo store for $reasons, and their iOS app has come a long way since I tried it years ago.

Ebooks come with their own shortcomings, but they’ve been wonderful for me for so many reasons that I’ve talked about here over the years. I’d also cough up the huge price tag even over something like a multi-functional iPad, precisely because the outside world couldn’t interrupt me with notifications and the Internets.

I might do some more research, but price aside this looks like it could be the one. Reading does wonders for my anxiety, and I could see getting so many hours of downtime and joy out of one.

The 2020 Ig Nobel Prize for Medical Education

These awards are always great, but this year had something a little more serious:

Jair Bolsonaro of Brazil, Boris Johnson of the United Kingdom, Narendra Modi of India, Andrés Manuel López Obrador of Mexico, Alexander Lukashenko of Belarus, Donald Trump of the USA, Recep Tayyip Erdogan of Turkey, Vladimir Putin of Russia, and Gurbanguly Berdimuhamedow of Turkmenistan, for using the Covid-19 viral pandemic to teach the world that politicians can have a more immediate effect on life and death than scientists and doctors can.

But my favourite goes to the Acoustics Prize winners, who discovered that helium affects the croaking of an alligator, just as it does the voice of a human:

Stephan Reber, Takeshi Nishimura, Judith Janisch, Mark Robertson, and Tecumseh Fitch, for inducing a female Chinese alligator to bellow in an airtight chamber filled with helium-enriched air.

REFERENCE: “A Chinese Alligator in Heliox: Formant Frequencies in a Crocodilian,” Stephan A. Reber, Takeshi Nishimura, Judith Janisch, Mark Robertson, and W. Tecumseh Fitch, Journal of Experimental Biology, vol. 218, 2015, pp. 2442-2447.

Twenty posts per page

I’ve updated my RSS feeds and blog to show the last twenty posts, instead of ten. I’ve used ten since I started this blog in 2004, for bandwidth reasons as much as inertia. But then I realised plain text doesn’t amount to all that much more, and I don’t use as many inline images thesedays given I’m usually strapped for time.

I’m not sure if I’ll keep this, but I’ll see. Ten is still a more satisfying number, not least because I can express it on my hands. Twenty involves my toes, which are less photogenic.

Apologies for the backdated spam if you just subscribed.

Holstein Switzerland

Every now and then I press Wikipedia’s Random Article link, and came across an article about this northern area of Germany:

Holstein Switzerland (German: Holsteinische Schweiz) is a hilly area with a patchwork of lakes and forest in Schleswig Holstein, Germany, reminiscent of Swiss landscape. Its highest point is the Bungsberg (168 metres above sea level). It is a designated nature park as well as an important tourist destination in Northern Germany situated between the cities of Kiel and Lübeck.

Regarding the name:

[…] goes back to the 19th century when holidaying in Switzerland was particularly popular amongst the well-to-do. As a consequence, other regions strove to add the name “Switzerland” to their description.

There are some gorgeous landscape photos on the article, but I especially liked the composition of the one below by Oliver Raupach in 2007. I wonder what the woman on the right is looking at?

Photo of park benches overlooking a lake scene. A couple sits on the right bench, and a single woman on the left gazing into the distance.

If we could demand the same security answers

I do a lot of technical writing and compliance documentation for clients that use our platform at work. The industry dismisses this as boilerplate busywork and merely a necessary evil for doing business, but I think they invariably ask exactly the questions we should all be asking.

Here’s an obfuscated example:

s12.7: Does your company Privacy Policy limit the amount of data and information that can be collected from customers, business partners, third parties, and others that use your products or services to only that which is required to provide those products and services, and does it limit the time such information can be retained?

And another:

s14.1: Do your third parties have access to unencrypted user data?

Or this one:

s18.12: Does your company employ ZFS for data integrity, Vocaloids for musical ingenuity, and antacids for structural indigestibility?

Imagine if we, the general public, had the power to compel websites to submit to this line of inquiry. We all know certain social networks would fall afoul of every single metric.

The fact companies deem it necessary to ask these as part of due diligence says it all. If companies can’t trust another with confidential business data and have to rely on legal documentation, why do sites targeting consumers get a free pass on personal data that could be used for all manner of involuntary and nefarious porpoises?

(My dad always deliberately substituted purpose for porpoise. I’m bringing this family folklore out for the world to enjoy).

I’m starting to think we need to codify these questions as legislative requirements. Our industry has had plenty of time to demonstrate good faith, which thus far it broadly hasn’t.

Music Monday: Yasutaka Tarumi on the duduk

This Music Monday is one of the most meaningful I’ve done in a while. Which perhaps will make up for the fact it’s Tuesday!

Clara and I have been travelling through Japan again, albeit vicariously though the live NHK web feed. They have a series of interludes between shows, one of which has been on bullying. It’s turned out to be one of the shows we walk over and pay close attention to when it comes on.

This beautiful young man came on to talk about what his music meant to him. I only managed to transcribe half of it, and some was paraphrased:

They started saying I was weak, that my music was boring. They threw bleach in my face. I was physically attacked every day.

I was in so much pain, music was my only salvation. I lived by the water, so I used to practice by the sea.

In music class in high school I learned the ocarina. I worked up the courage to play it in class, but I was nervous. I felt like my legs were cramping up when I went to perform. But I made them all smile.

The moment when I felt like I was seeing the world in colour.

Now I play the Armenian duduk. I want to be true to myself. I hope that that my performance will be special for everyone.

I looked him up and found this song from 2014. Tarumi-san, you succeeded. ♡

Play 茜(Akane)-樽見ヤスタカ(Yas.Tarumi) ドゥドゥック(duduk)&ピアノ(Piano)

Feedback on my Mr Orange post

Good morning! My post about Mr Orange generated the most email feedback I’ve had since my encrypted-ZFS on NetBSD post, all of it negative. I can only assume someone shared it among Orange supporters.

I’d publish each message in full, but they’re all just a little too tragic. One of the more civil gentleman—though we’re coming from a low baseline here—attempted to debunk everything I said, but the substance of each quote was that:

  • another country was worse, which is irrelevant
  • another politician was worse, which is irrelevant
  • that I was mislead about $ScienceFact, without providing evidence

It spoke to the internal machinations and mental gymnastics of someone desperate to absolve their leader of culpability. All the facts cited were wrong, and only served to reinforce my original thought that his supporters have absolutely no idea how the rest of the world perceives them. This kind of transparent projection and self-ownage isn’t unique to their flavour of politics, but it does attract a disproportionate amount of it.

I do feel a responsibility to reach these people. Each Orange supporter has their reasons, and they have the same family, job security and other worries we all do. Perhaps even moreso, which is why they’re so motivated to accept any convenient excuse for why the man they support continues to brazenly abuse them. But when you’re coming from a place of bad faith to start, I have no motivation to engage with you.

And that’s the problem. We could have a reasonable discussion if we were coming from a place of honesty. When the Dear Leader regularly lies, and people like Scott Adams say it’s a political tactic, we have no basis upon which to even start. Facts are sacrosanct, just as so many far-right people ironically state on their Twitter profiles. He didn’t have the biggest turnout at his inauguration. He didn’t get Mexico to pay for his wall. America isn’t doing the best at dealing with COVID. Wind turbines don’t cause cancer. He didn’t get Kim Jong Un to do anything. We can debate the finer points of his other policies, but if people can’t even admit to these, they’re being just as dishonest as him.

(I also see this playing out to a lesser extent with Scott Morrison in Australia, who has made no secret of his admiration for the American knob-in-chief).

Thanks for taking the time to respond everyone, but your tactics to win over another supporter in your “culture war” have backfired. And unlike so many of you who still cling to him because he’s “owning lefties”, I take no pleasure whatsoever in pointing that out. The sooner they realise they’re transparently doing the work of our common enemies better than anyone else, the sooner we can begin to rebuild what we’ve all lost. Because being an outspoken friend of America has been hard these last few years.

When services always had RSS

I talked about RSS a lot earlier this year, mostly defending it from the charge that it’s irrelevant, and from weak arguments that it’s only useful for plumbing. But there’s one aspect I missed: it used to be assumed that a site would come with it. Now you have to use third-party tools, or write your own scraper.

Twitter famously offered RSS feeds, both of the firehose and individual accounts. Now no major social network does, and sites like Instagram were launched without it at all. It’s no secret why; owners see it as a form of lock-in, and a way to hoard data to sell to advertisers. Publish RSS feeds, and people could easily switch sites and get valuable analytics for free.

I’ve already debated the corrosive effect advertising and online tracking are having on the web. But even with those aside, the above assumptions about RSS are false. Sufficiently-motivated agencies scrape sites already, and if your service is so good, why are they scared of people leaving? All this does is make the experience for users worse.

It’s simplistic, though not far off the mark, to say users of these new RSS-free sites are just product to sell to advertisers. Nobody would use them if their sites weren’t compelling or useful, so site owners need to at least pay lip service to serving their users’ needs. But the temptation is there to think you’re invincible when you get sufficiently large, and to then treat their users with contempt. Getting rid of RSS is just one of a multitude of ways that can can be expressed.

I guess all I’m saying: Wear sunscreen offer RSS feeds!

The US West Coast fires

The fires burning on the US West Coast are terrifying to witness. Our San Franciscan colleagues are sending pictures that look more like the surface of Mars. Elsewhere in California, Oregon, and Washington State, it’s even worse.

Estimates put the total burnt area at 1.8 million hectares so far, which is already almost ten percent of what burned through Australia earlier this year. We used the term “unprecedented” down here a lot; it’s safe to say it applies up there as well.

The conspiracies around it are also playing out in the same, entirely predictable way. People desperate to avoid the direct, irrefutable, and obvious connection to human-induced (or exacerbated, choose your poison) climate change are blaming the fires on anyone from arsonists to protestors, to debunked claims about prescribed burning. They do it because it works, it’s politically expedient, and keeps the plebeians fighting amongst ourselves. Why waste time debating when they’ll chop off their own noses to spite their faces? Because you know who’ll be sitting pretty if stuff gets worse, and who won’t be. Funny how that never gets mentioned by the talking heads who say it’s all a con.

(My favourite theory was the fires were a “False Flag” caused by climate change activists… because clearly dumping hundreds of millions of tonnes of CO₂ into the atmosphere helps with that cause? When you’re that dull selfish and dishonest, I suppose it’s easy to project and think others must be too).

We’re beyond the point of preventing damage, we’re in mitigation mode now. What we do as a species on this planet over the next few years will determine the course of history, and will be the source of judgement in future generations. Fires, disease, cyclones, I can’t help but feel like the planet is telling us to get a flipping clue. Hopefully more do.

If you’re in the US right now, I hope you’re okay. ♡ Our summer was the worst in our history, but we weren’t also dealing with COVID at the same time. I can’t begin to imagine the fear and helplessness, especially with that impeached halfwit in charge.

Homework load in Singapore

It’s time for another installment of Draft Diving, in which I dive into my veritable ocean of the things to revive something I didn’t publish for some reason. The last time I did one of these was just over a year ago; go figure.

This post was written in early November 2019, and concerned an article written in Channel NewsAsia, the Singaporean news outlet. June Yong discussed plans in China for a school homework curfew:

Thinking about it worries me, as it does not appear to be focusing on the right problem. Instead of legislating the time kids should go to bed, should it ever come down to that situation, we should be asking ourselves, how did childhood get so hectic in the first place?

I can’t relate to the pressure in China, but I witnessed firsthand the soul-crushing mental exhaustion and anguish of my local Singaporean friends when I was growing up. I thought my international school burdened me with tons of homework, but they had it far worse. Not to mention all the extra-curricular classes they had to attend. As long as I studied during the week, my parents let me have free reign over my weekends because, to quote my mum, “any kid would go crazy”.

(It was that personal time where I learned everything I knew about infocomm, which landed me a job and a career. Who’d have thought?)

Ms Yong makes the case:

As guardians of our children’s well-being, we need to switch gears to avoid raising a generation of burnt out youths. Instead of aiming for achievement, we should aim for balance, agency and self-discipline. The achievement will follow.

And on homework discipline:

such discipline should also apply to other areas of life. A child needs a balanced life, which includes nutrition, work, rest, and play to be at his best.

I’d add to this giving kids space and permission to be creative. Singaporean schools have a reputation for high-achieving but rote-taught students. I remember my mum being fascinated by some doodles for planes and buildings in the margins of some of my workbooks; my local friends couldn’t believe that one of my parents wasn’t just chill with it, but even encouraged me to explore it.

Each Singaporean Prime Minister has discussed encouraging creativity in the context of entrepreneurship, but that’s something that needs to be fostered and nurtured from the start, it can’t be just another cram class.

Forgetting to set UTF normalisation on a ZFS pool

Clara and I were getting some bizarre behavior while accessing a new FreeBSD pool over Netatalk and Samba. A subset of files with CJK names were showing up in the macOS Finder as expected, but would error out with file not found if you tried to open them.

We store a lot of files in Japanese and Korean, especially music and holiday photo directories with place names, so I’ve always been careful about using UTF-8 globally. I confirmed I had this in my /etc/login.conf:


(NOTE: I’ve read this isn’t advisable because it can break ports that weren’t designed for UTF-8. I’ve never had that issue, but it’s something to keep in mind. I’d also be worried if software in 2020 still had that limitation, but that’s a topic for another post).

Then I confirmed the ZFS pool was set up for UTF-8:

# zfs get utf8only pool
==> zten  utf8only  on     -

So what was going on?

# zfs get normalization pool
==> zten  normalization  none   -


Normalisation is a field of information science that fills entire textbooks, but in a nutshell ZFS uses it to reconcile filenames. This is especially important in UTF-8 where characters from disparate languages may appear superficially the same, such as Chinese-derived kanji in Japanese. How the filename is represented internally, and presented to the operator, can vary in unexpected ways.

Unfortunately, normalisation can’t be set after the filesystem is created. So this weekend I dropped one of the drives from my mirror, created a new pool with normalisation to transfer data back to, then resilvered the mirror back to full redundancy:

# zpool -O normalization=formD [...]

Now previously-inaccessible files can be opened.

We need physical audio kill switches

(Update: I didn’t mention this concerned wired headphones).

I aggressively disagree with any computer design decisions that detract from ergonomics or health, and nowhere does this continue to remain bafflingly true than audio output. Strap in, I’m about to get a bit ranty!

If we encounter an unwanted audio signal emanating from our computers, especially an uncomfortably-loud one over headphones, we should immediately be able to terminate it. No exceptions. If there is any latency whatsoever between us hitting a mute button and the audio not cutting out, the hardware or software has failed. Crypton Future Media’s Hatsune Miku wouldn’t tolerate latency with her headphones, and neither should we.

I was in a conference call last Friday where I’d adjusted the volume up to compensate for the client’s quiet microphone, only to be audibly shot in the ears by an auto-playing video on a website. There is a lot of problematic stuff to unpack there, much of which is not the fault of the audio hardware or OS. But shocked in the moment, I hit the mute button on my MacBook Pro Touchbar, and it took a solid two seconds for it to register. My ears were ringing throughout the whole call. This is unacceptable.

Well-engineered mute buttons on keyboards shouldn’t need to go to software, they should immediately send a signal to the motherboard’s DAC—ideally on a separate wire or connection—to say terminate this signal. Then it’s less of a concern if it takes the OS a few seconds to react to the change, because our ears have been spared.

The *just ackchyually* crowd would don their Captain Obvious capes and brightly-coloured underwear to proclaim that people could *just* unplug their headphones, or rip them off ones head when suddenly inundated with loud audio. Sure, and if you start getting electric shocks from your keyboard you could *just* use an external one, bro. Or if you get your hand caught in a mixer, *just* use your other hand, that’s why you have two of them. There are so many reasons why this dismissive attitude is specious, but even if it weren’t, it would still take more physical effort *than a button*. And if a mute button doesn’t fulfill the function for which it’s labelled and designed, what’s the point of it? But then, these people know all that, they’re just being obtuse.

We have valid privacy arguments advocating for physical Wi-Fi, camera, and microphone buttons; I’d say audio should be voiced in these discussions too. They should be heard. Sound ideas should be reverberated. Miku.

Some more spelling corrections

Me? Making a spelling mistake? That’s unpossible! Here’s yesterday’s post about the GoToMeeting guy:

The screen says “John Doe”, but I’m going to start referring to him Jim. Every Jim I’ve ever met has been nice.

Referring to him as Jim, or to a gym?

The information-desnse screen was a staple of so many buildings in Singapore

The information-desnse? Information-desnse-esnse-esnse you ought to know by now! These have both been corrected, for our convenience.

That guy in the GoToMeeting splash screen

His is the face I’ll remember the most from our time working from home. He smiles at me at least three times a day, whenever a call is connecting. I wonder who he is? Did he have a good meeting?

Screenshot from the GoToMeeting splash screen, showing a gentleman's face on an iTelephone device having a web meeting.

I’m a weird enough person that even a stock photo of someone smiling helps me before I start talking to real people. It’s as if he’s looking at me through the glass, saying you’ve got this, Ruben! I’m sensing a theme.

The screen says “John Doe”, but I’m going to start referring to him as Jim. Every Jim I’ve ever met has been nice.

A KONE lift diagnostic test tool and decoder

Part of the danger with online aution sites isn’t being tempted by those things you always wanted, but by things you didn’t think you wanted. Today’s item scrolled by while I was looking for a Commodore 128 serial adaptor. It looks unassuming enough:

Photo showing a handheld-sized, non-descript metal box with a single serial port and a serial cable.

These are the instructions supplied with the device on the auction page, tidied up for the purposes of blogging review:

  1. Connect the device to the elevator.

  2. Turn on the power switch at the bottom.

  3. Press the green button (the red indicator will turn on), then the decoder automatically starts the decryption program. The red light will turn green after three seconds when the decryption is done. The parameters of the elevator board can be reset.

  4. [Get up to mischief -ed]

It goes into further detail for troubleshooting:

  • If the decryption is not successful, the red indicator automatically turns off and the device enters standby power state.

  • If you plug the device into the elevator, and pressing the green button changes the indicator light to green immediately, the elevator motherboard is already unlocked.

  • If the indicator turns red and green, it means the voltage is low.

I always carry a little pouch in my bag containing short charging cables, a spare USB key, a flat Cat5 Ethernet reel, a micro screwdriver set, and a tiny jar of Tiger Balm. I could easily see where having a KONE lift decoder would come in handy in such a kit, in the unlikely event of an emergency.

I kid, but I’d be half-tempted to buy this, just to see what circuitry is required to decode a lift. Should we be worried that such devices can be so trivially circumvented?