Sign in

John Marshall

@johnm.bsky.social
961 followers 318 following 322 posts

Bioinformatics tools developer at Australia’s Centre for Population Genomics. Will edit GA4GH specifications for food. New Zealander fairly recently returned after a decade in the U.K.

PostsRepliesMedia
John Marshall @johnm.bsky.social · 05/10/2026
In Python function definitions, parameters before / are positional-only; parameters after * are keyword-only. The * is old, and even / has been around since 3.8 so no longer counts as newfangled. (Noted here so I might remember it clearly in future…)
000
John Marshall @johnm.bsky.social · 02/10/2026
What's worse than a drive-by pull request from some rando with no interest in your project who merely pointed their AI at one of your open issues? That same drive-by PR, but when the issue reporter (and their cybernetic friend) has already opened a superior PR fixing the problem.
020
John Marshall @johnm.bsky.social · 01/10/2026
Wondering where the Python Standard Library documentation's sections on built-in functions, constants, types, and exceptions went? They were moved to a new top-level Built-ins section alongside Library/Language/etc three weeks ago. Now I regularly need to look at two index pages instead of one…
github.com
Docs: split builtins to their own page from library by nedbat · Pull Request #156682 · python/cpython
We've talked about separating the built-ins from the stdlib modules, since "dict" (for example) isn't part of the stdlib. I think I took care of all the places the pages are refer...
020
Reposted by John Marshall
Paul Le Comte 🇳🇿🇨🇦📷 @paullecomtephoto.nz · 22/09/2026
Seacliff farm sheds, North Dunedin #Nikon #Rural I've always been a fan of this fangled new 'hyper localism', a reaction to 'influencer photographers' all travelling to the same insanely beautiful 'secret' location to get iconic shots. Celebrating the local rocks my boat too
A shed north of Dunedin. Loving 'hyper localism' - celebrating the local instead of the iconic influencer photography
101117
Reposted by John Marshall
Felix Geiringer @barristernz.bsky.social · 22/09/2026
I'm at Unity Bookshop Wellington for the Nicky Hager book launch. The event is not due to start until 6 pm, but the room is mostly full already and filling up fast.
Unity Bookshop filling fast.
17356102
John Marshall @johnm.bsky.social · 16/09/2026
Overall the unnecessary source code and bundled libraries were substantial, but the biggest component was the out of control GCC debugging symbols, which are particularly bloated for the style of code generated by Cython. I considered ‑g1 but other Cython projects that control this mostly use ‑g0.
Bar chart showing the size reduction in a single representative wheel from version 0.24.0 to last week's 0.24.1: Linux on the left and macOS on the right.

The Linux wheel reduces from ~24 MiB to ~3.5 MiB. The reduction is about 20% excess source code, 20% bundled libraries, and 60% voluminous debug symbols. The libbz2 and liblzma compression libraries are still bundled in 0.24.1 Linux wheels, but they are tiny and should not have the same security concerns as the previous networking libraries.

The macOS wheel reduces from ~8 MiB to ~2.5 MiB, almost entirely due to the removal of excess source code.

Note that these are all the sizes AFTER compression. (Wheels are compressed with zip.)
010
John Marshall @johnm.bsky.social · 16/09/2026
Exceptions raised by pysam show a Python/Cython stack trace, but AIUI any C debugging information would only be displayed by a C debugger like gdb. The default debugging level comes from compiler settings tuned for building Python itself and is not really suitable for building Cython extensions.
github.com
Omit all C debugging symbols from pre-built wheels · pysam-developers/pysam@cebcb9e
C debugging information is largely unnecessary in a Python context. Most people who might use gdb or another C debugger with pysam are not using pre-built wheels, or could rerun against a hand-buil...
100
John Marshall @johnm.bsky.social · 16/09/2026
Python wheels bundle the more exotic system libraries to make themselves portable across distros and OS versions. On Linux this embedded libcurl in wheels — along with 20 other system libraries pulled in by it. Preventing this has several advantages, including sidestepping some security concerns.
210
John Marshall @johnm.bsky.social · 16/09/2026
The most obvious problem was that somewhere along the line htslib, samtools, bcftools, and Cython source code and the compiled-into-voluminous-C Cython code became included in the binary wheels. This turned out to be an inadvertent byproduct of adding a pyproject.toml build configuration file.
github.com
Omit files unnecessarily added to wheels · pysam-developers/pysam@12a71e8
A pyproject.toml file was added in March 2023, which inadvertently changed the include_package_data default from False to True. Explicitly set it to False to omit *.c, *.pyx, etc source files, redu...
110
John Marshall @johnm.bsky.social · 16/09/2026
Investigating pysam wheel sizes had been on my to-do list for a while. Recently realising that we'd used 6 GiB out of our default 10 GiB PyPI limit and had room for maybe five more releases made it urgent. Last week's 0.24.1 release reduces the per-release total from ~760 MiB to ~150 MiB. 🧬🖥️ 🧵
Bar chart showing total release sizes gradually increasing from 2021's version 0.17.0 to a peak of 760 MiB for the second most recent release (2026's 0.24.0) before dropping to ~150 MiB (between 0.17.0 and 0.18.0 in total size) for the most recent release.

