Late night Tokyo egg sando

Clara and I are back in Japan, and I was eagerly anticipating chowing down on egg sandwich from one of the many fine convenience store chains. They’re criminally good; I don’t know if they put a Futurama-esque secret ingredient for true flavour in

I’d been waiting since this time last year to go back to Japan and chow down on a convenience store egg sandwich. It may appear to be a odd comestible obsession given the wide variety of incredible food the country has to offer, but they’re unreasonably good.

So jetlagged and hungry, Clara and I ventured across the street from the de-facto AsiaBSDCon Hotel to the 7-11. They didn’t have any, though they did have a certain Dungeon Hestia anime.

Photo of a certain Dungeon Hestia anime promotion

We walked across the street again, this time to our closest Lawson. Once again, the didn’t have any! The absence of this convenience store staple so bewildered me I started recording photographic evidence.

No plain egg sando to be seen!

Fortunately third time was the charm! Family Mart always delivers :)

An variety of egg sando from Family Mart!

Donating billionaires

There’s an infographic going around comparing how much billionaires donate, with the implication that some are more charitable than others. It misses the point:

  • What unscrupulous business dealings did some of these people do to get where they are? Can we stop glorifying ruthless behaviour, and allowing charitable deeds to make up for it?

  • How much tax did these people and their businesses pay, either now, or when they were raking it in? My hunch is we’d need fewer charitable causes if they paid into the society which made their businesses viable in the first place.

We do a disservice to wealthy people with consciences by lumping in others who pay cynical lip service.

Inline substitution with NetBSD sed

I’m writing this on a plane to Japan for AsiaBSDCon again! I learned last year that NetBSD has a unique place there, and I’ve been keen to continue exploring it. My challenge for this year is to have NetBSD on par with FreeBSD on OrionVM, including full contextualisation. But I digress.

tl;dr Use NetBSD sed the same as GNU sed, not FreeBSD sed, for inline subtitution. You probably don’t want or need to know more, but consider the rest a bonus.

Comparing with GNU and FreeBSD sed

sed offers one of the most commonly encountered differences between the BSD and GNU toolchains. On Linux you can substitute a line in a file like this:

$ sed -i 's/Old/New/' $FILE

But this doesn’t behave the same on FreeBSD, and by extension, macOS:

==> sed: 1: "$FILE": invalid command code

The reason is FreeBSD sed requires an extension for -i, as per the manpage(1):

-i extension
    Edit files in-place, saving backups with the specified extension.

So what you really want to do is this. Note the empty string after -i:

$ sed -i '' 's/Old/New/' $FILE

NetBSD sed

Like a schmuck, I assumed the same applied on NetBSD. If you do enough web searches, you get frustrated quickly that people assume all the BSDs are functionally equivilent. But when I used the FreeBSD syntax above, I got:

==> sed: s/Old/New/: No such file or directory

Not to get all Malcolm Gladwell on you, but turns out NetBSD behaves like GNU in this case, and using -i is sufficient:

$ sed -i 's/Old/New/' $FILE

The Christchurch massacre

Update: I want to clarify that Steven Pinker did not comment on this tragedy with specifically what I mentioned below, I was referring to his books.

Steven Pinker is quick—and correct—to remind us that the world is the safest and nicest it’s ever been. Every type of crime, across the board, is down. We’re kinder to each other, we live longer, and we engage in fewer wars than at any point in human history. Someone from the 1800s would see our world today, and would cry with joy at our progress.

And then the shooting in Christchurch happens. Statistically, all that Mr Pinker says remains true. But it takes the wind out of your sails, helped by a fanatical media that’d rather report the gory detail than ask the difficult questions.

It’s easy to feel this hit closer to home for us in Australia, because it is. We see New Zealand as our brothers and sisters. In the vast expanse of the Pacific Ocean, we bob around here together, with our shared sense of humour, languages, cultures, and history. New Zealand is still listed as a state in the Australian constitution, though I’d rather have their prime minister.

It’s also closer to home because the far-right knuckle-dragger who caused so much destruction in Christchurch… was an Australian.

I’m choking up, which is making words hard. I don’t know what more I can add, other than to wish we we come out of this stronger, and more united. Nothing would displease our enemies more. 🇳🇿🇦🇺

