Twitter: @ewenmcneill -- September 2021

Wed Sep 01 22:14:20 +0000 2021 (#)

Definitely an interesting keynote on OS implementation and computer architecture (although it takes a while to get started).

So far (half way) my main take away is that Linux, etc, are effectively running on a virtual machine — even “native” on local hardware on your desk.

Wed Sep 01 22:22:57 +0000 2021 (#)

Replying to @ewenmcneill

In particular modern computers are a network of cooperating heterogeneous processors, both modern System on a Chip designs, and all the various intelligent peripherals. Linux, etc, run on a small corner and mostly still pretends the world outside looks like the past.

Thu Sep 02 07:47:53 +0000 2021 (#)

Replying to @__fincham


I’m glad you got one that’s behaving pleasantly!

Fri Sep 03 00:30:06 +0000 2021 (#)

It turns out if you remind a hardware store weekly (for an order made pre-lockdown, claimed to be shipped the day it was ordered) they can do “at least once” delivery.

(“At least once” turns out not to be identical to “exactly once” 😃)

Fri Sep 03 00:32:44 +0000 2021 (#)

Replying to @ewenmcneill

The replacement shipment arrived two days ago. The original shipment (packed weeks ago) was finally given to the courier yesterday, and arrived today. (I can tell it’s this way around from the courier tracking details.)

I’ve contacted the retailer to ask “what now” 😔

Fri Sep 03 00:39:09 +0000 2021 (#)

Replying to @ewenmcneill

Ironically everything in the order is something explicitly marked “can order during Level 4” on the retailer’s website. Yet zero of the deliveries, for the order made before Level 4 was announced, arrived until my city went down to Level 3 🤷‍♂️

Fri Sep 03 01:21:48 +0000 2021 (#)

The #LinuxConfAU online conference (January 2022) is seeking your presentation proposals, ASAP (now about 1 week to submit).

The Sysadmin Miniconf at #LCA2022 is after another 6 presentations. Very good chance to be accepted if you submit this weekend!

Fri Sep 03 07:30:59 +0000 2021 (#)

Replying to @isomer

In theory deliveries of “essentials” can happen in Level 4 (I did get one delivery at the start of Level 4 last month).

In practice ordering from this retailer has been a comedy of errors, so “order now, receive later” could be what they actually did, despite saying otherwise.

Fri Sep 03 07:35:49 +0000 2021 (#)

Replying to @__fincham

With you it’s unclear if this means it is mechanical connectors or network software causing you pain at the moment... 🤔

Fri Sep 03 08:49:55 +0000 2021 (#)

Replying to @bentorkington

Totally with you on “there should have been an API” (having spent a while REing the official site when searching became essential, but before sorting existed).

From the outside it seemed like people updating data and people knowing modern web IT were non overlapping sets 😢

Fri Sep 03 08:49:58 +0000 2021 (#)

RT @bentorkington: Diary of the last two weeks: my post mortem of @NZCovidLocs. Long read sorry, but it was a long ride…

Fri Sep 03 09:54:49 +0000 2021 (#)

“The Beauty of Bézier Curves” is both beautifully animated and delightfully explained.

Well worth watching if you have any interest in mathematics, geometry, or vector art.

(Video released a couple of weeks back.)

Sat Sep 04 20:39:28 +0000 2021 (#)

RT @hillelogram: Why do we have "boilerplate code"? Where does the name come from?

So the Industrial Revolution needed lots of steam engin…

Sat Sep 04 23:36:12 +0000 2021 (#)

RT @linuxconfau: Do you need more time? I think we need more time... We've extended the deadline until 11:59pm 12 Sept 2021 Aoe! You have p…

Sun Sep 05 08:09:05 +0000 2021 (#)

Replying to @CerealBoy


With your proposal, we’re now up to 5 talk proposals (for 8 speaking slots), and a bonus week for more proposals; it was 2 proposals for the Miniconf until this weekend 😬

Mon Sep 06 07:27:30 +0000 2021 (#)

RT @_ChrisJHart: Discovered an interesting issue at home today - when I ping a Nexus 9000v running in CML from an Ubuntu host, I see duplic…

Fri Sep 10 00:25:47 +0000 2021 (#)

RT @kristinatastic: I have a hunch that people who feel very messy and disorganized actually have great spatial memory, and rely on that…

Fri Sep 10 01:20:18 +0000 2021 (#)

Replying to @theavalkyrie

Weirdnesses around tuples: eg, trailing comma required to make a (short) tuple, some functions require tuples, even for one item, and others require separate arguments (and thus *tuple if you have a tuple), etc.

With *args now, these all feel like related historical warts.

Fri Sep 10 01:20:24 +0000 2021 (#)

RT @theavalkyrie: What's your biggest Python pet peeve that doesn't have anything to do with packaging?

Fri Sep 10 05:51:59 +0000 2021 (#)

The #LinuxConfAU Sysadmin Miniconf at #LCA2022 (online, January 2022) is still after a couple more speakers. (We now have 8 proposals from 6 speakers.)

(The extended) CFP closes this weekend, so if you were waiting for the last minute, this is it :-)

Fri Sep 10 07:26:23 +0000 2021 (#)

TIL about @.OurWorldInData.

Absolutely fascinating talk at #PyConlineAU about how they get/ingest/track data, which they then turn into data driven reporting with full source references 😍

If you didn’t watch live, well worth watch the video (should be out in next few days).

Fri Sep 10 07:29:45 +0000 2021 (#)

Replying to @ewenmcneill

Many of the OurWorldInData collected datasets are made available for further use.


Fri Sep 10 07:36:53 +0000 2021 (#)

Replying to @ewenmcneill

From the same talk TIL about the Frictionless Data format, to provide better metadata than CSV, and more reusability than common “published report” formats.


Sat Sep 11 00:05:46 +0000 2021 (#)

RT @linuxconfau: This is an amazing thread! Our Call for Sessions closes oh so very soon! Read the thread for help! Looking forward to seei…

Sat Sep 11 01:41:55 +0000 2021 (#)

As usual I highly recommend watching @ExcitedLeigh’s talk at #PyConlineAU if you didn’t see it live. And also highly recommend watching it at 100% playback speed if you’re in a habit of usually playing back videos/talks faster 😃

It’s a very content rich talk!

Sat Sep 11 02:30:37 +0000 2021 (#)

CFU Playground is using Python based tooling to use FPGAs to accelerate machine learning (ML). Mixing in RISC V soft CPUs and using nMigen to define extensions.


Sat Sep 11 07:49:55 +0000 2021 (#)

Replying to @ewenmcneill

Talk recording of the OurWorldInData data sources talk is already out, the very next day 💚

Sun Sep 12 07:52:42 +0000 2021 (#)

RT @attacus_au: I cannot articulate just how hilarious I find this tweet except to say I don't think I have ever seen a funnier tweet htt…

Mon Sep 13 07:37:18 +0000 2021 (#)

Dear online banking developers: “There was a problem processing your request. Please try again later.” is not a great error message for an online payment if you’ve actually committed the payment and just failed to produce the payment confirmation page.

Just saying 😬

Mon Sep 13 07:39:27 +0000 2021 (#)

Replying to @ewenmcneill

Ideally in a payment error situation like this either (a) the database changes should be rolled back, or (b) it would be possible to reproduce the payment confirmation page later, from what was committed to the database, and the advice should say to check that record.

Mon Sep 13 07:41:18 +0000 2021 (#)

Replying to @ewenmcneill

Since I can see the money withdrawn from the source bank account I’ve resorted to “bank mail” to ask the bank staff to confirm the whole payment will be completed despite no confirmation page.

Rather than just “trying again later”.

(Fortunately it’s a small amount of money.)

Mon Sep 13 07:43:54 +0000 2021 (#)

RT @PyConAU: The videos from our event are going up on YouTube, all in this playlist:

We'll see you all again, hop…

Mon Sep 13 07:50:51 +0000 2021 (#)

Replying to @__fincham

MacOS? I rely super heavily on Cmd-` to cycle around windows in the same app to reveal obscured windows. And virtual desktops (typically 5 in active use, 8 set up) to reduce overlap.

But I often end up manually tiling smaller, similar sized windows by hand anyway...

Mon Sep 13 09:03:14 +0000 2021 (#)

Replying to @__fincham

Also at least Terminal app allows you to create a set of Terminal windows and then save the size/position of all of them, and reopen that set again.

I’ve used that in the past to save tiled sets of terminals for particular projects (eg logging in to half a dozen switches).

Wed Sep 15 05:12:21 +0000 2021 (#)

Replying to @ewenmcneill

.@.ExcitedLeigh’s #PyConlineAU talk recording is out now, for those who didn’t get to see this great talk live.

Wed Sep 15 06:02:21 +0000 2021 (#)

RT @xfxf: All 53 #pyconlineau videos are now online! #pyconline #pyconau #pycon #python

Wed Sep 15 22:03:29 +0000 2021 (#)

RT @Siliconinsid: I would not consider 74 logic ground for amazing discoveries, but the TI SN74AS760 proved me wrong!

How cool is this 380…

Thu Sep 16 08:21:46 +0000 2021 (#)

This is a beautifully elegant Sudoku variant (digits on lines must appear twice, and killer cages), which gives Simon (of @.crypticcracking) an excuse for a colourful grid and also has lovely logic at every step.

Thu Sep 16 09:02:42 +0000 2021 (#)

Replying to @pjf

tasty: adjective. able to be tasted

very tasty: easily able to be tasted; having a strong flavour


Thu Sep 16 09:07:37 +0000 2021 (#)

RT @timdurkan: Rays for days here in Seattle tonight

Sat Sep 18 02:12:30 +0000 2021 (#)

RT @pjf: 95% of my use of Firefox's reader mode is to read content on mobile devices without clicking "I agree" on some obnoxious cookies p…

Sat Sep 18 22:44:16 +0000 2021 (#)

Replying to @TProphet

I suspect it intersects with the attempts to increase vaccination percentages. Breakthrough cases are much less likely (per population size) than cases in the unvaccinated.

Saying breakthrough cases are “common” or “the default” would encourage nihilism / non vaccination.

Mon Sep 20 08:24:10 +0000 2021 (#)

Replying to @pjf

You can still get full points for the “groceries” side quest if you complete the main quest tasks in the allocated mission time!

Good luck 😃

Tue Sep 21 03:10:01 +0000 2021 (#)

Replying to @notsolonecoder

“Wouldn’t it be nice if functions could automatically die on failure?”

@pjf solved this problem a decade ago for Perl. Maybe he can be enticed to solve it for Go too? 🤔

Tue Sep 21 03:21:02 +0000 2021 (#)

TIL about the “q” Python library, for “print debugging” when you have nowhere convenient to print (it prints to /tmp/q for you, with longer messages directed to other files in /tmp).

Tue Sep 21 03:30:35 +0000 2021 (#)

Replying to @LapTop006

Historically I did too. In the case of “buried within Ansible module” dumping to syslog is annoying as Ansible tends to spam syslog (via sudo) in most cases I deal with.

(I found “q” via the Ansible debugging hints. It “just worked” once it was on sys.path.)

Tue Sep 21 06:10:56 +0000 2021 (#)

Replying to @__fincham


I stopped trying to understand that (in OS/2 context, two decades ago) at a couple of layers of quoting deep. (/bin/sh rules are bad enough in deeply reused contexts, and have more choices/power.)

I guess there’s an infosec reason you don’t just use, eg, PowerShell?

Tue Sep 21 06:47:08 +0000 2021 (#)

Replying to @__fincham

Infosec: using all the “features” everyone else wishes they could forget about 😃

Tue Sep 21 10:12:55 +0000 2021 (#)

“The Ultimate Commodore 1541 Drive Talk — Michael Steil” from the Vintage Computer Festival West (2021-08-08) delivers as promised: great detail, and wide coverage. I don’t think any more could have been fitted into a 52 minute talk 😃

Tue Sep 21 11:04:19 +0000 2021 (#)

Replying to @BR3NDA

Yes, it’s the “at once” and in particular probably the data isolation level. I had to fix a PostgreSQL trigger to run in SERIALIZABLE isolation to get full race rejection of duplicates; at a guess “UNIQUE” might behave the same.

Tue Sep 21 11:07:28 +0000 2021 (#)

Replying to @BR3NDA

In case it helps my eventual test case for this kept the transaction open arbitrarily long (sleep inside transaction!), then I ran a few in parallel. Without isolation I could reproduce. With all transactions SERIALIZABLE first to commit one, rest retried and found conflict.

Tue Sep 21 11:10:00 +0000 2021 (#)

Replying to @BR3NDA

From what I could tell if not all the transactions affected were SERIALIZABLE isolation (eg only some) the conflict checking still allowed duplicates as the right locks/signals didn’t happen from all directions.

Tue Sep 21 21:54:45 +0000 2021 (#)

Replying to @ewenmcneill

“Recovering Lost Floppy Discs with an Oscilloscope — Chris Evans” also from the Vintage Computer Festival West (2021-08-08) is another fascinating talk.

Slides are a bit tricky to see, but the blog post below covers same detail.

Wed Sep 22 05:19:46 +0000 2021 (#)

RT @SwiftOnSecurity: It always surprises and humbles me, how the work I did on principle to help others a decade ago, defines me now. I now…

Wed Sep 22 21:49:07 +0000 2021 (#)

Replying to @BR3NDA


I’m glad you finally found the root cause! And yes PostgreSQL treats NULL values as all different from each other, so I guess it makes sense it considers them each “unique”.

Thanks for letting me know 🙏

Wed Sep 22 21:54:12 +0000 2021 (#)

RT @RealSexyCyborg: Now live! Cloning Keys From Video with the @Makera_Inc Carvera Desktop CNC!

Something for everyone- Lockpicking, 3D pr…

Wed Sep 22 21:57:34 +0000 2021 (#)

Replying to @BR3NDA

As best I could tell when I looked at this last month SERIALIZABLE should protect against other table read checks relying on out dated data… but only if everything changing or relying on that table is run in SERIALIZABLE. 1/2

Wed Sep 22 22:00:24 +0000 2021 (#)

Replying to @BR3NDA

The point of SERIALIZABLE is that it should really give the effect of “one query at a time”, if everything opts in to “as if everything was one at a time. (It’s more efficient than one at a time, if data changes don’t interact.)

Good you have a fix though! 👍2/2

Wed Sep 22 23:43:07 +0000 2021 (#)

Replying to @BR3NDA

Yeah SERIALIZABLE is a bit of a trade off on hot tables. I was lucky my table was infrequently updated, but sometimes users multi-submitted same request within milliseconds (double clicking submit?).

If ON CONFLICT reliably detects your case, then sounds like a good choice :-)

Thu Sep 23 02:58:14 +0000 2021 (#)

Currently attempting to predict what a Linux (systemd)“predictable” network interface name will be after reboot, because apparently “eth0” (the existing interface name) is too easily predicted to remain :-/

Thu Sep 23 10:27:19 +0000 2021 (#)

Replying to @hroethgar, @minxdragon and @ExcitedLeigh

There’s a teenager basically speed running the whole semiconductor revolution in his garage. How hard can it be?! 😃

(As of a month ago, now up to 1000 transistors; see second video. He is still buying in wafers though… 🤔)

Fri Sep 24 01:15:26 +0000 2021 (#)

Once again @NZInlandRevenue waited until the ticket was overdue then replied with “questions” that were already answered in the original request and closed the ticket. You can’t reply, you just have to start all over again and hope to get someone willing to do their job.

Fri Sep 24 01:18:44 +0000 2021 (#)

Replying to @ewenmcneill

Literally all I wanted was the same certificate as last year, reissued with a 2021 date (they are valid for 12 months). I even provided a PDF of last year’s version and answered last year’s “additional questions”.

Still got ticket 33% overdue and “closed with questions” 😢

Fri Sep 24 01:20:55 +0000 2021 (#)

Replying to @ewenmcneill

Just wasted an hour cut’n’pasting from the old request to the new request (via an external document as you can’t reply or see old message and new message at the same time).

I guess I find out in October if I can invoice my overseas client for August work :-/

Fri Sep 24 08:32:22 +0000 2021 (#)

Replying to @ErisErisian, @kd8qdz and @deviantollam

I fold fitted sheets by myself using a clean flat surface (eg bed) as an assist. Tuck pairs of corners as shown in video, one at a time using surface to hold rest. Pick up both corner pairs, extend out then tuck all four corners together. Place flat on surface, fold the last bit.

Fri Sep 24 09:26:06 +0000 2021 (#)

“We didn’t have that many engineers, so ours worked.”

The “Bill Mensch — Genesis and Evolution of the 6502 Family” conversation on the stage at the Vintage Computer Festival West (2021-08-08) is fun viewing if you like 8-bit computer history (~85 mins).

Sun Sep 26 21:52:11 +0000 2021 (#)

Slightly surprised to discover I’ve just renewed for my 20th year of Linux Weekly News ( 😮

(LWN ran for a few years as a free online publication and then was going to close down due to not being profitable. 19 years later it’s still here 😃)

Sun Sep 26 21:54:08 +0000 2021 (#)

Replying to @theavalkyrie

A many headed monster: a committee :-/

Wed Sep 29 02:02:59 +0000 2021 (#)

Replying to @notsolonecoder

Accidental learning experiences are still learning experiences 👍

Sounds like it got caught quickly enough that it wasn’t too expensive a learning experience. But one that should be remembered.

They’re already at “professional junior” level! So we’ll done :-)

Wed Sep 29 06:12:44 +0000 2021 (#)

Replying to @hroethgar

“I heard you liked HTML so I put HTML in your HTML” 😃

Wed Sep 29 10:23:00 +0000 2021 (#)

RT @fanf: ok here’s my understanding of the causes of this mess 🧵

Wed Sep 29 23:39:37 +0000 2021 (#)

Puzzle table is a puzzle to build, but a joy to use 🙏

Simone is not one to give in to merely having two tables in different places, but instead creates two tables in one place 😃