Lessons from hours screaming in a metal tube

Travel

An article from the Singapore Financial Times has given me the confidence to share some travel stories of our own from Clara’s and my recent Singapore and Kuala Lumpur trip. I’m not sure what we did to enrage the travel gods, but each leg of the trip was an adventure.

The flight from Sydney to Singapore was, in retrospect, the better one. We were seated towards the back of the cabin, but two shrieking infants close to the bulkhead fired on all cylinders continuously for eight hours. It was the most blood curdling crying I’ve ever heard, and it hit just the right note to trigger anxiety attacks, like I was overhearing someone being tortured and that I was next. I didn’t get any sleep, but the poor parents looked far more exhausted as I walked past them to get some exercise (not necessarily to avoid DVT, moving just does more to calm my nerves than anything else).

Between Singapore and KL on an Aeroline coach, we were sitting behind a tour group who were enjoying themselves so much, they had to shout all their stories between each other for the rest of the cabin to hear. In French, for four hours. We had brief respites when a few of them would take a nap, but a rest stop or food time would wake them all up, and they’d start again. I quantify it as shouting, because you could still hear them on the lower deck.

The worst was the bus trip back, where a small child who had learned enough words to speak a few sentences screamed them at his parents. I feel for the pain and stress parents must be under, but these ones were actively encouraging him the entire time. Again, fine for a bit, but by the four hour mark it had worn thinner than an appropriate analogy I would place here.

And then, who could forget the flight back, when a woman sitting in the row in front pulled out her phone and started playing movies with the external speaker. Not to be outdone, the woman sitting next to me began talking loudly to herself about inconsiderate people, in between racist slurs. This emboldened the woman with the speaker phone, and Clara and I were caught in the crossfire.

There are a few lessons here. The most obvious, I need to be less sensitive. The world is full of inconsiderate, obnoxious people who will never change; I can let them get to me, or I can become water. Two, I need some industrial-grade, noise-cancelling headphones. And three, I need to be more assertive.

I think the noise-cancelling headphones will be the most likely.


Current ThinkPads with HiDPI

Hardware

Sometimes I window shop MacBooks and ThinkPads for FreeBSD, even if I have no intention or money to buy one yet. I’ve been spoiled by MacBook Retina screens for photos and shells, but most ThinkPads don’t have an equivalent. That’s fine though; MacBooks don’t have an equivalent keyboard… oh snap.

These are the current models that claim to have a minimum 2× HiDPI display option. Some I clicked through every single SKU and still couldn’t customise them with the display they claim to have; but they seem to change fairly regularly.

13-inch, with 3K

14-inch, with 1440p (Retina-ish)

15.6-inch, with 4K

17-inch, with 4K

  • P73: 4K: Quadro P620, T2000, RTX

Consolidating all the things, also watches

Hardware

As American scientific chef extraordinaire Alton Brown always said, “don’t use a unitasker”. This idea can be fraught with peril in software, but I’ve come to internalise this so much in the physical world. Some examples:

  • I use a FreeBSD tower at home as a router, jumpbox, NAS, VPN end point, virtualisation sandbox, build server, PleX transcoder, glorified peripheral charger, and more.

  • My vintage Pentium 1 tower is a chimera of sorts, with parts from my parents’ original and long since dead 486SX tower, and a few parts from my second-ever machine. It boots DOS, Windows NT 4, Red Hat Linux 6.3, and NetBSD 8.1. I get my retro x86 computer hit from a single beige box that with hindsight I’ve spent more money refurbishing than when I built it new as a kid.

The only unitasker in my kitchen is the fire extinguisher

  • I forgo (oh yah) a bit of interest and slightly higher fees to have multiple accounts in the same bank or brokerage. The fewer logins that stand between me and my weekly spreadsheet reconciling the better.

  • My daily carry, as we say now, has a small pouch with essential cables and other IT gear. One of these is multiheaded with adaptors, rather than having discrete cables for everything.

  • I avoided getting a dedicated rice cooker, until I realised you can steam stuff, cook oats, and make other unreasonably tasty vittles. I had to look up how to spell vittles.

  • I used to have more than a dozen blogs. Almost all of these have been merged into this one, including my silly podcast.

The key advantage of consolidation is fewer things to maintain for the same amount of output, which if done well translates to time and energy savings. This does mean you potentially lose more in one hit if there’s a problem, but the problem domain is smaller, and presumably you maintain it better because you spend more time with it.