Rubenerd Show 391: The Lemon Grove episode

Rubenerd Show 391

Podcast: Play in new window | Download

01:12:50 – It's another Rubenerd Squish, where I stick a few unrelated episodes into one! Part one discusses the most bizarre advertisement I've ever seen, in an audio journey through a 1970s era shopping centre that has barely changed. Part two discusses fabric couches, fun with spirometry, the Clipboard Mafia, and certain frustrating podcast ads. Part three discusses duopolistic allegiances, and fun with reverb-berb-reverb. Recorded Feburuary-March 2019.

Recorded in Sydney, Australia. Licence for this track: Creative Commons Attribution 3.0. Attribution: Ruben Schade.

Released March 2019 on The Overnightscape Underground, an Internet talk radio channel focusing on a freeform monologue style, with diverse and fascinating hosts; this one notwithstanding.

Subscribe with iTunes, Pocket Casts, Overcast or add this feed to your podcast client.


pngcrush with reduce

Every PNG image on Rubenerd, and every screenshot in documentation I write, gets run through pngcrush. It losslessly removes data and optimises the resulting image, often by a shocking amount. Today I learned there’s another flag you can use:

-reduce (do lossless color-type or bit-depth reduction)

This inks out even more space, especially on images that have a very limited palette. The caveat here is you’d potentially want to save it back as a full depth image before editing, or operations like resizes will look jagged and gross.

So now my standard is reduce the size, don’t update the file timestamp, overwrite the original, and work with broken images if possible:

$ pngcrush -reduce -oldtimestamp -ow -fix

I haven’t run into problems using -ow, but you may want to eschew (gesundheit) that option and save a second image if you want to be cautious. You can use -brute, but it takes sufficiently longer without any discernible benefit for me to bother.

It’s available from Homebrew, MacPorts, FreeBSD ports, and pkgsrc.

Tethering is still voodoo

Tethering internet from an iPhone to my MacBooks is amazing. I can still remember back to 2008 when I needed Cydia on my iPhone 3G to do this. But it’s still far from perfect, and occasionally I feel as though my phones have taken on a sinister dislike of sharing.

First I attempt to connect via Bluetooth. It lists my personal phone and Disconnect from network in the Mac menu bar after I’ve paired, indicating a connection has been established. But sure enough, System Preferences flatly contradicts these words of assurance, reporting that Bluetooth PAN is not connected. As an added bonus, my work phone often shows as connected in the same earlier menu, even when it’s not. Even, when it’s turned off, or laughably out of range.

I was told once a joke I gave was laughably out of range. Or that was the voice in my head, I lose track. CDs don’t, or car racing circuits. Which reminds me, I was going to watch the F1 again after an extended absence, oh well.

Screenshot of System Preferences showing connection failed for my personal phone

So I give up on Bluetooth as I should probably always do, and attempt to connect via Wi-Fi. But the phone isn’t listed in the Mac Wi-Fi menu dropdown, even after repeated toggling of tethering in iOS settings. When it does appear, I get a warning that the connection can’t be established. And ping failures confirm that when it does connect, I often can’t use it.

Most of the time, one of these approaches work. But neither work reliably enough to be trusted, especially if I’m on the go and need to urgently access a remote server.

So finally, I reach for my USB cable. Only to remember I can’t plug it into this MacBook Pro, because Apple in 2019 doesn’t provide me a compatible cable out of the box. So I curse silently under my breath, underline the buy an adaptor in my to do list, and briefly entertain a fit of jealousy directed at my PC friends who have SIM cards built into their laptops.

The 737 MAX

The 737 MAX made headlines again recently for the wrong reasons, and with a lot of pain and broken hearts. Investigators are zeroing in on new control systems designed to mitigate the aircraft’s new larger engines as a potential explanation. Jon Ostower’s article on The Air Current describes it better than anyone else.

If this is determined to be the root or primary cause, I think it’s the final sign the 737 has been engineered as far as it can, and is hopefully supersceded.

It’s not the first time engine clearance has been an issue with the 737. Boeing designed the original airframe around the Pratt and Whitney JT8D, a low-bypass turbofan with a pencil-like profile typical of the time period. Check out this photo of a 737-200 by Montague Smith:

Photo of a 737-200 by Montague Smith, showing very thin engines slung under the wings