Interesting discontinuities are 0.22.0, which added ARM wheels for macOS, and 0.23.1, which added musl Linux wheels. The sdists are ~5 MiB making a barely visible blue sliver at the bottom of the graph.
230
John Marshall @johnm.bsky.social · 16/09/2026
Unfortunately I was already in my email client, and the first couple of sentences were parseable as a bunch of mutt commands amongst the mutt errors. I was Not Impressed that the destination managed to autocomplete as it did, rather than to y’know just one person…
120
John Marshall @johnm.bsky.social · 16/09/2026
Oh yes. Twenty-five plus years later and I’m still appalled.
030
John Marshall @johnm.bsky.social · 16/09/2026
Once had a “paste in the wrong terminal window” scenario that resulted in a slightly garbled version of a commercially sensitive email being forwarded to several thousand people on a public mailing list. It’s probably still in the web archives if you know the right month to look at.
260
John Marshall @johnm.bsky.social · 07/09/2026
Today's pysam 0.24.1 release bundles htslib, samtools, and bcftools 1.24 and has pre-built wheels on PyPI for Python 3.9 through 3.15. Wheels are much smaller than in previous releases. It includes type hint fixes, some speed optimisations, and a new reverse_complement() utility function. 🧬🖥️
github.com
Release v0.24.1 · pysam-developers/pysam
This minor pysam release wraps htslib/samtools/bcftools version 1.24. It has been tested with Python versions 3.9 through 3.15 (RC2) and wheels are available via PyPI for all of those Python versio...
011
John Marshall @johnm.bsky.social · 06/09/2026
That is just spectacularly not correct. I suggest you actually read some open source licenses.
010
John Marshall @johnm.bsky.social · 06/09/2026
That's not actually a true statement about the copyright status of most open source software though, is it.
100
John Marshall @johnm.bsky.social · 05/09/2026
Probably the biggest organisational change we've made in pysam for a while: Dynamically load libcurl and libcrypto in order to subvert Linux wheel repair and avoid these libraries being bundled into the final wheels. (This organisational change affects only the pre-built Linux wheels.)
github.com
Prevent libcurl/libcrypto/et al being bundled in Linux wheels by jmarshall · Pull Request #1420 · pysam-developers/pysam
An alternative to PR #1415 which reapplied the CA bundle location hack to hfile_s3.c. Because Linux wheels bundle libcurl.so and are built on AlmaLinux (i.e., a Red Hat flavoured distro); and becau...
000
John Marshall @johnm.bsky.social · 02/09/2026
A week later, and no response from my electorate MP other than the autoreply from her office. I also emailed Reuben Davidson asking if the public are allowed to read his reported “79 questions” letter… 🦗🦗 Labour really working hard to earn every vote here… 🙄
000
John Marshall @johnm.bsky.social · 31/08/2026
Me too… until I squinted in the right way at this reply:
120
Reposted by John Marshall
James Ferguson @psy-fer.bsky.social · 27/08/2026
Sign up for the Garvan Long-Read Research Symposium 2026, a day filled with talks/discussions on the latest advances in long-read sequencing technology and related genomics, transcriptomics and epigenetics research using @nanoporetech.com and @pacbio.bsky.social www.eventbrite.com.au/e/garvan-lon...
eventbrite.com.au
Garvan Long-Read Research Symposium 2026
Join us at the Garvan Long-Read Research Symposium 2026 for a deep dive into groundbreaking discoveries in medical research!
298
John Marshall @johnm.bsky.social · 27/08/2026
Days since I've been screwed by SELinux: 0 I spent years reflexively removing the selinux packages whenever I upgraded Fedora. Was hoping not to have to go back to that…
bugzilla.redhat.com
2502040 – ssh agent forwarding blocked by selinux debug1: Remote: Agent forwarding disabled: couldn't create listener socket
020
Reposted by John Marshall
Morgan Davie @fromthemorgue.bsky.social · 26/08/2026
Just reflecting on the fact that when a Kiwi was seized and detained for weeks by the US regime, our Minister of Foreign Affairs (who also leads a party in govt) responded by sharing an elaborate and obvious lie that it was her own fault- -and it has disappeared down the memory hole already. 1/
210531
Reposted by John Marshall
Dr. Cassandra Mudgway @legallyfeminist.bsky.social · 24/08/2026
I read 54 pages of draft legislation so you don't have to. Important notes: this is not "systemic change" as there's no obligation to make platforms (or AI companions) safe. There's no ref to gender based violence, children's rights, or te Tiriti. It's an age ban and a duty to assess risk. #nzpol
Meme where the govt slaps "age ban" on a leaky water cooler labeled social media harm.
79844
Reposted by John Marshall
David Hood @thoughtfulnz.bsky.social · 24/08/2026
What I have spent the last hour writing.
As you are my local MP, I am writing to encourage you, and Labour, not to support National’s Online Safety (Minimum Age and Child Safety Risk Assessment) Bill. 
This is a bill that both does not address the problem it is trying to solve, and restricts legitimate democratic organisation of under 16 year olds.
A central issue is that the law initially defines platforms by harmful features, but then exempts whole classes of services according to their stated primary purpose. A messaging or gaming platform may still contain recommender systems, public or semi-public communities, direct contact with strangers, disappearing messages, engagement feedback, commercial profiling, in-game purchases, or other harmful features.
The available NZ evidence [1] [2] identifies harm through content, contact, conduct, commercial practices, and platform design, not simply through conventional social-media feeds. 
So the sources of harm identified targeted in the National’s proposed law are not the sources of harm actually being reported by young people. This exemptions method is not fit for purpose.
Academic work has also shown that young people use social media to poltically organise for causes of interest [3], and early evidence from the Australian ban is among under-16 users whose social-media use was significantly disrupted, 51% reported receiving less news as a direct result. Those affected also reported fewer opportunities to discuss news and issues that mattered to them [4].
I think it is part of Labour’s values that young people of the opportunity to participate in society, so that they are active particpants of society as adults.