So we come to smart watches. I wear a $20 quartz Casio with a white analogue face. It’s the best watch I’ve ever owned: it’s clear, it never needs charging, it weighs nothing, it has a tiny complication for the date, and it looks minimalistic. But now I’m looking at tracking fitness again, and every single wrist thingy today has a clock. I could wear both, but they have redundant information. I also prefer the Casio’s clock to anything on a fitness tracker.

I gave up on the original Apple Watch because the constant visual notifications and haptic vibrations did more to trigger my anxiety than any other technology I’ve ever owned. (Don’t email me with any suggestions, I tried them all).

So it does mean I’ll probably end up getting a separate device. But just like I feel guilty now when I buy more stuff, splitting a single device into two also feels wrong.


When you book hotels online

Internet

Clara and I booked a hotel for the Singapore arm of our recent trip through a well-known travel site. These were the emails I got, in chronological order:

  • Confirmation for Booking ID $NUMBER
  • Confirmation for Booking ID $NUMBER
  • Would you recommend $HOTEL to a friend?
  • Would you recommend $HOTEL to a friend?
  • Would you recommend $HOTEL to a friend?
  • Your stay at $HOTEL
  • Would you recommend $HOTEL to a friend? [ed: chill, people!]
  • Reminder: Reminder - Your stay at $HOTEL

I’ve since been opted in to a bunch more stuff from this travel site. Why would I want junk mail about other places I could stay in a city I just left?

Contrast with the email I got from booking a hotel in Kuala Lumpur directly:

  • Reservation Confirmed
  • Thank You !

David Hodges was an audio visual

Media

Speaking of CSI, from episode seven of season twelve:

Hodges: Some people are visual… others are audio.
Hodges: I happen to be both…
…
Hodges: …audio visual.


What I'm reading, 2019 week 42

Media

What a delightful week number. Here’s some stuff that’s come through my RSS feed or Twitter over the last few days:


Relieved to see Perl 6 being renamed

Software

A few months ago I saw a spate of blog posts asking whether Perl 6 was to be renamed. I hoped for a violation of Betteridge’s Law of Headlines, because it would be a great idea. I wrote a long post about it last year, which I attempted to summarise but it was already written in a hurry and didn’t flow well!

As the official project site takes great care to point out, Perl is a family of languages that include Perl 5 and 6. The former is the old one we know and love, warts and all. The latter is a reimplementation on the Parrot VM that fixes some of the perceived problems and arcane syntax.

There are technical considerations about running Perl 5 in a Perl 6 world, including implementing a package that would let 5 programs run on Parrot. But the larger issue in the community appears to be nomenclature.

Perl 6 detractors lament the version ceiling imposed on Perl 5. No matter how many further refinements or features are added to Perl 5, it will always sound more outdated than 6. How far along is Perl 5 going to end up, Perl 5.1023?

Advocates claim, with the backing of Larry Wall, that Perl 6 is most definitely a refinement of Perl 5; borne of its legacy, and necessarily the future of the language. They also assert, I hope it’s fair to say, that there’s room for both, even when retaining the name.

I can see merit in both sides, but probably lean slightly in favour of the Perl 5 camp. Not only because I have a vested interest in the language’s continued success, but that I think it also limits Perl 6’s wider use by people who hate the old Perl.

Larry Wall originally advocated for the name to remain Perl 6, but last Friday he approved the pull request on GitHub proposing the change. Most of the Slashdot are negative too, which means it must be good news.

The most likely name will be Raku, a truncation of the Perl 6 compiler. From Wikipedia:

The name “Rakudo” for the Perl 6 compiler was first suggested by Damian Conway. “Rakudo” is short for “Rakuda-dō” (with a long ‘o’; 駱駝道), which is Japanese for “Way of the Camel”. “Rakudo” (with a short ‘o’; 楽土) also means “paradise” in Japanese.

These transitions are always a pain, and tend to introduce problems nobody anticipates, like namespace clashes and domain validation. But I think we’ll all be the better for it.

As a specific pointless aside I haven’t done in more than six years, I remember reading Rakudo years ago and immediately thinking of Chivalry of a Failed Knight, aka Rakudai Kishi no Kyabarurii. Critics claimed Asterisk War was better, and I never watched the anime, but the light novels were good.

It occurs to me that of the three book covers on this post, none of them had the camel. print "Whoops.\n";


Fixing Hugo JSON-LD

Internet