But with the introduction of larger, more fuel efficient high-bypass turbofans, the ground clearance was suddently insufficient to fit them. Boeing faced a similar issue when attempting to stretch the 707; Douglas on the other hand famously stretched their DC-8 well beyond its original design.

Instead of complex changes to landing gear wells to increase clearance, Boeing’s solution was to mount the new CFM-56 engines far forward of the wing, move mechanical parts to the side of the nacelle, and flatten the lower part of their air intake. This photo by Huhu Uet shows it well:

Photo of a 737-300 by Huhu Uet showing the much larger engines.

The 737-MAX airframes take this to the next level, with even larger engines requiring further airframe adjustments. According to Jon Ostower, they also introduced new control system called MCAS, the Maneuvering Charactistics Augmentation System, designed to:

… automatically trim the horizontal stabalizer to bring the nose down, activated with Angle of Attack data. It’s now at the center of the Lion Air investigation [from last year] and stalking the periphery of the Ethiopian crash.

It should have been the 757 MAX

I liked the 737 because it shares the same cockpit windshield design and cross section as the 707 that arguably ushered in the jet age. But as I wrote last year:

While I like the 737 design for nostalgic reasons, neither it or the A320 are really replacements for the sleek plane Boeing no longer makes for this market segment: the single-isle 757.

It increasingly looks like discontinuing the 757 for longer and longer 737s was a misstep, at least from an engineering perspective. I quoted Cockpit Confidential’s Patrick Smith in that earlier post, who has flown both aircraft:

The 757 is maybe the most versatile jetliner Boeing has ever built — a medium-capacity, high-performing plane that is able to turn a profit on both short and longer-haul routes — domestic or international; across the Mississippi or across the North Atlantic.

With the 737, Boeing took what essentially was a regional jet — the original 737-100 first flew in 1967, and was intended to carry a hundred or so passengers on flights of around 400 miles — and has pushed, pushed, pushed, pushed, and pushed the thing to the edge of its envelope, over and over, through a long series of derivatives …

There are clear economic realities dictating the further development of the 737 instead of the 757 which sold in far fewer numbers. But perhaps the lesson here is to retire this line after the MAX and build a new small jet for this age.

Medhi’s Mother of All Fullest Bridge Rectifiers!

Clara and I have been watching so many great YouTube channels of late, but ElectroBOOM remains my favourite. I’ve learned more about electronics and electricity than I ever thought I would.

A recurring joke is his reference of full bridge rectifiers, which over the years he’s come to embellish to an extreme. And on a shirt from his store, which I wore in front of the Sydney Harbour Bridge because I’m a dork!

Me posing in front of the Sydney Harbour Bridge last year with a FULL BRIDGE RECTIFIER shirt!

I was catching up on some of his lessons last year, and on his discussion on high-voltage DC power transmission included full bridge rectifiers, even fuller bridge rectifiers, and the mother of all full bridge rectifiers!


I’m not sure how he’s going to be able to top that.


Spam disclaimers

Spam is always a poorly written mess of bad grammar and spelling. I pass no judgement for that; their English is better than my grasp of their first language, and the number of typos and mistakes I make here that I have to fix later are just embarrassing. I judge them instead for using farms of compromised computers owned by innocent people for sending unsolicited junk.

Lately I’ve taken a keen interest in spam footer grammar, and how it can aid in filtering. I did the Merlin Mann life hack a few years ago of flagging any email with the word Unsubscribe, or the far more dubious Update Your Email Preferences. But Spammers don’t have a legitimate site to point you to, so will usually direct you to confirm your existence email them to remove yourself from their lists.

Some of them contain refreshing honesty, like this one from Sarah Mizrahi this morning, who I can only be sure is a real person:

Disclaimer: We’re are using this domain for marketing …

I’m sure you do! This one was more polite:

Please accepts my apologies for writing this email without your prior permission.

But this is my favourite:

Disclaimer: “Note: - We are not spammer. We found your email through manually efforts. You can simply reply with Remove so we will delete your email from our list. Thanks again.

There’s a wild variation in the design and text in these spam messages of late, but I’ve seen a large uptick in ones specifically containing one of these disclaimers. Messages which look superficially different can now be matched and deleted based on the same broken grammar structure, which makes me happy.