Twitter: @ewenmcneill -- September 2020

Mon Aug 31 19:38:33 +0000 2020 (#)

RT @Johnpow1: This has to be the most surreal sunset that I have ever photographed. No it’s not some tropical island, it is the north west…

Tue Sep 01 01:45:23 +0000 2020 (#)

Replying to @ExcitedLeigh

Interesting way to foreshadow the “coding at home” challenges to be given to Pyconline attendees... 😂

Tue Sep 01 10:21:59 +0000 2020 (#)

If this is just the onboarding video, I can’t wait for #PyConlineAU :-)

If you’re not already flying Pyconline Airlines this week, it looks like there’s still a few last minute seats available for boarding now...

Tue Sep 01 22:00:36 +0000 2020 (#)

Replying to @everickert and @pjf

In general I think “middle of a thread” is the best you can do on Twitter (cf Mastadon which has a “cover up content” warning marker).

But beware that thread replies just to yourself do end up on people’s main timeline. Replies to others are typically somewhat more hidden.

Tue Sep 01 22:03:26 +0000 2020 (#)

Replying to @pjf

FTR I didn’t see the photo the first time by accident (I read the whole thread first).

But I did see it again scrolling up my main timeline (ie past to future), at which point there’s no obvious way to skip (other than mute you for a day, or close eyes and scroll up a bunch).

Tue Sep 01 22:04:54 +0000 2020 (#)

Replying to @ewenmcneill

Wed Sep 02 00:41:43 +0000 2020 (#)

Replying to @merxplat

“Get Smart” was really just way ahead of its time 😂

Wed Sep 02 06:43:29 +0000 2020 (#)

Hot take: I think I’d prefer to pay a $10 delivery fee, and get all the grocery items I’m charged for, than have “$0 delivery on orders over N” and have a random $7 item charged for and not delivered.

(Which has happened on my last two grocery orders; different each time.)

Wed Sep 02 06:47:19 +0000 2020 (#)

Replying to @ewenmcneill

FTR, this is obviously separate from the items which are unavailable and just get removed from the order (and not charged). Those I can understand as detailed stock tracking is hard, especially for businesses very reliant on Just In Time deliveries.

Wed Sep 02 06:59:52 +0000 2020 (#)

Replying to @__fincham

This is Yet Another Grocery store.

(But yes, I’ve long been disappointed that the two supermarkets in my suburb are Countdown and Countdown: yes for 25+ years they’ve “competed” with themselves, and people’s willingness to drive elsewhere.)

Wed Sep 02 07:02:42 +0000 2020 (#)

Additional Hot Take: I suspect ordering disintermediation will accelerate from 2020 onwards. I’ve certainly figured out the NZ manufacturer or distributor for many less common items and switched to ordering directly rather than buying from the retailer I used to use.

Wed Sep 02 07:05:28 +0000 2020 (#)

Replying to @ewenmcneill

In most of those cases, I think my “every 6-8 weeks” order is roughly the same size as the average retailers weekly order. So the manufacturer / distributor possibly doesn’t mind direct orders providing they stay infrequent per person.

(Which works well for non-perishables.)

Wed Sep 02 09:10:10 +0000 2020 (#)

Even if you’ve seen John livestream decapping chips before (eg earlier talks) the last 25-30 minutes of this livestream, talking about the details of the recovered silicon under the microscope, is fascinating. (Most of the other talks finish before getting to this detail.)

Thu Sep 03 10:29:45 +0000 2020 (#)

RT @RealSexyCyborg: Because I can that's why😎


(Print quality is a little rough here, early test batch)…

Thu Sep 03 23:10:34 +0000 2020 (#)

RT @bitbased: @SimoneGiertz Umm ... so ... I did a thing 😅 (It is running from a Raspberry Pi now, will port to the internal Arduino soon a…

Thu Sep 03 23:59:04 +0000 2020 (#)

OH at #PyConlineAU:

“The venue is changing around us.”

“The venue is still under construction, it’s like you’re really in Adelaide :P”

(Venueless got new features overnight 👍)

Fri Sep 04 00:00:27 +0000 2020 (#)

RT @charles_irl: resorting to desperate measures as i try to make eye contact in Zoom meetings instead of just looking at my self-video htt…

Fri Sep 04 00:48:59 +0000 2020 (#)

This #PyConlineAU talk from @yaakov_h about the Australian COVIDSafe ( #Covid19 ) app was excellent (I just watched it “live”). Very well produced and easy to follow talk.

I highly recommend watching the recording when it gets released if you didn’t see it live.

Fri Sep 04 00:54:53 +0000 2020 (#)

Replying to @ewenmcneill

For reference the blog post with details of issues found in the COVIDSafe app that was mentioned in Yaakov’s #PyConlineAU talk about the app and Bluetooth contact tracing.

Fri Sep 04 03:24:39 +0000 2020 (#)

Debugging in prod :-)

We now have video and sound, thanks AV Team!


Fri Sep 04 03:34:25 +0000 2020 (#)

“This is a pretty 101 UX concept”

“Security is also infamous for its lack of UX concepts”

(Approx) @attacus_au at #PyConlineAU

(Already another awesome @attacus_au talk; if you’re not watching live I hope you’ll be able to find a recording to watch.)

Fri Sep 04 03:38:49 +0000 2020 (#)

RT @om_henners: “What we do in the shadows” Lilly Ryan

“The more I wrote about the topic made me think that Vampires weren’t the right th…

Fri Sep 04 03:41:07 +0000 2020 (#)

Replying to @ewenmcneill

Someone else is live tweeting @attacus_au’s #PyConlineAU talk, so I don’t have to!


Fri Sep 04 03:49:18 +0000 2020 (#)

Replying to @om_henners

Thanks for live tweeting that talk in particular. It’s a very useful reference for a “no slides” talk 👍

Fri Sep 04 03:51:08 +0000 2020 (#)

RT @linuxconfau: Woohoo - we have dates! will be held online, worldwide, from Sat 23 - Mon 25 Jan 2021 with the the…

Fri Sep 04 04:50:18 +0000 2020 (#)

tenacity Python helper to automatically retry actions. Suggested by @xahteiwi in his #PyconlineAU talk for retrying database operations, eg if network connection was timed out by proxy/firewall in the middle.

Fri Sep 04 05:10:08 +0000 2020 (#)

“I don’t think in diagrams any more. I think in YAML.” — @tveastman at #PyconlineAU

Talking about scaling Secateur:

Fri Sep 04 05:13:00 +0000 2020 (#)

RT @chrisjrn: In which @tveastman, famous for dissecting YAML in his talk 7 years ago now considers himself a Senior YAML Engineer.


Fri Sep 04 05:26:10 +0000 2020 (#)

Replying to @ewenmcneill

I too have dealt with the pain of exhausting AWS disk IOPS burst allocations. At least by default, the burst allocation is quite generous, but the default IOPS token refill rate is quite small (eg 3 IOPS tokens/second added to quota).

Very interesting #PyConlineAU talk!

Fri Sep 04 05:31:12 +0000 2020 (#)

Replying to @ewenmcneill

Slides of “On a shoe-string and a t2.small: scaling on a [zero] budget.” presented at #PyconlineAU illustrating the peril of exhausting your AWS disk IOPS

Fri Sep 04 07:21:44 +0000 2020 (#)

“If you treat your near misses like an outage, you get all the benefits without the actual outage” — @LapTop006 speaking at #PyconlineAU

Fri Sep 04 07:24:41 +0000 2020 (#)

Replying to @ewenmcneill

I’m also reminded that magic numbers in router configs are just as dangerous as magic numbers in code.

Writing a config generator was my first thought... and then the slide appeared saying that. Then you get DRY and fewer magic numbers. #PyConlineAU

Fri Sep 04 07:26:42 +0000 2020 (#)

Replying to @ewenmcneill

“[The config generator] only took 2 days to write” and “made all future changes much easier to review” — @LapTop006 at #PyConlineAU


Fri Sep 04 07:26:57 +0000 2020 (#)

RT @tveastman: To be strictly accurate, I think in bullet points. And YAML is basically just bullet points with exploits.…

Fri Sep 04 07:29:01 +0000 2020 (#)

Replying to @tveastman

“YAML is basically just bullet points with exploits.” — @tveastman


(Not disagreeing, but I’ve never seen it said so directly!)

Fri Sep 04 07:36:04 +0000 2020 (#)

Replying to @ewenmcneill

If you watch the talk video (and I recommend you do!) watch the discussion between @LapTop006 and the stream host at the end, as it has many other tips. And the very quotable final word:

“[I’m basically] programming the humans with documents” — @LapTop006 at #PyconlineAU

Fri Sep 04 10:25:45 +0000 2020 (#)

Replying to @LapTop006

Sounds good :-)

Looks like there’s only one day of Miniconfs for the “long weekend” LCA2021, so maybe there won’t be as many Miniconfs? (The “same time” parallelism is probably limited by AV support!)

Fri Sep 04 22:55:28 +0000 2020 (#)

Hot take: bandcamp credit card processing practices seem practically designed to trigger credit card fraud protection (one charge per item/artist, ie many small charges, in rapid succession).

Fri Sep 04 22:56:56 +0000 2020 (#)

Replying to @ewenmcneill

IIRC the last two times I’ve tried to buy tracks from three artists on bandcamp “at once” the credit card fraud protection has declined the third charge. (This time I needed a second credit card to pay for the third one, sigh.)

Fri Sep 04 23:39:22 +0000 2020 (#)

RT @RealSexyCyborg: It's a pretty common issue- see avionics. The classic example:

User Interface matters, pregnan…

Fri Sep 04 23:45:46 +0000 2020 (#)

RT @RealSexyCyborg: I've got bad news for some of you. A complex, wasteful but well performing solution to a non-trivial legacy medical eng…

Sat Sep 05 00:10:22 +0000 2020 (#)

“This community, which I am part of, is... [doing something bad]” — @wiredferret at #PyconlineAU

My takeaway from that section of the talk was that you might not like the bad thing happening, but just saying “others are doing bad things” disempowers you.

Sat Sep 05 00:12:27 +0000 2020 (#)

RT @RealSexyCyborg: I understand this is difficult given the state of STEM education in some parts of the world, but tools that outperform…

Sat Sep 05 00:12:33 +0000 2020 (#)

RT @RealSexyCyborg: Ok, folks are still struggling so I'm going to try and help.

The digital reader quantifiably outperforms human visual…

Sat Sep 05 00:21:15 +0000 2020 (#)

Replying to @wiredferret

“Asking questions is not nothing” — @wiredferret at #PyconlineAU

“Every time we ask someone a question we are forcing them to justify their world view” and inducing discomfort.

Which can be used for good (eg challenging wrong-doing), or bad (challenging marginalized people).

Sat Sep 05 01:31:56 +0000 2020 (#)

.@chrisjrn’s #PyconlineAU talk about “Practicality Beats Purity” even comes with its own footnotes, including switch and case implemented as Python decorators!

Sat Sep 05 01:55:40 +0000 2020 (#)

Replying to @chrisjrn

Sorry @chrisjrn I couldn’t resist “improving” it 😂

Frustratingly each function seems to need its own unique name; and I couldn’t figure out a tidy way to decorate lambdas...


Sat Sep 05 03:02:58 +0000 2020 (#)

Replying to @chrisjrn

At this point I’d like it if Python had a shorter way to spell “lambda”... so I should probably stop trying to make it shorter :-)

(The closure use does make it tidier than a pure data driven switch though, so that’s nice.) #PyConlineAU

Sat Sep 05 05:32:05 +0000 2020 (#)

Replying to @chrisjrn

As best I can tell @-property returns a proxy with extra features, rather than registering itself to a separate dictionary.

I’m not finding an obvious way to register to a separate dictionary short of a global, as method definition happens before class definition. 1/2

Sat Sep 05 05:38:07 +0000 2020 (#)

Replying to @chrisjrn

And unfortunately the attributes passed to the class definition are a dictionary, hence needing unique method names (eg, this is visible in the meta class).

Overriding name in the method decorator is the wrong time to affect class attr key :-(.


Sat Sep 05 06:06:30 +0000 2020 (#)

Replying to @chrisjrn


For longer-than-lambdas, this is the neatest I’ve been able to make it (after a bunch of experimentation it seems method names aren’t easily overridden before they’re given to the class, so need to be unique “as defined” 😢).


Sat Sep 05 06:12:50 +0000 2020 (#)

Replying to @chrisjrn

For anyone else wondering, there’s still a global left, but the only requirement is that it’s monotonically increasing between class method definitions, to restore order of case methods as defined.

(Possibly Python 3.7+ “insertion order” dictionaries is enough? 🤔)

Sat Sep 05 09:01:02 +0000 2020 (#)

RT @om_henners: @ExcitedLeigh 79 speakers presenting 74 talks over the last few days!

And a huge thanks to the AV team!

#PyConlineAU http…

Sat Sep 05 09:17:32 +0000 2020 (#)

Goodbye (for today) from the #PyConlineAU team with waves, and then endless screaming into the void 😂


Sat Sep 05 21:47:02 +0000 2020 (#)

RT @BradyHeywood: @sauramaia You always need someone to “ask the stupid questions.”

On a broader topic, teams that make people speak up a…

Sun Sep 06 02:12:03 +0000 2020 (#)

Via #PyConlineAU lightning talks I leaned about Meltano, an Open Source Python based Extract/Transform/Load (ETL) tool. Using DBT for transform and Airflow for workflow pipelines.

Sun Sep 06 02:33:29 +0000 2020 (#)

Replying to @__fincham

From here it looks like dueling themes: analogue vs digital :-)

Sun Sep 06 03:28:01 +0000 2020 (#)

Replying to @pjf

“”” I don’t do crisis management, I do management by crisis “””


Sun Sep 06 07:10:37 +0000 2020 (#)

“Thank you very much for joining me in... whatever this was...” — @ExcitedLeigh is lost for words, closing out the #PyConlineAU Rube Codeberg awards presentation :-)

(Highly recommends to watch the video of the awards when it comes out!)

Sun Sep 06 07:12:03 +0000 2020 (#)

RT @UrcherAus: My children were inspired by #PyConlineAU to come up with their own design for an origami #curlyboi

Sun Sep 06 07:21:36 +0000 2020 (#)

Replying to @ewenmcneill

And with that #PyConlineAU 2020 has stopped 😢

Thanks to everyone who brought all the talks and today’s “Sunday Funday” into our homes!

Sun Sep 06 09:56:08 +0000 2020 (#)

RT @merxplat: I'm always surprised, delighted, and deeply concerned by the Python community's propensity for shenanigans.

In a challenge…

Sun Sep 06 09:57:31 +0000 2020 (#)

RT @attacus_au: only #PyConlineAU would let me make up the rules for a competition like this and then actually let me run it this competiti…

Mon Sep 07 02:23:20 +0000 2020 (#)

RT @xfxf: Videos for #pyconlineau are starting to trickle up to YouTube. Might take a couple more days until everything is up due to this…

Mon Sep 07 02:24:26 +0000 2020 (#)

RT @BrianRoemmele: Consider the “Beach Animals” created by Theo Jansen as a fusion of art and engineering.

These kinetic structures walk o…

Mon Sep 07 02:36:33 +0000 2020 (#)

RT @Caleb_Speak: This ain’t it, google translate.

Algorithmic bias exhibit A:

Mon Sep 07 06:19:02 +0000 2020 (#)

Replying to @ewenmcneill

You too can now watch the “Rube Codeberg Competiton” judges comments and decisions, from #PyConlineAU yesterday!

It’s from the live stream, so skip to about 7m40 for the start of the discussion (or enjoy the cool music while you wait for the start :-) )

Mon Sep 07 07:13:00 +0000 2020 (#)

Replying to @chrisjrn

To make the global variable go away we want a static (persistent) variable in the function, which Python doesn’t have. But we can also create that with things we have in Python. Living off the land :-)


Mon Sep 07 21:43:00 +0000 2020 (#)

“Hot Cross Buns” performed live on a Curlyboi, inspired by @helenleigh’s projects and books.

A talk about wearable technology for your tote bag, with a musical twist, from #PyConlineAU this past weekend.

Mon Sep 07 22:14:09 +0000 2020 (#)

TIL about modeldrop, a Python library to explore dynamic models. Live tweaking of the parameters is very powerful for exploration.

(CW for the #PyConlineAU talk: infection rates and debt are among models discussed)

Tue Sep 08 00:51:23 +0000 2020 (#)

Hot take: (clustered) enterprise software feels a lot like old school games where you learn by dying and have to keep restarting. Including wishing you had a more recent restore point to start from 😢

Tue Sep 08 00:53:45 +0000 2020 (#)

Replying to @ewenmcneill

Even the time between attempts at the “tricky bit” feels like about the same (2-20 minutes) :-/

Tue Sep 08 02:32:21 +0000 2020 (#)

RT @nickzoic: My #PyConlineAU video is up already!

For more info & transcript:

Tue Sep 08 06:03:59 +0000 2020 (#)

RT @adrianbowyer: Science is mostly right because it assumes it is wrong. Other areas of human thought are mostly wrong because they assume…

Tue Sep 08 07:32:04 +0000 2020 (#)

TIL about HypoFuzz, that combines Hypothesis (property-based) testing with fuzzing (ie randomised input).

It seems to be a commercial extension, with some willingness to sponsor use by relevant open source projects.

Tue Sep 08 07:36:51 +0000 2020 (#)

Replying to @ewenmcneill

The other idea in my head listening to this Hypothesis/HypoFuzz talk from #PyConlineAU (⬆️) was Formal Methods and to set a SAT solver onto attempting to derive input that disproves the properties asserted (eg as done in FPGA designs).

Tue Sep 08 07:44:33 +0000 2020 (#)

Replying to @ewenmcneill

Guided fuzzing (eg like AFL) which aims to increase code coverage is potentially also a way to quickly hone in on test input that will stress test code’s claimed properties.

(Looks like some of that is on todo list.)


Tue Sep 08 21:48:11 +0000 2020 (#)

RT @indyfromspace: Gender reveal parties, but instead of blowing up something to see blue/pink smoke, at the crucial moment, an Anthropolog…

Wed Sep 09 01:42:03 +0000 2020 (#)

RT @ExcitedLeigh: A massive part of the reason that #PyConlineAU sounded and looked, for the most part, so much better than the "Zoom webin…

Wed Sep 09 01:48:28 +0000 2020 (#)

RT @attacus_au: yay, my #pyconlineau talk is up now! if you want to hear me discuss shadow IT for twenty-two minutes, the link in the quote…

Wed Sep 09 05:58:26 +0000 2020 (#)

Replying to @xfxf

Yes please!

I’d love to see something which described the live video pipeline (from presenter through processing through viewers). Some of that was clearly YouTube live by the end, but something else earlier; but earlier in the chain is hazy to me. #ComfyConAU

Wed Sep 09 06:01:10 +0000 2020 (#)

Replying to @xfxf

For reference, the ComfyCon BTS from April 2020, was really interesting. They used Zoom for speaker input and YouTube Live for viewers. But it was just a single stream conference, with fewer people/moving parts.

Wed Sep 09 06:03:27 +0000 2020 (#)

Replying to @developerjack

Yes please. There’s lots of value in “what made an online conference work” / “what we’d do differently next time”.

See, eg, the ComfyCon writeup (April 2020, single track virtual conference over Easter). All those topics and more would be great.

Wed Sep 09 06:06:37 +0000 2020 (#)

Replying to @developerjack

In particular I (and probably others) would be interested to hear how the “all in one” platform (Venueless) worked out from the inside.

Personally I “worked around” Venueless by playing video off one device and doing chat on another. But hopefully it made BTS easier :-)

Wed Sep 09 06:06:54 +0000 2020 (#)

RT @developerjack: I too am starting to think on the many possible blog posts to write after #pyconlineau.

What do you want to learn about…

Wed Sep 09 06:58:23 +0000 2020 (#)

RT @isomer: This slide deck is a fantastic read!

Wed Sep 09 09:50:42 +0000 2020 (#)

RT @FauthNiklas: Today I learned:

Working with CRTs is much more annoying than I had imagined. I knew the bandwidth limitations, but I did…

Wed Sep 09 09:56:27 +0000 2020 (#)

Replying to @freakboy3742

And that particular one seems to only be available if you have a particular “Mission Control” setting as well, otherwise it seemingly does nothing on long click on macOS 10.14 (hover trigger is new in macOS 10.15 apparently).

For, you know, doubly difficult user discovery.

Wed Sep 09 23:31:22 +0000 2020 (#)

Replying to @pjf

Taking LARPing to a whole new level... 😃

Wed Sep 09 23:36:16 +0000 2020 (#)

Replying to @yaakov_h

OTOH, there are non-trivial buffer space issues (and buffer bloat issues) at scale. Especially for N items print on demand, printed separately (eg as runs of same sticker).

I can see why not applying Nagle’s algorithm could be inevitable...

Thu Sep 10 07:10:51 +0000 2020 (#)

Has anyone figured out why the official #Covid19NZ Tracer app (a) keeps logging people out, (b) doesn’t allow using the native phone password store to save passwords, and (c) still has email/password entry hostile fields?

(Fortunately the Rippl app is much more user friendly.)

Thu Sep 10 07:13:07 +0000 2020 (#)

Replying to @ewenmcneill

I really don’t think that “keep your email address / password in a plain text note on the phone so you can cut’n’paste to log in again” is great for security. But (after the 3rd or 4th time finding I’m logged out when needing to use the app), here we are :-/

Thu Sep 10 07:23:14 +0000 2020 (#)

Replying to @ewenmcneill

FTR I’ve now figured out how to manually add to the iPhone password store: Settings -> Passwords and Accounts -> Website and App Paaswords, enter phone passcode, then + to add entry. Give it some random website name.

So that’s a bit better.

Thu Sep 10 07:25:25 +0000 2020 (#)

Replying to @ewenmcneill

To use the password to log in to the #Covid19NZ tracer app, at the login screen click on the Passwords lock banner, enter your passcode, then choose the appropriate fake website name to paste in email/password, click done then log in.

Which isn’t great UX, but does work for me.

Thu Sep 10 09:07:24 +0000 2020 (#)

Replying to @ewenmcneill

And it turns out the NZ Covid19 Tracer app has an update a couple of days ago (which I just found) to allow it to record scans even while logged out. Which I guess is something. I still think it’d be better to avoid randomly logging people out... but maybe that’s just me.

Thu Sep 10 20:55:10 +0000 2020 (#)

Replying to @qntm

YYYY-DD-MM doesn’t exist?!

I have scars to prove that some date libraries believe it exists. (Unfixed for 3 years so far, recommended work around is to pin a 3+ year old version of the library 🤦🏻‍♂️)

Fri Sep 11 00:52:48 +0000 2020 (#)

Replying to @merxplat

Possibly if Antarctica was on fire it might raise well manicured eyebrows...? 🤔

Fri Sep 11 02:32:39 +0000 2020 (#)

I’d prefer if online delivery did “measure exactly, approximately N grams” rather than “measure approximately, exactly N grams” that they seem to do.

This tweet brought to you by a very “everything rounded down 2-10% from what was charged” delivery; at least it arrived promptly.

Fri Sep 11 02:35:50 +0000 2020 (#)

Replying to @ewenmcneill

On the plus side this one did actually arrive “next business day” (the previous two were “end of three business days later”). Possibly ordering at the end of the week helps 🤔

(I also got a tip to order the morning of the day before rather than afternoon/evening before.)

Fri Sep 11 08:57:05 +0000 2020 (#)

RT @jackie_cs_: - all systems eventually need configuration - all configuration is eventually going to need a config format - every config…

Fri Sep 11 08:57:20 +0000 2020 (#)

RT @jackie_cs_: - you might as well use a well-known language - if you're going to use a well-known programming language, you should be abl…

Fri Sep 11 09:26:58 +0000 2020 (#)

“Raising Heretics”, from #PyConlineAU last weekend, is a fantastic talk about the importance of having a population that understands how to question things, and how to teach that through data science. (ADSEI site has lesson plans.)

Fri Sep 11 11:08:11 +0000 2020 (#)

Replying to @ktemkin and @Qyriad

And here was I thinking y’all had a solution for that problem pre-prepared?! :-)

Fri Sep 11 21:37:35 +0000 2020 (#)

RT @mifune: The speed of light was always a bit of an abstract concept for me. I’ve learned about all of the effects it has, but never actu…

Sat Sep 12 03:50:39 +0000 2020 (#)

Like all @attacus_au talks, “What we do in the shadows” about security and shadow IT, and really about people/real world processes, definitely rewards a second viewing. If you already saw it at #PyConlineAU see it again; if you didn’t, watch it twice :-)

Sun Sep 13 02:22:43 +0000 2020 (#)

I’m particularly pleased with how my #PyConlineAU Rube Codeberg inspired program turned out.

Written a week late, but it does include a bonus 1980s vintage example as a reference to show how far we’ve come in the last 30-40 years :-)

Sun Sep 13 02:25:45 +0000 2020 (#)

Replying to @ewenmcneill

Thanks to @attacus_au for the Rube Codeberg competition inspiration and @chrisjrn for the Python switch/case implementation without which this wouldn’t have been possible.

Also thanks to #PyConlineAU for the great conference; I’m still enjoying catching up on talks I missed 🐍

Sun Sep 13 04:31:51 +0000 2020 (#)

RT @alicegoldfuss: oh no

Sun Sep 13 10:03:28 +0000 2020 (#)

@__fincham if you haven’t seen it already, you might like this video (from June 2020) showing Adam discovering a watchmaker’s definition of “tiny” — both for storage containers and individual parts.

Sun Sep 13 10:30:58 +0000 2020 (#)

RT @pjf: I don't know who needs this right now, but don't forget there's an entire series demonstrating computer sorting algorithms through…

Mon Sep 14 03:55:05 +0000 2020 (#)

TIL you can prepend a prefix / append a suffix to every item in a list, in Jinga/Ansible.

It works by calculating the cross product of two lists, and then mapping join across the resulting pairs. Which is amazing and terrifying.

Mon Sep 14 04:01:16 +0000 2020 (#)

Replying to @WasPhantom

Yeah, me too.

It’s also precisely what I need to do in Ansible today, for a chain of reasons that ends with “because Enterprise Software”.

So... 🤷‍♂️

Mon Sep 14 07:26:23 +0000 2020 (#)

Replying to @ewenmcneill

Since I couldn’t find a definitive list of #PyConlineAU Rube Codeberg entries, I’ve linked to all the programs I could find by searching today (some may not actually have been entered) from my (late) version.

(An official list or more entries welcomed.)

Mon Sep 14 22:04:06 +0000 2020 (#)

An interesting tour through Python evolution from 1.x through 2.7 via the “best” way to solve the same (simple) problem in each version. The language and “best” way have been co-evolving. Very interesting set of examples, including some older features I didn’t know about.

Tue Sep 15 02:35:32 +0000 2020 (#)

RT @cameronhunter: In video meetings it's a hassle to unmute just to say one word especially if someone else is speaking. I created a video…

Tue Sep 15 02:53:25 +0000 2020 (#)

RT @tveastman: It is a truth universally acknowledged that every app developed by dudes eventually turns into a stalking tool.…

Tue Sep 15 04:40:51 +0000 2020 (#)

Replying to @software_opal

As best I can tell WCC/WRC seem to have decided to opportunistically build random bits of bike lane from random places to random places when they can. Apparently with the hope that eventually they’ll somehow (magically?) become a coherent network.

It’s... not the plan I’d pick.

Tue Sep 15 23:56:17 +0000 2020 (#)

RT @ExcitedLeigh: A common theme that cuts through basically everything is that the people with the most skill educate and lift up others,…

Wed Sep 16 00:34:43 +0000 2020 (#)

RT @aka_pugs: Who's ready for more Networking History? - all about APPLETALK!

Wed Sep 16 09:33:30 +0000 2020 (#)

Hey @vodafoneNZ the super long carrier name (“Vodafone - Stay Safe”) was a clever joke. Months ago.

But having it constantly scrolling across the top of the home screen (like a 1980s budget HiFi) is just annoying.

Can you switch back to a shorter name please?

Wed Sep 16 09:38:19 +0000 2020 (#)

Replying to @vodafoneNZ

iPhone 8, iOS 13.7.

Some of the cause is Apple deciding to centre time, and force network name to fit left of that.

But I’m sure they didn’t expect a 20 character network name. Carrier names are normally short.

“VodafoneNZ” or “VFNZ” were great. Can y’all switch back please?

Wed Sep 16 21:40:40 +0000 2020 (#)

Replying to @vodafoneNZ

The carrier name is the wrong place for a “friendly message” especially when it results in constant scrolling across many people’s screens for months on end.

Thank you for passing on the request to change back to “VodafoneNZ”.

Wed Sep 16 23:08:00 +0000 2020 (#)

Ah, my Redbubble (printed) mask order is coming from Melbourne. And hasn’t even left Melbourne. That explains why it’s 2+ weeks past its last “estimated delivery” date (and now a month after order) already. 😢

Thu Sep 17 00:01:18 +0000 2020 (#)

Replying to @whatnick

Yes, once I realized it was shipped from Melbourne it was obvious why it was extra delayed. When I ordered I’d assumed they were printed/shipping from Sydney (Sydney to NZ still kind of works).

Either way I tend to double/add 2 weeks to overseas shipping estimates this year 😃

Thu Sep 17 01:53:30 +0000 2020 (#)

RT @TubeTimeUS: this electrical transmission tower has a little problem. can you spot it? actually, it's not a small problem--it cost us 16…

Thu Sep 17 02:33:19 +0000 2020 (#)

Interesting: there’s IRD GST return phishing now!

You can tell it’s phishing because it comes from an almost sensible email address (unlike the real IRD emails), and encourages you to file for a refund of an old period.

(Was sent to webmaster@ my domain, blind CC.)

Thu Sep 17 09:39:18 +0000 2020 (#)

It’s a bit of a shaggy dog story of a talk (at 1h15), but it all comes together by the end. Anyone in a job that involves managing risk of failure, especially systems failure and single points of failure, should find a lot that resonates in the conclusions of the talk.

Fri Sep 18 00:23:43 +0000 2020 (#)

Yup, definitely if there’s a list I only want the first entry. No, wait, I want all the entries in the list 🤦🏻‍♂️

(The whole module is gone from Ansible 2.10, which I guess is... a “fix”.)

Fri Sep 18 03:58:26 +0000 2020 (#)

Replying to @jillrouleau

That’s good news. Thank you for the explanation!

I’d been assuming all the “removed” bits were being shuffled off to Ansible Galaxy for end user DIY maintenance. But it seems like 2.10 will be more backward compatible than I feared 👍

Fri Sep 18 03:58:29 +0000 2020 (#)

RT @jillrouleau: @ewenmcneill It's not gone it's been moved to a collection, as have the vast majority of modules. Any collection content t…

Fri Sep 18 20:36:32 +0000 2020 (#)

@jonoxer FYI, the power controlled USB (A) hub I mentioned earlier, that was on Crowd Supply last year, has a new form factor coming out: Eurorack. 3HP and 5HP widths I think. Especially 3HP looks like good size for small modular power controller USB hub.

Sat Sep 19 01:02:30 +0000 2020 (#)

Replying to @merxplat

It all fit on two screens in my case. But the swearing arrived before the context! 😃

(Not exactly unexpected. But I understand why so many had pinned their “last hope” there...)

Sat Sep 19 05:45:06 +0000 2020 (#)

Replying to @simonw

One of the best things about a online board game convention I went to was using voice and video channels to allow players to hang out.

They just had a bunch of them, in Discord, with fun names and people could join them at will, so they became a companion to each separate game.

Sat Sep 19 05:49:45 +0000 2020 (#)

Replying to @simonw

Also in case you’ve not see it the ComfyConAU online conference write up.

Their “conference” chat (initially Slack, now Discord) has continued to be very active. Encouraging people to share photos (pets, labs, etc), music links, etc helped a lot.

Sat Sep 19 10:04:19 +0000 2020 (#)

Replying to @mangopdf

“Sometimes described as a ‘self-described hacker’” :-)

Sun Sep 20 02:09:47 +0000 2020 (#)

RT @smolrobots: "If we can just do this one, absurd bit of political finagling at precisely the right moment and don't say what we really m…

Sun Sep 20 02:10:37 +0000 2020 (#)

RT @colinmadland: A faculty member has been asking how to stop Zoom from removing his head when he uses a virtual background. We suggested…

Sun Sep 20 02:11:45 +0000 2020 (#)

RT @RealSexyCyborg: If you seriously care about secure comms, and understand that it's extremely difficult to have them without building on…

Sun Sep 20 02:22:29 +0000 2020 (#)

Replying to @theavalkyrie

Out of curiosity were you replacing the battery because it was expanding? Or just low capacity?

I had to have the battery in a 15” late 2013 MBP, bought early 2014, replaced earlier this year as it was expanding; so I’m curious how common that actually is for 2013/2014 models.

Sun Sep 20 02:30:23 +0000 2020 (#)

Replying to @__fincham

Looks like PowerShell remote is Kerberos authenticated WinRM by default, but in some contexts can be ssh too (and/or NTLM if the server still accepts that).

I wonder if a Kerberos speaking/domain joined Linux VM would be enough?

Sun Sep 20 02:32:52 +0000 2020 (#)

Replying to @theavalkyrie

Cool, thanks. Yes 6 years is pretty long for laptop batteries.

I know of one other 2013/2014 MBP that had an expanding battery (also late 2013 15”), so maybe we were both just unlucky.

Glad to see your replacement went smoothly!

Sun Sep 20 02:37:42 +0000 2020 (#)

RT @minxdragon: Thread. I was literally just writing about this sort of racial bias on Friday. We need to be better.

Sun Sep 20 02:38:38 +0000 2020 (#)

RT @minxdragon: So twitter uses facial recognition to prioritize faces in previews... this thread is a fascinating look into the bias of tw…

Sun Sep 20 02:43:50 +0000 2020 (#)

Replying to @minxdragon

“Most interesting” you say?! 🧐

(Thanks for experimenting; interestingly it seems like Tweetbot is mostly doing a good job at recognising all faces, which is pleasing to see.)

Sun Sep 20 02:47:54 +0000 2020 (#)

Replying to @minxdragon

Hmm, the “very tall” images seemed to get the white space in the middle previewed in Tweetbot. Which I guess is at least neutral... 🤔

(2nd and 3rd images were on top tweet in first screenshot; 4th was one on the lower tweet.)

Sun Sep 20 02:49:45 +0000 2020 (#)

Replying to @minxdragon

FYI, the next two (not quite as tall) seem to preview (in Tweetbot) as just very tall images with lots of white space. Which is accurate.

Sun Sep 20 05:37:48 +0000 2020 (#)

Replying to @afatsum

Yes, it was the touchpad becoming unusable for me that led me to first notice the issue. (I got it replaced, by courier during lockdown !!, when I noticed the laptop didn’t even sit flat on the desk any more.)

That makes 3 late 2013 MBP with the issue I know about...

Sun Sep 20 05:49:17 +0000 2020 (#)

Replying to @minxdragon

Interestingly Tweetbot seems to be defaulting to “center of image” in the absence of good guesses elsewhere (and mostly seems to use the default). Which in a standard “top half of body” shot possibly defaults to mid-chest?

It’s more obvious 4-up than 2-up (aspect ratios?).

Sun Sep 20 05:51:51 +0000 2020 (#)

Replying to @minxdragon

So at least some of the “focus on chest” might be a side effect of “focus on centre of image by default”, eg if “point of interest” detection didn’t clearly indicate something else. That being “okay” on people shots is it’s own bias (eg, top of image seems better people default).

Sun Sep 20 05:54:16 +0000 2020 (#)

RT @kenshirriff: The Intel 8008 processor, made into a 1000-piece jigsaw puzzle. That averages 3.5 transistors per piece.…

Sun Sep 20 05:57:08 +0000 2020 (#)

RT @xfxf: I keep getting asked about the @nextdayvideo tech behind #pyconlineau - what we did worked well, but the software/tooling isn't t…

Sun Sep 20 05:57:34 +0000 2020 (#)

RT @xfxf: ...and I'm already planning towards the next event using different tooling & processes. The primary stack we used was a combinat…

Sun Sep 20 07:52:36 +0000 2020 (#)

Replying to @BrigetteMetzler and @BR3NDA

In another thread there’s speculation that the Twitter algorithm is somewhat trained for “in focus” and particularly the ratio between in focus and out of focus. The non- @BR3NDA example has fairly shallow depth of field, which maybe influences the framing choice here.

Sun Sep 20 08:54:23 +0000 2020 (#)

TIL someone is making a CP/M 2.2 like OS for the Z80 without the Digital Research code (using ZCPR, ZSDOS, etc, instead) 😮

(The source for CP/M has been available for years, but Caldera licensed rather than Open Source.)

Sun Sep 20 10:03:32 +0000 2020 (#)

Reverse engineering an early 2000s “music clip” toy’s audio storage (approx 1 minute of PWM); the audio sample at the end sounds pretty plausible (if very LoFi), and enough for SoundCloud content match!

(Link via Techmoan Patreon discussion about them.)

Sun Sep 20 10:07:34 +0000 2020 (#)

Replying to @damana

Apologies for missing your name in my comment; it was further up thread than I could see while replying and I couldn’t remember the spelling :-(

FWIW the surprise here was the result was different from most other examples other people tried today; those all showed white bias.

Mon Sep 21 05:55:56 +0000 2020 (#)

RT @wintersweet: possibly we should stop saying “the algorithm” and start saying “the way people programmed the app”

Mon Sep 21 06:04:11 +0000 2020 (#)

Replying to @slyall

Surely there are enough employees they can run a corporate bus service “back to the city” like lots of Silicon Valley companies do?

Or ask for an extra public bus route to be added, underwriting running it?

(Endless WFH seems the only other sensible solution 😃)

Mon Sep 21 06:06:42 +0000 2020 (#)

Replying to @slyall

3 shifts x 2+ drivers, plus renting 2+ buses, and driving them in a loop doesn’t seem like it’d be that expensive in the scheme of things for a business employing hundreds of people in one location... 🤔

Mon Sep 21 06:11:40 +0000 2020 (#)

RT @henry_maddocks: Best thing the NZ govt can do for NZ tech is buy NZ tech and make it attractive for the private sector to do the same.…

Mon Sep 21 07:58:45 +0000 2020 (#)

RT @kenshirriff: The Xilinx XC2064 was the first FPGA, introduced in 1985. Built from a grid of 64 tiles, each combining routing and a conf…

Mon Sep 21 08:02:34 +0000 2020 (#)

Replying to @slyall

The way some of those Silicon Valley buses work is they leave from some central point that is easily reachable by other public transport.

Sure, people have to change buses/trains for the trip. But if the connections are timed well, and there’s good shelter, it works fine.

Mon Sep 21 08:04:35 +0000 2020 (#)

Replying to @slyall

And once the light rail is built (years) there totally should be a shuttle bus meeting everyone one of those, in a tight loop. Given the location it could probably be one of those airport hotel shuttles adding a stop to the route...

Mon Sep 21 08:05:49 +0000 2020 (#)

RT @lindamciver: I feel like it would not be too much to ask for the food industry to label foods with the actual ingredients, not somethin…

Mon Sep 21 21:57:49 +0000 2020 (#)

Replying to @thelittlepakeha and @merxplat

I’ve also got an iPhone 8. It’s always scanned the codes okay if I get the distance right. Possibly the camera lens just needs cleaning? They can get pretty dusty in pockets/bags :-)

The iPhone SE 2020 has the same camera as the 8. But maybe new hardware would help.

Mon Sep 21 22:03:22 +0000 2020 (#)

Replying to @merxplat

Not planning to stop scanning QR codes. Nor to stop updating my ~/Desktop/tracing text file.

Data collection for reference in the future works best if you’ve actually done the data collection in the past 😃

(90% sure there’ll be another community outbreak in the next 6 months.)

Mon Sep 21 22:12:17 +0000 2020 (#)

Looks like the NZ alert levels now run 0, 1, 2, 2.5, 3, and 4. Which as an old school BASIC programmer, I can tell you is a sign that you needed bigger gaps in your initial numbering 😂

(“Usual routine pandemic precautions” ideally would have been “level 2”.) #Covid19NZ

Mon Sep 21 23:21:04 +0000 2020 (#)

Replying to @thelittlepakeha

I too have an iPhone SE 2020 as a replacement for the 8. I haven’t started really using it yet, but ordered it earlier this month as a “faster iPhone 8” :-)

Hope the SE sorts your QR scanning issues!

Tue Sep 22 01:22:23 +0000 2020 (#)

Replying to @merxplat

I have an interface I like already: vi :-)

I’m tracking (in a standardised enough format to machine parse): all deliveries, all trips outside the house, the very few visitors I’ve had, and some relevant phone calls.

It probably helps I WFH, so there are relatively few entries.

Tue Sep 22 02:24:30 +0000 2020 (#)

Replying to @ktemkin

Here they eventually standardised on “Contactless” as the “Signature when you’re not having a signature”.

Prior to that my letterbox, doorstep, and garden path all helped out by signing for packages... 😂

Tue Sep 22 02:31:15 +0000 2020 (#)

RT @CentrlPotential: You can measure the speed of light at home using just a microwave and a bar of chocolate!

Tue Sep 22 09:43:48 +0000 2020 (#)

RT @andrewtychen: So I don't know who still needs to see this, but please keep using the NZ COVID Tracer app or otherwise keeping track of…

Tue Sep 22 09:45:38 +0000 2020 (#)

Replying to @minxdragon

Maybe it’s “two giraffes”, like “two spirit”....? 🤔

Tue Sep 22 23:35:25 +0000 2020 (#)

Replying to @ewenmcneill

My (first, non-express, ex Melbourne to NZ) Redbubble order arrived today. As best I can tell that’s 33 days from original package lodgement to delivery into my letterbox, almost all of which was sitting in Melbourne (arrived in NZ yesterday according to tracking).

Tue Sep 22 23:38:36 +0000 2020 (#)

Replying to @ewenmcneill

In theory it’s arrived maybe a week before the express order I made last week. Which seems to be split shipped from Brisbane and Melbourne (different item types; although RedBubble thinks one of the two item types is yet to be sent, despite AusPost giving me tracking details?!)

Wed Sep 23 03:36:07 +0000 2020 (#)

Replying to @attacus_au

Have you been investing in studio / stage lighting with flags on it as well? (That lighting looks heavily flagged to prevent light spill.)

Could become an expensive hobby 😃

Wed Sep 23 04:01:58 +0000 2020 (#)

RT @BenKrasnow: "how" "to" "write" "Google" "search" "queries" after:2019 -pinterest -quora

Wed Sep 23 05:29:59 +0000 2020 (#)

Replying to @pjf and @Tempestrix

As best I could tell (never having used it, because yikes!) POLi is basically CSRF (Cross Site Request Forgery) As A Service.

I’m sad that 25 years into the web/online payments this is still a poorly solved/insecurely solved problem 😢

Wed Sep 23 05:33:07 +0000 2020 (#)

Replying to @pjf

Other options: 1. Find someone who wants to transfer money the other way, and figure out equivalent local transfers.

  1. Spend money out of US account for goods which are (eventually) delivered to you in Australia (might require remaining).

Wed Sep 23 05:36:46 +0000 2020 (#)

Replying to @pjf

  1. Spend money locally on credit card linked to US account, and pay back balance from US account.

  2. (maybe) link US and AU accounts to PayPal (or similar) and transfer in/out. Might need two accounts at service though.

(It’s easier if you can keep amounts under $5k-$10k.)

Wed Sep 23 05:40:58 +0000 2020 (#)

Replying to @pjf

IE delivery from US card order to AU address might raise fraud flags. I guess you could send yourself gifts... :-)

(This option is probably best for lower value items, well under the taxed on import” level.)

Wed Sep 23 05:42:35 +0000 2020 (#)

Replying to @pjf

I think iTunes gift cards have become pretty regionalised. Probably for exactly that reason. At least last time I bought one it had big warnings about only being usable in the NZ store.

Wed Sep 23 07:03:05 +0000 2020 (#)

Replying to @nickzoic

Ironically it’s the things which we’ve “hidden” which are most likely to survive to be found later!

(Maybe if we’re lucky a million years will turn it all back into coal or oil...)

Wed Sep 23 21:06:59 +0000 2020 (#)

Replying to @mjg59

The satellite pay TV/cable modem solution to others receiving the multicast traffic they shouldn’t be able to see, would be to encrypt it, with the decryption key to be obtained via unicast. (And maybe signature to be able to ignore traffic forged by others.)

Wed Sep 23 21:15:39 +0000 2020 (#)

Replying to @jordan_lamborn and @vodafoneNZ


Still looks the same here to me, “Vodafone - Stay Safe”. Still scrolls on the home screen, and gets truncated in apps if the time isn’t all narrow characters (more if network traffic).

(I’m in Wellington. Maybe a change is being slowly rolled out? crosses fingers)

Wed Sep 23 21:49:04 +0000 2020 (#)

Replying to @vodafoneNZ and @jordan_lamborn


Thank you so much for doing this. The scrolling was very distracting :-)

I’m liking Aotearoa in the name too 👍

(Before/After power cycling screenshots.)

Wed Sep 23 21:49:17 +0000 2020 (#)

RT @ewenmcneill: @vodafoneNZ @jordan_lamborn Success!

Thank you so much for doing this. The scrolling was very distracting :-)

I’m lik…

Wed Sep 23 22:05:19 +0000 2020 (#)

Replying to @pjf

In case you’re not aware it seems the Twitter “r u a bot?” checker got... rather enthusiastic recently. They’re working on it.

(I’ve seen half a dozen reports of being hit by it just in people I read every day.)

Thu Sep 24 07:32:17 +0000 2020 (#)

Replying to @Kxyne

Seems like you looked at it closer than me 😃 (I ran away quickly at the point it sounded like it was opening a request on my bank.)

Agent in the Middle is at least well understood legally (fiduciary duty). But it sounds like they get bank login details directly, so... 😬

Thu Sep 24 07:44:39 +0000 2020 (#)

Replying to @ktemkin

Problem solved “all but programming” feels a bit PhD “all but dissertation” :-)

(Ie, the interesting 90% is done, just the less exciting 90% to go.)

I get this too, but not as strong. Sometimes “then I get to tick something off my to do list today” is enough for me.

Thu Sep 24 08:54:37 +0000 2020 (#)

Replying to @Kxyne

“Promise not to log your credentials” 😂

It still feels like one of those “it’s great until something happens and it all goes horribly wrong” things :-)

Thanks for the details. It’s good to understand the implementation better if someone asks. (I’m still not using it 😃)

Thu Sep 24 21:38:44 +0000 2020 (#)

RT @helenleigh: The replies to this tweet have some amazing recommendations for books, articles and documentaries if you're interested in t…

Thu Sep 24 22:02:43 +0000 2020 (#)

RT @chrisjrn: This is a thread.

Fri Sep 25 08:16:03 +0000 2020 (#)

Replying to @slyall

⸘You live “in the cloud”‽ 😂

Fri Sep 25 09:56:41 +0000 2020 (#)

🧵 (up and down from quoted tweet)

TIL that you can repurpose static MAC table entries and port mirroring for a kind of network “mechanical advantage” when load testing UDP based network applications (here DNS) 😮

Fri Sep 25 10:32:05 +0000 2020 (#)

Replying to @ewenmcneill

For future reference, the point where our hero innocently asks how an (authoritative) DNS server might feel about receiving... several copies of the same, bit for bit identical, packet :-)

Fri Sep 25 10:35:18 +0000 2020 (#)

Replying to @ewenmcneill

Also for future reference it occurs to me one might be able to use TTL decrement, eg on a SDN switch, to have programmable mechanical advantage (ie 1-255x). Rather than just “limited by serialisation delay and speed of light”.

Fri Sep 25 10:38:13 +0000 2020 (#)

Replying to @__fincham

Yes, given decent hardware to be the source, one has rather less need for “mechanical advantage”.

DPDK is definitely very useful if you have a decent NIC. (In this case the source was a e-waste reclaimed device. Possibly 1Gbps or less. Apparently 3 unique packets in flight!)

Sat Sep 26 20:49:09 +0000 2020 (#)

RT @helenleigh: @RealSexyCyborg @rikcloesen Naomi's gender presentation and her refusal to accept the status quo is important for us all. M…

Sun Sep 27 07:31:33 +0000 2020 (#)

If you like sudoku variations, this solve of a thermo sudoku puzzle from Mitchell Lee, by Simon of @crypticcracking, is well worth watching. The break into the puzzle and the (9x4 cell) thermo solve is very rewarding (completed 2 minutes after that!)

Sun Sep 27 08:19:14 +0000 2020 (#)

@pjf FYI you got a shoutout from Jon at 52 minutes into his live stream today, for Perl and Acme::ButFirst :-)

Sun Sep 27 08:29:17 +0000 2020 (#)

Replying to @tveastman

Apparently I successfully encouraged Vodafone to rename their network to something that actually fits in the space Apple allows on an iPhone 8, so it’s not constantly scrolling on my screen.

I was surprised it happened too; sometimes asking does help :-)

Tue Sep 29 20:46:34 +0000 2020 (#)

RT @Foone: so there's this fun stackoverflow answer explaining why browsers parse "chucknorris" as a color but the part that really amazes…

Tue Sep 29 23:00:54 +0000 2020 (#)

Replying to @pjf

On the plus side, that’s a nice long break from social media.... just saying :-)

Wed Sep 30 01:51:03 +0000 2020 (#)

RT @RealSexyCyborg: Dystopian cyberpunk writes itself- students getting skin lightening treatments and their epicanthic folds surgically re…