Just after I fixed other problems, the latest Hugo static site generator broke my JSON-LD data. Here’s the code that worked before, and the output as of 0.58.3:

"@context": "https://schema.org/",
"url": "{{ .Site.Params.Logo | absURL }}"
==> "@context": "https://schema.org/",
==> "url": "https:\/\/rubenerd.com\/logo.png"

The first URL was fine, but the second was having its forward-slashes escaped for some reason. No combination of {{ safeURL }}, {{ printf }}, or even horrid brute-force {{ replace }} statements could rid me of them. I suspected it had something to do with the first URL being hardcoded, and the second being the output from a function… but why should that matter?

When I put the function in a separate part of the file, it didn’t inject the escapes. So I removed the quotes for gits and shiggles, and it works:

"url": {{ .Site.Params.Logo | absURL }}
==> "url": "https://rubenerd.com/logo.png"

So hardcoded URLs within quotes aren’t escaped, but any function that returns a URL within quotes is. When before they didn’t. Perhaps Hugo is detecting it’s in a JS code block, and helpfully adding quotes. But it breaks any behavior that relied on it not doing this before.

Hugo has been changing behavior like this a lot. Their release notes are usually pretty good at detailing changes, and they do point out it’s not at a point one release yet. But it’s lack of stability and backwards compatibility is beginning to wear thin.

I have been preparing a more permanent change that will address the core issue here though, but that’s for another Perlier or Rustier post.


Cisco’s internal network issues

Internet

I saw this Cisco tweet via Zack Whittaker on TechCrunch for TechCrunch:

We’re aware of some disruption to our IT systems and we’re working on restoring them as a top priority. Thank you for your patience as we resolve this.

Surprisingly, it only solicited a single tweet asking if they’d tried turning it off and on again. I’d never be caught repeating the same joke over and over again; as opposed to repeating the same joke but not over again? How would that work? I need to stop airing my internal monologue here. Except this isn’t a podcast episode, so it’s more like writing my internal monologue. Have you ever noticed monologue sounds similar to mongoose, until the part of the word where it doesn’t? Same thing with monospaced, an attribute for which this paragraph does not harbour. Can you harbour attributes? Would that only work if it were a boat?

I feel for people when this happens. It’s bad enough that their internal network went down, but now you have the added pressure from the public, journalists, and shareholders given you’re a network company.

There will be at least one sleepless night for some engineers. If you know them, maybe buy them a beer or a cup of tea.


iPhone typing accuracy declines

Hardware

I’m back to the morning commute again in Sydney. The air is cool and crisp, the sky is a deep blue, I slept well, life is good. So what better thing to get into the swing of things than Back to Work:

Merlin: The iPhone and me [since 2008] had become pretty good friends at typing. Dan Benjamin, I don’t know what happened, but in the last three or four years one of us has lost it. I’m reluctant to blame it on the hardware or the phone software, but what I can tell you is things that are produced by me typing on an iPhone are not nearly as accurate or fast as they used to be.

Dan: Totally agree, and I don’t know what it is. 100% agree … I don’t know what’s dropped.

I’ve been using an iPhone as my primary portable device since the 3G, and I can confirm the same behavior. This confounds me for three reasons:

  1. Our phones are computationally faster than they were before, and algorithms must be more sophisticated. So theoretically, they should be quicker at predicting our text, and can be trained more effectively against our typing patterns.

  2. Our phones are larger in physical size and resolution, so we have more space to type than we did before. Aka, fewer typos from inadvertent or accidental presses of adjacent keys.

  3. We’ve been using these phones for a longer amount of time, so we should be more used to typing on them.

I’d wager this was introduced in my iPhone 8. The iPhone 6 I used before was the same physical dimensions, but I was more accurate. Then again, I was slower but far more accurate on my Palms than I ever was on an iPhone.

I think point three above comes closest to possibly explaining why. Apple may have improved the hardware and predictive software of their keyboards, but if its changed even 5% of how it works, existing users are thrown and the accuracy drops.

I’m in the same boat as Merlin, though I hadn’t recognised the behavior. I used to type tons of email on my phone, usually on my morning commute. I barely do it anymore, in part because I’ve been trying to strike a better home/work balance, but also because it crossed a frustration threshold recently. Unless something is critically urgent, I’d simply prefer to wait till I’m at a physical keyboard.

This is worthy of a much deeper discussion on the interaction between learned behaviour in humans, ergonomics, and machine affordances. Maybe our hardware is becoming too smart for its our own good, when the simpler system we had before worked better.