Not room in alt text for references
913350
Reposted by John Marshall
Andrew @openpolicy.bsky.social · 24/08/2026
The NZ Herald reports the bill will be discussed at the Labour Party's parliamentary caucus meeting tomorrow (Tuesday 25 August), so it's important to let Labour MPs know how you feel about the Bill today. List of Labour MPs here: www3.parliament.nz/en/mps-and-e... #nzpol
www3.parliament.nz
Members of Parliament - New Zealand Parliament
Find out who the current MPs are, including their roles and responsibilities. This section also shows you where they sit in the House and how to contact them at Parliament.
288
Reposted by John Marshall
NZ Council for Civil Liberties @nzccl.org.nz · 24/08/2026
Very disappointed to see the govt proposing a ban on under-16s using social media. While we agree there is work to be done, a ban is the wrong approach and interferes with young people's rights to communicate with family, each other, and the wider world. www.rnz.co.nz/news/politic...
rnz.co.nz
Watch live: Govt pushes ahead with social media ban for under-16s
The government is pressing ahead with its ban on social media for under-16 year olds, with the legislation set to be introduced on Monday.
210739
John Marshall @johnm.bsky.social · 24/08/2026
Surely (surely…!) Labour would not offer support to the government on a contentious topic less than three months before an election. I've told my Labour MP what will happen to my vote if the party supports this, and I hope they get a deluge of such letters.
Letter emailed to MP:

I see from the news today that the government finally plans to move ahead with its proposed social media ban for those under 16. RNZ reports that ACT and New Zealand First will not support this bill, and that National will therefore need Labour's support for the bill to progress.

Such bans are ill-considered and I trust Labour will not support the National Party in this. Both on its (lack of) merits, and because it is far too close to the upcoming election for Labour to be supporting any government legislative action. If Labour were to support this bill, I would not be able to support a Labour electoral candidate or the party with my vote in November. As a voter, I am sure I am not alone in this conclusion.

For further background on alternatives to such bans, I would commend to you InternetNZ's submission in response to the Education and Workforce Committee's inquiry in 2025:

[URL follows.] https://internetnz.nz/assets/Archives/Submissions/InternetNZ-Submission-on-Inquiry-into-the-roles-can-the-Government-business-and-society-can-play-in-addressing-online-harms-to-New-Zealands-youth-25-July-2025.pdf
020
Reposted by John Marshall
joel @jmoonz.bsky.social · 23/08/2026
Wait what, synthID requires access to the secret key used to encode the watermark? And we just have to trust the person with the secret to say yes or no? I know DRM is pretty useless, but this is next level useless.
2111
John Marshall @johnm.bsky.social · 19/08/2026
Complete lack of familiarity with the phrase “the buck stops here”. www.trumanlibrary.gov/education/tr...
trumanlibrary.gov
"The Buck Stops Here" Desk sign | Harry S. Truman
The sign "The Buck Stops Here" that was on President Truman's desk in his White House office was made in the Federal Reformatory at El Reno, Oklahoma. Fred A. Canfil, then United States Marshal for th...
020
Reposted by John Marshall
Dan Kaszeta FRHistS @dankaszeta.bsky.social · 13/08/2026
There was no cholera in ancient or medieval Europe; it’s a 19th century arrival to Europe
4513
John Marshall @johnm.bsky.social · 13/08/2026
(It's late and I didn't read enough digits off my reverse Polish calculator… 1923/3104 = 61.95% which is why everyone else is reporting that awful number as 62%.)
010
Reposted by John Marshall
John Bull @garius.bsky.social · 13/08/2026
Spot the literal criminal offence.
trending column on Bluesky proclaiming a false result for a UK election happening today.
839846
John Marshall @johnm.bsky.social · 13/08/2026
So last year 1739 people voted non-FSU as their first pref. This year only 1181 people voted non-FSU as their first preference. Questions about vote splitting and strategies are immaterial. We lost because our numbers went backwards. And theirs doubled. What the hell.
184
John Marshall @johnm.bsky.social · 13/08/2026
Last year 2785 people voted in the InternetNZ Board election, and 1046 (37%) of them had an FSU candidate as their first preference. This year 3104 people voted, 1923 (61%) of them for an FSU candidate as first pref. Very unevenly: Brown had 1822 (58%) of the first prefs and—go figure—was elected.
120
Reposted by John Marshall
Kate Pearce @secvalve.bsky.social · 13/08/2026
Let this remind you that what matters in democracy is. - enrolling to become eligible to vote - turning up to vote - casting a valid and effective vote
29635
John Marshall @johnm.bsky.social · 13/08/2026
First #InternetNZ AGM motion vote at 7.30, scheduled for a minute or two after 6:55 — we're only running half an hour late after two hours elapsed!
020
John Marshall @johnm.bsky.social · 13/08/2026
Currently ~900 people in the InternetNZ AGM meeting. Early days yet, still just testing the voting system — if memory serves, we spent AGES doing this last year!
010
John Marshall @johnm.bsky.social · 13/08/2026
To be clear, I did not say that it was not.
120
John Marshall @johnm.bsky.social · 13/08/2026
I’m expecting the voting to be individually sprinkled across the evening too. However you have a much greater faith in any meeting’s ability to keep to time than I do! 😅
110
John Marshall @johnm.bsky.social · 13/08/2026
Yes indeed! My impression is that part of the NomCom proposal is precisely to create a mechanism to make these things happen in a more timely manner.
130
John Marshall @johnm.bsky.social · 13/08/2026
…and here's motion 8's author explaining the motivation for a NomCom. I think there'll be some time in the meeting for the proposers to explain each motion. And I'm looking forward to the proposer of the swathe of 2–5 & 9 that I'll be voting against to make any attempt to explain them at all.
010
John Marshall @johnm.bsky.social · 13/08/2026
Fair enough! If last year is any guide, you'll still be home before most of the voting action starts. Here's one of the threads that search would find…
210
John Marshall @johnm.bsky.social · 13/08/2026
Some would say yes; I would recommend reading the motions and making up your own mind. If you search bluesky for “internetnz motions” you'll find various — IMHO appropriately minded 😉 — people's analyses and recommendations. There's also relevant conversations on NetHub.
internetnz.nz
2026 Annual General Meeting
120
Reposted by John Marshall
Nabil Sabio Azadi @nabilsabioazadi.bsky.social · 12/08/2026
Tēnā koutou, e hoa and #InternetNZ folks! Here are my thoughts on Motions 2–5 and Motion 9, and what they could actually require of Ipurangi Aotearoa: bit.ly/3St9A2E.
bit.ly
7HrMgK8pkmYZu1Rytv1W | Riseup Pad
A collaborative document that everyone can edit in real time.
043
John Marshall @johnm.bsky.social · 12/08/2026
They've now published an updated version on the website and emailed members about it. I've confirmed that the text of the motion is now identical to that as submitted.
010
Reposted by John Marshall
David Slack @davidslack.bsky.social · 12/08/2026
It's going to be proper Red Wedding if it's Winston who comes out
2496
John Marshall @johnm.bsky.social · 12/08/2026
…blink and you miss it… That was a long meeting to come up with “I have the full support of my caucus”. Sure, Jan.
000
John Marshall @johnm.bsky.social · 12/08/2026
Live from the prime ministerial lectern! It's riveting stuff…
Radio New Zealand's livestream: “The Prime Minister is due to address media at 12.35pm. Watch a livestream of the announcement…”

It's an empty lectern at 12:40pm.
140
John Marshall @johnm.bsky.social · 12/08/2026
Bon voyage! Maybe we'll have a new PM and/or some fixed InternetNZ motions by the time you're off this plane again…
010
John Marshall @johnm.bsky.social · 11/08/2026
Late addition motion 9 #InternetNZ. You Cannot Be Serious. (And once again the apparent FSU stooge feels no need to provide any supporting information explaining why their onerous suggestion might be worthwhile.)
110