Sunday, 16 March

07:00

Stroke [RevK®'s ramblings]

The NHS have been very thorough investigating the stroke I had.

Thankfully the ongoing effects are slight - my typing is still more iffy than it was before, but good news.

They even did an ultrasound on my heart to try and find the underlying cause.


The good news is they found nothing. Well, I'll take it as good news. It also means they could not explain it, which is not so good. But given I had a stroke immediately after COVID, that seems a likely cause.

However, the one thing I find odd is the NHS efficiency here. The letter arrived this week (13th March 2025).


So what happened. I don't think even Royal Mail have a 17th class post that takes 6 months to deliver a letter. So that is rather weird.



05:07

Russell Coker: Article Recommendations via FOSS [Planet Debian]

Google tracking everything we read is bad, particularly since Google abandoned the “don’t be evil” plan and are presumably open to being somewhat evil.

The article recommendations on Chrome on Android are useful and I’d like to be able to get the same quality of recommendations without Google knowing about everything I read. Ideally without anything other than the device I use knowing what interests me.

A ML system to map between sources of news that are of interest should be easy to develop and run on end user devices. The model could be published and when given inputs of articles you like give an output of sites that contain other articles you like. Then an agent on the end user system could spider the sites in question and run a local model to determine which articles to present to the user.

Mapping for hate following is possible for such a system (Google doesn’t do that), the user could have 2 separate model runs for regular reading and hate-following and determine how much of each content to recommend. It could also give negative weight to entries that match the hate criteria.

Some sites with articles (like Medium) give an estimate of reading time. An article recommendation system should have a fixed limit of articles (both in articles and in reading time) to support the “I spend half an hour reading during lunch” model not doom scrolling.

For getting news using only FOSS it seems that the best option at the moment is to use the Lemmy FOSS social network which is like Reddit [1] to recommend articles etc.

The Lemoa client for Lemmy uses GTK [2] but it’s no longer maintained. The Lemonade client for Lemmy is written in Rust [3]. It would be good if one of those was packaged for Debian, preferably one that’s maintained.

Saturday, 15 March

23:56

Link [Scripting News]

Looking for help with wpcom API in Node.js app.

19:14

[1251] Maeve and Reed 3 - Complements [Twokinds]

Comic for March 15, 2025

15:35

Pluralistic: Amazon annihilates Alexa privacy settings, turns on continuous, nonconsensual audio uploading (15 Mar 2025) [Pluralistic: Daily links from Cory Doctorow]


Today's links



A cylindrical black Alexa speaker on a coffee table; it is wearing a Darth Vader helmet.

Amazon annihilates Alexa privacy settings, turns on continuous, nonconsensual audio uploading (permalink)

Even by Amazon standards, this is extraordinarily sleazy: starting March 28, each Amazon Echo device will cease processing audio on-device and instead upload all the audio it captures to Amazon's cloud for processing, even if you have previously opted out of cloud-based processing:

https://arstechnica.com/gadgets/2025/03/everything-you-say-to-your-echo-will-be-sent-to-amazon-starting-on-march-28/

It's easy to flap your hands at this bit of thievery and say, "surveillance capitalists gonna surveillance capitalism," which would confine this fuckery to the realm of ideology (that is, "Amazon is ripping you off because they have bad ideas"). But that would be wrong. What's going on here is a material phenomenon, grounded in specific policy choices and by unpacking the material basis for this absolutely unforgivable move, we can understand how we got here – and where we should go next.

Start with Amazon's excuse for destroying your privacy: they want to do AI processing on the audio Alexa captures, and that is too computationally intensive for on-device processing. But that only raises another question: why does Amazon want to do this AI processing, even for customers who are happy with their Echo as-is, at the risk of infuriating and alienating millions of customers?

For Big Tech companies, AI is part of a "growth story" – a narrative about how these companies that have already saturated their markets will still continue to grow. It's hard to overstate how dominant Amazon is: they are the leading cloud provider, the most important retailer, and the majority of US households already subscribe to Prime. This may sound like a good place to be, but for Amazon, it's actually very dangerous.

Amazon has a sky-high price/earnings ratio – about triple the ratio of other retailers, like Target. That scorching P/E ratio reflects a belief by investors that Amazon will continue growing. Companies with very high p/e ratios have an unbeatable advantage relative to mature competitors – they can buy things with their stock, rather than paying cash for them. If Amazon wants to hire a key person, or acquire a key company, it can pad its offer with its extremely high-value, growing stock. Being able to buy things with stock instead of money is a powerful advantage, because money is scarce and exogenous (Amazon must acquire money from someone else, like a customer), while new Amazon stock can be conjured into existence by typing zeroes into a spreadsheet:

https://pluralistic.net/2025/03/06/privacy-last/#exceptionally-american

But the downside here is that every growth stock eventually stops growing. For Amazon to double its US Prime subscriber base, it will have to establish a breeding program to produce tens of millions of new Americans, raising them to maturity, getting them gainful employment, and then getting them to sign up for Prime. Almost by definition, a dominant firm ceases to be a growing firm, and lives with the constant threat of a stock revaluation as investors belief in future growth crumbles and they punch the "sell" button, hoping to liquidate their now-overvalued stock ahead of everyone else.

For Big Tech companies, a growth story isn't an ideological commitment to cancer-like continuous expansion. It's a practical, material phenomenon, driven by the need to maintain investor confidence that there are still worlds for the company to conquer.

That's where "AI" comes in. The hype around AI serves an important material need for tech companies. By lumping an incoherent set of poorly understood technologies together into a hot buzzword, tech companies can bamboozle investors into thinking that there's plenty of growth in their future.

OK, so that's the material need that this asshole tactic satisfies. Next, let's look at the technical dimension of this rug-pull.

How is it possible for Amazon to modify your Echo after you bought it? After all, you own your Echo. It is your property. Every first year law student learns this 18th century definition of property, from Sir William Blackstone:

That sole and despotic dominion which one man claims and exercises over the external things of the world, in total exclusion of the right of any other individual in the universe.

If the Echo is your property, how come Amazon gets to break it? Because we passed a law that lets them. Section 1201 of 1998's Digital Millennium Copyright Act makes it a felony to "bypass an access control" for a copyrighted work:

https://pluralistic.net/2024/05/24/record-scratch/#autoenshittification

That means that once Amazon reaches over the air to stir up the guts of your Echo, no one is allowed to give you a tool that will let you get inside your Echo and change the software back. Sure, it's your property, but exercising sole and despotic dominion over it requires breaking the digital lock that controls access to the firmware, and that's a felony punishable by a five-year prison sentence and a $500,000 fine for a first offense.

The Echo is an internet-connected device that treats its owner as an adversary and is designed to facilitate over-the-air updates by the manufacturer that are adverse to the interests of the owner. Giving a manufacturer the power to downgrade a device after you've bought it, in a way you can't roll back or defend against is an invitation to run the playbook of the Darth Vader MBA, in which the manufacturer replies to your outraged squawks with "I am altering the deal. Pray I don't alter it any further":

https://pluralistic.net/2023/10/26/hit-with-a-brick/#graceful-failure

The ability to remotely, unilaterally alter how a device or service works is called "twiddling" and it is a key factor in enshittification. By "twiddling" the knobs and dials that control the prices, costs, search rankings, recommendations, and core features of products and services, tech firms can play a high-speed shell-game that shifts value away from customers and suppliers and toward the firm and its executives:

https://pluralistic.net/2023/02/19/twiddler/

But how can this be legal? You bought an Echo and explicitly went into its settings to disable remote monitoring of the sounds in your home, and now Amazon – without your permission, against your express wishes – is going to start sending recordings from inside your house to its offices. Isn't that against the law?

Well, you'd think so, but US consumer privacy law is unbelievably backwards. Congress hasn't passed a consumer privacy law since 1988, when the Video Privacy Protection Act banned video store clerks from disclosing which VHS cassettes you brought home. That is the last technological privacy threat that Congress has given any consideration to:

https://pluralistic.net/2023/12/06/privacy-first/#but-not-just-privacy

This privacy vacuum has been filled up with surveillance on an unimaginable scale. Scumbag data-brokers you've never heard of openly boast about having dossiers on 91% of adult internet users, detailing who we are, what we watch, what we read, who we live with, who we follow on social media, what we buy online and offline, where we buy, when we buy, and why we buy:

https://gizmodo.com/data-broker-brags-about-having-highly-detailed-personal-information-on-nearly-all-internet-users-2000575762

To a first approximation, every kind of privacy violation is legal, because the concentrated commercial surveillance industry spends millions lobbying against privacy laws, and those millions are a bargain, because they make billions off the data they harvest with impunity.

Regulatory capture is a function of monopoly. Highly concentrated sectors don't need to engage in "wasteful competition," which leaves them with gigantic profits to spend on lobbying, which is extraordinarily effective, because a sector that is dominated by a handful of firms can easily arrive at a common negotiating position and speak with one voice to the government:

https://pluralistic.net/2022/06/05/regulatory-capture/

Starting with the Carter administration, and accelerating through every subsequent administration except Biden's, America has adopted an explicitly pro-monopoly policy, called the "consumer welfare" antitrust theory. 40 years later, our economy is riddled with monopolies:

https://pluralistic.net/2024/01/17/monopolies-produce-billionaires/#inequality-corruption-climate-poverty-sweatshops

Every part of this Echo privacy massacre is downstream of that policy choice: "growth stock" narratives about AI, twiddling, DMCA 1201, the Darth Vader MBA, the end of legal privacy protections. These are material things, not ideological ones. They exist to make a very, very small number of people very, very rich.

Your Echo is your property, you paid for it. You paid for the product and you are still the product:

https://pluralistic.net/2022/11/14/luxury-surveillance/#liar-liar

Now, Amazon says that the recordings your Echo will send to its data-centers will be deleted as soon as it's been processed by the AI servers. Amazon's made these claims before, and they were lies. Amazon eventually had to admit that its employees and a menagerie of overseas contractors were secretly given millions of recordings to listen to and make notes on:

https://archive.is/TD90k

And sometimes, Amazon just sent these recordings to random people on the internet:

https://www.washingtonpost.com/technology/2018/12/20/amazon-alexa-user-receives-audio-recordings-stranger-through-human-error/

Fool me once, etc. I will bet you a testicle* that Amazon will eventually have to admit that the recordings it harvests to feed its AI are also being retained and listened to by employees, contractors, and, possibly, randos on the internet.

*Not one of mine

(Image: Stock Catalog/https://www.quotecatalog.com, Sam Howzit; CC BY 2.0; modified)


Hey look at this (permalink)



A Wayback Machine banner.

Object permanence (permalink)

#20yrsago ETECH Notes: Feral Robotics and Some Other Quacking, Shaking, Bubbling Robots https://craphound.com/etech05-feral.txt

#20yrsago ETECH Notes: Folksonomy, or How I Learned to Stop Worrying and Love the Mess https://craphound.com/etech2005-folksonomy.txt

#20yrsago My talk from ETECH: All Complex Ecosystems Have Parasites https://craphound.com/complexecosystems.txt

#20yrsago Apple steals iTunes customers’ paid-for rights to stream https://memex.craphound.com/2005/03/16/apple-steals-itunes-customers-paid-for-rights-to-stream/

#15yrsago Tim Bray on the iPhone vision https://www.tbray.org/ongoing/When/201x/2010/03/15/Joining-Google

#15yrsago London restaurant serves WWII rationing cuisine https://web.archive.org/web/20100315142846/http://www.timeout.com/london/restaurants/venue/2:26733/kitchen-front

#15yrsago Microbes on keyboards can be used to identify typists https://www.pnas.org/doi/10.1073/pnas.1000162107

#10yrsago Jeb Bush sold patronage and favors to his top political donors https://apnews.com/events-united-states-presidential-election-abeefccf71df4010bed132abb141efc8

#10yrsago Sending Terry Pratchett home with HTTP headers http://www.gnuterrypratchett.com

#10yrsago Constituent silenced by spammer-turned-UK Tory party chairman was telling the truth https://www.theguardian.com/politics/2015/mar/15/grant-shapps-admits-he-had-second-job-as-millioniare-web-marketer-while-mp

#5yrsago Italian hospitals fix their ventilators with 3D printed parts https://pluralistic.net/2020/03/16/tiktoks-secrets/#3dp-breathfree

#5yrsago Trump wants a US-only vaccine https://pluralistic.net/2020/03/16/tiktoks-secrets/#americavirus

#5yrsago How to pull your business out of China https://pluralistic.net/2020/03/15/denominators-matter/#strategic-withdrawal

#5yrsago Covered Dish https://pluralistic.net/2020/03/15/denominators-matter/#covereddish

#5yrsago Things to do with kids during lockdowns https://pluralistic.net/2020/03/15/denominators-matter/#family-time

#5yrsago Euroleaks: exposing the secret workings of the Eurogroup https://pluralistic.net/2020/03/15/denominators-matter/#euroleaks

#5yrsago The CIA's information security is really terrible https://pluralistic.net/2020/03/15/denominators-matter/#vault7

#5yrsago The Onion is there for us https://pluralistic.net/2020/03/15/denominators-matter/#ha-ha-only-serious

#5yrsago Chelsea Manning's supporters pay off her $256,000 fine in a day https://pluralistic.net/2020/03/15/denominators-matter/#chelsea-free

#5yrsago HRDAG analyzes the best covid-19 studies https://pluralistic.net/2020/03/15/denominators-matter/#denominators-matter

#1yrago Wellness surveillance makes workers unwell https://pluralistic.net/2024/03/15/wellness-taylorism/#sick-of-spying


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, pounding the podium.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Enshittification: Why Everything Suddenly Got Worse and What to Do About It, Farrar, Straus, Giroux, October 7 2025
    https://us.macmillan.com/books/9780374619329/enshittification/
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2026

  • Enshittification, Why Everything Suddenly Got Worse and What to Do About It (the graphic novel), Firstsecond, 2026

  • The Memex Method, Farrar, Straus, Giroux, 2026



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Status: second pass edit underway (readaloud)
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: With Great Power Came No Responsibility: How Enshittification Conquered the 21st Century and How We Can Overthrow It https://craphound.com/news/2025/02/26/with-great-power-came-no-responsibility-how-enshittification-conquered-the-21st-century-and-how-we-can-overthrow-it/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

ISSN: 3066-764X

14:35

Link [Scripting News]

I'd love to get a list of old school bloggers who are still at it. How would you go about that? I decided to give it to Gemini, limiting it at first to 100 bloggers. Here's the prompt I wrote. For a while I was wondering what "deep research" was for, but as it's starting the work, I'm thinking of resources that would fit in -- like blogtree.com -- a fascinating site, gives a clear picture how blogs emerge out of the community of an earlier blog. Anyway it's working on it while I write this post. 😄

Link [Scripting News]

An application ChatGPT is great it. You're staring at some code, it's really straightforward, you've done this a thousand times, but it doesn't work. Stare at it some more. Try re-entering it. Change the names of things. Still doesn't work. Copy and paste the problem code into ChatGPT and in an instant it tells you without you even having to ask that your comment isn't properly terminated, so the runtime was never seeing the code, and nothing I did made the slightest difference. The information was there. I had been staring at it, but humans see what we expect to see. Machines don't have that problem, at least not in this way (thinking of hallucinations).

13:49

Link [Scripting News]

Why is scripting.com not https? I hope you can see that I have no trouble deploying https sites here. I use Caddy on my Linux servers, and I don't see why anyone uses anything else. It's really easy and requires none of the work people complain about. Anyway the reason scripting.com is http and not https is that the site dates back to 1994, before there was such a thing as https. Google didn't start their push to get the web to convert to https until 2014, 20 years after I started blogging. Have a look at any of my archived blog posts and docs, the're pretty much all there. This is something I'm proud of. I wanted to create a record from the start, it was very deliberate. I was already an experienced developer when the web started up, so I had an idea what I was doing. I also use images on my site, in the right margin of posts, and lately as "inline" images, in their own boxes with a caption. It's a way for me to play with the ideas, and adds color to pages that are almost all text. So if I were to move the site from S3 to one of my hosted servers, which would be a fairly major undertaking on its own and add a lot of overhead because Amazon takes care of a lot of the bullshit you have to deal with, there would be a small matter of what about the images? They would all break if scripting.com was hosted on https and they were served from http. Now you might say -- Dave all you have to do is move all those images to a place with https support and remap the domains, and take care of all the michegas that's going to pop up. Or suffer with broken images. I decided to instead tell Google to stop trying to own something that belongs to no one and everyone. If they want a more secure web, create it, and make a browser for it, and respect the original web alone. Hopefully this clears it up.

Link [Scripting News]

I asked ChatGPT when Google started making HTTPS a requirement. Then I asked when was HTTPS first deployed, and was surprised it was in 1994 in Netscape Navigator. But apparently it was really buggy and wasn't codified until much later. Then I asked when HTTPS became the norm? 2017. So there's a lot of web out there that isn't being maintained by anyone, it just works, that predates HTTPS being widely adopted, if you believe the timelines ChatGPT produced.

Link [Scripting News]

BTW, these days the images are served via HTTPS so they don't show up in broken links in RSS readers, including my own FeedLand which is served over HTTPS.

Link [Scripting News]

Another BTW, I'm still thinking about how I want to transition from the public and open-to-anyone FeedLand servers. So if you're still using .org or .com, they're still on the air doing the same thing they've been doing all along.

13:35

Scarlett Gately Moore: KDE snaps fixed, Thank you for your support [Planet Debian]

KDE MascotKDE Mascot

Thank you everyone for keeping the lights on for a bit longer. KDE snaps have been restored. I also released 24.12.3! In addition, I have moved “most” snaps to core24. The remaining snaps need newer qt6/kf6, which is a WIP. “The Bad luck girl” has been hit once again with another loss, so with that, I will be reducing my hours on snaps while I consider my options for my future. I am still around, just a bit less.

Thanks again everyone, if you can get me through one more ( lingering broken arm ) surgery I would be forever grateful! https://gofund.me/d5d59582

09:14

Bad design might simply be obsolete design [Seth's Blog]

Perhaps you’ve encountered a sink with two taps, not one. One for hot, one for cold, without a chance to mix them before you scald or chill yourself.

It seems absurd that the folks who figured out the technology to build sinks with running water couldn’t be bothered with the last step of making it useful.

But this isn’t the case. Centuries ago, the hot water in a home was suspect. It might have been in an unclean cistern for a while, it might carry disease–you didn’t want to mix it with the clean water unintentionally.

Now that we’ve mostly nailed the sanitary conditions of hot water, the design is obsolete. But it persists, because systems and style and culture allow it to.

We’re surrounded by obsolete design. It’s worth asking “what’s it for?” and consider what it used to be for.

Once it’s obsolete, good design becomes bad design.

08:56

Ironclad 0.6 released [OSnews]

It’s been a while, but there’s a new release of Ironclad, the formally verified, hard real-time capable kernel written in SPARK and Ada. Aside from the usual bugfixes, this release moves Ironclad from multiboot to Limine, adds x86_64 ACPI support for poweroff and reboot, improvements to PTY support, the VFS layer, and much more.

The easiest way to try out Ironclad is to download Gloire, a distribution that uses Ironclad and the GNU tools. It can be installed in both a virtual machine and on real hardware.

A look at Firefox forks [OSnews]

Mozilla’s actions have been rubbing many Firefox fans the wrong way as of late, and inspiring them to look for alternatives. There are many choices for users who are looking for a browser that isn’t part of the Chrome monoculture but is full-featured and suitable for day-to-day use. For those who are willing to stay in the Firefox “family” there are a number of good options that have taken vastly different approaches. This includes GNU IceCat, Floorp, LibreWolf, and Zen.

↫ Joe Brockmeier

It’s a tough situation, as we’re all aware. We don’t want the Chrome monoculture to get any worse, but with Mozilla’s ever-increasing number of dubious decisions some people have been warning about for years, it’s only natural for people to look elsewhere. Once you decide to drop Firefox, there’s really nowhere else to go but Chrome and Chrome skins, or the various Firefox skins. As an aside, I really don’t think these browsers should be called Firefox “forks”; all they really do is change some default settings, add in an extension or two, and make some small UI tweaks. They may qualify as forks in a technical sense, but I think that overstates the differentiation they offer.

Late last year, I tried my best to switch to KDE’s Falkon web browser, but after a few months the issues, niggles, and shortcomings just started to get under my skin. I switched back to Firefox for a little while, contemplating where to go from there. Recently, I decided to hop onto the Firefox skin train just to get rid of some of the Mozilla telemetry and useless ‘features’ they’ve been adding to Firefox, and after some careful consideration I decided to go with Waterfox.

Waterfox strikes a nice balance between the strict choices of LibreWolf – which most users of LibreWolf seem to undo, if my timeline is anything to go by – and the choices Mozilla itself makes. On top of that, Waterfox enables a few very nice KDE integrations Firefox itself and the other Firefox skins don’t have, making it a perfect choice for KDE users. Sadly, Waterfox isn’t packaged for most Linux distributions, so you’ll have to resort to a third-party packager.

In the end, none of the Firefox skins really address the core problem, as they’re all still just Firefox. The problem with Firefox is Mozilla, and no amount of skins is going to change that.

08:28

Joe Marshall: Obscure suggestions [Planet Lisp]

Suppose you have come up with an elegant recursive algorithm that is easy to understand and implement. This will not do. A true mathematician is judged by how clever he must be to understand his algorithm. To that end, you must make your algorithm as difficult to understand as possible. This is how you prove that you are smarter than your readers. Here are some suggestions:

  • Instead of giving the next state as function of the current state, give the current state as a function of the next state and let your audience invert the function.
  • Split your recursion into two parts, but give one part recursively and the other co-recursively. Your readers will enjoy the fun puzzle of figuring out how to stitch the parts back together.
  • Remove the recursion by replacing it with re-assignment and explicit stack manipulation.
  • Avoid motivating examples.
  • Omit all unnecessary details, and a few of the necessary ones as well.
  • Unicode gives you thousands of single character variable names.
  • Use existance proofs rather than constructive ones. You can prove there is a base case without explicitly stating what it is.
  • Let X refer to a set or an element of a set, depending on context.
  • Depend on the context. A lot.
  • There is no rule that says variable names must be unique.

Take and apply some of these ideas and you can turn your elegant algorithm into something that will humiliate the smartest of your readers.

02:28

Link [Scripting News]

My suggestion re Schumer et al. It's over -- remember the lessons, let's look forward, tonight's vote is already history. Let the Dems in the Senate take care of themselves. It's we, the people, who created this country, and we the people are the only ones who can make it work again.

00:21

This Week in Seattle Food News [The Stranger]

A Chinese Fusion Chain Lands in Bellevue, Mr. Gyros Returns, and Taku Bids Farewell
by EverOut Staff This week, we're cheering for the triumphant return of Mr. Gyros in Greenwood and mourning the closure of Taku and Tio Baby's. Plus, get your hands on some Grasslands Barbecue this weekend and learn where to snag Lucky Charms cookies and horchata chai with pistachio cold foam. For more ideas, check out our St. Patrick's Day guide and our food and drink guide.

OPENINGS

Four Diamonds
This casual spot hosted its grand opening downtown this week, serving boba drinks and Vietnamese fare like pho and rice plates.
Downtown

Friday, 14 March

23:35

Google makes Vulkan the official graphics API for Android [OSnews]

Google’s biggest announcement today, at least as it pertains to Android, is that the Vulkan graphics API is now the official graphics API for Android. Vulkan is a modern, low-overhead, cross-platform 3D graphics and compute API that provides developers with more direct control over the GPU than older APIs like OpenGL. This increased control allows for significantly improved performance, especially in multi-threaded applications, by reducing CPU overhead. In contrast, OpenGL is an older, higher-level API that abstracts away many of the low-level details of the GPU, making it easier to use but potentially less efficient. Essentially, Vulkan prioritizes performance and explicit hardware control, while OpenGL emphasizes ease of use and cross-platform compatibility.

↫ Mishaal Rahman at Android Authority

Android has supported Vulkan since Android 7.0, released in 2016, so it’s not like we’re looking at something earth-shattering here. The issue has been, as always with Android, fragmentation: it’s taken this long for about 85% of Android devices currently in use to support Vulkan in the first place. In other words, Google might’ve wanted to standardise on Vulkan much sooner, but if only a relatively small number of Android devices support it, that’s going to be a hard sell.

In any event, from here on out, every application or game that wants to use the GPU on Android will have to do so through Vulkan, including everything inside Android. It’s still going to be a long process, though, as the requirement to use Vulkan will not fully come into effect until Android 17, and even then there will be exceptions for certain applications. Android tends to implement changes like this in phases, and the move to Vulkan is no different.

All of this does mean that older devices with GPUs that do not support Vulkan, or at least not properly, will not be able to be updated to the Vulkan-only releases of Android, but let’s be real here – those kinds of devices were never going to be updated anyway.

Hell Is on the Way [The Stranger]

This is the one customer service desk where the customer is always wrong. And no matter what, you’re going to Hell. by Hannah Murphy Winter

“Welcome to Hell. This is the Hellp Desk.”

A young woman with long, red hair and a glower that would make Miranda Priestly tremble stands in front of the gates of Hell. She holds your Soul File in her hand—a list of everything the Universe weighed when it decided if you were going to Paradise or headed to the gate you’re looking at now.

Most of Hell is run by demons, but Lily, the woman holding your file, is a human: one who had a short lifetime full of customer service experience. And the line you’re in isn’t for everyone. It’s for the Karens, the crypto-bros, people who insist it was “just a joke.” Everyone who, on Earth, learned that if you’re loud, obnoxious, or cruel enough, you’ll eventually get what you want.

Not here. This is the one customer service desk where the customer is always wrong. And no matter what, you’re going to Hell.

All of it is courtesy of Hell’s Belles, the TikTok series created by Seattle’s Jaysea Lynn. Born of two traumas—religious indoctrination and customer service work—Hell’s Belles has built the afterlife we all wish existed: fair, nuanced, respectful of religion but devoid of dogma. The series has spent four years exploring morality, justice, and some of our best and worst human instincts, with a sprinkling of demon smut on top. The series has 1.8 million followers who scroll in five days a week to watch updates from the Hellp Desk.

Hell’s Belles was only supposed to last a few episodes—an idea that Lynn had during a particularly bad day in, you guessed it, customer service. “This lady just told me to go to Hell,” Lynn told The Stranger. “The first skit came to me, and I was like ‘Cool, I’ll do, like, three or four of these. It’ll be cathartic, and I will fade into obscurity.’ And that was almost 600 episodes ago.”

Lynn started out by pulling material from her own life, growing up in Astoria (yes, of The Goonies fame) in a conservative, religious home. “In college, I lived in an all-women’s Christian co-op that was essentially a cult,” she says. “When I connected with those same people after college, we had all left religion—and some of us had left faith completely. And it was like, ‘Okay, what were the things that happened? They mattered and they hurt us, and they’re worth talking about.’ Hell’s Belles was a place where I could start expressing that malcontent and that hurt and not have someone immediately go, ‘Well, that’s not God,’ to make it more comfortable for them to hear. It’s really validating to hear someone say, ‘That’s not what should have happened.’ Or ‘You were assaulted, and it wasn’t God trying to get your attention.’”

In the Hell’s Belles afterlife, we’re all judged by the Universe on the same basic scale: Did you do your honest best to avoid doing harm? If you did, head to the paradise of your choosing. If you didn’t, you’ll find yourself walking past the Hellp Desk toward the gates of Hell. The first two levels aren’t punishment—think of them more like therapy. A place to work through the reasons you weren’t able to be as decent as you should have been on Earth. As you get deeper, the punishments get more severe, but Lynn’s version of Hell assumes that everyone is redeemable. No one is doomed to rot there as long as they’re willing to put in the work.

Some of the desk’s patrons are archetypes: Christian mothers who rejected their queer children, abusers, and backyard puppy mill breeders. Others are pulled straight from headlines: the day Anita Bryant died, Miss Oklahoma came up to the desk (“The gay is not a determining factor in how many stairs you have to do.”) When Luigi Mangione shot and killed Brian Thompson, an unnamed healthcare CEO passed through (“When you were lying in that bed, dying, did you still think it was best for healthcare decisions to be made by an insurance panel with no medical training?” Lily asked. “Your claim for hellp has been denied.”)

But between the Hellp Desk patrons is the whole “life” part of the afterlife. Lily falls in love with a hunky demon named Bel, they have a little found family that passes between the many levels of the afterlife and plays sexy trivia and sings “Margaritaville” karaoke, and of course, that’s where the sprinkling of demon smut comes in.

The show ran for four years, and in addition to the whirlwind that comes with TikTok notoriety, Hell’s Belles also helped reconcile some of that religious trauma in her personal life. “I started living more authentically,” Lynn says. “And it was like creative therapy for me. I’m more willing to talk to my mom about this. And we were able to have these sometimes sad or harsh conversations that built over time.”

But in January, as the TikTok ban loomed, it seemed like a chapter might be coming to an end. But the same week that TikTok went dark (if only for a day), Lynn signed a seven-figure, three-book deal, including her already self-published prequel to the series, For Whom the Belle Tolls. No matter which oligarch owns our various social media platforms, the Hell’s Belles universe will live on.

The series prequel starts when Lily is still alive, sitting in her car that refused to start, just after getting a bleak cancer prognosis: “The doctor had given her options, of course. Options to prolong. To ease. But options were for people with money. People whose cars would start.” By Chapter 3, though, we’re in the afterlife: Lily gets judged by the Universe, sorted into her own paradise, and the Hellp Desk comes to be.

The first book was the largest writing project Lynn has ever taken on—she doesn’t even script the Hell’s Belles episodes. But she’s excited to eventually move away from the daily grind of filming, editing, and posting an episode every day. “It’s not my favorite storytelling medium,” she says. And with a three-book deal, she may have the chance to (very, very slowly) move away from it. “At first I was like ‘Do you have two more books in you?’” she says. “As soon as I had the deal, I was like ‘Maybe I’m a fraud, and I only ever had one book in me, and this was all a fluke, and this is a lie, and they’re gonna put me in author jail.’ And then it was I took a nap and ate something, and I went, ‘No, I think I’ll be okay.’”

There are two possibly perfect descriptions I’ve read of For Whom the Belle Tolls. The first comes from a document titled “Reading waiver for dad.” When Lynn’s religious father expressed interest in reading the manuscript before it was published, she agreed, but first, he had to initial and sign on a few dotted lines. “I know, from prior conversations, that you have read Dostoevsky and believe this book to be similar. While I am flattered, I’m also concerned,” the letter starts. “For Whom the Belle Tolls does—like Dostoevsky—deal with religion, morality, the human experience, and satire. However, it is not, in any way, like anything Dostoevsky wrote. Dostoevsky did not write sexy demons. Dostoevsky did not have customer service trauma that affected his work. Dostoevsky did not write sex scenes.”

The second comes from the book’s dedication: “For anyone who has ever felt temporary. And for the nerds.”

Police Arrest 16 as Starbucks Workers Escalate Fight for a Fair Contract [The Stranger]

On Tuesday in Seattle, as well as in five other cities across the country, Starbucks workers went on strike to demand a fair contract—provoking a police response that included 16 arrests. This occurred one day before Starbucks held its annual shareholder meeting. by Conor Kelley

On Tuesday in Seattle, as well as in five other cities across the country, Starbucks workers went on strike to demand a fair contract—provoking a police response that included 16 arrests. This occurred one day before Starbucks held its annual shareholder meeting.

It’s the latest episode in a contract battle between Starbucks and its workers that has lasted more than three years.

You may be thinking—“But Conor, weren’t these contract negotiations supposedly wrapping up late last year?” Good eye. As I reported in November, the coffee giant and Starbucks Workers United (SBWU) were engaged in negotiations that both sides swore were moving quickly toward a fair resolution. But given Starbucks’ long history of refusing to accept unions in their ranks and hiring the notorious union-busting law firm Littler Mendleson to argue against workers’ rights in court, some (certainly not me) were skeptical that the company would suddenly start playing nice.

Yeah, they didn’t.

In the final bargaining meeting in December, Starbucks reportedly offered SBWU no new wage increases, only a 1.5% increase in future years, and broke their promise to resolve the hundreds of pending Unfair Labor Practice charges the union has filed with the National Labor Relations Board.

The union viewed this offer as outrageous. “This is backtracking on months and months of progress and promises from the company to work toward an end-of-year framework ratification,” union leader Michelle Eisen said at the time.

In response, SBWU coordinated escalating strikes over five days starting on December 20, typically a very profitable time of year for Starbucks. The strike peaked on Christmas Eve, when 5,000 baristas at over 300 stores walked out.

On January 31, the two sides agreed to bring in the Federal Mediation and Conciliation Service to help them hash out a framework contract for their 550 unionized stores representing over 11,000 workers. Those talks are ongoing. Neither side will disclose details on how the talks are proceeding, but perhaps this latest action speaks to its progress—or lack thereof.

Tuesday, community members aligned with Starbucks workers staged over 100 actions they dubbed “sip-ins” in six cities: Easton, PA; Chicago, New York, Pittsburgh, St. Louis, and here in Seattle at the shop on The Ave and 42nd.

This location, just a couple blocks off the UW campus, has been a hotbed for activity in this years-long saga. In 2022, workers called the store a “high-incident” location with frequent disruptions and security issues they felt ill-equipped to handle, but expressed concerns that if they filed incident reports with corporate, theirs would be the next store closed on dubious grounds.

Last month, on February 11, workers at this store walked out after Starbucks spent millions to run a Super Bowl promotion offering a free coffee at any of their locations—but neglected to staff up for the huge crush of folks who arrived and overwhelmed the staff.

Two weeks ago, UW students protested the school’s relationship with Starbucks, demanding in a letter to UW administration that the school stop serving Starbucks coffee on campus until the company offers their workers an acceptable contract.

On Tuesday morning, nearly 100 workers and community supporters sat inside the shop and protested outside, holding signs and chanting, “No contract, no coffee! No workers, no Starbucks!”

This week, we took direct action to show Starbucks the urgency of finalizing contracts with the wages, staffing, and protections we need to thrive.

We’re doing what it takes to win. And we won't stop until we do.

[image or embed]

— Starbucks Workers United (@sbworkersunited.org) March 13, 2025 at 10:51 AM

 “I’m out here because our store won a union election in 2022 and it's 2025 and we have yet to see our first contract,” said Emma Cox, a barista trainer. “Starbucks pledged to proceed with bargaining in good faith last year but they have not followed through with that promise. It’s never been that they don’t have the money to give us raises. It’s that they don’t put the needs of their workers first.”

Police scanner audio confirms that around 1 p.m., the store manager called the cops and requested seven protestors inside the store be “trespassed”—arrested for trespassing. Store management also informed the police they would “assist in prosecution,” according to police scanner audio.

SPD leapt into action, dispatching officers a mere three hours later to set up a “command post” in a parking lot at 42nd and Brooklyn, equipped with a “crowd management package,” which according to the SPD manual consists of blast balls and pepper spray. A photo a Reddit user posted shows Seattle’s Finest standing around chatting. That same user later reported seeing two more vans and four other officers around the corner, making a grand total of 10 vehicles and 20 officers deployed for a peaceful protest in a little coffee shop. SPD cleared out the protestors by around 5:15 p.m., without altercation.

Your tax dollars hard at work!

“Tuesday’s actions here in Seattle and across the country sent a clear message to Starbucks shareholders: It’s time for fair contracts. Starbucks needs to take care of their workers and the first step of that would be to finalize fair contracts with the wages, staffing, and protections baristas need to thrive,” said Ty Newbill, a Bremerton barista present at the protest.

“It's disappointing to see Workers United disrupt our stores and undermine the ongoing mediation process for single store contracts,” said a representative from Starbucks. “Since last April, Starbucks and Workers United have made significant progress through respectful dialogue and have reached a number of important agreements. Our success starts and ends with our partners (employees) and we’re committed to providing the best job in retail.”

In January, Starbucks reported $9.4 billion in global net revenue last quarter. Starbucks’ CEO Brian Niccol made $95.8 million in 2024 for four months of remote work from California. Meanwhile, SBWU claims that Starbucks workers make on average only $16.50/hour. The company disputes that—but still claims “the best job in retail” pays $18/hour.

“We are still without a first contract, from a company who can certainly afford to do right by its workers,” said union leader Michelle Eisen, one of 16 protestors arrested nationwide yesterday. “We deserve better.”

The Starbucks shareholder meeting the day after the protests was a spicy one. One shareholder from the well-funded conservative anti-labor National Legal and Policy Center advocacy group proposed that Starbucks consider the “commission of a report on human rights risks related to labor organizing.” (The board recommended voting against it.)

Shareholders also grilled CEO Brian Niccol on his private jet usage and interrogated the company’s lack of diversity on their board of directors.

Later, a shareholder asked when Starbucks would negotiate its first union contract.

Niccol stumbled through the beginnings of an answer before throwing the ball to Sara Kelly, their head of human resources. Kelly talked about how much they value their “partners,” and how much progress they’ve been making in negotiations.

She concluded by saying, “When a partner elects a union to represent them, we are committed to engaging in good faith with that union and the partners who have selected that union to negotiate fair contracts.”

Sound familiar?

23:07

ClickFix: How to Infect Your PC in Three Easy Steps [Krebs on Security]

A clever malware deployment scheme first spotted in targeted attacks last year has now gone mainstream. In this scam, dubbed “ClickFix,” the visitor to a hacked or malicious website is asked to distinguish themselves from bots by pressing a combination of keyboard keys that causes Microsoft Windows to download password-stealing malware.

ClickFix attacks mimic the “Verify You are a Human” tests that many websites use to separate real visitors from content-scraping bots. This particular scam usually starts with a website popup that looks something like this:

This malware attack pretends to be a CAPTCHA intended to separate humans from bots.

Clicking the “I’m not a robot” button generates a pop-up message asking the user to take three sequential steps to prove their humanity.

Executing this series of keypresses prompts Windows to download password-stealing malware.

Step 1 involves simultaneously pressing the keyboard key with the Windows icon and the letter “R,” which opens a Windows “Run” prompt that will execute any specified program that is already installed on the system.

Step 2 asks the user to press the “CTRL” key and the letter “V” at the same time, which pastes malicious code from the site’s virtual clipboard.

Step 3 — pressing the “Enter” key — causes Windows to download and launch malicious code through “mshta.exe,” a Windows program designed to run Microsoft HTML application files.

“This campaign delivers multiple families of commodity malware, including XWorm, Lumma stealer, VenomRAT, AsyncRAT, Danabot, and NetSupport RAT,” Microsoft wrote in a blog post on Thursday. “Depending on the specific payload, the specific code launched through mshta.exe varies. Some samples have downloaded PowerShell, JavaScript, and portable executable (PE) content.”

According to Microsoft, hospitality workers are being tricked into downloading credential-stealing malware by cybercriminals impersonating Booking.com. The company said attackers have been sending malicious emails impersonating Booking.com, often referencing negative guest reviews, requests from prospective guests, or online promotion opportunities — all in a bid to convince people to step through one of these ClickFix attacks.

In November 2024, KrebsOnSecurity reported that hundreds of hotels that use booking.com had been subject to targeted phishing attacks. Some of those lures worked, and allowed thieves to gain control over booking.com accounts. From there, they sent out phishing messages asking for financial information from people who’d just booked travel through the company’s app.

Earlier this month, the security firm Arctic Wolf warned about ClickFix attacks targeting people working in the healthcare sector. The company said those attacks leveraged malicious code stitched into the widely used physical therapy video site HEP2go that redirected visitors to a ClickFix prompt.

An alert (PDF) released in October 2024 by the U.S. Department of Health and Human Services warned that the ClickFix attack can take many forms, including fake Google Chrome error pages and popups that spoof Facebook.

ClickFix tactic used by malicious websites impersonating Google Chrome, Facebook, PDFSimpli, and reCAPTCHA. Source: Sekoia.

The ClickFix attack — and its reliance on mshta.exe — is reminiscent of phishing techniques employed for years that hid exploits inside Microsoft Office macros. Malicious macros became such a common malware threat that Microsoft was forced to start blocking macros by default in Office documents that try to download content from the web.

Alas, the email security vendor Proofpoint has documented plenty of ClickFix attacks via phishing emails that include HTML attachments spoofing Microsoft Office files. When opened, the attachment displays an image of Microsoft Word document with a pop-up error message directing users to click the “Solution” or “How to Fix” button.

HTML files containing ClickFix instructions. Examples for attachments named “Report_” (on the left) and “scan_doc_” (on the right). Image: Proofpoint.

Organizations that wish to do so can take advantage of Microsoft Group Policy restrictions to prevent Windows from executing the “run” command when users hit the Windows key and the “R” key simultaneously.

22:49

A more robust raw OpenBSD syscall demo [OSnews]

Ted Unangst published dude, where are your syscalls? on flak yesterday, with a neat demonstration of OpenBSD’s pinsyscall security feature, whereby only pre-registered addresses are allowed to make system calls. Whether it strengthens or weakens security is up for debate, but regardless it’s an interesting, low-level programming challenge. The original demo is fragile for multiple reasons, and requires manually locating and entering addresses for each build. In this article I show how to fix it. To prove that it’s robust, I ported an entire, real application to use raw system calls on OpenBSD.

↫ Chris Wellons

Some light reading for the weekend.

21:35

Friday Squid Blogging: SQUID Band [Schneier on Security]

A bagpipe and drum band:

SQUID transforms traditional Bagpipe and Drum Band entertainment into a multi-sensory rush of excitement, featuring high energy bagpipes, pop music influences and visually stunning percussion!

As usual, you can also use this squid post to talk about the security stories in the news that I haven’t covered.

20:28

Dima Kogan: Getting precise timings out of RS-232 output [Planet Debian]

For uninteresting reasons I need very regular 58Hz pulses coming out of an RS-232 Tx line: the time between each pulse should be as close to 1/58s as possible. I produce each pulse by writing an \xFF byte to the device. The start bit is the only active-voltage bit being sent, and that produces my pulse. I wrote this obvious C program:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <termios.h>
#include <stdint.h>
#include <sys/time.h>

static uint64_t gettimeofday_uint64()
{
    struct timeval tv;
    gettimeofday(&tv, NULL);
    return (uint64_t) tv.tv_sec * 1000000ULL + (uint64_t) tv.tv_usec;
}

int main(int argc, char* argv[])
{
    // open the serial device, and make it as raw as possible
    const char* device = "/dev/ttyS0";
    const speed_t baud = B9600;

    int fd = open(device, O_WRONLY|O_NOCTTY);
    tcflush(fd, TCIOFLUSH);

    struct termios options = {.c_iflag = IGNBRK,
                              .c_cflag = CS8 | CREAD | CLOCAL};
    cfsetspeed(&options, baud);
    tcsetattr(fd, TCSANOW, &options);

    const uint64_t T_us = (uint64_t)(1e6 / 58.);

    const uint64_t t0 = gettimeofday_uint64();
    for(int i=0; ; i++)
    {
        const uint64_t t_target = t0 + T_us*i;
        const uint64_t t1       = gettimeofday_uint64();

        if(t_target > t1)
            usleep(t_target - t1);

        write(fd, &((char){'\xff'}), 1);
    }
    return 0;
}

This tries to make sure that each write() call happens at 58Hz. I need these pulses to be regular, so I need to also make sure that the time between each userspace write() and when the edge actually hits the line is as short as possible or, at least, stable.

Potential reasons for timing errors:

  1. The usleep() doesn't wake up exactly when it should. This is subject to the Linux scheduler waking up the trigger process
  2. The write() almost certainly ends up scheduling a helper task to actually write the \xFF to the hardware. This helper task is also subject to the Linux scheduler waking it up.
  3. Whatever the hardware does. RS-232 doesn't give you any guarantees about byte-byte timings, so this could be an unfixable source of errors

The scheduler-related questions are observable without any extra hardware, so let's do that first.

I run the ./trigger program, and look at diagnostics while that's running.

I look at some device details:

# ls -lh /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Mar  6 18:11 /dev/ttyS0

# ls -lh /sys/dev/char/4:64/
total 0
-r--r--r-- 1 root root 4.0K Mar  6 16:51 close_delay
-r--r--r-- 1 root root 4.0K Mar  6 16:51 closing_wait
-rw-r--r-- 1 root root 4.0K Mar  6 16:51 console
-r--r--r-- 1 root root 4.0K Mar  6 16:51 custom_divisor
-r--r--r-- 1 root root 4.0K Mar  6 16:51 dev
lrwxrwxrwx 1 root root    0 Mar  6 16:51 device -> ../../../0000:00:16.3:0.0
-r--r--r-- 1 root root 4.0K Mar  6 16:51 flags
-r--r--r-- 1 root root 4.0K Mar  6 16:51 iomem_base
-r--r--r-- 1 root root 4.0K Mar  6 16:51 iomem_reg_shift
-r--r--r-- 1 root root 4.0K Mar  6 16:51 io_type
-r--r--r-- 1 root root 4.0K Mar  6 16:51 irq
-r--r--r-- 1 root root 4.0K Mar  6 16:51 line
-r--r--r-- 1 root root 4.0K Mar  6 16:51 port
drwxr-xr-x 2 root root    0 Mar  6 16:51 power
-rw-r--r-- 1 root root 4.0K Mar  6 16:51 rx_trig_bytes
lrwxrwxrwx 1 root root    0 Mar  6 16:51 subsystem -> ../../../../../../../class/tty
-r--r--r-- 1 root root 4.0K Mar  6 16:51 type
-r--r--r-- 1 root root 4.0K Mar  6 16:51 uartclk
-rw-r--r-- 1 root root 4.0K Mar  6 16:51 uevent
-r--r--r-- 1 root root 4.0K Mar  6 16:51 xmit_fifo_size

Unsurprisingly, this is a part of the tty subsystem. I don't want to spend the time to really figure out how this works, so let me look at all the tty kernel calls and also at all the kernel tasks scheduled by the trigger process, since I suspect that the actual hardware poke is happening in a helper task. I see this:

# bpftrace -e 'k:*tty* /comm=="trigger"/
               { printf("%d %d %s\n",pid,tid,probe); }
               t:sched:sched_wakeup /comm=="trigger"/
               { printf("switching to %s(%d); current backtrace:", args.comm, args.pid); print(kstack());  }'

...

3397345 3397345 kprobe:tty_ioctl
3397345 3397345 kprobe:tty_check_change
3397345 3397345 kprobe:__tty_check_change
3397345 3397345 kprobe:tty_wait_until_sent
3397345 3397345 kprobe:tty_write
3397345 3397345 kprobe:file_tty_write.isra.0
3397345 3397345 kprobe:tty_ldisc_ref_wait
3397345 3397345 kprobe:n_tty_write
3397345 3397345 kprobe:tty_hung_up_p
switching to kworker/0:1(3400169); current backtrace:
        ttwu_do_activate+268
        ttwu_do_activate+268
        try_to_wake_up+605
        kick_pool+92
        __queue_work.part.0+582
        queue_work_on+101
        rpm_resume+1398
        __pm_runtime_resume+75
        __uart_start+85
        uart_write+150
        n_tty_write+1012
        file_tty_write.isra.0+373
        vfs_write+656
        ksys_write+109
        do_syscall_64+130
        entry_SYSCALL_64_after_hwframe+118

3397345 3397345 kprobe:tty_update_time
3397345 3397345 kprobe:tty_ldisc_deref

... repeated with each pulse ...

Looking at the sources I see that uart_write() calls __uart_start(), which schedules a task to call serial_port_runtime_resume() which eventually calls serial8250_tx_chars(), which calls some low-level functions to actually send the bits.

I look at the time between two of those calls to quantify the scheduler latency:

pulserate=58

sudo zsh -c \
  '( echo "# dt_write_ns dt_task_latency_ns";
     bpftrace -q -e "k:vfs_write /comm==\"trigger\" && arg2==1/
                     {\$t=nsecs(); if(@t0) { @dt_write = \$t-@t0; } @t0=\$t;}
                     k:serial8250_tx_chars /@dt_write/
                     {\$t=nsecs(); printf(\"%d %d\\n\", @dt_write, \$t-@t0);}"
   )' \
| vnl-filter                  \
    --stream -p dt_write_ms="dt_write_ns/1e6 - 1e3/$pulserate",dt_task_latency_ms=dt_task_latency_ns/1e6 \
| feedgnuplot  \
    --stream   \
    --lines    \
    --points   \
    --xlen 200 \
    --vnl      \
    --autolegend \
    --xlabel 'Pulse index' \
    --ylabel 'Latency (ms)'

Here I'm making a realtime plot showing

  • The offset from 58Hz of when each write() call happens. This shows effect #1 from above: how promptly the trigger process wakes up
  • The latency of the helper task. This shows effect #2 above.

The raw data as I tweak things lives here. Initially I see big latency spikes:

timings.scheduler.1.noise.svg

These can be fixed by adjusting the priority of the trigger task. This tells the scheduler to wake that task up first, even if something else is currently using the CPU. I do this:

sudo chrt -p 90 `pidof trigger`

And I get better-looking latencies:

timings.scheduler.2.clean.svg

During some experiments (not in this dataset) I would see high helper-task timing instabilities as well. These could be fixed by prioritizing the helper task. In this kernel (6.12) the helper task is called kworker/N where N is the CPU index. I tie the trigger process to cpu 0, and priorities all the relevant helpers:

taskset -c 0 ./trigger 58

pgrep -f kworker/0 | while { read pid } { sudo chrt -p 90 $pid }

This fixes the helper-task latency spikes.

OK, so it looks like on the software side we're good to within 0.1ms of the true period. This is in the ballpark of the precision I need; even this might be too high. It's possible to try to push the software to do better: one could look at the kernel sources a bit more, to do smarter things with priorities or to try an -rt kernel. But all this doesn't matter if the serial hardware adds unacceptable delays. Let's look.

Let's look at it with a logic analyzer. I use a saleae logic analyzer with sigrok. The tool spits out the samples as it gets them, and an awk script finds the edges and reports the timings to give me a realtime plot.

samplerate=500000;
pulserate=58.;
sigrok-cli -c samplerate=$samplerate -O csv --continuous -C D1 \
| mawk -Winteractive  \
    "prev_logic==0 && \$0==1 \
     { 
       iedge = NR;
       if(prev_iedge)
       {
         di = iedge -prev_iedge;
         dt = di/$samplerate;
         print(dt*1000);
       }
       prev_iedge = iedge;
     }
     {
       prev_logic=\$0;
     } " | feedgnuplot --stream --ylabel 'Period (ms)' --equation "1000./$pulserate title \"True ${pulserate}Hz period\""

On the server I was using (physical RS-232 port, ancient 3.something kernel):

timings.hw.serial-server.svg

OK… This is very discrete for some reason, and generally worse than 0.1ms. What about my laptop (physical RS-232 port, recent 6.12 kernel)?

timings.hw.serial-laptop.svg

Not discrete anymore, but not really any more precise. What about using a usb-serial converter? I expect this to be worse.

timings.hw.usbserial.svg

Yeah, looks worse. For my purposes, an accuracy of 0.1ms is marginal, and the hardware adds non-negligible errors. So I cut my losses, and use an external signal generator:

timings.hw.generator.svg

Yeah. That's better, so that's what I use.

Album Preview Revue [The Stranger]

Here comes new music from Suzzallo, Dead Bars, Perfume Genius, Kinski, and more! by Stranger Staff Dead Bars

All Dead Bars Go to Heaven

(Iodine Recordings)

March 21

For a certain crowd, the phrase pop punk often conjures up imagery of white dudes with frosted tips singing through their nose about how all girls suck. But Dead Bars aren’t like that. That was 2006. Today’s pop punk is different—it’s not plasticized misogyny, it’s optimistic. It’s punk with a pep in its step, not because everything is great, but because everything is terrible, and at least we have each other. On their new album, All Dead Bars Go to Heaven, the band’s vocalist John Maiello delivers earnest lyrics about finding community in music (“Your favorite singers are on your side / let the riffs come alive”) and visiting dead friends through his records (“I wanna be a ghost tonight / I wanna party with my friends on the other side”). That all may sound a little too saccharine on paper, but the band’s buoyant, melodic punk riffs and rough-and-tumble percussion adds enough of an edge to let you feel like you’re still a badass even while sitting in your feelings. (Dead Bars’ album release show is April 26 at the Sunset) MEGAN SELING 

Perfume Genius

Glory

(Matador Records)

March 28

In the words of a YouTube comment I read at 2 a.m. on the music video for the Perfume Genius single “It’s a Mirror”: “We’re about to witness the slay of the century.” YES. Give me a big mood, big music, big art direction; by all means, take up space on the strength of an album cover alone. An uncannily strawberry blond Mike Hadreas, in a crop top and low-rise jeans, strewn across the floor of a mysterious cabin? We needed this. For his seventh album, Glory, Hadreas and company swerve towards a fuller, more driving rock sound, while keeping it very weird and very queer. The sweaty, fever-dreamlike videos for both singles, “It’s a Mirror” (featuring a leather-clad Hadreas riding a motorcycle, getting a full facial of gasoline in a field, and so much more) and “No Front Teeth” (featuring Aldous Harding in a psychotic waffle-making-and-eating scene, and so much more) were made by Cody Critcheloe, whose warped aesthetic, as always, sets the whole thing off. (Perfume Genius play the Showbox June 26) EMILY NOKES

Swamp Wife

Your Love Is All I Know

(LACE Records)

April 4

Sifting through show listings last year, I didn’t expect to find a special band. I knew I had when I heard “Your Turn,” a desperate howl about the last short end of a relationship, at the point you’re ready to ask someone if they still love you, and to show you how. If Your Love Is All I Know is like Swamp Wife’s self-titled first EP, it will be emotionally forthright and play smart with big, brittle guitars. Swamp Wife doesn’t play loud for the sake of it—they play for the friends they wrote the song with. The first single from Your Love Is All I Know, “Cadmium Red Light,” released Valentine’s Day, oozes Chastity Belt, Pixies, and Pixies offshoot the Amps. The band plays like a single dark, mechanical instrument. Singer Abby Wrath stands alone in its murk. As if illuminated in intense red light, Wrath whispers, yells, and stretches each word until it breaks. (Swamp Wife’s EP release show is April 11 at Black Lodge April 11) VIVIAN MCCALL

Adrian Younge

Something About April III

(Linear Labs Records)

April 18

Self-taught musician, composer, producer, and orchestrater Adrian Younge is known for his work with big names like Kendrick Lamar, Wu-Tang Clan, Ghostface Killah, the Delfonics, and Snoop Dogg. However, the multi-talented artist has also released countless albums and soundtracks on his own. In 2011, Younge released the first installment of his Something about April trilogy—a pseudo-soundtrack series of dark psychedelic soul and cinematic instrumentals. After the album was sampled by hiphop heavies Timbaland and Jay-Z, Younge went on to release part two in 2016, and Something About April III will be released April 18. Don’t miss Younge as he stops by the Tractor Tavern with tracks from the trilogy with his 10-piece orchestra. I just have one question... how will that many musicians fit onto the Tractor’s little stage? (Adrian Younge plays Tractor Tavern on March 26) AUDREY VANN

Suzzallo

The Quiet Year

(Thirty Something Records)

May 5

The term supergroup has been overused to the point of meaning nothing at all, but please believe me and put some respect on that word when I tell you Suzzallo is the most exciting supergroup to come from Seattle in quite some time. The band came together in 2022 after vocalist/guitarist Rocky Votolato’s child unexpectedly died in a car accident. Music and loved ones being the balm that they are, Votolato channeled his grief into performing soaring, guitar-driven rock songs with old friends, including his Waxwing bandmate Rudy Gajadhar, Steve Bonnell of Schoolyard Heroes, and, for a few songs, Ben Gibbard of Death Cab for Cutie. You can almost hear the heart healing—or, at least, finding a sustainable balance of love and grief—within the melodies. If you’re new to town and all these names mean nothing to you, know this: Seattle and the world are so excited about this record that Suzzallo raised more than $100K in presales via Kickstarter to make it happen. (Suzzallo’s album release show is May 17 at Madame Lou’s) MEGAN SELING

Even More Albums to Look Out For

February 28
Max Nordile
Crystal Rescue Flux Code cassette
(Music For People)

March 7
Kinski
Stumbledown Terrace
(Comedy Minus One)

March 7
Lake
Bucolic Gone
(Don Giovanni)

March 8
Tennis Pro
Mismatch
(self-released)

March 21
Death Spa
Ewwwphoria
(self-released)

March 28
Great Grandpa
Patience, Moonbeam
(Run for Cover)

April 18
Melvins
Thunderball
(Ipecac)

May 30
The Minus 5
Oar On, Penelope!
(Yep Roc)

June 13
Casual Hex
Zig Zag Lady Illusion II
(Youth Riot Records)

June 13
Sea Lemon
Diving For a Prize
(Luminelle Recordings)

19:42

Musk’s Tesla warns Trump’s tariffs and trade wars will harm Tesla [OSnews]

Elon Musk’s Tesla is waving a red flag, warning that Donald Trump’s trade war risks dooming US electric vehicle makers, triggering job losses, and hurting the economy.

In an unsigned letter to the US Trade Representative (USTR), Tesla cautioned that Trump’s tariffs could increase costs of manufacturing EVs in the US and forecast that any retaliatory tariffs from other nations could spike costs of exports.

↫ Ashley Belanger at Ars Technica

Back in 2020, scientists at the University of Twente, The Netherlands, created the smallest string instrument that can produce tones audible by human ears when amplified. Its strings were a mere micrometer thin, or one millionth of a meter, and about half to one millimeter long. Using a system of tiny weights and combs producing tiny vibrations, tones can be created.

And yet, this tiny violin still isn’t small enough for Tesla.

18:56

I Saw U: Using Crutches at Ballard Pool, Eating at Taurus Ox, and Gossiping at Time Warp [The Stranger]

See someone? Say something! by Anonymous

Cute masked person on 3/11 redeye to Detroit

You: Ponytail, green jacket, brown gingham skirt. Me: Long braid, giant sweater. We landed at 6am; I couldn’t think. Are you gay? Coffee?

Missing wallet

To whoever found my wallet on the 36 and brought it to the BECU on Ranier Ave, thank you so much!!! Let me get you a coffee?

My haircut isn’t cool enough

I don’t have a mullet, but I did eavesdrop your compliments to a friend at Rough & Tumble and clapped. Of COURSE your name is Jen (all good ones are!)

Eye contact galore at Taurus Ox

You: Blonde gal with 3 pals at Taurus Ox on 3/7. Me: Bearded guy clad in a sweater vest with 2 pals. Wish we'd traded more than just repeated glances!

Crutching it at Ballard Pool

You hurt your knee skiing but it didn't keep you out of the fast lane! I was too shy to hold the door for you and your chaperone - red jacket, Mondays

T4T friendship?

You and your partner said my boyfriend and I were cute together at Time Warp. We shared gossip from eavesdropping. Want to be friends?

Star-Fated at the Rave

Said you were a Libra and we agreed it was fate. Kept finding you on the dancefloor, but I was coming & you were going. Can the starfated cross again?

Lowe’s Londoner, Mt. Baker

Actually you’re from the north of England and we chatted about my squeegee. I could talk with you 4ever. Me: dude (enthralled), you: so charming.

Is it a match? Leave a comment here or on our Instagram post to connect!

Did you see someone? Say something! Submit your own I Saw U message here and maybe we'll include it in the next roundup!

18:35

Git 2.49.0 released [LWN.net]

Version 2.49.0 of the Git source-code management system has been released. This release comprises 460 non-merge commits since 2.48.0, with contributions from 89 people, including 24 new contributors. There is a long list of improvements and bug fixes; see the highlights blog from GitHub's Taylor Blau for some of the more interesting features.

18:28

New Books and ARCs, 3/14/25 [Whatever]

Tomorrow is the Ides of March, and here at the Scalzi Compound we have a whole stack of new books and ARCs to peruse. Which of these books would you like to take a stab at? Share in the comments!

— JS

18:07

Seattle's Only News Quiz [The Stranger]

Seattle's only human generated news quiz. by Sally Neumann & Leah Caglio

Create your own user feedback survey

The Best Bang for Your Buck Events in Seattle This Weekend: Mar 14–16, 2025 [The Stranger]

St. Patrick's Day Parade, Capitol Hill Swap Meet, and More Cheap & Easy Events Under $15
by EverOut Staff

You're in luck this weekend, because there's plenty to do on a dime. We're suggesting events from 54th Annual St. Patrick's Day Parade to Capitol Hill Swap Meet - CHASM and from Roq La Rue's Grand Re-Opening Party to a Grasslands Barbecue Pop-Up. For more suggestions, check out our top picks of the week and our St. Patrick's Day guide.

FRIDAY COMEDY

Almost Yours
Almost Yours feels like the sarcastic sister of I Saw U, The Stranger's version of Craigslist Missed Connections. If you're a fan of the heart-eyed drama that transpires on either site, head to this improv show, which "brings near-misses and 'what ifs' to life on stage" and is inspired by real-life unspoken connections. It's the perfect place to cry-laugh about what could have been. LINDSAY COSTELLO
(Here-After at the Crocodile, Belltown, $15)

17:56

Holodick [Penny Arcade]

Ed Zitron of Better Offline and Where's Your Ed At engages regularly in a unilateral war of aggression against Sam Altman. He has done a ton of research on Sam, as he has for other "rot economy" tech figures, and thus has a sophisticated factual scaffold built around them he can hold them to. For me, it's just like a… taste, or smell. I'm receiving information from some kind of sense, and it is setting off red lights on the panel. Is that fair? I dunno. If I saw a huge lizard gnawing at the roots of Yggdrasil, to what extent am I required to give it the benefit of the doubt? We clown ourselves when we hold ourselves to baroque standards of fairness around malefactors like this. They know about the rules, they just think those rules are for other people. They depend on this asymmetry. They rely on it.

17:21

Page 54 [Flipside]

Page 54 is done.

Ravi Dwivedi: Libreoffice Conference 2024 in Luxembourg [Planet Debian]

Last year, I attended the annual LibreOffice Conference in Luxembourg with the help of a generous travel grant by The Document Foundation (TDF). It was a three-day event from the 10th to the 12th of October 2024, with an additional day for community meetup on the 9th.

Luxembourg is a small (twice as big as Delhi) country in Western Europe. After going through an arduous visa process, I reached Luxembourg on the 8th of October. Upon arriving in Luxembourg, I took a bus to the city center, where my hotel — Park Inn — was located. All the public transport in Luxembourg was free of cost. It was as if I stepped in another world. There were separate tracks for cycling and a separate lane for buses, along with good pedestrian infrastructure. In addition, the streets were pretty neat and clean.

Luxembourg's Findel Airport

Separate cycling tracks in Luxembourg

My hotel was 20 km from the conference venue in Belval. However, the commute was convenient due to a free of cost train connection, which were comfortable, smooth, and scenic, covering the distance in half an hour. The hotel included a breakfast buffet, recharging us before the conference.

This is what trains look like in Luxembourg

Pre-conference, a day was reserved for the community meetup on the 9th of October. On that day, the community members introduced themselves and their contributions to the LibreOffice project. It acted as a brainstorming session. I got a lovely conference bag, which contained a T-Shirt, a pen and a few stickers. I also met my long time collaborators Mike, Sophie and Italo from the TDF, whom I had interacted only remotely till then. Likewise, I also met TDF’s sysadmin Guilhem, who I interacted before regarding setting up my LibreOffice mirror.

Conference bag

The conference started on the 10th. There were 5 attendees from India, including me, while most of the attendees were from Europe. The talks were in English. One of the talks that stood out for me was about Luxchat — a chat service run by the Luxembourg government based on the Matrix protocol for the citizens of Luxembourg. I also liked Italo’s talk on why document formats must be freedom-respecting. On the first night, the conference took us to a nice dinner in a restaurant. It offered one more way to socialize with other attendees and explore food at the same time.

One of the slides of Italo's talk

Picture of the hall in which talks were held

On the 11th of October, I went for a walk in the morning with Biswadeep for some sightseeing around our hotel area. As a consequence, I missed the group photo of the conference, which I wanted to be in. Anyway, we enjoyed roaming around the picturesque Luxembourg city. We also sampled a tram ride to return to our hotel.

We encountered such scenic views during our walk

Another view of Luxembourg city area

The conference ended on the 12th with a couple of talks. This conference gave me an opportunity to meet the global LibreOffice community, connect and share ideas. It also gave me a peek into the country of Luxembourg and its people, where I had good experience. English was widely known, and I had no issues getting by.

Thanks to all the organizers and sponsors of the conference!

Slog AM: Pike Place Park Opens, Hoh Road Repairs Get Funding, Chuck Schumer Will Back GOP Bill [The Stranger]

The Stranger's morning news roundup. by Nathalie Graham

When one park closes... Little Saigon's eight-month-old Hoa Mai Park will temporarily close due to public safety concerns. It has become a gathering place for the unhoused and for drug activity such as fentanyl use, according to nearby residents. Unfortunately, since it's in this city's nature to restrict any and all places for impoverished people, the park will close until further notice. This feels like a sweep but in a different font. And, let's be clear—the rising crime in the International District and Little Saigon is correlated with Bruce Harrell's push to "clean up" downtown. There is nowhere for these people to go and there won't be a place unless the city provides one. When it reopens, Hoa Mai Park will do so with a lockable gate and with reduced night time hours. 

... Another park opens: Victor Steinbruck Park, the grassy gathering space next to Pike Place Market, will finally reopen today after two years. A dispute over the totem poles delayed the reopening. Don't you hate it when that happens? The March 14 opening will happen regardless of totem poles. As for the poles, they'll be restored now with the help of a Native carver and will be reinstalled once they're good as new. 

The weather: Gray. Cold, but not too cold. Rain returns tomorrow. 

A Tesla tinderbox: An arsonist in Capitol Hill dumped gasoline onto a Tesla parked at the intersection of 15th Avenue East and East Harrison then lit the car ablaze. No one was injured, but that Tesla sure won't be operable any time soon. Police apprehended the suspect. 

Help a Hoh out: The only road to Olympic National Park's Hoh Rainforest has been washed out with big bites eroded away since December. Each year, the Upper Hoh Road carries 460,000 visitors. Without enough funds in the county and with a federal government unwilling to help, road restoration hope has dwindled. But, tight-pursed Gov. Bob Ferguson announced yesterday the state will help. He directed $623,000 of reserve funds to help patch up the road. One hundred individual donors also contributed a total of $27,000. Thanks, Bob! 

Did you see the Blood Moon and Lunar Eclipse last night? This was the first total lunar eclipse in two years. If you missed it, you can watch this time lapse from the Griffith Park Observatory in Los Angeles. I hope this is a good omen astrologically. What do we make of it, star readers?

 

Got home in time for totality! 

2nd picture was taken by my daughter who’s at an observatory! 

#lunareclipse #photography #moon

[image or embed]

— Mubashar “Mubs” Iqbal (@mubashariqbal.com) March 13, 2025 at 11:41 PM

 

Reading the tea leaves, it seems as if the omen may be bad: There's an impending federal government shutdown. Democrats are in a tricky situation. Do they side with the GOP ghouls and pass a spending bill that erodes much of Congress's power on government spending and gives that power to Donald Trump and the executive branch? Or, do they allow the shutdown to happen and potentially grant Trump more power that way? Minority leader Chuck Schumer announced he's going to side with the Republicans and vote for the spending bill. Why? He thinks a shutdown is the worse option of the two evils and that it would grant Trump and Elon Musk "full authority to deem whole agencies, programs, and personnel nonessential, furloughing staff with no promise that they would ever be rehired." Ugh, yes, but voting alongside the baddies...? There surely must be better ways to resist than to roll over and show your belly, right? 

Dr. Oz goes to Washington: Celebrity doctor and homeopathic freak Dr. Mehmet Oz wants to be the guy who oversees health insurance under the Department of Health. He'll face a confirmation hearing with the Senate Finance Committee today. Seems like he'll get it. Ahead of his confirmation, Oz announced he'd try to mitigate some of his massive financial conflicts of interest and sell "his interest in more than 70 companies and investment funds, including UnitedHealth Group, HCA Healthcare and Amazon, which now has significant health care ventures," according to the New York Times

Some good news: People keep booing JD Vance.

 

JD Vance was booed at the Kennedy Center.

[image or embed]

— Pop Crave (@popcrave.com) March 13, 2025 at 8:03 PM

 

Go for gold: With uncertainty about tariffs and a cratering stock market, investors are choosing to invest in something solid, something tangible, something... gold. The yellow metal broke $3,000 Friday—an all-time high. Gold dust or bust, baby. 

Parents sue Trump: A class-action federal lawsuit brought by parents against the Trump administration is suing on the grounds that decimating the Department of Education's Office for Civil Rights will lead to discrimination at school. That violates the equal protection clause under the Fifth Amendment, according to the suit. Parents brought the suit three days after the Department of Education announced it was firing 1,300 workers including the entire staffs at seven of 12 regional civil rights offices. The firings amounted to a 50% cut in the department's work force.

Are you a potential political enemy of this administration? If you're reading this on this heretical blog, then you probably are. So read this Wired article about how to protect yourself from digital surveillance. 

Climate change stories everywhere: Jessie Holmes, a former cast member on the reality TV show "Life Below Zero," won the Iditarod Trail Sled Dog Race. It was the longest Iditarod ever. Why? Well, the route had to change since there wasn't enough snow north of the Alaska Range. You can't sled dog race without snow. The route changed and ballooned from 1,000 miles to 1,129 miles. Holmes and his team of dogs finished the race in 10 days, 14 hours, 55 minutes and 41 seconds. 

New details in Mahmoud Khalil case: I write "case," but there is no case since Khalil, a former Columbia University graduate student, committed no crime. He was taken from his New York home in the middle of the night by Immigrations and Customs Enforcement officers. According to a new lawsuit filed by his lawyers, Khalil said the ICE agents never identified themselves. He felt as though he was "being kidnapped" when they took him from his home in front of his eight-months pregnant wife to a detention facility in Louisiana where he slept without a pillow or blanket. "This is a targeted, retaliatory and extreme attack on the right of free expression,” Khalil's lawyer Donna Lieberman. She said Khalil was only detained "for having ideas." He is still in custody. 

Protesters demand Khalil’s release: Yesterday, progressive Jewish protesters flooded Trump Tower, demanding the release of Khalil—100 were arrested. Their message? “Fight Nazis, not students,” and “We will not comply.” Khalil’s detention is looking less like an immigration case and more like a test run for mass political arrests.
 
Columbia’s federal funds ransom: Nearing final form fascist, the Trump administration has outlined its criteria to restore $400 million of federal funding to Columbia. The demands? The Ivy League university cracks down on protests, redefines antisemitism on Trump’s terms, and hands more power to campus cops. Among the specifics: ban most masks, centralize discipline, and put entire academic departments under government oversight. Columbia has until March 20 to meekly acquiesce or stay cut off.

A song for your Friday: This is stuck in my head this morning. 

16:35

The case of COM failing to pump messages in a single-threaded COM apartment [The Old New Thing]

A customer encountered a hang caused by COM not pumping messages while waiting for a cross-thread operation to complete. They were using the task_sequencer class for serializing asynchronous operations on a UI thread they created to handle accessibility callbacks.

The hang stack looked like this:

ntdll!ZwWaitForMultipleObjects+0x4
KERNELBASE!WaitForMultipleObjectsEx+0xe0
combase!MTAThreadDispatchCrossApartmentCall+0x3a0
combase!CSyncClientCall::SendReceive2+0x65c
combase!DefaultSendReceive+0x88
combase!CSyncClientCall::SendReceive+0x390
combase!CClientChannel::SendReceive+0xc0
combase!NdrExtpProxySendReceive+0x68
rpcrt4!NdrpClientCall3+0x764
combase!ObjectStublessClient+0x180
combase!ObjectStubless+0x34
combase!CObjectContext::InternalContextCallback+0x3f0
combase!CObjectContext::ContextCallback+0x80
contoso!winrt::impl::resume_apartment_sync+0x58
contoso!winrt::impl::resume_apartment+0xe8
contoso!winrt::impl::apartment_awaiter::await_suspend+0x6c
contoso!⟦lambda...⟧::operator()<⟦...⟧>+0x1c8
contoso!task_sequencer::chained_task::continue_with+0x38
contoso!task_sequencer::QueueTaskAsync<⟦...⟧>+0xd0
contoso!⟦lambda...⟧::<lambda_invoker_cdecl>+0xa0
user32!__ClientCallWinEventProc+0x34
ntdll!KiUserCallbackDispatcherReturn
win32u!ZwUserGetMessage+0x4
user32!GetMessageW+0x28
contoso!⟦lambda...⟧::operator()+0x204
contoso!std::thread::_Invoke<⟦lambda...⟧>+0x24
ucrtbase!thread_start<unsigned int (__cdecl*)(void *),1>+0x48
kernel32!BaseThreadInitThunk+0x40
ntdll!RtlUserThreadStart+0x44

We see that we have a UI thread (notice the Get­Message at the bottom of the stack), yet COM decided to block without pumping messages (Wait­For­Multiple­Objects­Ex instead of (Msg­Wait­For­Multiple­Objects­Ex).

Is this a bug in the task sequencer?

Let’s look at the stack more closely. A message arrived via __Client­Call­Win­Event­Proc, and that then queued a task into the task sequencer. The continue_with saw that the task sequencer had no active task, so it ran the new task immediately. That new task wants to run on a different thread, so C++/WinRT’s apartment-switching code kicked in.

The apartment-switching code went to resume_apartment_sync, which in turn called our friend IContext­Callback::Context­Callback, and that called into the COM thread-switching infrastructure, which doesn’t pump messages while wiating for the destination apartment to respond.

Now, COM is a rather mature technology, and this code path is execised constantly throughout the system, so it’s unlikely that it simply “forgot” to pump messages. The function name MTA­Thread­Dispatch­Cross­Apartment­Call strongly suggests that COM thinks that the thread is in an MTA. And the use of resume_apartment_sync suggests that C++/WinRT also thinks that the thread is in an MTA:

else if (is_sta_thread())
{
    resume_apartment_on_threadpool(
        context.m_context, handle, failure);
    return true;
}
else
{
    return resume_apartment_sync(           
        context.m_context, handle, failure);
}

If this were an STA thread, then we would have called resume_apartment_on_threadpool instead of resume_apartment_sync.

Let’s take a closer look at this thread:

// Create a thread to receive accessibility notifications.
m_thread = std::thread([this] {
    ::SetThreadDescription(::GetCurrentThread(), L"Accessibility STA");

    ⟦ ... ⟧

    wil::unique_hwineventhook hook(SetWinEventHook(⟦...⟧));
    THROW_LAST_ERROR_IF_NULL(hook);

    MSG msg;
    while (!m_stop && GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
});

Ah, so there’s your problem.

The thread claims to be an STA thread:

    ::SetThreadDescription(::GetCurrentThread(), L"Accessibility STA");

But there is nothing in the thread procedure that actually makes it an STA thread. It never initialized COM in single-threaded mode.

The thread merely engaged in wishful thinking, proclaming itself to be an STA thread without actually becoming one. (Or maybe it believed in nominative determinism: The mere act of calling itself an STA thread was sufficient to make it true.)

Since COM is already initialized elsewhere in the process, the new thread gets put into the implicit MTA by default, and it took no action to leave it, so from COM’s point of view, this thread is an MTA thread. And MTA threads are allowed to block without pumping messages.

What they need to do is actually make it an STA thread, say, by calling Co­Initialize­Ex with the COINIT_APARTMENT­THREADED flag, and then uninitializing COM before the thread exits to return the thread to its original state. You can kill two birds with one stone with the help of the WIL RAII type.

// Create a thread to receive accessibility notifications.
m_thread = std::thread([this] {
    auto uninit = wil::CoInitializeEx(COINIT_APARTMENTTHREADED);

    ::SetThreadDescription(::GetCurrentThread(), L"Accessibility STA");

    ⟦ ... ⟧

    wil::unique_hwineventhook hook(SetWinEventHook(⟦...⟧));
    THROW_LAST_ERROR_IF_NULL(hook);

    MSG msg;
    while (!m_stop && GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
});

The post The case of COM failing to pump messages in a single-threaded COM apartment appeared first on The Old New Thing.

16:21

Link [Scripting News]

Question for WordLand users. When you published your first post, were you surprised that the window didn't clear? Did you understand that you can make changes and update the public post? I was just talking with a friend who didn't expect it to behave the way it did.

Upcoming Speaking Engagements [Schneier on Security]

This is a current list of where and when I am scheduled to speak:

The list is maintained on this page.

15:35

GNUnet 0.24.0 [Planet GNU]

GNUnet 0.24.0 released

We are pleased to announce the release of GNUnet 0.24.0.
GNUnet is an alternative network stack for building secure, decentralized and privacy-preserving distributed applications. Our goal is to replace the old insecure Internet protocol stack. Starting from an application for secure publication of files, it has grown to include all kinds of basic protocol components and applications towards the creation of a GNU internet.

This is a new major release. Major versions may break protocol compatibility with the 0.23.0X versions. Please be aware that Git master is thus henceforth (and has been for a while) INCOMPATIBLE with the 0.23.0X GNUnet network, and interactions between old and new peers will result in issues. In terms of usability, users should be aware that there are still a number of known open issues in particular with respect to ease of use, but also some critical privacy issues especially for mobile users. Also, the nascent network is tiny and thus unlikely to provide good anonymity or extensive amounts of interesting information. As a result, the 0.24.0 release is still only suitable for early adopters with some reasonable pain tolerance .

After almost a year of testing we believe that the meson build system is stable enough that it can be used as the default build system. In order to reduce maintenance overhead, we are planning to phase out the autotools build until the next major release. Meson shows up to 10x better development build times. It also facilitates building a single libgnunet.so for future requirements of a monolithic build on other platforms such as Android.

Download links

The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A

Note that due to mirror synchronization, not all links might be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Changes

A detailed list of changes can be found in the git log , the NEWS and the bug tracker . Noteworthy highlights are

  • Build system: After almost a year of testing we believe that the meson build system is stable enough that it can be used as the default build system. In order to reduce maintenance overhead, we are planning to phase out the autotools build until the next major release.

Known Issues

  • There are known major design issues in the CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.
  • There are known moderate implementation limitations in CADET that negatively impact performance.
  • There are known moderate design issues in FS that also impact usability and performance.
  • There are minor implementation limitations in SET that create unnecessary attack surface for availability.
  • The RPS subsystem remains experimental.

In addition to this list, you may also want to consult our bug tracker at bugs.gnunet.org which lists about 190 more specific issues.

Thanks

This release was the work of many people. The following people contributed code and were thus easily identified: Christian Grothoff, Florian Dold, dvn, TheJackiMonster, oec, ch3, and Martin Schanzenbach.

Link [Scripting News]

I asked ChatGPT to write a blog post using the technology of 1993.

14:49

Link [Scripting News]

I was looking over my blog archive for August 2006, which was when I started using Twitter, and came across this video of Jason Calacanis, at a Wikipedia conference in Cambridge. This is what videos were like back then. I probably took it with a fairly expensive Nikon camera.

14:07

Link [Scripting News]

I heard an idea that really resonated in a Brian Lehrer interview with Anand Giridharadas, who says among many other things, that we should aim our ire at the leaders of the MAGA movement, and stop bringing our angst to the people who voted for them. Every time I see a condescending TikTok story about them, I think about how that takes us further from getting where we must go. We have to reconcile, we share a country, and our interests are totally aligned. We need each other, that will become completely obvious, and the sooner it does the better.

Link [Scripting News]

Saw an interview with Mark Cuban where they asked why would Elon Musk do something that would cause Tesla stock to tank. He's got the power to play with the biggest financial thing that has ever existed, and quite possibly that ever will exist. In comparison Tesla is just one car company, with a lot of competition, a market-leading product for sure, but the competition is catching up. They're constantly lowering prices to keep the volume up, so eventually the stock will have to come down anyway. He certainly knows stuff about the company that no one else can see, maybe their new product pipeline is empty? He also has had to deal with short-sellers who have the incentive to drive the price down, and he can't bet alongside them (how would that look, a CEO betting against his own company). No matter what, there is nothing bigger than the USA, and he's got it, and plans to keep it. But he's human, and thus has frailties, and he loses as often as he wins and knows it. Unfortunately for us we're all in his boat now, unless somehow we can wrench it back.

[$] The burden of knowledge: dealing with open-source risks [LWN.net]

Organizations relying on open-source software have a wide range of tools, scorecards, and methodologies to try to assess security, legal, and other risks inherent in their so-called supply chain. However, Max Mehl argued recently in a short talk at FOSS Backstage in Berlin (and online) that all of this objective information and data is insufficient to truly understand and address risk. Worse, this information doesn't provide options to improve the situation and encourages a passive mindset. Mehl, who works as part of the CTO group at DB Systel, encouraged better risk assessment using qualitative data and direct participation in open source.

13:21

"It's the people, stupid!" [Scripting News]

I keep hearing pundits and incumbent Democrats missing the point, that the people are the ones whose opinion matters about the Republicans dismantling our democracy in the United States.

I want to celebrate those leaders who totally get that the power is with the people, notably Alexandria Ocasio-Cortez and Bernie Sanders. They are an inspiration! I live in New York and while AOC doesn't represent me in Congress (Pat Ryan is my rep), in a political and spiritual way she most definitely represents me. She should be the next president, as far as I'm concerned. She has all the leadership abilities we could ever want.

My contribution for today is the slogan that's the title of this piece. It's derived from James Carville's slogan when Bill Clinton was running for president in 1992, updated for 2025.

"It's the people, dummy!" was always the right slogan. It's we, the people, who created this country, and we the people are the only ones who can make it work again.

Security updates for Friday [LWN.net]

Security updates have been issued by Fedora (iniparser, thunderbird, trafficserver, and xorg-x11-server), Mageia (opensc), Oracle (.NET 8.0, .NET 9.0, gcc, kernel, and libxml2), Red Hat (firefox, grub2, and krb5), Slackware (libxslt), SUSE (amazon-ssm-agent, bsdtar, build, ffmpeg-4, forgejo-runner, kernel, python, python3, python313, rubygem-rack-1_6, and tailscale), and Ubuntu (linux-azure, linux-azure-5.15, linux-azure-fde, linux-azure-fde-5.15).

13:14

The Return of the AppyHour Box [Whatever]

Hey, everyone! I’m back today with another AppyHour Box. I wasn’t sure if I was going to make these a regular thing, but it seemed like you guys enjoyed the first one I did, so I figured we’d keep it goin’ until y’all tell me you’re sick of them.

And thank you to everyone who used to my referral code! I was only expecting a couple of people to give it a whirl, but a whole 20 of you did. Now I have $20 off my next box for, uhh.. a good long while.

If you didn’t see my first post over AppyHour, it’s a subscription box that comes with artisan meats and cheeses, as well as accompaniments like nuts, jams, and crackers, so you can go from “box to board in 10 minutes” (their words, but I have found it to be pretty true!).

Here’s what I got in my February box, the theme of which was “Southern Comforts”:

All the items I got from the box, still in their packages, laid out on the counter.

From left to right (roughly), we’ve got Berkshire coppa, raspberry mostarda, Quince & Apple apples and cranberry preserves, Firehook multigrain flax Mediterranean baked crackers, praline pecans, honey clover gouda, black pepper cherry prosciutto, Sweet Grass Dairy pimento cheese, Georgia tomme, and dried mangoes.

After looking at the list of everything that was possible to end up with, I am surprised to have received dried mangoes, as I didn’t see them on the list.

Here’s a closer look at the honey clover gouda:

A wedge of the honey clover gouda. The cheese is a creamy white with specks of herbs seen throughout, and the rind is a bright orange-y yellow.

AppyHour says that this cheese is award winning, made in Wisconsin, and crafted by a female cheese master from the Netherlands! Pretty wild stuff.

Here’s the tomme:

A triangular wedge of tomme, pale yellow in color with a beige-ish rind. It has some holes throughout.

I was pretty sure I had never heard of tomme before, but apparently it’s a semi-hard cow’s milk cheese, and this one is made in Georgia.

And finally, the pimento cheese:

A top-down shot of the plastic container containing the bright orange pimento cheese spread. Specks of red from the pepper can be seen throughout the creamy mixture.

I was very surprised to read on their info page that this pimento cheese spread is made with tomme. After delving further into Sweet Grass Dairy’s website, they use the exact same tomme that is in the box! I can only assume the tomme is from the same farm as the pimento spread, and they use their own tomme to make their pimento. Just thought that was kind of funny.

So, here’s how I made up this board:

A slim, grey marble-esque looking board. The pimento cheese spread is in a small black ceramic bowl in the middle of the board. Next to it is a salami rose, a river of prosciutto, a handful of praline pecans, a pile of dried mangoes, and each of the small jams in their respective jars. At each end of the board is a crumbled cheese.

I served the crackers separately, as it was a slimmer board than I usually work with so I had to prioritize the space for the meats and cheeses.

I thought this was a pretty okay board! While I wasn’t a huge fan of the multigrain crackers, I did really love the pimento cheese spread, and both the jams I received were seriously delicious. The honey clover gouda was creamy and floral, and the coppa was surprisingly buttery in texture. I can’t say I tasted much cherry in the black pepper cherry prosciutto, but it was still good. The dried mangoes were an odd addition, I didn’t really feel like they fit with the rest of the board, but it was a good contrast of texture, at least. And of course who doesn’t love praline pecans? I never get tired of them.

This month’s (March) theme is Old World Tavern, and I’m really looking forward to seeing what comes in that! If you also want to see what March’s box entails, feel free to use my referral code for $20 off your first box. I already have a plethora of $20 off coupons thanks to y’all, but I’m glad I can offer you guys a discount, at least!

Which item from this Southern Comforts box looked the best to you? Do you like pimento cheese? Let me know in the comments, and have a great day!

-AMS

12:35

Link [Scripting News]

Please, today -- write a blog post that explains why you believe in The Writer's Web. That's the best way to express our ideas on the web is with all the tools that writers have invented. And while we may enjoy using social media like Bluesky or Mastodon, we understand that they are not for writing and are not the web. Please send me a link to your post and I will read what you've written with thanks for believing in writers and the web! You can use any blogging software you like. My email address is dave.winer@gmail.com. And thank you. (And btw, your post can be about whatever you like, by just writing a blog post you're expressing your support for the writing on the web!)

11:28

Error'd: No Time Like the Present [The Daily WTF]

I'm not entirely sure I understand the first item today, but maybe you can help. I pulled a couple of older items from the backlog to round out this timely theme.

Rudi A. reported this Errord, chortling "Time flies when you're having fun, but it goes back when you're walking along the IJ river!" Is the point here that the walking time is quoted as 77 minutes total, but the overall travel time is less than that? I must say I don't recommend swimming the Ij in March, Rudi.

1

 

I had to go back quite a while for this submission from faithful reader Adam R., who chimed "I found a new type of datetime handling failure in this timestamp of 12:8 PM when checking my past payments at my medical provider." I hope he's still with us.

4

 

Literary critic Jay commented "Going back in time to be able to update your work after it gets published but before everyone else in your same space time fabric gets to see your mistakes, that's privilege." This kind of error is usually an artifact of Daylight Saving Time, but it's a day too late.

0

 

Lucky Luke H. can take his time with this deal. "The board is proud to approve a 20% discount for the next 8 millenia," he crowed.

2

 

At nearly the other end of the entire modern era, Carlos found himself with a nostalgic device. "Excel crashed. When it came back, it did so showing this update banner." Some programmer confused "restore state" with the English Restoration. Not that state, bub.

3

 

[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.

The gangster pushing Tesla [Richard Stallman's Political Notes]

The wrecker said that the boycott of Tesla is illegal.

That is impossible, in the US legal system. But I don't know whether the real laws can prevail over the magat prosecutors' fake laws.

Freedom of speech hit [Richard Stallman's Political Notes]

The wrecker's regime is directly attacking freedom of speech in the US, by deporting Palestinian student Mahmoud Khalil who was a negotiator for the protest movement at Columbia University in 2024.

Khalil is not a Columbia student nowadays because he has graduated since then, but he remains a lawful permanent resident of the US. And anyone in the US has the right of freedom of speech.

When the wrecker claims the authority to arbitrarily jail any non-citizen for deportation, he is trying to abolish constitutional rights, not only in practice but in principle. The legal right to freedom of speech means that no official can arbitrarily decide which views to "tolerate", and repress other views.

The article explains at length what US law actually says about "support for HAMAS" &mash not that you should trust what the wrecker or his agents say about anyone's supposed "support for HAMAS", because they commonly stretch the law on that question.

See what I recently posted about about how the US ought to determine whether an organization is terrorist or not.

Urgent: Release Mahmoud Khalil now [Richard Stallman's Political Notes]

US citizens: phone your congresscritter and call on per to demand that the government release Mahmoud Khalil and then respect his human rights.

If you phone, please spread the word! Main Switchboard: +1-202-224-3121

Budget bill [Richard Stallman's Political Notes]

US citizens: phone your congresscritter, whether perse Democrat or Republican, and call on per to vote against the Republican cut-the-poor budget bill.

Call a Republican because it's their bill.

Call a Democrat because there is a danger that some Democrats will yield to pressure to vote for it. Please make sure perse does not.

People for the American Way reports:

If Republicans get their way, this bill will:
  • Delay Social Security checks for millions of seniors who rely on them to make ends meet.
  • Reduce FEMA resources, leaving communities vulnerable in the face of natural disasters.
  • Cut cancer research funding, putting lifesaving treatments on the chopping block.
  • Make air travel less safe, cutting staff who ensure aviation safety.
  • Slash $23 billion in veterans' benefits, betraying those who served our country by gutting healthcare and assistance programs.

I did not make a link to their page because it suggests using a nonfree program. It is against my principles to legitimize that.

I think the same bill would also attack Medicaid.

Censorship at Washington Post [Richard Stallman's Political Notes]

Bezos, the owner of amazon.com, is imposing strict censorship of political opinions on the Washington Post. We can punish Bezos for this and other hostility to human rights by boycotting amazon.com, at the same time as we protect ourselves from the way the company's mistreatment described here.

Gov't historical, DEI, material deleted [Richard Stallman's Political Notes]

The US air force deleted material about the Tuskegee airmen and acceptance of women as pilots.

Why cover this up? To end the explicit policy of DEI does not by itself entail hushing up historic facts.

To have a reason to delete those, the government would need to have a policy in favor of discrimination, exclusion and injustice. It would not surprise me if that's what the bully demands.

11:07

TP-Link Router Botnet [Schneier on Security]

There is a new botnet that is infecting TP-Link routers:

The botnet can lead to command injection which then makes remote code execution (RCE) possible so that the malware can spread itself across the internet automatically. This high severity security flaw (tracked as CVE-2023-1389) has also been used to spread other malware families as far back as April 2023 when it was used in the Mirai botnet malware attacks. The flaw also linked to the Condi and AndroxGh0st malware attacks.

[…]

Of the thousands of infected devices, the majority of them are concentrated in Brazil, Poland, the United Kingdom, Bulgaria and Turkey; with the botnet targeting manufacturing, medical/healthcare, services and technology organizations in the United States, Australia, China and Mexico.

Details.

09:42

Decoding the Knock Knock situation [Seth's Blog]

Novels, movies, even consulting, are based on a knock knock business model.

Tom Cruise made a movie, and you need to buy a ticket to see it. Jane Collins is an engineering professional and you need to pay to get their insight about how to fix your bridge. This 300-page autobiography is worth your time to read.

The publication or offering creates tension (there’s something here, you might want it) and the way to relieve the tension is for the person you’re reaching to buy access to it.

Huge swaths of our culture are based on this simple approach to intellectual property. The idea comes in a wrapper, the wrapper costs money, the money pays the bills.

Mass media was the way creators could spread the tension and announce their work. You’re waiting for “who’s there!”

It’s worth distinguishing these knock knock offerings from cultural organizations, communities, and tools. In these cases, you can tell the whole story, give away the entire idea, and the IP is worth more, not less.

When people around you are all talking about using the tools in Atomic Habits or This is Strategy, the book becomes a foundation for what happens next. If you’re open to signing up for the blog after you read the book, that’s a hint. That’s not true for The Power Broker.

Rocky Horror Picture Show isn’t like Mission: Impossible. At Rocky Horror, the ticket buys you a chance to see a movie you know by heart–with other people. Being in the club is where the real value is.

Music succeeds when it becomes an anthem. And anthems spread, are played on the radio and become part of our culture. So it doesn’t make sense to say, “I have a new song but you can’t hear it.”

Yes, you need to start with a great piece of music, but the real work is in creating community and ubiquity, Grateful Dead style, not to put your secret recipe behind the doors of a vault.

You can see where the tension for creators comes in.

If you create a knock knock situation, you have to alert people to what’s on offer, but not actually give them what’s on offer. You need ‘who’s there’. That means that your online posts and videos are about the thing, they aren’t the thing itself.

And the opportunity for tool builders and community organizers is to give away the punchline, often. To focus on abundance (of connection and utility and trust) not scarcity.

Many of the creators I’ve worked with over the years feel this tension and then fall into a gap. They have a fine knock knock on offer, but promotion is grating, endless and feels demeaning. Hustle isn’t the solution, not any longer. The best way for this sort of work to become popular is for people who have engaged with it to tell their friends (see the Blair Witch Project for an example). But “getting the word out” has never been more frustrating or difficult than it is now. The web is not TV.

We need this sort of thoughtful, long-form scholarship, but the business model for it is shaky indeed. The breakthroughs happen via peer-to-peer promotion, not hustle.

At the same time, it’s never been more productive to build tools and communities. And it helps to do it with intent.

08:49

Joe Marshall: Defclass vs. defstruct [Planet Lisp]

Common Lisp provides two ways to create new compound data types: defstruct and defclass. Defstruct creates simple cartesian record types, while defclass is part of a full object-oriented programming system. How do you decide which one to use?

It’s easy. Unless you have a compelling reason to use defstruct, just use defclass. Even if you don’t use any other features of CLOS, defclass better supports class redefinition, and this just makes life easier.

If you modify a defstruct and recompile it, the old instances of that struct type become obsolete. They probably won’t work with the new definition. You’ll most likely have to rebuild them. If things get too screwed up, you’ll end up having to restart your Lisp image.

CLOS, on the othe hard, is designed to be dynamic. You can redefine and recompile a class on the fly. You can change the class of an instance. As you develop your code, you’ll be adding and removing slots and changing the class hierarchy. defclass usually handles these sorts of dynamic changes transparently, without having to restart your Lisp image.

CLOS achieves this by adding an extra level of indirection, and perhaps you cannot tolerate the extra overhead. Then by all means use defstruct. But if you are indifferent, defclass is a better choice.

08:07

Holodick [Penny Arcade]

New Comic: Holodick

04:56

Girl Genius for Friday, March 14, 2025 [Girl Genius]

The Girl Genius comic for Friday, March 14, 2025 has been posted.

01:49

Junichi Uekawa: Filing tax this year was really painful. [Planet Debian]

Filing tax this year was really painful. But mostly because my home network. It was ipv4 over ipv6 was not working correctly. First I swapped the Router which was trying to reinitialize the MAP-E table every time there was a dhcp client reconfiguration and overwhelming the server. Then I changed the DNS configuration not use ipv4 UDP lookup which was overwhelming the ipv4 ports. Tax return itself is a painful process. Debugging network issues is making things was just making everything more painful.

01:42

Hipster Comedy [QC RSS]

girl ain't got no butt

00:14

Haiku gets new malloc implementation, removes Gopher support from its browser [OSnews]

We’ve got the Haiku activity report covering February, and aside from the usual slew of bug fixes and minor improvements, there’s one massive improvement that deserves attention.

waddlesplash continued his ongoing memory management improvements, fixes, and cleanups, implementing more cases of resizing (expanding/shrinking) memory areas when there’s a virtual memory reservation adjacent to them (and writing tests for these cases) in the kernel. These changes were the last remaining piece needed before the new malloc implementation for userland (mostly based on OpenBSD’s malloc, but with a few additional optimizations and a Haiku-specific process-global cache added) could be merged and turned on by default. There were a number of followup fixes to the kernel and the new allocator’s “glue” and global caching logic since, but the allocator has been in use in the nightlies for a few weeks with no serious issues. It provides modest performance improvements over the old allocator in most cases, and in some cases that were pathological for the old allocator (GCC LTO appears to have been one), provides order-of-magnitude (or mode) performance improvements.

↫ waddlesplash on the Haiku website

Haiku also continues replacing implementations of standard C functions with those from musl, Haiku can now be built on FreeBSD and Linux distributions that use musl, C5/C6 C-states were disabled for Intel Skylake to fix boot problems on that platform, and many, many more changes. There’s also bad news for fans of Gopher: support for the protocol was removed from WebPositive, Haiku’s native web browser.

00:07

The Church FAQ [Whatever]

A few years ago, we bought a church building. Since then, every time I mention it online and/or on social media, someone always responds, “wait, you bought a church, what” and then asks some standard questions. At this point it makes good sense to offer up a Church FAQ to answer some of those most common questions. Let’s begin!

Wait, you bought a church, what?

Indeed, we bought a church.

Where?

In our town of Bradford, Ohio.

What denomination used to be there?

It’s the former home of Bradford’s Methodist congregation. The church building itself dates back to at least 1919 (that being the year of a calendar we have that features a picture of the building). There was a congregation there until at least 2016. So they got about 100 years of use out of the building.

Why did they stop using it?

The congregation shrank over time, a not uncommon occurrence for mainline protestant churches these days. As I understand it the congregation merged with another congregation down the road, which has services at a different church building. I believe the West Ohio Conference of the Methodist Church (which previously owned the building) may have rented the building for a bit after the congregation left, but when we acquired the building it was not being used, which is probably why the Methodists decided to sell it.

So do you live there?

No, we have an actual house to live in. I know old churches are frequently turned into funky residences, but reconfiguring a church to be an actual livable space on a daily basis takes a lot of effort. Our house is designed to be a residence for humans; we prefer to live in that house.

Are you going to use the building as a church and/or start a cult?

No and no. None of the Scalzis are particularly religious, especially in an organized fashion, and despite the actions of certain science fiction authors in the past offering precedent, I have no desire to start a cult. It seems like a lot of work and my ego does not run in the direction of needing acolytes.

Coffee shop and/or bookstore and/or brewpub and/or some other retail business?

I have worked hard all my life not to work in retail and don’t intend to start now, thank you.

Then why did you buy it?

Because we wanted office space. For a number of years Krissy and I talked about starting a company to develop creative projects that were not my novels, and also to handle the licensing and merchandising of the properties that I already had that were not already under option. That company would eventually become Scalzi Enterprises. Although I write my novels at home, we wanted to have office space elsewhere.

Why?

Because if we eventually hired other people to help us, we wanted them to have some place to work that was not our actual house. And in a general sense it would be useful to have extra space; our house is already full with a quarter-century of us living in it.

Why not get actual office space rather than a church building?

We tried, but we live in a small town without a lot of commercial real estate. We looked at a couple of buildings in town that went up for sale, but weren’t happy with their state of repair. We didn’t want to look outside of Bradford because then there would be a commute. We wanted something within a couple of miles of our house. Eventually it looked like to get what we wanted, we would have to buy a plot of land and then build on it. I went online to look at real estate websites to see what land was available, and as it happens a couple of hours prior, the Methodists put the church building up for sale. We saw the listing, made an appointment to see it that afternoon, and put in an offer when we got home from the viewing. We closed on the building in December of 2021.

What made you offer on the building?

It had everything we wanted — ample space for offices and an excellent location — and above and beyond what we already knew we wanted, when we viewed the space we saw that it offered other opportunities as well. I always wanted an extensive library, for example, and the building had a balcony area which would be perfect for one of those. The basement area would be perfect for having gatherings, and the sanctuary area was, of course, a natural place for concerts or readings or whatever else we might want to do there. And then there was the price.

How much was it?

$75,000.

WHAT

One of my favorite things to do is show the building to people who live on the coasts, ask them how much they think it cost, and watch them get angry every time I tell them to go lower. But more seriously, we knew that we wouldn’t find a better building anywhere close to us at anywhere near that price. It made absolute economic sense to get the building.

Usually when you get a building like this for that amount of money, it’s on the verge of falling down. Was it?

Thankfully, no. Krissy’s former job was as a insurance claims adjuster; she has certificates attesting to her ability to evaluate the soundness of structures. When we had our visit to the property, she literally climbed through the walls to see for herself what shape the building was in. Her determination: The building would need significant renovation, but fundamentally it was sound. We would need to put in money, but if the renovations were done right it wouldn’t be a money pit.

What renovations did you do?

A whole new roof, to start; now the building has a 50-year roof, which means it will almost certainly outlive me. The electricity was knob and tube and had to be redone. There was an outside retaining wall that had to be torn out and redone. The aforementioned balcony was actually not safe to be on; it was cantilevered out into space with no support and had a shin-high barrier that wouldn’t stop anyone from going over the side. That was fixed, and new floors and custom bookcases by a local artisan built in so I could have my library. The basement floor was redone; the kitchen space down there gutted and remodeled. We pulled up high-traffic industrial carpet glued to the sanctuary floor and reconditioned the hardwood floors underneath. New HVAC, and improved drainage for the maintenance room. The office and Sunday school room in the basement was turned into a guest suite. The structure was sealed against moisture and the walls were all replastered and repainted.

And so on. None of that was cheap, nor was it done quickly; the renovations took two years. Both the time and cost were affected by the work being done during the pandemic, but no matter what it would have been a laborious and expensive process. It was worth it.

Did you do any of that work yourself?

Oh, hell no; I’m not competent to do anything but sign checks. We had contractors do everything, and Krissy, who had 20 years of dealing with contractors in her previous job, managed the renovation on our end. She terrified them.

Are the renovations complete?

The major ones, yes. There are a few things to do but they are second order tasks. I want to recondition the old pastor’s study, get the organ functional again, and we want to make the sanctuary level more easily accessible via ramps and such. But all of that can be dealt with over time. At this point, most of what we wanted and needed to do is done, and we are able to use the building how we intended.

What did the people of Bradford think about you buying the church?

By and large the response was positive. We’ve lived in town since 2001 so we weren’t an unknown quantity; everyone here knows us. There was some concern that someone might buy the church for the land underneath it, tear it down and then put up, like, a check-cashing store or a vape shop. So when we bought it and stated our intention to renovate and maintain the building, there was some measure of communal relief. When the renovations were done we held an open house for the community so they could see what we’d done with the place. Most people seemed happy with it.

Likewise, we have the intent of keeping the space a part of the community, and not just as our office space. From time to time we plan to have events there (concerts, readings) that will be free and open to the town, sponsored by the Scalzi Family Foundation (yes, we have a foundation; it’s easier to do a lot of charitable things that way). The building will still be part of the civic life of Bradford.

Does this mean you are going to make the building available for event rentals?

Probably not. It’s one thing to offer private events, funded by our foundation, that are open to the townsfolk. It’s another thing to offer the space up as a commercial venue. One, that’s a lot more work for us, and two, we would have to make sure the building was up to code as rental space, which would entail more renovations and cost. We occasionally get inquiries and we’ve politely turned them down and are likely to continue to. There are other event spaces in town, from the community center to the local winery, and we encourage people to give them their money.

But you have used it for gatherings, yes?

Sure. My wife threw me a surprise party there for this blog’s 25th anniversary, and when we held an eclipse party in 2024, we had the pre- and post- parties at the church. The last couple of family reunions have been held at the church, and we hold Thanksgiving and Christmas parties there as well. Having a gathering at the church is much less stressful than having it at our house. People aren’t in our personal space, the pets don’t freak out, and people with allergies to cats and dogs don’t have to worry about sneezing. It works out great. Also, when people come to visit, they have the option of staying in the guest suite at the church instead of our more crowded (and cat hair-laden) guest room. So that’s a plus too.

You said something about getting the organ functional again. Do you have, like, a pipe organ?

We do, sort of. The pipes are there, but the organ hasn’t been attached to it for years, possibly decades. The organ itself (which played through a speaker) is also not functioning, and I need to get in touch with someone to repair it. Actually reattaching it to the pipes and making the whole thing work again would be an extremely expensive endeavor and would probably cost as much — if not more — than it cost us to buy the church. Pipe organs are an expensive hobby, basically. I’m not sure I’m ready to commit to that.

Does the church have a bell? And do you ring it?

It does have a bell, and we ring only very occasionally. We don’t want to annoy the neighbors.

Is the church haunted?

We have been told by former parishioners that it is, but I have not met the local ghosts yet. Perhaps they are waiting to see if I am worthy.

Isn’t it a little… quirky to own a church?

I mean, yes. I’ve noted before that now I’ve become a bit of a cliche, that cliche being the eccentric writer who owns a folly. Some own theaters and railways, some own Masonic temples, some own islands. I own a church. In my defense, I had a functional reason to own it, noted above, and I didn’t spend a genuinely silly amount of money for it, also noted above. As a folly, it is both practical and affordable.

What do you call the church now?

Not “Church of the Scalzi,” which is actually the name of a church in Venice, Italy. Its formal name now is “The Old Church.” But for day-to-day use we just say “the church.”

Hey, have you ever heard of that song, “Alice’s Restaurant”?

Yes, I have, and everyone thinks they are being terribly clever when they reference it to me. After the first thousand times it wears a smidge thin.

Is it true that your six-necked guitar now resides at the church?

It is true: The Beast, as it is called, and was called long before I owned it, currently resides on the altar. It surprises people every time they see it.

Are you sure you’re not starting a cult?

I’m sure. Besides, who would want to worship me? Krissy, maybe. Me, nah.

And that’s it for now. If there are more questions I think need to be in the FAQ, I’ll add them as I go along.

— JS

Thursday, 13 March

23:28

Making sure that a DLL loads only from your application directory [The Old New Thing]

A customer distributed a program and included its supporting DLLs in the same directory, because the application directory is the application bundle.

They worried about the case that the user deletes one of the supporting DLLs, and then when the program tries to load that DLL, a rogue copy somewhere else on the PATH gets loaded instead. They want to reject loading the DLL from anywhere other than the application directory.

You can accomplish this by explicitly calling Load­Library­Ex with the LOAD_LIBRARY_SEARCH_APPLICATION_DIR flag, which says that the function should look only in the application directory for the DLL. If it’s not there, it gives up without searching any other directories. After you load the library, you can use Get­Proc­Address to get the functions.

Unfortunately, this is rather cumbersome since you have to switch from implicit loading to explicit loading, so you don’t get the convenience of import libraries.

You might think that you can get the convenience back by using the /DEPENDENTLOADFLAG linker option with the value 0x200 (the numeric value of LOAD_LIBRARY_SEARCH_APPLICATION_DIR), but the problem is that the dependent load flag applies to all DLLs loaded via import tables, and that includes kernel32 and other DLLs you probably wanted to load from the system32 directory.

Now, the system32 directory is writable only by administrators, so we could consider that a “safe” directory, because if somebody attacks that directory, they have already taken over the system. Therefore, you could use the /DEPENDENTLOADFLAG linker option with the value 0xA00, which is the numeric value of LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32. Alternatively, you could use the value 0x1000, which is the numeric value of LOAD_LIBRARY_SEARCH_DEFAULT_DIRS, which includes the application directory, the system32 directory, and any directories added by Add­Dll­Directory and Set­Dll­Directory.

But wait, what is the issue we are trying to defend against? The stated scenario is “The user deletes a DLL from the application directory.” In that case, the user already has write permission into the application directory, so instead of deleting the DLL, they can just replace it with a malicious DLL. Restricting the load to the application directory does not prevent a malicious DLL from being loaded.

But maybe your goal is not to create a security boundary but just to contain the scope of an error. If the user accidentally deletes the DLL from the application directory, at least prevent somebody else from injecting a DLL into the process by planting a DLL on the path.

Now, the directories on the path fall into two categories. You have the directories on the global path, and the directories that are specific to a single user. If an attacker can plant a DLL into a directory on the global path, then that means that they have gained write permission onto the global path. To do this without administrator privileges requires that the global path contain a directory writable by non-administrators, which is an insecure configuration, so we are in the case of creating an insecure system and then being surprised that it is insecure. Instead of planting a rogue DLL on the path, the attacker could just plant, say, a rogue notepad.exe, and steal all your attempts to run notepad.

The other case is that the directory under attack is a directory on the per-user path. The user chose to add that directory, and if they added a directory that is writable by non-administrators other than the current user, they have once again created an insecure system because they have granted non-administrators the ability to inject things into their path.

The only attacks against rogue DLLs on the path assume that the system has already been compromised. So this issue is not about protecting a secure system but rather trying to protect from an already-compromised system.

The post Making sure that a DLL loads only from your application directory appeared first on The Old New Thing.

WinRing0: why Windows is flagging your PC monitoring and fan control apps as a threat [OSnews]

When I checked where Windows Defender had actually detected the threat, it was in the Fan Control app I use to intelligently cool my PC. Windows Defender had broken it, and that’s why my fans were running amok. For others, the threat was detected in Razer Synapse, SteelSeries Engine, OpenRGB, Libre Hardware Monitor, CapFrameX, MSI Afterburner, OmenMon, FanCtrl, ZenTimings, and Panorama9, among many others.

“As of now, all third-party/open-source hardware monitoring softwares are screwed,” Fan Control developer Rémi Mercier tells me.

↫ Sean Hollister at The Verge

Anyone reading OSNews can probably solve this puzzle. Many fan control and hardware monitoring applications for Windows make use of the same open source driver: WinRing0. Uniquely, this kernel-level driver is signed, since it’s from back in the days when developers could self-sign these sorts of drivers, but the signed version has a known vulnerability that’s quite dangerous considering it’s a kernel-level driver. The vulnerability has been fixed, but signing this new version – and keeping it signed – is a big ordeal and quite expensive, since these days, drivers have to be signed by Microsoft.

And it just so happens that Windows Defender has started marking this driver, and thus any tool that uses it, as dangerous, sending it to quarantine. The result is failing hardware monitoring and fan control applications for quite a few Windows users. Some companies have invested in developing their own closed-source alternatives, but they’re not sharing them. Luckily, Windows OEM iBuyPower says it’s trying to get the patched version of WinRing0 signed, and if that happens, they will share it back with the community. Classy.

For now, though, hardware monitoring and fan control on Windows might be a bit of an ordeal.

KDE splits KWin into kwin_x11 and kwin_wayland [OSnews]

One of the biggest behind-the-scenes changes in the upcoming Plasma 6.4 release is the split of kwin_x11 and kwin_wayland codebases. With this blog post, I would like to delve in what led us to making such a decision and what it means for the future of kwin_x11.

↫ Vlad Zahorodnii

For the most part, this change won’t mean much for users of KWin on either Wayland or X11, at least for now. At least for the remainder of the Plasma 6.x life cycle, kwin_x11 will be maintained, and despite the split, you can continue to have both kwin_x11 and kwin_wayland installed and use them interchangeably. Don’t expect any new features, though; kwin_x11 will get the usual bug fixes, some backports, and they’ll make sure it keeps working with any new KDE frameworks introduced during the 6.x cycle, but that’s all you’re going to get if you’re using KDE on X11.

There’s one area where this split might cause problems, though, and that’s if you’re using a particular type of KWin extension. While KWin extensions written in JavaScript and QML are backend agnostic and can be used without issues on both variants of KWin, extensions written in C++ are not. These extensions need to be coded specifically for either kwin_x11 or kwin_wayland, and with Wayland being the default for KDE, this may mean some of these extensions will leave X11 users behind to reduce the maintenance burden.

It seems that very few people are still using KDE on X11, and kwin_x11 doesn’t receive much testing anymore, so it makes sense to start preparations for the inevitable deprecation. While I think the time of X11 on Linux has come and gone, it’s unclear what this will mean for KDE on the BSDs. While Wayland is available on all of the BSDs in varying states of maturity, I honestly don’t know if they’re ready for a Wayland-only KDE at this point in time.

21:56

Ticket Alert: Cyndi Lauper, Everclear, and More Seattle Events Going On Sale This Week [The Stranger]

Plus, More Event Updates for March 13
by EverOut Staff

We’re back with another batch of newly announced events! If you missed Cyndi Lauper’s farewell tour late last year, the pop icon is coming through the area for a second time this summer. Portland-grown alt-rockers Everclear will celebrate the 30th anniversary of their major label debut Sparkle and Fade on tour this fall. Plus, Iliza Shlesinger will head to Seattle to remind us that elder millennials can be funny, too. Read on for details and some news you can use.

ON SALE FRIDAY, MARCH 14

MUSIC

The Brian Jonestown Massacre
The Showbox (Sat Nov 15)

Broncho - Natural Pleasure Tour
Neumos (Sun June 22)

Cyndi Lauper: Girls Just Wanna Have Fun Farewell Tour
White River Amphitheatre (Tues Aug 19)

21:07

18:49

The False Promise To Oneself To Not Buy V-Bucks [Whatever]

I started playing Fortnite in November of 2023. I had never played before, and really had no interest in it, as I was sure I didn’t like the whole “battle royale online” type of games. But, my friends convinced me to try it out, and I figured why not since it’s a free game. No harm in giving it a try. I quickly got addicted, playing on an almost daily basis for a good bit there.

One thing I promised myself when I started playing, though, was that I was not going to spend real money on this silly game. I have friends that have been playing for years and have spent around a thousand dollars on V-Bucks, and I was determined to not fall into the same boat.

Everything you can buy is strictly cosmetic. Skins, back-bling, gun wraps, and of course the dances and emotes. I knew I didn’t need any of that nonsense just to play Fortnite. It was a free game, and I was going to keep it that way.

So I used the default skin and the default dance for a couple of weeks, and then the game started gifting me free items. I told myself I’d go ahead and use them, but I wasn’t going to fall into the trap of buying V-Bucks. Who on earth spends real money on a digital currency?!

Then, I saw Silver Surfer in the shop. That’s right y’all, the one and only Norrin Radd was standing in the shop, shiny and beautiful, and he came with his board as a glider! For the low low price of a thousand V-Bucks. Lucky for me, you can buy that exact amount of V-Bucks. For $9.

So I did this “one time purchase” for the sake of owning Silver Surfer, and told myself that that was my one purchase. Never again.

In case you’re not well acquainted with the currency difference between USD and V-Bucks, it goes like this:

1,000 V-Bucks = $8.99

2,800 V-Bucks = $22.99

5,000 V-Bucks = $36.99

13,500 V-Bucks = $89.99

The more you buy, the more you save! What a steal!

But how many V-Bucks does stuff actually cost in the shop? I’m glad you asked.

Skins are roughly 1,000 to about 1,500 V-Bucks depending on what skin it is or if it comes with a glider and/or pickaxe. Emotes are generally about 500 V-Bucks, but some can be as low as 200, and some are as expensive as 800 (don’t buy emotes for 800, it’s not worth it). Things like gun wraps and pickaxes vary, but usually the only thing that cost over 1,000 V-Bucks will be skins.

Also, the Battle Pass is 950 V-Bucks. If you complete the Battle Pass, you actually get more V-Bucks back than you spent in the first place. Plus, you get tons of skins and emotes and so much other stuff from the Battle Pass.

And if you subscribe to Fortnite Crew, which is a recurring monthly cost of $11.99, you automatically get the Battle Pass, an extra 1,000 V-Bucks, and other stuff I don’t actually care about, like the LEGO and Rocket League stuff.

All this being said, I think I’ve spent about $400 dollars on Fortnite at this point, and have been subscribed to Fortnite Crew for about three months now. It’s so worth it! I’m really spending my money smartly.

It is a slippery slope, my friends. Fortnite’s power was too great, and I was indeed susceptible to stupid dances and emotes. Listen, I just really like griddy-ing on people after I kill them, okay? Especially if they have the Skibidi Toilet back bling! (Yes, I am just saying buzzwords to make you feel out of touch and old. I sure as hell do, anyway.)

Man, I love Fortnite, and I truly never thought I’d say that. But it’s so fun and silly and easy, and a very odd cultural phenomenon. It’s kind of fascinating, and I’m glad I started playing eventually.

Do you like Fortnite? Ever play any PUBG? Let me know in the comments, and have a great day!

-AMS

What to Eat & Drink in Seattle for St. Patrick's Day 2025 [The Stranger]

Guinness Floats, Key Lime Pie Cake, and More
by EverOut Staff Pick out your most verdant outfit and pluck some three-leaf clovers: St. Patrick's Day is on Monday, March 17. Whether you'd like to mark the occasion with corned beef and cabbage sliders, Irish stout, or chocolate Guinness cookies, Seattle bars and restaurants have you covered. For more ideas, check out our food and drink guide.

Currant Bistro
This restaurant inside the Sound Hotel will be shaking and stirring up on-theme cocktails like the "Cliffs of Moher" (Jameson and Guinness, of course) and "The Giant's Causeway" (Caffe Vita cold espresso, Bailey's, Jameson, and Georgetown Brewing's 9lb Porter). In between sips, snack on shareable plates of Irish potato salad, corned beef and cabbage sliders, and shepherd's pie.
Belltown

18:35

Choi: announcing Casual Make [LWN.net]

Charles Choi has announced the release of the Casual Make: a menu-driven interface, implemented as part of the Casual suite of tools, for Makefile Mode in GNU Emacs.

Emacs supports makefile editing with make-mode which has a mix of useful and half-baked (though thankfully obsoleted in 30.1) commands. It is from this substrate that I'm happy to announce the next Casual user interface: Casual Make.

Of particular note to Casual Make is its attention to authoring and identifying automatic variables whose arcane syntax is un-memorizable. Want to know what $> means? Just select it in the makefile and use the . binding in the Casual Make menu to identify what it does in the mini-buffer.

Casual Make is part of Casual 2.4.0, released on March 12 and is available from MELPA. The 2.4.0 update to Casual also includes documentation in the Info format for the first time.

18:00

17:49

Pluralistic: The future of Amazon coders is the present of Amazon warehouse workers (13 Mar 2025) [Pluralistic: Daily links from Cory Doctorow]


Today's links



A magnified image of the inside of an automated backup tape library, with gleaming racks of silver tape drives receding into the distance. In the foreground is a pile of dirt being shoveled by three figures in prisoner's stripes. Two of the figures' heads have been replaced with cliche hacker-in-hoodie heads, from which shine yellow, inverted Amazon 'smile' logos, such that the smile is a frown. The remaining figure's head has been replaced with a horse's head. Behind the figure is an impatiently poised man in a sharp business suit, glaring at his watch. His head has been replaced with the glaring red eye of HAL 9000 from Kubrick's '2001: A Space Odyssey.'

The future of Amazon coders is the present of Amazon warehouse workers (permalink)

My theory of the "shitty technology adoption curve" holds that you can predict the future impact of abusive technologies on you by observing the way these are deployed against people who have less social power than you:

https://pluralistic.net/2023/06/11/the-shitty-tech-adoption-curve-has-a-business-model/

When you have a new, abusive technology, you can't just aim it at rich, powerful people, because when they complain, they get results. To successfully deploy that abusive tech, you need to work your way up the privilege gradient, starting with people with no power, like prisoners, refugees, and mental patients. This starts the process of normalization, even as it sands down some of the technology's rough edges against their tender bodies. Once that's done, you can move on to people with more social power – immigrants, blue collar workers, school children. Step by step, you normalize and smooth out the abusive tech, until you can apply it to everyone – even rich and powerful people. Think of the deployment of CCTV, facial recognition, location tracking, and web surveillance.

All this means that blue collar workers are the pioneering early adopters of the bossware that will shortly be tormenting their white-collar colleagues elsewhere in the business. It's as William Gibson prophesied: "The future is here, it's just not evenly distributed" (it's pooled up thick and noxious around the ankles of blue-collar workers, refugees, mental patients, etc).

Nowhere is this rule more salient than in Big Tech firms. Tech companies have thoroughly segregated workforces. Delivery drivers, customer service reps, data-labelers, warehouse workers and other "green badge," low-status workers are the testing ground for their employer's own disciplinary technology, which monitors them down to the keystroke, the eye-movement, and the pee break. Meanwhile, the "blue badge" white-collar coders get stock options, gourmet cafeterias, free massages, day care and complimentary egg-freezing so they can delay fertility. Companies like Google not only use separate entrances for their different classes of workers – they stagger their shifts so that the elite workers don't even see their lower-status counterparts.

Importantly, almost none of these workers – whether low-status or high – are unionized. Tech union density is so thin, it's almost nonexistent. It's easy to see why elite tech workers wouldn't bother with unionizing: with such fantastic wages and so many perks, why endure the tedium of meetings and memos? But then there's the rest of the workers, who are subjected to endless "electronic whipping" by bossware and who take home wages that look like pocket change when compared to the tech division's compensation. These workers have every reason to unionize, living as they do in the dystopian future of labor.

At Amazon warehouses, workers are injured at three times the rate of warehouse workers at competing firms. They are penalized for "time off task" (like taking a piss break). They are made to stand in long, humiliating body-search lines when they go on- and off-shift, hours every week, without compensation. Variations on this theme play out in other blue-collar sectors of the Amazon empire, like Amazon delivery drivers and Whole Food shelf-stockers.

Those workers have every reason to unionize, and they have done their damndest, but Amazon has defeated worker union drives, again and again. How does Amazon win these battles? Simple: they cheat. They illegally fire union organizers:

https://pluralistic.net/2020/03/31/reality-endorses-sanders/#instacart-wholefoods-amazon

And then they smear unions to the press and to their own workers with lies (that subsequently leak):

https://pluralistic.net/2020/04/03/socially-useless-parasite/#christian-smalls

They spend millions on anti-union tech, spying on workers and creating "heatmaps" that let them direct their anti-union efforts to specific stores and facilities:

https://pluralistic.net/2020/04/21/all-in-it-together/#guard-labor-v-redistribution

They make workers use an official chat app, and then block any messages containing forbidden words, like "fairness," "grievance" and "diversity":

https://pluralistic.net/2022/04/05/doubleplusrelentless/#quackspeak

That's just the tip of the iceberg. A new investigation by Northwestern University's Teke Wiggin draws on worker interviews and FOIA requests to the NLRB to assemble a first-of-its-kind catalog of Amazon's labor-disciplining, union-busting tactics:

https://journals.sagepub.com/doi/10.1177/23780231251318389

Disciplining labor and busting unions go hand in hand. It's a simple equation: the harder it is for your workers to form a union, the worse you can treat them without facing labor reprisals, because individual workers' options are limited to a) quitting or b) sucking it up, while unionized workers can grieve, sue, and strike.

At the core of Amazon's labor discipline technology is "algorithmic management," which is exactly what it sounds like: replacing middle managers with software that counts your keystrokes, watches your eyeballs, or applies a virtual caliper to some other metric to decide whether you're a good worker or a rotten apple:

https://pluralistic.net/2024/11/26/hawtch-hawtch/#you-treasure-what-you-measure

Automation theory describes two poles of workplace automation: centaurs (in which workers are assisted by technology) and "reverse-centaurs" (in which workers provide assistance to technology):

https://pluralistic.net/2021/03/19/the-shakedown/#weird-flex

Amazon is a reverse-centaurism pioneer. Take the delivery drivers whose every maneuver, eyeball movement, and turn signal is analyzed and inevitably, found wanting, as workers seek to satisfy impossible quotas that can't even be met if you pee in a bottle instead of taking toilet breaks:

https://pluralistic.net/2023/10/20/release-energy/#the-bitterest-lemon

Then there's the warehouse workers who are also tormented with impossible, pisscall-annihilating quotas. Some of these workers are fitted with haptic wristbands that buzz to tell them they're being too slow at picking up an item and dropping it into a box, pushing them to faster, joint-destroying paces that account for Amazon's enduring position as the most worker-maiming warehouse employer in the nation:

https://pluralistic.net/2021/02/05/la-bookseller-royalty/#megacycle

In his paper, Wiggin does important work connecting these "electronic whips" to Amazon's arsenal of traditional union-busting weapons, like "captive audience" meetings where workers are forced to sit through hours of anti-union indoctrination. For Wiggin, bossware tools aren't just a stick to beat workers with – they're also a carrot that can be used to diffuse a worker's outrage ahead of a key union vote.

Algorithmic management isn't just software that wrings more work out of workers – it's software that replaces managers. By surveilling workers – both on the job and in social media spaces (like subreddits) where workers gather to talk, Amazon can tune the "electronic whip," reducing quotas and easing the pace of work so that workers view their jobs more favorably and are more receptive to anti-union propaganda.

This is "twiddling" – exploiting the digital flexibility of a system to "twiddle the knobs" governing its business logic, changing everything from prices to wages, search rankings to recommendations, in realtime, for every customer and worker:

https://pluralistic.net/2023/02/19/twiddler/

Twiddling combines surveillance data with flexible business logic to create an unbeatable house advantage. If you're an Amazon shopper, you get twiddled all the time, as Amazon replaces the best matches for your searches with paid results. If you buy that first product result, you'll pay an average of 29% more than the best match for your search:

https://pluralistic.net/2023/11/06/attention-rents/#consumer-welfare-queens

Worker-side twiddling is even more dystopian. When a nurse is assigned a shift by an "Uber for nurses" app, the app checks whether the worker has overdue credit card bills, which trigger lower wages (on the theory that an indebted worker is a desperate worker):

https://pluralistic.net/2024/12/18/loose-flapping-ends/#luigi-has-a-point

When it comes to union-busting, Amazon's found a new use for twiddling: lessening the pace of work, which Wiggin calls "algorithmic slack-cutting." The important thing about algorithmic slack-cutting is that it's only temporary. The algorithm that reduces your work-load in the runup to a union vote can then dial the pace of work up afterward, by small, random increments that are below the threshold at which they register on the human sensory apparatus. They're not so much boiling the frog as poaching it.

Meanwhile, Amazon gets to flood the zone with anti-union messages, including mandatory messages on the app that assigns your shifts – a captive audience meeting in every pocket.

Between social media surveillance and on-the-job surveillance, Amazon has built a powerful training set for algorithms designed to crush workplace democracy. That's how things go for Amazon's warehouse workers and delivery drivers, and the shelf-stockers at Whole Foods.

But of course, the picture is very different for Amazon's techies, who enjoy the industry standard of high wages and lavish perks.

For now.

The tech industry is in the midst of three years' worth of mass layoffs: 260K in 2023, 150k in 2024, tens of thousands this year. None of this is due to a shortfall in profits, mind: Google laid off 12,000 workers just weeks after staging a stock buyback that would have funded their salaries for 27 years. Meta just announced a 5% across-the-board headcount cut and that it was doubling its executive bonuses.

In other words, tech is firing workers not because it must, but because it can. When workers depend on scarcity – instead of unions – as a source of power, they dig their own graves. For well-paid, scarcity-based coders, every new computer science graduate is the enemy, eroding the scarcity that your wages depend on.

Amazon coders get to come to work with pink mohawks, facial piercings, and black t-shirts that say things their bosses don't understand. They get to pee whenever they want to. That's not because Jeff Bezos is sentimentally attached to techies and bears personal animus toward warehouse workers. Jeff Bezos wants to pay his workforce as little as he can. He treats his tech workers with respect because he's afraid of them, because if they quit, he can't replace them, and without their work, he can't make money.

Once there's an army of unemployed coders who'll take your job, Jeff Bezos doesn't have to fear you anymore. He can fire you and replace you the next day.

Bezos is obviously incredibly horny for this. Like most tech bosses, he dreams of a world in which entitled hackers can't call their bosses dumbshits and decline to frog when they shout "jump!" That's why Amazon PR puts so much energy into trumpeting the business's use of AI to replace coders:

https://www.hrgrapevine.com/us/content/article/2024-08-22-amazon-cloud-ceo-warns-software-engineers-ai-could-replace-your-coding-work-within-2-years

It's not just that they're excited about firing coders and saving money – they're even more excited about transforming the job of "Amazon coder," from someone who solves complex technical problems to someone who performs tedious code review on automatically generated code barfed up by a chatbot:

https://pluralistic.net/2024/04/01/human-in-the-loop/#monkey-in-the-middle

"Code reviewer" is a much less fulfilling job than "programmer." Code reviewers are also easier to replace than programmers. A code reviewer is a reverse-centaur, a servant to the machine. Every time you hear "AI-assisted programmer," you should substitute "programmer-assisted AI."

Programming is even more bossware-ready than working in a warehouse. The machines coders use are much easier to fit with surveillance technology that monitors their performance – and spies on their communications, looking for dissenting chatter – than a warehouse floor. The only thing that stopped Jeff Bezos from treating his programmers like his warehouse workers is their scarcity. That scarcity is now going away.

That's bad news for Amazon customers, too. Tech workers often feel a sense of duty to their users, a "vocational awe" that drives them to put in long hours to make things their users will enjoy. The labor power of tech workers has long served as a check on the impulse to enshittify those products:

https://pluralistic.net/2023/11/25/moral-injury/#enshittification

As tech workers' power wanes, they don't just lose the ability to protect themselves from their bosses' greediest, most sadistic urges – they also lose the power to defend all of us. Smart tech workers know this. That's why Amazon tech workers walked out in support of Amazon warehouse workers:

https://pluralistic.net/2021/01/19/deastroturfing/#real-power

Which led to their prompt dismissal:

https://pluralistic.net/2020/04/14/abolish-silicon-valley/#hang-together-hang-separately

Tech worker/gig worker solidarity is the only way workers can win against tech bosses and defeat the shitty technology adoption curve:

https://pluralistic.net/2024/01/13/solidarity-forever/#tech-unions

Wiggin's report isn't just a snapshot of Amazon warehouse workers' dystopian present – it's a promise of Amazon tech workers' future. The future is here, in Amazon warehouses, and every day, it's getting closer to Amazon's technical offices.

(Image: Cryteria, CC BY 3.0, modified)


Hey look at this (permalink)



A Wayback Machine banner.

Object permanence (permalink)

#20yrsago How DRM will harm the developing world https://web.archive.org/web/20050317005030/https://www.eff.org/IP/DRM/itu_drm.php

#20yrsago AOL weasels about its Terms of Service https://yro.slashdot.org/story/05/03/14/0138215/aol-were-not-spying-on-aim-users

#20yrsago State of the Blogosphere: it’s big and it’s growing https://web.archive.org/web/20050324095805/http://www.sifry.com/alerts/archives/000298.html

#10yrsago Anti-vaxxer ordered to pay EUR100K to winner of “measles aren’t real” bet https://web.archive.org/web/20150315001712/http://calvinayre.com/2015/03/13/business/biologist-ordered-to-pay-e100k-after-losing-wager-that-a-virus-causes-measles/

#5yrsago TSA lifts liquid bans, telcos lift data caps https://pluralistic.net/2020/03/14/masque-of-the-red-death/#security-theater

#5yrsago Honest Government Ads, Covid-19 edition https://pluralistic.net/2020/03/14/masque-of-the-red-death/#honest-covid

#5yrsago Ada Palmer on historical and modern censorship https://pluralistic.net/2020/03/14/masque-of-the-red-death/#ickyspeech

#5yrsago When Sysadmins Ruled the Earth https://pluralistic.net/2020/03/14/masque-of-the-red-death/#eschatology-watch

#5yrsago Masque of the Red Death https://pluralistic.net/2020/03/14/masque-of-the-red-death/#masque

#1yrago The Coprophagic AI crisis https://pluralistic.net/2024/03/14/inhuman-centipede/#enshittibottification


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, pounding the podium.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Enshittification: Why Everything Suddenly Got Worse and What to Do About It, Farrar, Straus, Giroux, October 7 2025
    https://us.macmillan.com/books/9780374619329/enshittification/
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2026

  • Enshittification, Why Everything Suddenly Got Worse and What to Do About It (the graphic novel), Firstsecond, 2026

  • The Memex Method, Farrar, Straus, Giroux, 2026



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Status: second pass edit underway (readaloud)
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: With Great Power Came No Responsibility: How Enshittification Conquered the 21st Century and How We Can Overthrow It https://craphound.com/news/2025/02/26/with-great-power-came-no-responsibility-how-enshittification-conquered-the-21st-century-and-how-we-can-overthrow-it/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

ISSN: 3066-764X

16:28

Song Premiere: “Lose Your Mind” by Cumulus [The Stranger]

We’ve Got It All is drenched in nostalgia but not in the usual saccharine, obsessed-with-our-fleeting-youth sort of way. by Megan Seling

Alexandra Lockhart’s project Cumulus has always been a collaborative effort. It may have started as a solo(ish) project, at times literally existing in a bedroom, but for more than a decade now, Lockhart has surrounded herself with friends and fellow musicians to help bring her music to life both in the studio and onstage.

Among them, at least since 2018’s Comfort World, has been William Cremin, who’s worked with Travis Thompson, the Torn ACLs, and Skeletons With Flesh on Them, among others. Last year, while recording the fourth Cumulus full-length We’ve Got It All, Lockhart and Cremin made their music partnership official, announcing Cremin was a permanent part of the band. 

“For this new record, I wanted to explore more territory emotionally and sonically that I knew would require being more vulnerable and opening myself up to bigger contributions from William,” says Alex. “So it just made sense to say out in the open: These songs are as much William’s as they are mine!”

We’ve Got It All is drenched in nostalgia but not in the usual saccharine, obsessed-with-our-fleeting-youth sort of way. Instead of getting lost in the good old days, Lockhart remembers the music that shaped her into who she grew up to be and uses those memories as a map to help her find her place in today’s world.

Take, for example, the album's second single, “Lose Your Mind.” Lockhart’s optimistic lyrics are at first only accompanied by piano, but the song blooms into a vibrant burst of harmonies and guitar that almost feel like it was plucked from a jam session from the Band’s The Last Waltz.

For The Stranger’s premiere of the track, Lockhart and Cremin offered a little more insight into the creative process behind the upcoming record, and the music that inspired it.

One thing I’ve always appreciated about Cumulus and your songwriting is your focus on prioritizing comfort, especially when the rest of the world feels so unsettling and scary. Your 2018 album was called Comfort World, in 2022 you offered Something Brighter. You acknowledge the bullshit but then offer not an escape, really, but a cozy place to decompress. A reminder to slow down. Does that trend continue on this album, too? 

Alex: Your observation is going to make me emotional! I’ve always looked to songs that I love as like… being in the company of a good friend. When a songwriter is honest about how they are experiencing the world around them, as a listener, I can’t help but feel connected, inspired, and less alone. If my songs offer a cozy place to decompress, I would say that probably has happened naturally out of the fact that it’s the exact reason I go to music myself. I don’t go to music to escape. I go to music to feel things more deeply, maybe think about things a little differently, and connect myself to the world. Thank you for giving me the best compliment a songwriter could ever ask for! 

William: Yes! There’s always a balance between taking care of yourself and staying engaged with this increasingly horrifying world, not looking away. That’s obviously something we’re all reckoning with, and it’s a big part of this album. For me, one of the most crucial bits of sequencing was putting our self-care mantra, “Welcome Back to Me,” right after “Bad News.” You have to face the heaviness, and you also have to balance that out somehow.

Related to that, We’ve Got It All also celebrates the music that has shaped you. “Wolves,” “Old Friend,” “Dad Song”—several tracks refer to lyrics and liner notes and bonding with others through music. Who are some of the musicians, or what are some of the songs that were running through your mind as you wrote these? 

Alex: I love that you noticed this theme! This was a record where I wanted to be really unabashed about my influences and nostalgia of ’90s/ early-2000s music. “Wolves” is a reflection on growing up in Oak Harbor, a military town, and discovering punk music with these girls I idolized who eventually became my best friends (and still are!). They skateboarded and played in a band, wore their hair in liberty spikes, and in my most vivid memories we would spend hours in the garage just rocking out to the Distillers’ Coral Fang album. They helped me imagine more possibilities for myself. 

“Old Friend” is a song I wrote with Aaron Guest, who plays piano on the record as well. We got together in 2022 and started this song just as a fun co-writing attempt, and in 2024 as I was looking at old notebooks of lyrics, the lyric sheet literally fell out, and I was like, “Oh shit, I love this song!” When Aaron and I initially got together, I think this song leaned heavily into the storytelling tradition of John Prine, and Bruce Springsteen, where the finer details are fiction but still telling a very real story. For both the person who stays in the hometown and gives up a dream, and the person who leaves to chase it—there is real sacrifice, and the grass is always greener on the other side. 

“Dad Song” is a bit of a long story, but ultimately, it’s about my fandom of my dad and also Third Eye Blind. My dad’s love of live music and radio stations like 103.7 the Mountain was infectious to me, and I fell in love with the pop-rock bands of that era. We went to Bumbershoot together in 1998, and I was 10 years old, singing along to every word on “Semi-Charmed Life” with obviously no idea about the drug references. Many years later, as Blue came out, my dad and I were on our yearly summer road trip to Lake Chelan, listening to Third Eye Blind and reading all the liner notes. We got to “Deep Inside of You,” and it became a true “birds and the bees” moment that still cracks me up all these years later. 

You also reference road trips and long drives, so I have to ask (because I love to talk about snacks): What is your go-to road-trip snack?

Alex: I’m a drowsy driver, so I always need caffeine on a road trip, and despite hating most energy drinks, I love the Monster Rehab tea. Maybe some Boom Chicka Pop Sweet and Salty popcorn and some adult Lunchable-type salami-and-cracker snack. 

William: On one tour, I brought a huge stash of GoMacro bars, which absolutely saved the day on more than one occasion.

I read that you are donating a portion of your album proceeds to an organization that focuses on mental health. Can you tell me a little more about that and why that’s important to you to do that in connection with your music? 

Alex: When I was pursuing music full time, one of the biggest struggles was having health insurance so heavily tied to an employer and being in and out of jobs in sacrifice to gigging and touring. I think this is a big part of what prevents creatives from being able to imagine the arts as a lifelong pursuit. MusiCares is a Grammy Foundation non-profit that provides musicians with resources to therapists, coverage for emergency medical care and regular health check clinics, as well as recovery funds for natural disasters like the fires that just happened in LA. I’ve struggled with depression and financial instability for most of my adult life, so I can’t help but want to support an organization like MusiCares, which is one of the only safety nets specifically for musicians and music industry professionals. Working with a non-profit record label like Share It Music is amazing because we get to release a record and give a little bit back. 

You recorded the album with a great group of musicians—John van Deusen from the Lonely Forest, Aaron Guest, Aaron Ball—what will the Cumulus lineup look like for the record release shows in May? Will it be a full band? 

Alex: Yes!! We will be playing as a six-piece band for all three release shows. Aaron Guest (Polecat) on Piano, Aaron Ball (Dryland) on drums, Brad Lockhart (Dryland/husband) on guitar, Jeff Ballew (Baby Cakes) on bass, and William on lead guitar (plus me singing and occasionally strumming!).

Preorder We've Got It All on Bandcamp. Cumulus play three record release shows next month. See them at the Wild Buffalo in Bellingham May 1, the Unknown in Anacortes May 2, and Conor Byrne in Seattle May 3.

Slog AM: Beloved Ave Resturant Might Be Replaced by a McDonald's, Beacon Hill Trees at Risk, King County is Growing Fast Again [The Stranger]

Seattle's only news roundup. by Charles Mudede

Say it ain't so. According to U District Advocates, Cedar's of Lebanon, "the oldest restaurant on The Ave," might be replaced by, of all things, a McDonald's. True, this is something rather new in this city, where the normal running of things is to give small businesses the boot for luxury towers that offer hoity-toity dining. In this case, it's the other way around: instead of going up, we are going down to a joint that basically doesn't really serve food, like Cedar's of Lebanon, but something like what humans are in The Matrix: batteries. If this bad business goes through, if we lose Cedar's of Lebanon, a key part of what for many years was known as Little Lebanon (it included Flowers Bar and Restaurant and Samir's Mediterranean Grill Lebanese Cuisine), for a Ronald McDonald, I'm going "to throw up both my hands."

In the words of U District Advocates: "For some of us, the introduction of a corporate chain restaurant, replacing three independent, small businesses with a block-wide façade, directly across the street from the entrance to our main light rail station, is very troubling." Indeed, indeed. And, more importantly, Cedar's of Lebanon has top-notch gyros. As for McDonald's, you have to go all the way up to our vast and once friendly neighbor to eat at that place. Canada actually makes sure their Mickey D's put real eggs and pork in their breakfast sandwiches. 

 

Beacon Hill also has some bad news on its plate. Seattle Department of Transportation (SDOT) may cut down a whole bunch of huge, often old Maple trees that line Beacon Avenue. This section of South Seattle demonstrates what Enrique Peñalosa, the former urbanist mayor of Bogota, meant when he described a sidewalk as “relatives of parks—not passing lanes for cars.” Sadly, however, Beacon Avenue's sidewalk is about to look less like a park and more like its opposite. After years of neglecting the street’s cracked and buckling sidewalks, SDOT is now faced with a project that demands a good deal of imagination to solve. But it seems the department wants to take an easy (or more "efficient") way around the problem, which is the destruction of numerous trees. And this destruction could begin tomorrow.

Though SDOT claims it's making every effort to be transparent, its press secretary, Ethan Bergerson, described the plan to me (it "will [get] started over the coming weeks with the initial sidewalk repairs that can be done without affecting trees") in way that doesn't jibe with the announcement SDOT posted on suspect trees: "If  the root pruning needed [for sidewalk improvements] does not allow the tree to remain stable and viable, it may be necessary to remove the tree within 14 days of this posting." The announcement was posted on February 27. That's two weeks ago. When I asked Bergerson if SDOT has ever considered a project that would require the destruction of lots of trees in North Seattle, I received no answer.

 

Seattle is still refusing to just die already. In fact, its county is growing like it's the "2010s again." Seattle Times' Gene Balk examined the data from the U.S. Census Bureau and found that "[the area's] population grew by about 43,400 from July 1, 2023, to July 1, 2024, for a growth rate of 1.9%." That’s the kind of increase our city saw when Amazon appeared to be a UTFO ("Untouchable Force Organization"). King County now has a population of 2.34 million.

After yesterday's tipping down, Seattle will experience a "'grab-bag' of weather." We have entered that zone of confusion ("confusion de confusiones") between the seasons. Expect days that behave like a nutter. Crying in the morning, laughing in the afternoon, screaming when entering evening, weeping again all night. So, it's not surprising that today we may experience "passing showers," and "a few thunder rumbles," and a "breezy afternoon," and the "occasional peeks of sunshine." 

Last week, two coyotes did a Bonnie and Clyde on Bellevue, reports King 5. One of them was killed by the Washington Department of Fish and Wildlife (WDFW); the other is still on the run. Officials have connected both with "five different attacks"—biting legs of citizens; trying to steal or stealing backpacks from defenseless schoolchildren. One of the coyotes even bit the hand of a kid (they will never forget that horrible moment in their childhood). King 5: "Officers are increasing patrols in that area in an attempt to locate the second animal."  

After the Fire, the Rain: Southern California is getting lots and lots and way too much of it. Evacuations and mudslides are just around the corner. Nothing can be normal anymore. We only live in the extremes.

Tech billionaires are now talking about building their own damn cities. Cities that follow their orders and money-fervid fantasies to a tee. No more of this democracy nonsense; no more "government oversight." These will be Freedom Cities. But what could a Freedom City do that, say, Hudson Yards doesn't? Billionaires already have everything. This is not our world; it's yours, all yours. 

Maybe now is a good time to return to these powerful lines by T. S. Eliot:

When the Stranger says: “What is the meaning of this city ?
Do you huddle close together because you love each other?”
What will you answer? “We all dwell together
To make money from each other”? or “This is a community”? 

Looks like Seattle's iconic billionaire, Bill Gates, is giving up on all "that hopey, changey stuff" and, according to the Seattle Times, "retooling his empire for the Trump era." Breakthrough Energy, a forward-thinking climate organization he bankrolls, has announced it's going the way of our DOGE-slashed Big Government: cuts, cuts, cuts, and more cuts. It's now time for him to play catch-up with the leaders of his pack. He, too, must become a gora (a vulture capitalist); he too must stick his long featherless neck into the rot of America. You see Beyoncé, this is why you should never want to be "a black Bill Gates in the making."  

These VP eyes transpired during the Irish prime minister's White House visit. The VP's socks also made some noise. 

JD Vance went heavy on the eyeliner this morning

[image or embed]

— Aaron Rupar (@atrupar.com) March 12, 2025 at 7:17 AM

 

Let's end with this excellent poem by Badu on the importance of being woke (its on her slamming track Master Teacher):

Even if yo baby ain't got no money
To support ya baby, you
(I stay woke)
Even when the preacher tell you some lies
And cheatin' on ya mama, you stay woke
(I stay woke)
Even though you go through struggle and strife
To keep a healthy life, I stay woke
(I stay woke)
Everybody knows a black or white, there's
Creatures in every shape and size
(I stay woke)

This Saturday, March 15, the Royal Room will celebrate the music and wokeness of badass Erykah Badu with a band lead by Sheila Kay. 

16:21

RIP Mark Klein [Schneier on Security]

2006 AT&T whistleblower Mark Klein has died.

15:35

[$] Warming up to frozen pages for networking [LWN.net]

When the 6.14 kernel is released later this month, it will include the usual set of internal changes that users should never notice, with the possible exception of changes that bring performance improvements. One of those changes is frozen pages, a memory-management optimization that should fly mostly under the radar. When Hannes Reinecke reported a crash in 6.14, though, frozen pages suddenly came into view. There is a workaround for this problem, but it seems there is a fair amount of work to be done that nobody had counted on to solve the problem properly.

Seven new stable kernels [LWN.net]

Greg Kroah-Hartman has announced the release of the 6.13.7, 6.12.19, 6.6.83, 6.1.131, 5.15.179, 5.10.235, and 5.4.291 stable kernels. They all contain a relatively large number of important fixes throughout the kernel tree.

14:49

Security updates for Thursday [LWN.net]

Security updates have been issued by Debian (chromium), Fedora (ffmpeg, qt6-qtwebengine, tigervnc, and xorg-x11-server-Xwayland), Red Hat (fence-agents and libxml2), SUSE (amazon-ssm-agent, ark, chromium, fake-gcs-server, gerbera, google-guest-agent, google-osconfig-agent, grafana, kernel, libtinyxml2-10, podman, python311, python312, restic, ruby3.4-rubygem-rack, and thunderbird), and Ubuntu (jinja2, linux-azure, linux-azure-4.15, linux-lts-xenial, linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency, netatalk, python3.5, python3.8, rar, unrar-nonfree, and xorg-server, xwayland).

14:28

The writer's web [Scripting News]

The web was initially designed for writers. Styling, links, paragraphs, titles (at all levels). The ability to edit. No character limits. That's what we had to work with when we started blogging in the mid-late 90s.

Then there was a big corner-turn in 2006. In an instant the web shrunk to almost nothing. No titles, no style, no links, 140 chars max. Enough to say "I'm waiting in line at the bank." Nothing wrong with that, but it isn't what I think of as writing.

A couple of years ago, I decided to focus on writers once again. I started developing ideas of what the writer's web would look like if we used today's technology. And here are the three main directions.

  • New technology. Since the last time we looked, Markdown was invented. RSS feeds had become instant. Websockets replaced long polling. Servers got cheap! And SQL is fast and the tools are much better. We'll use all the best new technology.
  • Modern interfaces. We'll borrow the best ideas from twitter-like systems. Writing a new post should be as easy as writing a tweet, but with all the features writers need at-hand, easy to access.
  • Open, for real. And best of all, it'll be open, for real, now -- not some day. Each component will be completely replaceable with simple APIs, and lots of example code.

I'm going to use WordPress as my basic back-end technology because it is reliable and broadly deployed, but you don't have to. The great thing about the web is that it's already federated. Nothing to wait for. 😄

We know how to do this. The only question is whether we choose to.

Best way to get started -- write a blog post about what the writer's web means to you. Send me a link. I'll read it.

dave@scripting.com

14:07

Paul Wise: FLOSS Activities February 2025 [Planet Debian]

Focus

This month I didn't have any particular focus. I just worked on issues in my info bubble.

Changes

Issues

Sponsors

The SWH work was sponsored. All other work was done on a volunteer basis.

13:21

CodeSOD: Don't Date Me [The Daily WTF]

I remember in some intro-level compsci class learning that credit card numbers were checksummed, and writing basic functions to validate those checksums as an exercize. I was young and was still using my "starter" credit card with a whopping limit of $500, so that was all news to me.

Alex's company had a problem processing credit cards: they rejected a lot of credit cards as being invalid. The checksum code seemed to be working fine, so what could the problem be? Well, the problem became more obvious when someone's card worked one day, and stopped working the very next day, and they just so happened to be the first and last day of the month.

    protected function validateExpirationCcDate($i_year, $i_month) {
        return (((int)strftime('%y') <= $i_year) && ((int)strftime ('%m') <= $i_month))? true : false;
    }

This function is horrible; because it uses strftime (instead of taking the comparison date and time as a parameter) it's not unit-testable. We're (ab)using casts to convert strings into integers so we can do our comparison. We're using a ternary to return a boolean value instead of just returning the result of the boolean expression.

But of course, that's all the amuse bouche: the main course is the complete misunderstanding of basic logic. According to this code, a credit card is valid if the expiration year is less than or equal to the current year and the month is less than or equal to the current month. As this article goes live in March, 2025, this code would allow credit cards from April, 2026, as it should. But it would reject any cards with an expiration of February, 2028.

Per Alex, "This is a credit card date validation that has been in use for ages."

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

10:49

A replacement for plastic [Richard Stallman's Political Notes]

A new kind of plastic degrades in sea water into compounds that will be eaten by bacteria, with no harmful residue.

Resist worldwide dystopia led by US [Richard Stallman's Political Notes]

*The world’s most admired democracy is being held hostage by a clique of far-right thugs. It would be a mistake to placate them.*

I am not sure that the US was really the most admired democracy a year ago. Certainly it had big flaws, introduced by earlier stages of plutocratist subversion. But it was, arguably, the oldest stable democracy.

Disconnected identities, UK and US [Richard Stallman's Political Notes]

*We've witnessed the rise of a kind of identity politics that sidelines class. And the far right is benefiting from it.*

An insightful article explains how identity politics on antisocial media tends to divide people into groups that argue about which of the many kinds of cruelty, and of the many groups that sometimes are caused to suffer, deserves the "worst oppression" award.

I don't like this competition. I prefer Martin Luther King's message, that we should try to help others who suffer and to end social injustices, regardless of "identity" groups.

Executive order: judge firings' legality [Richard Stallman's Political Notes]

One of the underminer's executive orders says that he can fire anyone in the federal government who disputes his version of what the law requires.

"The essence of it is that Donald Trump is trying, quite consciously, to make himself an elected dictator," said law professor Frank Bowman.

10:42

Grrl Power #1338 – Shadowcraft [Grrl Power]

Sciona’s managed to get herself on Maxima’s “More info needed” list. She’ll pass on her suspicions to Zephan about it he’ll assign someone to investigate further.

It’s got to be a party foul when you’re hanging out with people who can see in perfect darkness, and you light a cigar by emitting plasma from your fingertip. That’s quite a bit of contrast all at once. Of course, beings that can see in pitch black may not be doing it with some sort of visible light enhancement. They’re probably using infravision and, oh yeah, plasma is like 50,000 degrees. So, that would probably scar a Yautja’s retinas. Geeze, a lightning storm would blind whole cities on their world. (A yautja is a Predator, BTW.)

Oh, and Max didn’t exactly “shrug off” the 125mm round. Not that should couldn’t do it nowadays, but the T-72 event happened earlier in her career, and for P.R. reasons, she describes it as “shrugging off.” That scene may eventually be explained in the comic, but probably not as extensively as Peggy’s flashback.


I’m going to try something with this new vote incentive.

This month, I’m closing on a new house, selling my Mom’s house, finishing packing Mom’s house, moving city to city to the new house, forwarding mail, canceling utilities, all that. And after that’s done, I get to start the process of selling my old house, which needs a little work before it can realistically go on the market.

SO. I’m going to try and do this vote incentive in stages. Currently it’s just pencils. The TopWebcomics one will update with colors and detail until we get to the no clothes versions, then that will continue over at Patreon. Also there will be a comic or two in between each version to fill out the story.

I know it’s hard to tell from just the pencils, but this is Heatwave and Jiggawatt. The comics will explain why they’re doing what they’re doing. Although I feel like even saying that much makes it easy to guess, but hopefully the journey will still amuse.


Double res version will be posted over at Patreon. Feel free to contribute as much as you like.

09:21

The big sort [Seth's Blog]

The phone book was a groundbreaking innovation. For the first time, you could actually look up the person you were seeking to reach.

At about the same time, the department store arrived. You could actually have a shot at finding what you were hoping to buy.

TV Guide was, at one time, the most valuable magazine in the US, worth more than any TV network. Directories transform consumption.

Incrementally, slowly then all at once, we’ve multiplied the sorting and directory building of our world. We didn’t notice it happening, but we’ve sorted the people, the ideas, the media, the culture, healthcare, even which lake to go fishing on. Serendipity used to be normal, now it’s rare.

Why stumble when you can look it up?

It’s not simply the extraordinary efficiency of this sort that makes it important. It also represents a different expectation of how the world works.

There’s no place to go look up what to do with that insight, so we’ll have to figure it out as we go.

09:07

Joe Marshall: Tip: Alphabetize arbitrary lists [Planet Lisp]

Whenever I have a list of items, if there is no other better order for them, I arrange them in alphabetical order. Arbitrary lists have a way of getting large and unweildy over time, but if they are kept in alphabetical order, you can find the entries and spot omissions easier.

If there is a better ordering, then certainly use it. But keeping arbitrary lists alphabetized has two advantages: first, they are easier to use because you can find entries quicker. Second, it is a signal to the reader that the list is in fact in an arbitrary order.

04:42

Urgent: Save Social Security [Richard Stallman's Political Notes]

US citizens: call on Congress to keep the muskrat's hands off Social Security.

Urgent: Stand with Ukraine [Richard Stallman's Political Notes]

US citizens: tell Congress that America stands with Ukraine.

Urgent: Write to the USPS board [Richard Stallman's Political Notes]

US citizens: call on the USPS board of governors to resist the tyrant's plan to seize direct power over it.

Here's how to make the actionnetwork.org letter campaign linked above work without running the site's nonfree JavaScript code. (See gnu.org/philosophy/javascript-trap.html.)

First, make sure you have deactivated JavaScript in your browser or are using the LibreJS plug-in.

I have done the next step for you: I added `?nowrapper=true' to the end of the campaign URL before posting it above. That should bring you to a page that starts with, "Letter campaigns will not work without javascript!"

They indeed won't work without some manual help, but the following simple method seems adequate for many of them, including this one.

To start, fill in the personal information answers in the box on the right side of the page. That's how you say who's sending the letter.

Then click the "START WRITING" button. That will take you to a page that can't function without nonfree JavaScript code. (To ensure it doesn't function perversely by running that nonfree code, you can enable LibreJS or disable JavaScript by visiting that page.) You can finish sending without that code By editing its URL in the browser's address bar, as follows:

First, go to the end and insert `&nowrapper=true'. Then tell the browser to visit that URL. This should give you a version of the page that works without JavaScript. Edit the subject and body of your letter. Finally, click on the "SEND LETTER" button, and you're done.

This method seems to work for letter campaigns that send the letters to a fixed list of recipients, the same recipients for every sender. Editing and revisiting the URL is the only additional step needed to bypass the nonfree JavaScript code. I'm sure you'll agree it is a small effort for the result of supporting the campaign without opening your computer to unjust (and potentially malicious) software.

01:14

Be Our Guest [QC RSS]

we all saw it coming

00:56

Iconography of the PuTTY tools [OSnews]

Ah, PuTTY. Good old reliable PuTTY. This little tool is one of those cornerstone applications in the toolbox of most of us, without any fuss, without any upsells or anti-user nonsense – it just does its job, and it has been doing its job for 30 years. Have you ever wondered, though, where PuTTY’s icons come from, how they were made, and how they evolved over time?

PuTTY’s icon designs date from the late 1990s and early 2000s. They’ve never had a major stylistic redesign, but over the years, the icons have had to be re-rendered under various constraints, which made for a technical challenge as well.

↫ Simon Tatham

The icons have basically not changed since the late ’90s, and I think that’s incredibly fitting for the kind of tool PuTTY is. It turns out people actually offer to redesign all the icons in a modern style, but that’s not going to happen.

People sometimes object to the entire 1990s styling, and volunteer to design us a complete set of replacements in a different style. We’ve never liked any of them enough to adopt them. I think that’s probably because the 1990s styling is part of what makes PuTTY what it is – “reassuringly old-fashioned”. I don’t know if there’s any major redesign that we’d really be on board with.

↫ Simon Tatham

Amen.

No Cuts, No Furloughs—Tax the Rich! [The Stranger]

Donald Trump is determined to harm working and poor people’s living standards. With 13 billionaires in his cabinet, including Elon Musk, he has slashed over 14,000 federal union jobs and gutted social programs. His party’s threats to Medicaid come as they push more tax cuts for the rich. by Jozi Uebelhoer

Donald Trump is determined to harm working and poor people’s living standards. With 13 billionaires in his cabinet, including Elon Musk, he has slashed over 14,000 federal union jobs and gutted social programs. His party’s threats to Medicaid come as they push more tax cuts for the rich.

Democrats in Congress have failed to fight back, despite calling Trump an “existential threat.” This is no surprise, as they also serve elite interests. The party recently accepted $2.5 million from a top lobbyist for SpaceX and Palantir, companies set to profit from Trump’s cuts to unions and social programs.

Failing to fight Trump in D.C. is bad enough, but in Washington state, Governor Bob Ferguson is preparing to slash $7 billion from the budget, targeting over 50,000 unionized workers in the Washington Federation of State Employees (WFSE). These workers provide essential services, from child safety to infrastructure, clean waterways, and public education.

Ferguson plans mandatory monthly furloughs for two years, along with deep cuts to healthcare for low-income residents and firefighting services. This will lead to hospital ward closures, reduced juvenile rehabilitation, and fewer housing options for adults with developmental disabilities.

Republicans in DC have majorities in the house and senate, giving federal Democrats some leeway to claim powerlessness against Trump’s anti-worker attacks. But in Washington, state Democrats control both legislative houses—and yet they still plan to undermine working and poor people’s livelihoods. This comes as the state’s wealth grows, with 13 billionaires and a growing millionaire class. Adding to the hypocrisy, state politicians pushing furloughs on public workers recently gave themselves a 14% salary hike, with Ferguson’s pay rising from $204,205 to $234,275. Meanwhile, public-sector workers face a meager 5% raise over two years, effectively canceled out by furlough days and inflation.

Washington remains a haven for the wealthy while becoming unaffordable for the rest of us. The state’s tax system is the second most regressive in the nation. Democrats have controlled the governor’s office for 30 years, the Senate for 20, and the House for 23—yet they continue serving the elite. 

WFSE leadership rightly opposes the cuts and furloughs, demanding taxes on the rich instead. But a real fightback requires mass protests and a coordinated statewide strike, demanding zero cuts to workers and social programs and full funding through taxation on the rich. This would send a powerful message of working-class resistance against attacks from both Trump and the Democrats.

Without a mass movement, Ferguson and his party will not change course.

Why should we play by their rules? Waiting until after the budget is finalized to bargain again would be disastrous, locking in cuts and demoralizing workers. We’re told we must choose between rejecting furloughs or providing essential services—an outright lie. We must fight for both or risk losing everything.

Statewide union leadership has failed to act, so we, the rank-and-file, are taking it upon ourselves to do so. 

On Monday, the members of WFSE Local 889 unanimously passed a resolution calling for a mass statewide Day of Action on Wednesday, April 9, involving thousands of WFSE members, and solidarity from other unions and working people, before the budget deadline on April 27. The local also passed a resolution calling on WFSE statewide to rescind the endorsement of Governor Ferguson. 

WFSE President Mike Yestramski and labor leaders should be organizing mass protests, solidarity actions, and a one-day strike against Democratic austerity and Trump’s attacks. Workers—not billionaires or their political allies—keep the state running, and shutting it down is the necessary first step to defeating these cuts. Next, WFSE should lead a ballot initiative to end Washington’s regressive tax system, securing funding for housing, healthcare, education, and protecting unions.

We urge WFSE members and working people to join Workers Strike Back at a March 15th town hall to expose Democratic betrayals and organize against both parties of the bosses.

Seattle’s working people showed how to win under Kshama Sawant’s leadership, securing the nation’s highest minimum wage, at the time, through an engaged worker-led movement of everyday people. We must follow this example and fight back with everything we’ve got.

We built mass meetings, rallies, marches, neighborhood action groups, and a ballot initiative to pressure big business and Democrats: pass $15 or face the voters. Despite their attempts to block or weaken it, we won—turning $15 from a slogan into a nationwide movement. In 2020, Sawant and the Tax Amazon movement secured a historic tax on Seattle’s richest corporations, raising over $400 million last year alone for affordable housing. Sawant’s office won these victories alongside workers and union leaders, including WFSE’s Paula Lukaszek.

Now, Workers Strike Back is carrying this strategy forward nationwide. Our Fight the Rich campaign is building a movement to take down Trump, the billionaires, and both their parties. Defeating Trump means confronting the Democrats, whose betrayals let him pose as a friend of workers. Both parties serve the ruling class—we must fight both to win real change.

Capitalism is rule by and for the rich, built on stealing the wealth workers create. But we have the power to shut it down and force real change. Millions would stand with us if we did.

Jozi Uebelhoer is a social worker and a rank-and-file member of WFSE Local 889. Grey Martin is a hospital staff member and a rank-and-file member of WFSE Local 3488. Both are members of Workers Strike Back in Seattle and write in a personal capacity.

 

00:35

[$] LWN.net Weekly Edition for March 13, 2025 [LWN.net]

Inside this week's LWN.net Weekly Edition:

  • Front: PyPI terms of service; Zig 0.14; Matrix; Timer IDs and ABI; Module integrity checking; Capability analysis.
  • Briefs: Path traversal; Below vulnerability; Ubuntu 25.04; Flang; Gstreamer 1.26.0; Framework Mono 6.14.0; Quotes; ...
  • Announcements: Newsletters, conferences, security updates, patches, and more.

Wednesday, 12 March

23:28

Independent app stores [Richard Stallman's Political Notes]

Suggesting that Canada and Europe retaliate for US tariffs, not by putting up their own tariffs, but by allowing independent app stores.

Microplastics and photosynthesis [Richard Stallman's Political Notes]

A research project estimates that microplastics cut crop production by 4% or more by hampering photosynthesis when they get into plants.

They also retard the growth of algae, which slows the growth of sea animals.

Syria chaotic violence [Richard Stallman's Political Notes]

Chaotic violence has broken out in coastal northwest Syria between Assad loyalists and Turkey-sponsored groups who hate them.

Syria human rights [Richard Stallman's Political Notes]

*Syrian government reaches deal with Kurdish-led SDF (Rojava) to unite and respect human rights of Kurds.*

I admire what I have read about democracy in Rojava. The article doesn't make it clear whether that will be preserved under this deal.

Israel's lethal force [Richard Stallman's Political Notes]

6 weeks ago, the UN was *‘deeply concerned’ Israel using ‘unlawful lethal force’in West Bank.*

I hope to encounter and post a more detailed article soon.

Chemical plant pollution [Richard Stallman's Political Notes]

Astronomers are concerned that a proposed chemical plant in the Atacama desert will pollute the region's air and spoil it for many telescopes.

23:21

Ubuntu to replace classic coreutils and more with new Rust-based alternatives [OSnews]

After so much terrible tech politics news, let’s focus on some nice, easy-going Linux news that’s not going to be controversial at all: Ubuntu intends to replace numerous core Linux utilities with newer Rust replacements, starting with the ubiquitous GNU Coreutils.

This package provides utilities which have become synonymous with Linux to many – the likes of ls, cp, and mv. In recent years, there has been an effort to reimplement this suite of tools in Rust, with the goal of reaching 100% compatibility with the existing tools. Similar projects, like sudo-rs, aim to replace key security-critical utilities with more modern, memory-safe alternatives.

Starting with Ubuntu 25.10, my goal is to adopt some of these modern implementations as the default. My immediate goal is to make uutils’ coreutils implementation the default in Ubuntu 25.10, and subsequently in our next Long Term Support (LTS) release, Ubuntu 26.04 LTS, if the conditions are right.

↫ Jon Seager

Obviously, this is a massive change for Ubuntu, and while performance is one of the cited reasons for undertaking this effort, the biggest reason is, of course, security. To aid in the testing effort, Seager created a tool called oxidizr, with which you can swap between the classic versions and the new Rust versions of various tools to try them out in a non-destructive way.

This is a massive vote of confidence in uutils, and I’m curious to see if it works out for Ubuntu. I doubt it’s going to take long before other prominent distributions follow suit.

Chimera Linux drops RISC-V support because capable RISC-V hardware doesn’t exist [OSnews]

We’ve talked about Chimera Linux a few times now on OSNews, so I won’t be repeating what makes it unique once more. The project announced today that it will be shuttering its RISC-V architecture support, and considering RISC-V has been supported by Chimera Linux pretty much since the beginning, this is a big step. The reason is as sad as it is predictable: there’s simply no RISC-V hardware out there fit for the purpose of building a Linux distribution and all of its packages.

Up until this point, Chimera Linux built its RISC-V variant “on an x86_64 machine with qemu-user binfmt emulation coupled with transparent cbuild support”. There are various problems with this setup, like serious reliability problems, not being able to test packages, and a lack of performance. The setup was intended to be a temporary solution until proper, performanct RISC-V hardware became available, but this simply hasn’t happened, and it doesn’t seem like this is going to change soon.

Most of the existing RISC-V hardware options simply lack the performance to be used as build machines (think Raspberry Pi 3/4 levels of performance), making them even slower than the emulation setup they’re currently using. The only machine that in theory would be performant enough to serve as a build machine is the Milk-V Pioneer, but this machine has serious other problems, as the project notes:

Milk-V Pioneer is a board with 64 out-of-order cores; it is the only of its kind, with the cores being supposedly similar to something like ARM Cortex-A72. This would be enough in theory, however these boards are hard to get here (especially with Sophgon having some trouble, new US sanctions, and Mouser pulling all the Milk-V products) and from the information that is available to me, it is rather unstable, receives very little support, and is ridden with various hardware problems.

↫ Chimera Linux website

So, not only is the Milk-V Pioneer difficult to get due to, among other things, US sanctions, it’s also not very stable and receives very little support. Aside from the Pioneer and the various slow and therefore unsuitable options, there’s nothing else in the pipeline either for performant RISC-V hardware, making it quite difficult to support the architecture. Of course, this could always change in the future, but for now, supporting RISC-V is clearly not an option for Chimera Linux.

This is clearly sad news, especially for those of us hoping RISC-V becomes an open source hardware platform that we can use every day, and I wonder how many other projects are dealing with the same problem.

Sandwich, Don't Kill My Vibe [The Stranger]

Do you need to get something off your chest? Submit an I, Anonymous and we'll illustrate it! by Anonymous

The state of breakfast sandwiches in Seattle is abysmal. Why am I paying $15 for a bacon, egg, and cheese? As a native of the NY tristate area and a former resident of NYC, it absolutely pisses me off to no end.

This is not a luxury sandwich. This is not a sandwich you wake up at 7 a.m. to wait in line for 45 minutes to get. This is a sandwich for the people. It’s a sandwich for the construction worker on their way to their early morning shift. It’s a sandwich for the working single mom who just dropped her kids off at school and needs nourishment before going to work. It's a sandwich for the broke teen who cobbled together $5 in quarters to get an after-school snack and Arizona Iced Tea with their friends. This is why the bacon, egg, and cheese has been a mainstay of NYC bodega culture for so long.

It’s not about the ingredients. Hell, it’s not even about the sandwich itself. It’s about what the sandwich represents—a delectable delicacy made by the working class for the working class. Until Seattle cafes and restaurants reckon with this fact, we are doomed to mediocrity.

Oh, and don’t put scrambled eggs on your bacon, egg, and cheese. And for the love of God, please use a hard roll.

Do you need to get something off your chest? Submit an I, Anonymous and we'll illustrate it! Send your unsigned rant, love letter, confession, or accusation to ianonymous@thestranger.com. Please remember to change the names of the innocent and the guilty.

Stranger Suggests: mxmtoon, Roq La Rue’s Grand Re-Opening, Lemon Boy, Nosferatu with Radiohead [The Stranger]

One really great thing to do every day of the week. by Julianne Bell WEDNESDAY 3/12  

mxmtoon
(MUSIC) I recently discovered the Nashville-based singer-songwriter mxmtoon via the adorable video game Dave the Diver, in which the player splits their time between catching seafood and managing a sushi restaurant—and in which mxmtoon, aka Maia, makes a cameo as a pixelated version of herself. It wasn’t long before I found myself enamored of her charmingly confessional lyrics and floaty melodies. Her latest album, liminal space, evokes the relatable feeling of being stuck in an in-between stage of life, with standout songs like “rain” (which explores nostalgia and the difficulty of staying present) and “i hate texas” (a cheeky kiss-off to an ex). (Showbox SoDo, 8 pm, $35-$40, all ages) JULIANNE BELL

THURSDAY 3/13  

Coyle’s 10th Anniversary Party

Happy birthday, Coyle's! COURTESY OF COYLE'S

(FOOD & DRINK) Rachael Coyle's charming Greenwood bakery is going all out for its brick-and-mortar's 10th birthday with free mini slices of birthday cake (while supplies last), a photo booth, coloring sheets, temporary tattoos, and likely "an absurd number of decorations." A small business surviving the pandemic and making it to a decade is definitely a milestone worth commemorating, especially these days: As Rachael wrote in an email newsletter, "I’m particularly eager to celebrate ten years because our five-year anniversary (in March of 2020), was marked by the beginning of the pandemic, and our future seemed especially uncertain...I’m grateful for the community that has grown up around the shop: our wonderful staff, vendors, and of course, our fantastic customers. My life is so much richer for having this community and I hope that yours is too." (Coyle’s Bakeshop, 7 am–3 pm, free, all ages) JULIANNE BELL

FRIDAY 3/14  

Roq La Rue’s Grand Re-Opening Party

“Bichos Raros (Weird Bugs)” by Femke Hiemstra COURTESY OF ROQ LA RUE

(VISUAL ART) Kirsten Anderson opened Roq La Rue in 1998 in a rundown Belltown storefront that was slated for demolition. It was right around the time pop surrealism was starting to become popular, and it was the place to see artists such as Femke Hiemstra, Todd Schorr, Mark Ryden, and Jim Woodring. Twenty-seven years later, after setting up shop in Capitol Hill, Pioneer Square, and, most recently, Madison Valley, Anderson is returning to her Belltown roots. The newest incarnation of Roq La Rue opens March 14, in a 2,500-square-foot space inside the NW Work Lofts on Denny Way. Anderson’s marking the occasion with three different shows: Spectacle du Petit, a collection of small works from several artists, Unveiled, featuring large-scale work by Beth Cavener, Josie Morway, Carles Gomila, and Jason Puccinelli, as well as Frank Gonzales’s solo show Frequencies. When interviewing Anderson in 2023, to mark the gallery’s 25th anniversary, I asked, “What’s next? Another 25 years?” She chuckled and said, “I’m probably doing this until I die.” Viva Roq la Rue! (Roq La Rue, 6–9 pm, free, all ages) MEGAN SELING

SATURDAY 3/15  

Josh Faught: Sanctuary

Sanctuary [detail] by Josh Faught, 2017 Courtesy of the Henry Art Gallery

(VISUAL ART) San Francisco-based multimedia artist Josh Faught’s varied works blend weaving techniques, found objects, and ephemera to contemplate the queer underpinnings of craft lineages and his own history. (If you dug Joey Veltkamp’s 2022 Bellevue Arts Museum exhibition SPIRIT!, this show might appeal.) I’m intrigued by Faught’s cotton-hemp piece Sanctuary, adorned with a button that reads, “Be kind. I have a teenager.” In a press release, the Henry explained the artist “reimagines systems of classification that assign social and cultural value, investigating how collective and individual identities are shaped and examining structures of social support and visibility.” (Henry Art Gallery, Thurs–Sun, sliding scale, all ages) LINDSAY COSTELLO

SUNDAY 3/16  

Lemon Boy, Fun Parents, Crybabysitter 

(MUSIC) Lemon Boy is the band you listen to when you're pissed off at anything and everyone. Mansplaining? "Guitar Center (Sucks)." The male gaze? "Body Horror." Internalized misogyny? "Sugar Daddy." Insecure assholes projecting their lack of confidence onto you? "Piss Baby." Whatever bullshit you've faced, Yasiman Ahsani and Nicole Giusti have faced it too, and they've channeled that rage into delightfully bratty "fuck you" punk anthems. They even have a metalcore-kissed cover of Britney's "Toxic," which feels especially appropriate after reading Spears's biography. People were terrible to her! All the time! Anyway, this weekend, Lemon Boy will celebrate the arrival of their new drummer with a free show at Cha Cha. It's way cheaper than a therapy session! (Cha Cha, 8 pm, free, 21+) MEGAN SELING

MONDAY 3/17  

Kells 42nd Annual St. Patricks Irish Festival

Doors open at 10 am and music starts at noon at Kells on St. Patrick's Day. Courtesy of KELLS

(FOOD & DRINK) Kells' 42nd annual shamrock-festooned celebration kicks off on March 8 and continues with daily revelry through St. Patrick's Day (if you've got the stamina). As usual, Post Alley and First Avenue will be closed to traffic and covered by a large tent to support expanded celebrations, including rugby watch parties and performances by local musicians like the Belfast Bandits, Máirtín Ó Huigin, and U2 tribute band Vertigo Zoo. Don't forget the house-brewed beers and classic Irish dishes—corned beef, anyone? (Kells Irish Restaurant & Pub, 10 am, $20, 21+) SHANNON LUBETICH

TUESDAY 3/18 

Nosferatu with Radiohead: A Silents Synced Film

(FILM/MUSIC) Keep the haunted vibes rolling right into March with the bald, spidery, and downright yucky Count Orlok in F.W. Murnau's eerie 1922 classic Nosferatu. Werner Herzog once described it as "the greatest German film," and he should know, right? This screening will be a little different, though—Silents Synched pairs classic silent flicks with "epic rock music." One of the most brazenly millennial things about me is that I love Radiohead, especially their atmospheric aughts-era albums Kid A and Amnesiac. So, I'm actually okay with this. The albums should add mysterious new layers of sonic depth to the 102-year-old film. (Central Cinema, times vary, $12, all ages) LINDSAY COSTELLO

:zap: Prizefight! :zap:

Win tickets to rad upcoming events!*

Neriah
March 15, Barboza

ENTER NOW!

Contest ends March 14 at 10 am

Dancing with the Stars
March 19, Paramount Theatre

ENTER NOW! 

Contest ends March 17 at 10 am

*Entering PRIZE FIGHT contests by submitting your email address signs you up to receive the Stranger Suggests newsletter. You can unsubscribe at any time.

23:07

GNU Terry Pratchett [Judith Proctor's Journal]

  Here's my Pratchett filk that I wrote around the time he died - the tune is "Bread and Fishes"

 
As I walked through the corridors, sleepless at night,
I saw in the bar a familiar sight.
A man in a hat, I had thought he was dead,
A teller of stories who smiled as he said:
 
Oh, the turtle's still moving, she swims through the sky,
With her cargo of elephants riding so high,
The Discworld's still turning, the sun still goes round,
And all of my people are safe on the ground.
 
I sat down beside him, he showed me a chair,
We nibbled on peanuts someone had left there,
He told me of wizards and witches and kings,
And of the Patrician who knows everything.
 
Oh, the turtle's still moving, she swims through the sky,
With her cargo of elephants riding so high,
The Discworld's still turning, the sun still goes round,
And all of my people are safe on the ground.
 
I sat there and listened until daylight came,
I know that I never will see him again,
But stories keep living as long as they're read,
'Twas the teller of stories who smiled as he said:
 
Oh, the turtle's still moving, she swims through the sky,
With her cargo of elephants riding so high,
The Discworld's still turning, the sun still goes round,
And all of my people are safe on the ground.


comment count unavailable comments

21:49

Link [Scripting News]

Highly recommend this week's New Yorker Radio Hour interview with Stephen Kotkin of Stanford. He's an expert on Russian history, biographer of Stalin, he talks about what Trump is doing, and as I listened I realized we have not filled in how crazy or challenged the leaders of the other huge powers are. Trump apparently is not an outlier. Putin can't keep the war going in Europe indefinitely, their banking system is running on fumes and the people are tired of war (unlike in the US they feel their wars). There's tremendous corruption in the Chinese military, so Xi isn't rushing to try to take over Taiwan. It's easier and safer to just keep threatening. In the US we're shocked by what we've become, so quickly, we're failing to see the context. Kotkin also offers a perspective on the new media, relative to when TV and radio were new, and all the chaos the US has survived. He said something I believe is true, it'll be hard to turn America into a totalitarian state because every freaking American today was raised in a country where we had all the amendments. It'll be hard to get us to STFU. They have a plan in TrumpLand, but that doesn't mean it will work.

‘I feel utter anger’: from Canada to Europe, a movement to boycott US goods is spreading [OSnews]

In Canada, where the American national anthem has been booed during hockey matches with US teams, a slew of apps has emerged with names such as “buy beaver”, “maple scan” and “is this Canadian” to allow shoppers to scan QR barcodes and reject US produce from alcohol to pizza toppings.

[…]

In Sweden, more than 70,000 users have joined a Facebook group calling for a boycott of US companies – ironically including Facebook itself – which features alternatives to US consumer products.

[…]

In Denmark, where there has been widespread anger over Trump’s threat to bring the autonomous territory of Greenland under US control, the largest grocery company, the Salling group, has said it will tag European-made goods with a black star to allow consumers to choose them over products made in the US.

↫ Peter Beaumont at the Guardian

These are just a few of the examples of a growing interest in places like Canada and Europe to boycott American products to the best of one’s ability. It’s impossible to boycott everything coming from a certain country – good luck finding a computer without American software and/or hardware, for instance – but these small acts of disapproval and resistance allow people to vent their anger. It’s clearly already having an effect on Tesla, whose sales have completely collapsed in Europe, so much so that the president of the United States has to do his best Billy Mays impression in front of the White House to help his buddy sell cars.

Very classy.

With the United States threatening war on Canada, Greenland and Denmark, and Panama, it’s only natural for citizens of those countries, as well as those of close friends of those countries, to want do something, and being more mindful or what you spend your money on is a tried and true way to do that. Technology can definitely help here, as we’ve talked about before, and as shown in the linked article. While no tool to determine place of origin of products will ever be perfect, it can certainly help to avoid products you don’t want to buy.

I can only hope this doesn’t get even more out of hand than it already has. The United States started a trade war with the European Union today as well, and of course, the EU retaliated. I doubt the average person has any clue just how intertwined the global economy and supply chains are, and that the only people paying for this are people like you and I. The tech billionaires and career politicians won’t be the ones screwed over by surging prices of basic necessities because of tariffs, and it won’t be the children of the rich and powerful being sent to war with Canada or Panama or whatever.

The very companies that OSNews has reported on for almost 30 years are the ones pushing and enabling most of this vile nonsense, so yes, you will be seeing items about this here, whether you and I like it or not. Only cowards and the privileged have the luxury of ignoring what the United States is doing right now.

Narratoid [Penny Arcade]

I don't name the things inside Monster Hunter Wilds! That was not my job. But if it had been my job, I would have probably named it the same thing just to get an easy strip out of it. They're giving this shit away! They're giving this shit away.

20:14

A Film About Beating the Shit Out of a Billionaire [The Stranger]

See Swept Away at the Beacon Cinema, March 9–12. by Charles Mudede

Now that class warfare is in the open, thanks to a certain billionaire, it is a good time to talk about Swept Away.

In the 1974 film directed and written by the late, brilliant, Italian director Lina Wertmüller, when the “puttana ricca” Raffaella Pavone Lanzetti (played by Mariangela Melato) gets knocked around by the deckhand, Gennarino Carunchio (played by Giancarlo Giannini, a regular in the Wertmüller’s cinema), we are plunged into a swarm of conflicted feelings. Yes, she is the worst. Indeed, the sailor has been abused by an economic system that concentrates socially produced wealth into a few hands. But the working-class man becomes a monster.

This confusion of feelings is worsened by the fact that Melato is a brilliant actor. She is Raffaella Pavone Lanzetti: a woman who hates even the smell of labor. And when, on the yacht owned by her filthy rich husband, she treats the deckhand (Giuseppe) like a dog, we do not doubt it for a minute. This is her to the max. Then the storm happens. Then the little boat the deckhand and woman happen to be on is blown to the island. Then Giuseppe, who can fish and do other useful life-supporting things, is in power. He has complete control over Raffaella. And he abuses this power with shocking violence.

We are not talking about the 2002 remake directed by Guy Ritchie. Nothing positive can be said about that film, which has Ritchie’s then-wife, Madonna, as its star. The biggest problem I have with the remake is that I don’t hate Madonna. Sure, she was never much of a singer, but she emerged from a New York City that, between 1978 and 1984, was magical. So watching her portray a rich, ice-cold woman is nothing but brutal.

Madonna can’t act, and so she could never be anything like the horrible character (Amber Leighton) she plays; a woman who never lifted a finger in her life, a woman whose indifference to working-class misery and struggles is total. This is not Madonna. It’s not in her bones. She began as a little mall flower. A dreamer who had nothing but raw, blond ambition. And so when, in the movie, she is stranded on an uninhabited Mediterranean island with a violently misogynistic deckhand, Giuseppe Esposito (Adriano Giannini), who worked on the storm-swept luxury ship her husband chartered, we are horrified. He treats the “rich bitch” like shit. He smacks her around. But all we see is some man hitting and spitting on Madonna! She supported the gay community during the darkest hours in the ’80s. Leon Robinson played a controversial Black saint in her video for the song “Like a Prayer.” Why is this brute punching, kicking, and slapping Madonna?

But the viciousness in the original film is visceral and believable. The most brutal scene in Wertmüller’s movie occurs at the start of its second half. Giuseppe is chasing Raffaella up and down dunes because she disobeyed an order (“undress”). This time, he is going to teach her a lesson. She will pay for everything that’s wrong with society. Whenever he catches or tackles her, he really lays into her while delivering angry commentary about how the rich exploit the poor. “[You] fucking whore. Capitalist. Social democrat.” “This is about the financial session caused by you and your friends.” “[This is] for tax evasion and money you sent to Switzerland.” “This is for the unfortunate who can’t find a bed in the hospital.” “This [is for increasing] meat prices, in parmesan.” “This is for oil and soft drinks.” “This is because you made us afraid of life.” (By the way, Giuseppe is a communist.)

What is going on here? What is Wertmüller pointing out? The limits of Marxism. The thing that must be appreciated in Swept Away is its scientific approach, isolating a system so its basic properties can be examined. Wertmüller does this by isolating two of three properties of capitalism, labor and capital, on an island. The late German economist Peter Flaschel turned to Goethe’s Faust to describe these elementary units of capitalism: “Two souls, alas, are housed within my breast / And each will wrestle for the mastery there.”

But Wertmüller’s story has a twist. She introduces gender into the isolated system (in science, a system is the subject of an experiment, and whatever is outside of it is the universe). What would this experiment have looked like if it isolated Giuseppe and Raffaella’s husband, Signor Pavone Lanzetti (Riccardo Salvino)? Something far less complicated than what we find in Wertmüller’s Swept Away, which challenges the orthodox Marxist insistence that class is universal, and all other issues, such as identity, are secondary or, more philosophically, accidental. The universal subject of history will melt all the accidental properties of capitalism into air. Wertmüller’s experiment does a number on universalist Marxism.

But there is also Ruben Östlund’s Triangle of Sadness to consider. Those familiar with this 2022 film will not miss its Swept Away echoes. There is a luxury ship of rich people serviced by the working class. There is a storm that’s followed by an attack by African pirates. There is an explosion, a sinking, and a few survivors on an uninhabited island. One of them knows how to fish and do life-supporting things. This is Abigail (Dolly de Leon), one of the ship’s cleaners. Abigail sees her opportunity and seizes it. But she is not ideological; she is a mere low-wage earner in a capitalism that’s now global.

Wertmüller’s Swept Away is really about Italy, which went through political turbulence during the 1970s. Triangle of Sadness is truly sad because Marxism has been reduced to a ship’s alcoholic captain (Woody Harrelson), who seems to have learned about Marx and socialism from quotes posted on Instagram. As much as we hate Giuseppe in Swept Away, he at least knew his stuff. His critique of capitalism has some depth. In Triangle of Sadness, there is no such depth. The cleaning person’s abuse of power on the island (she demands sex from the boyfriend of an internet influencer) is not shocking. Trading places seems normal in Östlund’s capitalism.

All in all, the system of exploitation that organizes the whole of our planet makes no sense if its opponents exclude race and gender. This was Wertmüller’s explosive contribution to leftist theory. And it is why the left must not abandon identity politics. It is clear that the right hasn’t. All of the president’s men are superrich and white. And they are beating the shit out of the rest.

          View this post on Instagram                      

A post shared by The Stranger 🗞 (@thestrangerseattle)

 

See Swept Away at the Beacon Cinema, March 9–12.

20:07

Free Software Directory meeting on IRC: Friday, March 14, starting at 12:00 EDT (16:00 UTC) [Planet GNU]

Join the FSF and friends on Friday, March 14 from 12:00 to 15:00 EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

17:56

Page 53 [Flipside]

Page 53 is done.

Katie Wilson Wants to Be Your Mayor [The Stranger]

Katie Wilson, the General Secretary of the Transit Riders Union and long-time local progressive organizer, is running for Seattle mayor. by Hannah Murphy Winter

Katie Wilson, the General Secretary of the Transit Riders Union and long-time local progressive organizer, is running for Seattle mayor. 

This is Wilson’s first run for office, but she’s already well known in Seattle’s political spheres as an organizer and policy advocate, fighting for—and winning—campaigns for raising the minimum wage, affordable transit, and progressive revenue, as well as a regular columnist for The Stranger and The Urbanist. She joins a small field of emerging challengers against our Chamber of Commerce-backed mayor, Bruce Harrell. 

In an in-depth conversation with The Stranger, Wilson described the mayor she hopes to be: a coalition builder who’s able to reach across the aisle to find common goals, without diluting progressive, research-backed policies; and a bold innovator, willing to test new ideas and push forward on issues that have stagnated in this city for a decade. 

Can she be that mayor? She’s untested in elected office, but for voters wondering if she can get it done, she urges them to look at her record as a policy advocate. “I've spent the last 14 years of my career organizing, building powerful coalitions that win major victories for working people,” she told The Stranger. “And I've done all that from the outside. I would be happy to put my legislative record up against Bruce Harrell's any day of the week.” 

Wilson’s decision to run for mayor solidified just four weeks ago, after Seattle resoundingly voted to support Proposition 1A and fund a social housing developer. In that vote, she saw a city enthusiastically support a bold, new idea. “There's going to be a long road ahead to put the pieces together to make social housing work in Seattle,” she says. “And we need leadership that's going to fight to make that happen.” But when she looked to the person meant to carry out that mandate, it was Mayor Harrell—the literal face of Prop 1A’s opposition. 

For Wilson, that contrast captured just how out-of-step Harrell is with Seattle voters. “That was by no means my only reason for running,” she says, “but that was the moment that tipped my thinking: Seeing Harrell’s face plastered on all those mailers trying to undermine the new social housing developer—a campaign funded by Amazon and the Chamber of Commerce—and seeing the resounding vote of confidence of Seattle voters and the desire to go big and bold on affordable housing.” 

“Seattle voters showed that they want big, bold action,” she said. “And so we need better leadership. That's why I'm running.”

Her frustration with Harrell didn’t begin with Prop 1A. The city’s entire housing and homelessness crisis encapsulates what she sees as Harrell’s failures as a leader: a term defined by inaction and lack of imagination. “Four years ago, when Harrell was running for mayor, he made some big promises on homelessness. He promised to open 2000 units of emergency housing shelter in his first year; he did not even come close to delivering those numbers.”

Instead, the crisis has deepened on his watch—Seattle now has twice as many unsheltered homeless people as New York City—a failure that Wilson thinks was avoidable. “It's unacceptable,” she says. “We need to find a way to get the folks who are currently sleeping on the street inside.”

The first step, she says, would be to acknowledge the crisis of unsheltered homelessness and shift the city’s priorities. “There's been an emphasis here over the past years on building permanent structures, and there are some good reasons for that, but we need to move faster,” she says. “I think we need to be opening Tiny House villages. I think we need to be working more closely with faith communities and other spaces that already exist.” 

She takes inspiration from dynamic programs like Purpose. Dignity. Action.’s JustCARE, which piloted field teams that could take an individualized approach: working on the ground with people in encampments, assessing each individual’s unique mental health history, any criminal background, and cycle of homelessness, before successfully placing them in lodging.  

Homelessness is, at its core, a housing crisis, she says. But it doesn’t exist in a vacuum. This approach allows the city to also address the nexus of unsheltered homelessness, the fentanyl crisis, and mental health. That would mean “rapidly acquiring several buildings, and making sure that people are going to have all the support they need,” she says. “And then we can really focus on especially that very small part of the homeless population that is cycling through the criminal justice system, and that is also often part of the drug-involved population.”

“We need to be offering people the housing and the services that work for them,” she says. “If we're not both investing more in treatment and making sure that that treatment is integrated with housing and continuing support services, then we're just going to fail.”

To approach these convergent crises, Wilson says she’s willing to be iterative, to try new ideas, and to invest in the ones that work. She proposes doing this through pilot programs—testing evidence-based approaches on a smaller scale, and making sure the city can put their money behind the programs that work. 

None of this is possible without new revenue—specifically a progressive revenue stream like a capital gains tax that taxes our city’s wealthiest residents, rather than increasing the tax burden on working and middle-class families. Harrell has shown little interest in such a tax, but if elected, Wilson thinks that she can make that a reality. In 2023, Wilson served on the city’s Revenue Stabilization Workgroup, “and we looked into the city's revenue options. And we have options! Some of them are going to require more work to be shovel ready, but the current administration is not doing that work.”

It’s another place where she says Harrell’s administration is out of step with the city’s residents, pointing to polling that shows a majority of Seattle voters support a capital gains tax. “Obviously, there are going to be some people who don't want to raise new progressive revenue—Chamber of Commerce, I'm looking at you,” she says. “But I think that more broadly, among both the population and stakeholders, people recognize that need.”

This is where she highlights her experience as a coalition builder—the trait she thinks distinguishes her most from other potential progressive candidates. Just last year, she brought together workers, small business owners, and elected officials to pass a higher minimum wage in Burien. 

She’s critical of Harrell’s history of hiring friends and family into essential government roles, and emphasized that one of her strengths is knowing how to build a team that can get it done—no matter what “it” is. “I'm very willing to learn from people,” she says. “I'm not here to say I have no ego, because I don't think anyone can say that. But I want to do a good job, and I want to learn from the people who know their stuff. And so I'm not going to surround myself with yes men. … City Hall shouldn't be an old boys club. We need people who are competent. We need people who are willing to be honest, including to their bosses, when they think things could be working better. And that's the kind of mayor that I would be.”

She’s the first to acknowledge that she’s been a vocal critic of many of the conservative-leaning council members who would be her colleagues and collaborators if she was elected, though. “I don't want to disown that at all. At the same time, I think it's very important for a mayor and council members to work together as far as possible, on as many issues as possible,” she says. 

“There are issues where we want similar, if not exactly the same, things,” she continued. “I think that the council members currently in office all do, in some way or other, genuinely want to do something about homelessness and public safety, for example. So if we can really have a fact-based, evidence-based conversation about what works and about what's necessary to get there, I think we can make progress. We don't all have to have the same politics to make progress.”

Before she decided to run for office, she started writing a series here in The Stranger, examining why the progressive left suffered such serious losses in the 2021 city elections, and what we can learn from them. She used it as a form of self-reflection—to figure out how to reclaim a political narrative on the left that captures voters. And while we’ve had some substantial progressive wins in the last year (see Prop 1A and the election of Alexis Mercedes Rinck), Wilson thinks we still have work to do on reclaiming the narrative of this city.  

In a January column, she sparked controversy and disagreement among progressives when she proposed that the left struggled to speak to the average Seattle voter about homelessness. She argued that the left was correct about the root causes and necessary solutions for homelessness and the opioid epidemic. That visible drug use doesn’t equate to crime; that the “root cause of homelessness is a severe shortage of affordable housing, the result of neoliberal underinvestment in subsidized housing and a long history of exclusionary zoning, intensified by Seattle’s tech boom; [That] the solution is to fund housing, shelter, and services at scale; [and] that sweeping people from one place to another is cruel and useless.” But she also argued that the left (herself included) had largely disregarded the reality that many Seattleites observed on the streets—a visible drug and housing crisis that makes some residents feel less safe, whether or not the statistics back that feeling up. 

In her interview with The Stranger yesterday, Wilson stood by that analysis. “We have to get at the root causes and recognize what those root causes are,” she says. “But at the same time, we need to also look at what people are experiencing on the ground when they walk down the street and they feel unsafe because someone's behaving aggressively and erratically, or doing drugs and dealing drugs. We need to do something in the short term. We can't just say, ‘Well, we're gonna get everyone the things that they need. And in a far-off utopia, you're not gonna have these problems, so just hang tight.’”

To Wilson, that means taking on the very emergency measures she’s proposing—rapid acquisition of shelter, on-site resources, and long-term treatment options. “If we can't address realities like that, then it's not just that we're not politically viable, we're not fit to govern. And I think that we need to learn to govern if we're going to make progress—if we're going to do the visionary things that we want to do and build the world that we want to build. We need to be able to exercise that responsibility. We can't just be shouting from the sidelines.”

That feels especially pressing now that Trump is in office—putting progressive city and state governments on the defensive. Wilson believes that the right progressive city leadership can defend its residents, while still making progress where it’s most important. “If you look at the record of the work that I've done over the years, it's all been focused on getting results,” she says. “It's been focused on winning concrete things that put money in people's pockets and improve their quality of life. That's the focus that I would want to bring into City Hall. Whatever the national situation is, whatever the local political situation is, let's figure out the things that we can get done that will make a difference on the ground, and let's do them.”

“The next few years under Trump, shit is going to be flying at us left and right,” she continued. “And we're also going to have to batten down the hatches and make sure that we're protecting people.” Progressive revenue would allow us to be more resilient if the Trump administration targets us for progressive policies, she says, “and, of course, we're all worried about impacts on immigrant communities, on the LGBTQ community. So it's inevitable that some of the things that we do are going to be reactive, trying to make sure that things don't move backward.”

But if elected, she refuses to stay on the defensive for three years. Even under Trump, she says, “we can have vision.” One such vision is a project she’s been building a coalition around for two years already—a model to support local journalism, similar to our democracy voucher program. It would establish a public funding stream for local news outlets, allowing individual residents to allocate that money to their preferred outlet. “We basically are living in a time when there's no sustainable financial model for much of the journalism industry,” she says. “Here in Seattle, we're poised to not just defend and react, but to do something creative and forward-looking…I think this is a model that really has potential to strengthen our local news ecosystem, expand accountability reporting, so that we have more eyes on City Hall. We have more eyes on the corporations that exert a lot of—often unaccountable—power in our city.”

“I think that we can be both,” she says. “We can both focus on the basics and focus on defense, and we can think about how we can move forward and do visionary things. I mean, we're the city that did the $15 an hour minimum wage—the first big city in the country. So I think we can also imagine the city that we want Seattle to be.”

In this year’s election, she’s asking voters to imagine with her—and believe that she can make it happen. “I'm a critic of City Hall, but I also know City Hall,” she says. “I'm not coming into this as a novice in how politics works and how government works and how governing works and I think that's an important position to fill right now—in a time where the status quo is clearly not working. We need to do things differently, but also we need to do things thoughtfully and from a place of knowledge and experience

 

17:49

[$] New terms of service for PyPI [LWN.net]

On February 25, the Python Software Foundation (PSF), which runs the Python Package Index (PyPI), announced new terms of service (ToS) for the repository. That has led to some questions about the new ToS, and the process of coming up with them. For one thing, the previous terms of use for the service were shorter and simpler, but there are other concerns with specific wording in the new agreement.

Traversal-resistant file APIs (The Go Blog) [LWN.net]

Damien Neil has written an article for the Go Blog about path traversal vulnerabilities and the os.Root API added in Go 1.24 to help prevent them.

Root permits relative path components and symlinks that do not escape the root. For example, root.Open("a/../b") is permitted. Filenames are resolved using the semantics of the local platform: On Unix systems, this will follow any symlink in "a" (so long as that link does not escape the root); while on Windows systems this will open "b" (even if "a" does not exist).

Pluralistic: Firing the refs doesn't end the game (12 Mar 2025) [Pluralistic: Daily links from Cory Doctorow]


Today's links



A cross-section of the head of a man who is wide-eyed and screaming. The head is elongated and is being sucked into a black hole.

Firing the refs doesn't end the game (permalink)

Let me tell you how I became a proud science denier, and how it saved my life.

It was about 15 years ago. I was living in London, and my wife's job came with a private health insurance buff that let us use private doctors instead of the NHS. I've had worsening chronic pain my whole life, and I've never found anything that made it better, so I thought, fine, I'll see a fancy specialist. So I started calling around to the quacks of Harley Street, London's elite medical precinct.

Soon, I found myself at the very posh offices of a psychopharmacologist who had good news for me: Opioids are safe! Far safer than we'd ever thought. So safe, in fact, that I should get on opioids right away, and take them every day for the rest of my life. I didn't have to worry about addiction. I'd be fine. He had a whole pile of peer-reviewed journal articles that supported this advice.

I didn't trust the science. I suspected that billionaire-owned pharma companies were engaged in a conspiracy to cook the evidence on the safety and efficacy of their products. I thought that the regulators who were supposed to prevent them from murdering me for money were in on the game – on the take, swapping favors for these companies for a promise of cushy industry jobs after they left the public sector.

I did my own research. I found people online who were citing other research from outside the establishment that confirmed my conspiracy theory. I decided that these strangers on the internet were more trustworthy than the respected, high-impact factor, peer-reviewed, tier-one scientific journals whose pages were full of claims about the safety and efficacy of daily opioid use for chronic pain sufferers like me. I took control over my own health. I didn't fill the Rx for the medicine my doctor had prescribed for me and advised me to start taking immediately. I fired my doctor.

I took these steps despite having no background in pharmacology, addiction studies, or medicine. I was totally unqualified to make that call. I was a science denier – but I was also right.

It probably saved my life.

A decade later, I found myself facing another medical question: should I get a new kind of vaccine, which was claimed to be effective against the covid-19 pandemic? The companies that manufactured that vaccines were part of the same industry that falsified the research on opioids. The regulators that signed off on those vaccines were the same regulators that signed off on opioid safety claims. Neither had ever been forced to reckon with the failures that led to the opioid epidemic. The procedures that allowed that shameful episode were the same, and the structures that allowed the perversion of those procedures were likewise the same. And once again, there was a clamor of dissenting voices from people who distrusted the official medical position on these new pharma products, insisting that they were the creations of pharma billionaires who didn't care if I lived or died, overseen by regulators who were utterly in their pockets.

I got the vaccine, and then several more. But I tell you what: I had no more rational basis to trust vaccines than I had for mistrusting opioids. I am not qualified to evaluate the scientific claims related to either question, and I know it.

This is an objectively very frightening situation to be in.

We navigate so many of these life-or-death technical questions every single day:

  • Is my Boeing plane airworthy?
  • Are the air traffic controllers adequately trained, staffed and rested?

  • Is the firmware for my antilock brakes of high quality?

  • Are the hygiene procedures at this restaurant robust enough to prevent the introduction of life-threatening pathogens and contaminants?

  • Are the pedagogical theories at my kid's school well-founded, or do they produce ignoramuses whose only skill is satisfying standardized testing rubrics?

  • Are the safety standards that specify the joists in my ceiling any good, or am I about to die, buried under tons of rubble?

Every one of these questions is the sort of thing that even highly skilled researchers and experts can – and do – disagree on. Definitively answering just one of these questions might require the equivalent of several PhDs. Realistically, you're not going to be able to personally arrive at a trustworthy answer to all of these, and it's very likely you won't even be able to answer any of them.

That's what experts are for. But that just raises another problem: how do you know which experts you should listen to?

You don't.

You can't. Even experts who mean well and are well-versed in their fields can make mistakes. For every big, consequential technical question, there are conflicts, both minor and major, among experts who seem to be qualified and honest. Figuring out which expert to trust is essentially the same problem as answering the question for yourself.

But despite all these problems, you are almost certainly alive as you read these words. How did that happen?

It's all down to referees. In our public policy forums, we entrust publicly accountable bureaucrats to hear all the claims of all the experts, sift through them, and then publish a (provisional) official truth. These public servants are procedurally bound to operate in the open, soliciting comments and countercomments to a public docket, holding public hearings, publishing readouts of private meetings with interested parties. Having gathered all the claims and counterclaims, these public servants reason in public, publishing not just a ruling, but the rationale for the ruling – why they chose to believe some experts over others.

The transparency obligations on these public servants – whom we call "regulators" – don't stop there, either. Regulators are required to both disclose their conflicts of interest, and to recuse themselves where those conflicts arise.

Finally, the whole process has multiple error-correction systems. Rules can be challenged in court on the grounds that they were set without following the rules, and the expert agencies that employ these regulators have their own internal procedures for re-opening an inquiry when new evidence comes to light.

The point of all this is to create something that you, me, and everyone we know can inspect, understand and verify. I may not have the cell biology chops to evaluate claims about MRNA vaccine safety, but I am equipped to look at the process by which the vaccines were approved and satisfy myself that they were robust. I can't evaluate the contents of most regulations, but I can certainly tell you whether the box the regulation shipped in was made of square cornered, stiff cardboard:

https://pluralistic.net/2024/03/25/black-boxes/#when-you-know-you-know

That's why the vaccine question was so tough. The opioid crisis had shown the procedure to be badly flawed, and the fact that neither the FDA nor Congress cleaned house after that crisis meant that the procedure was demonstrably faulty. Same goes for getting in a 737 MAX. The issue isn't that Boeing made some mistakes – it's that the FAA lets Boeing mark its own homework, even after Boeing was caught cheating:

https://pluralistic.net/2024/05/01/boeing-boeing/#mrsa

I'm not qualified to tell you how many rivets a jet plane's door-plug should have, but I can confidently say that Boeing has demonstrated that it doesn't know either, and the FAA has demonstrated that it has no interest in making Boeing any better at resolving this question.

It's no coincidence that our political process has been poisoned by conspiratorialism. America's ruling party is dominated by conspiracy fantasists who believe in all kinds of demonstrably untrue things about health, public safety, international politics, economics and more. They were voted in by an electorate that is similarly in the grips of conspiratorial beliefs.

It's natural to focus on these beliefs, but that focus hasn't gotten us anywhere. Far more important than what the Republican base believes is how they arrive at those beliefs. The Republican establishment – politicians, think-tankies, pundits, newscasters – have spent decades slandering expert agencies and also corrupting them, making them worse at their jobs and therefore easier to slander.

Market fundamentalism insists that "truth" is to be found in markets: if everyone is inserting radium suppositories, the government's has no business forcing you to stop stuffing radioactive waste up your asshole:

https://pluralistic.net/2024/09/19/just-stop-putting-that-up-your-ass/#harm-reduction

Rather than telling restaurants how often their chefs should wash their hands, we can let markets decide – merely require restaurants to display their handwashing procedures, and then diners can vote with their alimentary canals. To the septic goes the spoils! Of course, the government also has no business deciding whether their disclosures are truthful – isn't that why we have a First Amendment? So while we might require restaurants to display their handwashing procedures, we're not going to send the signage cops down to the diner to bust a restaurant for lying about those procedures.

The twin assault on both the credibility and reliability of expert agencies came to a head with the Loper Bright decision, in which the Supreme Court gutted expert agencies' rulemaking ability, seemingly in the expectation that Congress – overwhelming populated by very old people who trained as lawyers in the previous century – would make fine-grained safety rules covering everything from water to aerospace:

https://pluralistic.net/2024/11/21/policy-based-evidence/#decisions-decisions

Conspiratorialism is the inevitable outcome of a world in which:

a) You have to resolve complex, life-or-death technical questions which;

b) You are not qualified to answer; and

c) Cannot trust the referees who are supposed to navigate these questions on your behalf.

Conpsiratorialism is only secondarily about what you believe. Mostly, conspiratorialism is about how you arrive at those beliefs. Conspiratorialism isn't a problem of bad facts – it's a problem of bad epistemology.

We live in a true epistemological void, in which the truth is increasingly for sale.

That's the backdrop against which Doge is doing its dirty business. Doge's assault on expert agencies enjoys a depressing degree of popular support, but it's not hard to understand why: so many of our expert agencies have staged high-profile demonstrations of their unfitness, without any consequences, that it's easy to sell the story that these referees were all on the take.

They weren't, of course. Most expert regulators – career civil servants – really care about their jobs. They want to make sure you can survive a trip to the grocery story rather than shitting your guts out with listeria or giardia, that your plane doesn't collide with a military chopper, that your kids graduate school knowing more than how to pass a standardized test. The tragedy is that these honorable, skilled regulators' commitment to your wellbeing isn't enough to produce policies that actually safeguard your wellbeing.

Musk doesn't want to fix the real, urgent problems with America's administrative state: he wants to destroy it. He wants to fire the refs, because once you fire the refs, the game goes on – minus the rules. That's a great way to win support for authoritarian projects: "The state won't take care of you anymore (if it ever did, amirite?), but I will."

So they're firing the refs, and they're transforming the game of "survive until tomorrow" into Calvinball, a "nomic" in which the rules are whatever someone insists they are:

https://en.wikipedia.org/wiki/Nomic

Musk and Trump are in for a surprise. They have the mistaken impression that the rules only reined in their billionaire pals and the corporations that produce their wealth. But one of the most consequential effects of these rules is to limit labor activism. The National Labor Relations Act put very strict limits on union organizing and union militancy. Now that Trump has effectively shut down the National Labor Relations Board (by illegally firing a Democratic board member, leaving the board without a quorum), all bets are off:

https://pluralistic.net/2025/01/29/which-side-are-you-on-2/#strike-three-yer-out

Trump won office in part by insisting that America's institutions were not fit for purpose. He wasn't lying about that (for a change). The thing he was lying about was his desire to fix them. Trump doesn't want honest refs – he wants no refs. To defeat Trumpism, we need to stop pretending that our institutions are just fine – we need to confront their failings head on and articulate a plan to fix them, rather than claiming "America was already great":

https://pluralistic.net/2023/06/16/that-boy-aint-right/#dinos-rinos-and-dunnos


Hey look at this (permalink)



A Wayback Machine banner.

Object permanence (permalink)

#20yrsago AIM contract takes your privacy https://web.archive.org/web/20050303010141/http://www.aim.com/tos/tos.adp

#10yrsago NYPD caught wikiwashing Wikipedia entries on police brutality https://web.archive.org/web/20150313150951/http://www.capitalnewyork.com/article/city-hall/2015/03/8563947/edits-wikipedia-pages-bell-garner-diallo-traced-1-police-plaza

#10yrsago Portland cops charge homeless woman with theft for charging her phone https://www.streetroots.org/news/2015/03/06/homeless-phone-charging-thief-wanted-security

#5yrsago Locked-down Siennese sing their city's hymn https://pluralistic.net/2020/03/13/go-katie-go/#canto-verbena

#5yrsago Malware that hides behind a realtime Covid-19 map https://pluralistic.net/2020/03/13/go-katie-go/#co-evolution

#5yrsago Trump's unfitness in a plague https://pluralistic.net/2020/03/13/go-katie-go/#public-choice-nihilism

#5yrsago Rep Katie Porter forces CDC boss to commit to free testing https://pluralistic.net/2020/03/13/go-katie-go/#katieporter

#5yrsago Chelsea Manning is free https://pluralistic.net/2020/03/13/go-katie-go/#chelseafree

#5yrsago Where I Write https://pluralistic.net/2020/03/13/go-katie-go/#whereiwrite

#5yrsago Announcing the third Little Brother book, Attack Surface https://pluralistic.net/2020/03/13/go-katie-go/#attack-surface

#1yrago Bullies want you to think they're on your side https://pluralistic.net/2024/03/13/hey-look-over-there/#lets-you-and-he-fight


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, pounding the podium.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Enshittification: Why Everything Suddenly Got Worse and What to Do About It, Farrar, Straus, Giroux, October 7 2025
    https://us.macmillan.com/books/9780374619329/enshittification/
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2026

  • Enshittification, Why Everything Suddenly Got Worse and What to Do About It (the graphic novel), Firstsecond, 2026

  • The Memex Method, Farrar, Straus, Giroux, 2026



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Status: second pass edit underway (readaloud)
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: With Great Power Came No Responsibility: How Enshittification Conquered the 21st Century and How We Can Overthrow It https://craphound.com/news/2025/02/26/with-great-power-came-no-responsibility-how-enshittification-conquered-the-21st-century-and-how-we-can-overthrow-it/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

ISSN: 3066-764X

17:07

Slog AM: UW Declares Hiring Freeze, Canada Announces Retaliatory Tariffs, and Gov. Ferguson Might Cut Food Bank Funds [The Stranger]

The Stranger's morning news roundup. by Marcus Harrison Green

Weather: Imagine a day of sunshine, butterflies, birds, and bees harmonizing in rapturous melody as blue fills the sky on the cusp of spring. Forget about it. Just like yesterday, today will be cloudy and soggy, with a high of 50 degrees. 

Ukraine Ceasefire (Maybe): The US lifted its suspension of military aid and intelligence sharing with Ukraine after the country said it was open to an immediate 30-day ceasefire with Russia. The suspension of weapons aid followed the recent shitshow Oval Office meeting between Trump, Vance, and Zelensky. Trump’s lapdog, Rubio, stated that Washington would now present the ceasefire option—which includes no security guarantees for Ukraine—to the Kremlin. "He wants to be a president of peace," said Rubio, speaking out of both sides of his mouth about a man who had Mahmoud Khalil disappeared via ICE this week and who continues to fund the ongoing genocide in Gaza.

Escalating Trade War: Canada’s just said, “Oh, you want 25 percent on steel and aluminum, US? Hold my beer.” “The 51st state” has announced it will impose 25 percent tariffs on nearly $30 billion worth of US imports, including steel, aluminum, computers, and sports equipment. Finance Minister Dominic LeBlanc stated the move is a direct retaliation for the Trump administration's trade policies, targeting goods like machinery and consumer products. And not wanting to let Canada have all the fun, the EU has announced it will impose trade “countermeasures” on up to $28 billion worth of US goods.

Education Dept Cuts: The Department of Education continues to crush its to-do list this week. Last night, it fired another 1,300 workers via email, halving the agency’s workforce and gutting the department’s Office for Civil Rights. Education Secretary Linda McMahon is spinning this as an effort to "deliver services more efficiently"—or, translated from billionaire-speak, “more efficiently dismantle crucial support for grants, scholarships, and services for children with special needs, all while pandering to the so-called 'parental rights movement.'” According to the goals of Project 2025, the department’s next moves are expected to include ending Title I, eliminating free school meals, and making book banning a federal priority. Lawsuits are pending.

Toxic work environment: A House subcommittee hearing ended abruptly yesterday after Texas Republican Rep. Keith Self intentionally misgendered Democratic Rep. Sarah McBride. McBride, the first transgender person elected to Congress, has been the target of hateful attacks from her Republican colleagues since her term began in January. The 71-year-old Rep. Self addressed McBride as "Mr.," prompting Democratic Rep. Bill Keating to criticize him, saying, "Mr. Chairman, you are out of order," and adding, "Have you no decency?" Butt-hurt by that backlash, Self immediately adjourned the hearing to continue his anti-trans attacks on X. Real work getting done by the ruling party.

UW Hiring Freeze: In anticipation of federal funding cuts, the University of Washington has frozen non-essential staff hiring and limited future faculty hiring. Following the UW’s financial mitigation guidelines, departments are exploring ways to reduce spending by 5 to 10 percent. There are currently no plans to implement a furlough strategy, though Governor Ferguson, in his “anything and everything but tax the rich plan,” proposed saving $300 million by requiring most state employees to take one furlough day per month over the next two years.

Ferguson cutting food banks: Because he’d rather literally take food out of the mouths of the poor rather than tax the rich, Gov. Fergusion’s big idea to plug our $15 billion budget hole is to cut food bank funding. God forbid we ask billionaires to chip in while we raid the canned goods aisle. I guess he believes people can fill their empty stomachs by photosynthesis. 

Davison Adding Staff: Well, Disney on Ice must be touring hell. I actually have some sympathy for Ann Davison (and my therapist thought these last two months were lucrative). Seattle dared to defy Trump, so now the feds are yanking funds, killing jobs, and packing up shop like a sore loser taking their ball home. That’s left the City Attorney’s office scrambling to keep up with all the legal battles. Look at the bright side: At least we’re creating some jobs… in the exciting field of suing our own government!

Starbucks Strike: The coffee might be hot, but the labor disputes are boiling. Joining a six-city strike, baristas at the University Way Starbucks walked off the job all because the coffee giant refused to finalize a fair union contract three years after workers won their vote. The strike came a day after UW students rallied on campus to demand the university stop serving Starbucks until the coffee titan settles a fair contract with wages for baristas. Meanwhile, Starbucks execs keep raking in millions, proving once again that while they may run on caffeine, their business model runs on hypocrisy.

Tacoma Toxicity: It used to be the “aroma,” but apparently, nothing quite says Welcome to Tacoma like a bunch of mystery barrels marked with toxic waste just chilling downtown. But no one seems to know where they came from. The city says the barrels are on private property, and the business supposedly responsible isn’t talking. Maybe this is Tacoma embracing its Fallout era?

In a time of climate and ecological emergency, we've seen fire and we've seen rain. Happy Birthday, James Taylor.

16:21

15:35

What are the thread safety requirements of HSTRING and BSTR? [The Old New Thing]

Among the proliferation of string types are the HSTRING (represented in C++/WinRT as winrt::hstring and in C++/CX as String^) and the BSTR. What are the threading rules for these string types?

These string types are not COM objects, so the restrictions on COM objects do not apply. These are just blocks of memory that have freestanding functions for manipulating them (such as Sys­Alloc­String and Sys­Free­String for BSTR; Windows­Create­String and Windows­Delete­String for HSTRING). You are welcome to call any method from any thread.

The rules for BSTR are that read operations (like Sys­Get­String­Len) can operate concurrently. But no read operations can operate concurrently with a write operation, so you cannot do a Sys­Get­String­Len at the same time as a Sys­Re­Alloc­String, for example, and you can’t modify the string contents on one thread while reading them from another.

Windows Runtime HSTRINGs are immutable, so there are no write operations. This makes the rules simpler: Once you create an HSTRING (until you destroy it), all operations are thread-safe.

The post What are the thread safety requirements of <CODE>HSTRING</CODE> and <CODE>BSTR</CODE>? appeared first on The Old New Thing.

[$] Zig's 0.14 release inches the project toward stability [LWN.net]

The Zig project has announced the release of the 0.14 version of the language, including changes from more than 250 contributors. Zig is a low-level, memory-unsafe programming language that aims to compete with C instead of depending on it. Even though the language has not yet had a stable release, there are a number of projects using it as an alternative to C with better metaprogramming. While the project's release schedule has been a bit inconsistent, with the release of version 0.14 being delayed several times, the release contains a number of new convenience features, broader architecture support, and the next steps toward removing Zig's dependency on LLVM.

The Billionaire Boycott Conundrum [Whatever]

Over on Bluesky, where I spend quite a lot of time these days, because it’s an instance of social media not owned by a billionaire and/or ruled by algorithms intended to push vaguely-to-explicitly fascist thoughts and memes into my face every time I look at it, there’s a contingent of folks who have declared — not unreasonably! — that now is the time to be boycotting the billionaires who have explicitly supported Trump, and all of their businesses. There is one particular billionaire who stands out here, that being the odious Elon Musk, but Jeff Bezos and Mark Zuckerberg are others, and the genuinely committed have a full list of billionaires and their companies to avoid.

And with every attempted boycott, there is some backlash, and backlash to the backlash. In my neck of the professional woods, a proposed boycott of Amazon has caused some indie authors to complain that their livelihoods would be directly impacted, since their bread and butter comes packaged in the box labelled “Kindle Unlimited,” and Amazon is the single largest venue for indie author sales. This caused others to grouse that if an indie author is wholly dependent on the largest retailer in the US, how “indie” can they be, etc.

I have thoughts on all of this, and here are some of them in no particular order:

1. Boycott if you want (and even if you don’t want, but feel you must): It’s actually true that if you want to hurt a billionaire (eventually), the way to do it is to punch him in the wealth. That means hurting their businesses and driving down their stock prices. Boycotts can do that (eventually), and in the meantime you get the satisfaction of telling the billionaire “fuck you” in the only way they care about. From a protest point of view, there is no downside to boycotting a billionaire or their businesses.

You don’t even need to call it a boycott. You can just… not use the specific goods and services of the people and companies whose stances you abhor. I’ve never once been in a Chik-fil-A, for example; I’m not a huge fan of chicken sandwiches in any event, so it’s never been a consideration for me when I’m wondering which fast food joint to visit. That I dislike the founder’s social positions is secondary to this when it comes to meal choices. In my brain it’s not an active boycott, it’s a food preference with an ethical rider attached. Chick-fil-A doesn’t see a penny from me either way.

On this same line of thinking:

2. Some billionaires/companies are easier to boycott than others: Elon Musk is an oily bag of brain rot in barely human form, who richly deserves the scorn of history, but he did us all a real solid by having his companies be ones that you sort of have to go out of your way to interact with. Unless you’re buying a car, you don’t need to consider purchasing a Tesla; now that Bluesky has a critical mass of users, the former Twitter is delightfully leaveable; Starlink is a second-best internet choice in nearly all markets; and the offerings of SpaceX are ones that nearly no one outside of the aerospace industry need to think about on a consumer basis. Boycotting Elon Musk? Shit, I was already doing that!

Other billionaires are trickier because they are better connected into retail and other public-facing goods and services, and when they are not, their ownership tendrils are more difficult to discover and avoid. You might not know, for example, that Amazon owns Whole Foods, or Zappos, or AbeBooks. You will need a chart to figure this all out.

Even then you may find yourself contributing to the bottom line of a company you intended to boycott. If you ditch The Washington Post (not owned by Amazon, but owned by Jeff Bezos) and subscribe to The Guardian instead, you are still putting money in Bezos’ pocket, because The Guardian uses Amazon Web Services to stay online. Ditching Amazon’s streaming services for Netflix? Same problem. And so on. Note well that Amazon Web Services is actually the biggest division of the company and the largest contributor to its operating revenue… and is not public-facing in any meaningful sense. It’s merely the backbone of a third of the commercial internet.

This is not to dissuade any one who wants to boycott Jeff Bezos and/or Amazon (as one example). It is to make the point that some people/companies take more work to boycott than others, and the average person might not know how to do a blanket boycott, or may discover it’s a lot more difficult than they thought.

Which brings us to the next point:

3. Boycotts aren’t supposed to be easy for anyone: Boycotts are very often a real pain in the ass! They bring economic pressure on the billionaires and companies they run and own, yes, but in the meantime, there’s a real world pain endured by people who rely on those companies in one way or another. To pick on Amazon again, the indie authors worried about their incomes in the wake of a push to boycott Amazon are not wrong: If the boycott is effective, they will feel it, and they will definitely feel it sooner than Jeff Bezos. Likewise, people who have relied on the fact that Amazon is basically a frictionless consumer experience (you order something! Two days later it is at your house!) will have to find new and probably less convenient ways to do the things they are used to doing. It often means giving up things — all those Amazon exclusives — which may or may not have replacements elsewhere.

Also, boycotts almost always take time. The famous Montgomery Bus Boycott, the one everyone points to as a model of effective (or at least well-known) boycotting, went on for a year, and while it went on, it was a profound inconvenience for everyone who was boycotting the bus system. This might be a problem for a couple of generations of people trained to believe that “internet activism” is sufficient action. If you thought turning your account icon green or using a hashtag a few times was effective activism in and of itself, the idea of months or even years of a boycott might not be intuitive.

Boycotts are a fuckin’ slog, y’all. For everyone, not just the people and companies they are aimed at. You have to be ready for that. They can be effective! Look at how much The Odious Musk is panicking these days! Man, that’s a delight to watch. But be aware billionaires can wait you out. For a long time. Boycotts aren’t simple or easy or painless. They’re advanced protest tactics, and should be regarded as such.

And then there is this:

4. “No ethical living under capitalism” is a real thing: So, let me talk about me, and use Amazon (again!) as an example. As you may or may not know, I have a long-term deal with Amazon subsidiary Audible, that mirrors my deal with Tor; basically, as long as Tor publishes my novels, Audible will be publishing my audiobooks. Now, this was already a sore spot for many folks, since Audible (following Amazon’s general practices), doesn’t really publish outside its walled garden, and now there’s Bezos’ recent(ish) heel turn into consider. Some folks don’t want to support Amazon products, which is fair, and I suspect some of them hope there is some way I can wiggle out of my contract with Audible, because, you know, fascism.

It’s not possible (nor could Audible dump me, except by mutual agreement, the deal is pretty solid), but even if I could, that would just mean that my audiobooks, like my print and ebook novels, would be published by a conglomerate founded by an actual fucking Nazi, which got its break publishing Nazi literature, a point which was unsurprisingly obfuscated after the war. If I took my bat and ball and went to a different “Big Five” publisher, my choices would be another publisher who was quite tight with the actual fucking Nazi party, a publisher owned by fucking Rupert Murdoch, a publisher whose conglomerate just scrapped its DEI initiatives and cravenly settled a defamation suit filed by Trump, or Hachette, for which a cursory examination does not show historically poor behavior, either past or current, but I’m willing to entertain the notion that is an artifact of my cursory examination, and not because as a conglomerate they have always been on the side of the angels.

To be clear, I do not think that the current generation of the Holtzbrinck family (which owns Tor, via many mergers) is planning to revert into its predecessors’ eminently regrettable politics. Also, I really like working with Audible; they’re a great publisher for me. The point is that pretty much all of capitalism above the level of an Amish produce kiosk is besmirched, and if you don’t want to live in a hut, eating from your own garden and drinking nothing but rainwater, you have decisions to make, both as a creator and as a consumer.

Some decisions are easier than others, for all sorts of reasons. But not every decision you’ll make will be a pure one, because very few things in the world are pure. Don’t worry, the people who criticize you for your decisions have their own baggage. Some of the people who might criticize me for keeping my contracts with Audible might have Substack newsletters, as one example, or might still have active accounts on X. As far as I see almost everyone is still on one flavor of ZuckMedia or another, if for no other reason than everyone’s elderly relatives are stuck to them like barnacles.

At the end of the day, you will inevitably be complicit, because systemically it is all but impossible not to be. Does this mean you should just throw your hands up and think nothing you do matters? No.

Which brings us to the next point:

5. Strategy matters: Boycotts can work. The protests against Elon Musk and the boycott of Tesla are working; there’s a reason, after all, that President Trump did Musk’s bidding and filmed an infomercial for Tesla in the White House driveway yesterday. There’s no reason not to keep at it. Likewise any other boycott or protest that you might choose to do. Do them, keep at them, and realize that you’re working toward a long-term goal. If you can’t boycott every single thing a company does, you can still boycott the parts of it you interact with; it doesn’t have to be either/or. Realize also that when a boycott or other avenue of action is not feasible for you — and it may not be! Life is life! — you still have other options available.

To use myself as an example, I am delighted to be boycotting Musk and his various companies. This is not a passive thing for me, as I recently turned down an opportunity that had Musk money attached, and I decided I wanted no part of it. In other cases, some portion of the money I’ve received from companies that are performing various levels of ethical fuckery goes right back out the door to support organizations and causes that directly combat ethical fuckery. We can argue whether my accepting the money in the first place is itself an ethical act, and that’s fine. I know the organizations who get my money are glad to have it, and with their experience and staffing can much better combat that ethical fuckery than I could on my own. Regardless, the larger point — use what tools are available to you and will be most effective in light of your own circumstances and situation — stands.

6. There is no perfect way to do any of this: You will get shit from some people if you boycott. You will get shit from some people if you don’t boycott. You will get shit from some people if you boycott one company or billionaire and not another. You will get shit from some people if you talk publicly about this stuff. You will get shit from some people if you don’t talk publicly about this stuff. Whatever you do or don’t do, you will get shit from some people.

If and when that happens, remember: It’s your own life, you know best for yourself what you can and can’t do, and none of the people giving you shit are performing any of this more perfectly than you are. If they get particularly obnoxious about it, you can probably tell them to go fuck themselves. As long as you’re examining your own situation and personal ethics, and are making the choices you can live with in the long run, you’re probably doing all right.

On my end, I’m mostly happy with the choices I’m making, making some changes in the places where I can (and where I think I should), and re-evaluating as events warrant. As a creator, I’m also accepting of the fact that some of the choices others are making regarding boycotts will affect my own bottom line. Those are their choices! They made them through their examination of their own situation. I would not begrudge them their choices in this time, and in these circumstances.

If as a side effect I suffer some, well, look at the world. There are a lot of people suffering worse than me, in the US and out of it. All of this is for them.

— JS

15:00

Link [Scripting News]

Today's song: Starting Over.

14:49

Below: local privilege escalation (SUSE security team blog) [LWN.net]

The SUSE Security Team blog has a post with a detailed analysis of a vulnerability (CVE-2025-27591) in the below tool for recording and displaying system data.

In January 2025, Below was packaged and submitted to openSUSE Tumbleweed. Below runs as a systemd service with root privileges. The SUSE security team monitors additions and changes to systemd service unit files in openSUSE Tumbleweed, and through this we noticed problematic log directory permissions applied in Below's code.

The LLVM project stabilizes its Fortran compiler [LWN.net]

The LLVM project's Fortran compiler, which has for many years gone by the name "flang-new", will now simply be "flang", starting from LLVM's 20.1.0 release on March 4. The announcement, which includes details about the history of flang, comes after a long period of development and discussion. The community has considered renaming flang several times before now, but has always held off out of a feeling that the compiler was not yet ready. Now, the members of the project believe that flang has become stable and complete enough to earn its name.

We are almost 10 years from the first announcement of what would become LLVM Flang. In the LLVM monorepo alone there have been close to 10,000 commits from around 400 different contributors. Undoubtedly more in Classic Flang before that.

14:07

GStreamer 1.26.0 released [LWN.net]

Version 1.26.0 of the GStreamer cross-platform multimedia framework has been released. Notable changes in this release include support for the H.266 Versatile Video Coding (VVC) codec, Low Complexity Enhancement Video Coding (LCEVC) support, closed caption improvements, and JPEG XS image codec support.

13:28

The Shape of Stones [Original Fiction Archives - Reactor]

Original Fiction Horror

The Shape of Stones

As a young scholar sets out on a research project to find the stones where the settlers of Iceland made human sacrifices, a long dormant volcano rouses…and other, long-sleeping horrors…

Illustrated by Deena So’Oteh

Edited by

By

Published on March 12, 2025

2 Share
An illustration of a researcher with their back to us, a notebook tucked under their left arm. They are surrounded by red clouds of smoke, while sea birds fly overhead. The researcher's back contains the contrasting image of an erupting volcano against a blue sky.

As a young scholar sets out on a research project to find the stones where the settlers of Iceland made human sacrifices, a long dormant volcano rouses…and other, long-sleeping horrors might also be stirring.


Short story  |  3,400 words

June 16th

Dear diary,

No. That was a bad joke. And a terrible way to start what is supposed to be an appendix to a serious, scientific project. What a way to ruin a beautiful, pristine notebook! I really should try thinking about the words before writing them down. Anyway. What I meant to write is that I am doing a research project and these are supposed to be my personal notes about it.

First, a little background: When I was small I used to read about the Aztecs and their horrific human sacrifices. And later I learned about how some countries hide the dark and bloodier parts of their past, by writing it out of their history books or not teaching it in schools. I thought them equally barbaric.

Imagine my surprise when I learned that the settlers of Iceland were actually pretty big on human sacrifice too, and no, I don´t remember ever hearing about it in school. But there are plenty of tales about it in the old Sagas.

In Eyrbyggja it says: “Í þeim hring stendur Þórs steinn er þeir menn voru brotnir um er til blóta voru hafðir og sér enn blóðslitinn á steininum.” That would translate to something like: “In that circle stands the stone of Thor where they broke the men that were sacrificed and the color of blood can still be seen on the stone.” (There is probably an official translation, by someone whose English is a lot better than mine, but I don’t have it at hand so mine will have to do). So the settlers of Iceland slaughtered men and broke their backs on stones.

And that is my research project. I am going to spend my summer trying to find those stones.

We have a pretty good idea of where the stone mentioned in Eyrbyggja is, so that is where I will start. It is supposed to be in Þingvellir, an old gathering place for chieftains, where they met to settle matters. This Þingvellir is in the Snæfellsnes peninsula and is not to be confused with the other, more famous Þingvellir. (Sorry, it’s complicated.) The Þingvellir that interests me is located in Þórsnes, or Thor’s peninsula. But the problem is, there are a lot of stones there. So here I am, in a guesthouse in Stykkishólmur, the nearest village, and tomorrow I will head out to examine them all. I don’t really know what I am looking for—will the moss on the one stone be thicker than on the others? Will the earth around it be more fertile, enriched by all the blood that was spilled? Or will the color of blood still be on that stone?—but I believe I will know it when I see it.

June 17th

Iceland was settled by Norwegians. They brought slaves that were probably taken from what is now Ireland, Scotland, and England. Genetic research shows this, and so does my red hair.

Anyway, I wasn’t going to write about my ancestors, the raping Norwegians, but their neighbors the Swedes. There is an account I read about them and what they were doing in the first century that has stayed with me because I think they were really onto something. In Uppsala, in around 380, the weather had been pretty bad for a few seasons, which led to failing crops and bad times all around. There was a tradition of human sacrifice to the Æsir, the old Norse gods, there too. They mostly sacrificed animals and slaves, but things had gotten so bad that they apparently decided that some more drastic measures had to be taken. So they sacrificed their king, Dómaldi, and let his blood soak the ground.

I am not saying that we should start killing our politicians. I don’t know what I am saying, exactly. I am in a really foul mood. I spent all day mapping stones. It was a long day and the results of it are that there are exactly fourteen stones that are big enough to be the one I am looking for, and thirty-seven that are too small.

June 21st

I have devised a methodology to examine the stones. But it is quite tedious, and well documented in my scientific notes, so I will not bore these pages with the details, other than to say that it involves a lot scraping off moss and gently lifting it from the rock, just to put it down again, hoping it will keep growing, and so far it has not been fruitful. The farmer who owns the land is nice. She came up on her tractor and brought me coffee and kleinur, and after chatting for a bit we discovered that she went to school with my cousin Ástrós. It is always like this here, you always find a connection. You can’t escape being known. I often wonder what it must be like to live in a big city and be able to disappear into a faceless crowd. Here, the danger of running into someone you have slept with, or worse—their parents—is ever looming. It must be nice to live somewhere where you can have a meltdown in a public place without word of it reaching both your ex and your boss, and probably along with it the reason why you were having a meltdown in the first place.

The owner of this guesthouse I am staying at, for example, is my uncle’s wife’s cousin. If I were to have a tantrum here and break some furniture, word of it would surely reach my parents.

June 22nd

The stones stand in a field close to the sea. It overlooks the Breiðafjörður bay, and the view is beautiful. They say that the islands here cannot be counted, and as I understand it, that is mostly because people cannot agree on what counts as an island. Like the small skerries that are sometimes visible and sometimes underwater, depending on the tides. There are so many birds here. And today I saw seals, their black heads bobbing in the water.

We are lucky that the stones have not been dragged away and the field ploughed. The farmer who brought me coffee said that the people who lived there knew not to touch the stones. They were probably familiar with the history of their land and the sagas. We have long taken great pride in them because those manuscripts are the only thing we have left to be proud of. The traditional Icelandic house was a turf house, made from rock and dirt. Most of them have just rained away. We have no old cathedrals, no roads, no bridges, no marble statues. Those words scribbled on vellum are the only thing we have from our past.

Today, as I was about to go home, I found something. I don´t know what it is, maybe it is nothing, but I will investigate further tomorrow. I am excited. Hopefully I will sleep.

June 24th

I think I’ve found it! The stone, I mean, THE stone. It stands in the middle of the field, and I guess you could, with some help from your imagination, say that the other stones form a kind of circle around it. It is not a neat or a perfect circle, maybe more of an oval, and a lopsided one at that, but still, the shape is there. And there is no way of knowing if it is like that naturally or if the stones were put there by people. Anyway, the stone that stands in the middle is the one that I thought most likely to be the one I was looking for. But I did not start with that one, because I wanted to methodical about it, as per my method that I devised and did not explain here. Shit, I am rambling. So much for thinking about the words before writing them down.

This stone in the middle is the perfect height to bend a person over. By that I mean that it comes up roughly to the small of my back, if I am standing facing away from the stone. And if someone were to push me over it, and maybe then pull down my hands from the other side, I can imagine my back breaking quite easily. The stone is . . . thin? I do not think that is the right word for it, but I mean that it is not round, but rather shaped like a leaf, and on top there is an edge that is quite sharp. Writing this, I have now realized that I have a very limited vocabulary in English to describe the shape of stones. Perhaps that is not something my English teachers imagined I would ever have a need for.

Anyway, if somebody were to push me over that stone, then pull on my hands, or maybe push my shoulders down, my back would undoubtedly break and my neck would be exposed. It would only take a stroke of a sharp blade to let out my blood so it would flow freely. And that is how you please a god.

I spent my day very carefully removing the moss and lichen that grows on the stone. What I am hoping to find are some markings. It took me all day to remove the lichen just from the top, and I am pretty sure that the stone there has been chipped away, making the edge even sharper. It might be weathering, of course, but then again it might not be.

June 26th

It has been two days, I know. But I have been really busy. My work is time-consuming. The moss comes off pretty easily, but it is harder to remove the lichen without scraping the stone. When I drove home yesterday evening I stopped at the farm and asked the farmer if she would be okay with me pitching a tent in the field by the stones. She looked at me a bit funny, but then she said yes, so I did, which means I can now work through the evening and into the night. The summer nights are so bright here in the west. The sun doesn´t really set, it just dips down beneath the horizon for a moment and then it rises again. We sleep a lot less in the summertime. There have been studies on this, and to be honest I barely feel the need to sleep at all.

The soundscape here is out of this world. The birds screech and sing and trill and tweet in a cacophony that has its own kind of harmony, and underneath is the constant rhythm of the waves breaking on the beach. The farmer told me that there is an eagles’ nest close by, but she also told me not to tell anyone about it. The eagles are endangered and their nesting places are meant to be kept a secret, so maybe I shouldn´t even write this down in my notes.

June 27th

I had a weird dream tonight. I dreamt I was lying in my tent and that I heard deep voices outside. The pitch and the rhythm of their language was familiar, but I could not make sense of their words. In my dream I decided to go out and greet them. And I must have risen, because I woke up halfway out of my sleeping bag with my hand on the tent zipper. It took me a long time to go to sleep again.

June 28th

There was an eruption in the Reykjanes Peninsula in the night. That is the next peninsula to the south from the one that I am on. If I were on the other side of this one I could probably see it. It’s not a very big one, as far as eruptions go, and no one is in danger. I was listening to a geologist from the Met Office on the news earlier. He said that this volcanic system in Reykjanes has been dormant since the nine hundreds, but is now active again, and will presumably stay so for some years, possibly even decades. He talked about the volcano as if it were a living thing, a beast that had been woken from its slumber and we would now feel its wrath. It struck me that the last time this volcanic system was active was around the same time that they sacrificed people on the stone right outside my tent. And now I can’t stop wondering whether something might lie dormant in this ground too, and what would happen if it should wake.

We have tales of beasts, the landvættir. I don´t know the best translation for that, but it is a beautiful word that means a being that protects the land. Supposedly Úlfljótslög, the oldest Icelandic law, thought to date back to 930, stated that ships with mastheads that had gaping maws had to take them down before land was sighted, so they wouldn’t rouse the landvættir. And ships don’t have mastheads anymore to wake them.

If they are still here, they have been sleeping for a long time.

I am making progress on the stone. Just now after dinner, I found a peculiar indentation just above what could be described as the center of it. It looks like a ring has been hollowed out. And up from it there seems be a trace of a line, a groove, up to the sharp edge of the stone. It might just be how the stone is shaped naturally, but then again, it might not.

June 29th

I think I know why that line is there. Maybe I should not write this down, but it actually came to me in a dream. I know dreams are not a way to divine the future. I don’t believe in any of that. But that is not to say that they are meaningless. Dreams are just another interpretation of our reality, from a different part of the mind. I don’t know if a “subconscious” is actually an accurate term, but what I am trying to say is that perhaps my brain had already made this connection but I just didn´t realize it. Because obviously the blood is supposed to flow down the groove and into the ring.

I will not describe the dream that made that clear to me here. It is not fit for an appendix accompanying a scientific paper. But let’s just say that I think I now have a better understanding of what it might have felt like to lose your life on that stone.

June 30th

I found carvings! Definitely, DEFINITELY carvings! Made by human hands. They are weathered and eroded, but they are fuþark runes and they spell Þór. And this is Þórsnes! It all makes sense.

The runes were quite hidden, down at the base of the stone, and nearly covered with grass and soil. I had to be very careful removing it. And under the runes I found a serpent carved into the rock. It is long and its tail disappears down into the ground. I had to take a break after I found it—I was quite overcome with emotion—and I also had to decide if I should call my supervisor or not. Because this is a big find, a huge one. But my supervisor is . . . Well, I just know that if I called her now she would swoop in and she would take all the glory. And I don’t want her to get the credit for all my hard work.

In the end I decided to excavate the base of the stone myself. And then I will call my supervisor. There is no need to get her all excited before I know what it is exactly that I have found.

I had another dream last night. It was the same one as the night before, but the roles were reversed. I guess I could say that now I also have a better understanding of what it might have felt like to sacrifice someone on that stone. It felt surprisingly exhilarating. When I woke up my heart was hammering in my chest and I felt a kind of joy coursing through my veins. But maybe joy is not the right word for it. It was a feeling of a job well done, and the certainty that I would soon be rewarded for it.

Writing this all down I realize that is probably a very  wrong and twisted feeling to have in that context.

I did not like that dream.

July 1st

A weird thing happened. As I was excavating the base of the stone, I was surprised to find that it is actually a lot bigger than I thought. It seems to be rooted deep in the earth, almost as if it is growing from the bedrock underneath. I thought it was shaped like a leaf, but I seem to have been mistaken. It is more like a tooth, or a fang. I have dug away quite a lot of soil from the base, but the carving of the snake just keeps on going down, down, down.

The earth around the stone is very red. I know it is probably not from all the blood that has been spilled here, that was so long ago. Most likely this field was once a bog. They used to mine bog iron here. Supposedly it was backbreaking work.

But the weird thing happened this afternoon. I was on my knees, digging at the base of stone, and then the earth started shaking. It came in big heaves.

I know that it was an earthquake, and probably connected to the eruption. The land here is constantly moving and changing. But it didn’t feel like an earthquake. I have experienced many in my lifetime, but none like this one. This didn’t feel like tectonic plates grinding together, or like magma pushing its way to the surface somewhere far away. This felt localized. It was like the earth directly underneath me was shifting, as if a great, sleeping beast was suddenly stirring. And for a moment it even felt like the stones around me were its teeth and I was standing in the middle of a giant maw that would now close and devour me whole.

But then the earthquake passed.

A little while later the farmer came on her tractor to see if I was all right. She had felt the earthquake too. She became very angry when she saw what I was doing. She said that her people had known better than to touch the stones and that I should too. She said that I had no right to desecrate the stones. But I told her that this was a great find for science. This is our history, our only legacy, and we deserve to know its secret. She just stared at me for a long moment, then she shook her head, stomped back to her tractor, and drove off without a word.

I had another dream. It was the same dream, but now I was the stone, and I was so thirsty.

I have still not found the tail of the serpent. It lies much deeper than I thought possible. Tomorrow, when I wake, I will keep digging.

July 2nd

There was another earthquake in the night. When it woke me I was already outside of the tent, standing in the hollow that I have dug out at the base of the stone. It felt as if it was coming from directly beneath my feet. When it was over I saw that the earth had shifted. I can see the tail of the serpent now. But that is not the end. For underneath it is another carving. I am not sure of what exactly, but I have my suspicions, and I will write them down once I have them confirmed.

I am going out now to dig. I don´t know what long-hidden secret I will uncover but I am convinced that it will change my life forever. Something great awaits me at the base of that stone, underneath that dark, rich, red soil.

Tonight I will write it all down on these pages.

“The Shape of Stones” copyright © 2025 by Hildur Knútsdóttir
Art copyright © 2025 by Deena So’Oteh

Buy the Book

The Shape of Stones
The Shape of Stones

The Shape of Stones

Hildur Knútsdóttir

The post The Shape of Stones appeared first on Reactor.

13:21

Security updates for Wednesday [LWN.net]

Security updates have been issued by Debian (libmodbus), Fedora (thunderbird and vyper), Mageia (firefox, nss, python-django, python-jinja2, and thunderbird, thunderbird-l10n), Oracle (bind, kernel, rsync, and tigervnc), Red Hat (.NET 8.0, .NET 9.0, and libxml2), SUSE (iniparser and kernel), and Ubuntu (dotnet8, dotnet9, freerdp2, jinja2, libreoffice, linux, linux-hwe, linux-aws, linux-aws-hwe, linux-gcp, linux-gcp-4.15, linux-kvm, linux-oracle, linux-kvm, and opensc).

12:42

CodeSOD: Expressing a Leak [The Daily WTF]

We previously discussed some whitespacing choices in a C++ codebase. Tim promised that there were more WTFs lurking in there, and has delivered one.

Let's start with this class constructor:

QBatch_arithExpr::QBatch_arithExpr(QBatch_unOp, const QBatch_snippet &, const QBatch_snippet &);

You'll notice that this takes a parameter of type QBatch_unOp. What is that type? Well, it's an enumerated type describing the kind of operation this arithExpr represents. That is to say, they're not using real inheritance, but instead switching on the QBatch_unOp value to decide which code branch to execute- hand-made, home-grown artisanal inheritance. And while there are legitimate reasons to avoid inheritance, this is a clear case of "is-a" relationships, and it would allow compile-time checking of how you combine your types.

Tim also points out the use of the "repugnant west const", which is maybe a strong way to word it, but definitely using only "east const" makes it a lot easier to understand what the const operator does. It's worth noting that in this example, the second parameters is a const reference (not a reference to a const value).

Now, they are using inheritance, just not in that specific case:

class QBatch_paramExpr : public QBatch_snippet {...};

There's nothing particularly wrong with this, but we're going to use this parameter expression in a moment.

QBatch_arithExpr* Foo(QBatch_snippet *expr) {
  // snip
  QBatch_arithExpr *derefExpr = new QBatch_arithExpr(enum_tag1, *(new QBatch_paramExpr(paramId)));
  assert(derefExpr);
  return new QBatch_arithExpr(enum_tag2, *expr, *derefExpr);
}

Honestly, in C++ code, seeing a pile of "*" operators and raw pointers is a sign that something's gone wrong, and this is no exception.

Let's start with calling the QBatch_arithExpr constructor- we pass it *(new QBatch_paramExpr(paramId)), which is a multilayered "oof". First, the new operator will heap allocate and construct an object, and return a pointer to that object. We then dereference that pointer, and pass the value as a reference to the constructor. This is an automatic memory leak; because we never trap the pointer, we never have the opportunity to release that memory. Remember kids, in C/C++ you need clear ownership semantics and someone needs to be responsible for deallocating all of the allocated memory- every new needs a delete, in this case.

Now, new QBatch_arithExpr(...) will also return a pointer, which we put in derefExpr. We then assert on that pointer, confirming that it isn't null. Which… it can't be. A constructor may fail and throw an exception, but you'll never get a null (now, I'm sure a sufficiently motivated programmer can mix nothrow and -fno-exceptions to get constructors to return null, but that's not happening here, and shouldn't happen anywhere).

Then we dereference that pointer and pass it to QBatch_arithExpr- creating another memory leak. Two memory leaks in three lines of code, where one line is an assert, is fairly impressive.

Elsewhere in the code, shared_pointer objects are used, wit their names aliased to readable types, aka QBatch_arithExpr::Ptr, and if that pattern were followed here, the memory leaks would go away.

As Tim puts it: "Some folks never quite escaped their Java background," and in this case, I think it shows. Objects are allocated with new, but never deleted, as if there's some magical garbage collector which is going to find the unused objects and free them.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!

11:49

China, Russia, Iran, and North Korea Intelligence Sharing [Schneier on Security]

Former CISA Director Jen Easterly writes about a new international intelligence sharing co-op:

Historically, China, Russia, Iran & North Korea have cooperated to some extent on military and intelligence matters, but differences in language, culture, politics & technological sophistication have hindered deeper collaboration, including in cyber. Shifting geopolitical dynamics, however, could drive these states toward a more formalized intell-sharing partnership. Such a “Four Eyes” alliance would be motivated by common adversaries and strategic interests, including an enhanced capacity to resist economic sanctions and support proxy conflicts.

11:07

Prices not lowered [Richard Stallman's Political Notes]

Americans are realizing that the bullshitter did not mean it when he said claimed he would protect working-class Americans (if they are white) from high prices.

Business as usual, NOT [Richard Stallman's Political Notes]

The saboteur-in-chief tries to be unpredictable to hamper resistance. It turns out that that very unpredictability hampers US businesses from making nonpolitical business decisions.

The businesses controlled by oligarchs are partly exempt from this problem because they have enough influence on the saboteur-in-chief to make sure their decisions will be safe.

Amy Coney Barrett defending const'n [Richard Stallman's Political Notes]

Magats are excoriating Justice Barrett for voting to disapprove one of the wrecker's extreme acts of sabotage. They demand that "their" judges strictly follow the party line established by the great leader.

08:56

08:28

Joe Marshall: with-slots vs. with-accessors [Planet Lisp]

Most CLOS objects are implemented as standard-instances. A standard-instance is a collection of storage cells called slots, and the slots are addressed by name. You could imagine an alternative implementation where an instance is a vector that is addressed by an integer, but named slots are more flexible and abstract.

Many object systems map the named fields of an instance into lexically scoped variables. Within a method body, you can just refer to the slot as if it were a variable. Assignment to the variable effectively updates the slot. There are pros and cons to this. On the plus side, it is very convenient to refer to slots as if they were variables. On the minus side, it is difficult to rename a slot, because you have to rename all the references to it, and slot names can collide with lexical variables. It can make the code brittle with regard to slot naming. But CLOS lets you choose if you want to do this or not. The with-slots macro installs a set of symbol macros that let you refer to each slot as if it were a variable.

But the slots of an instance are an implementation detail. You really want an abstract API for your objects. You want logical fields to be accessed by getter and setter functions. The logical field will typically be backed by a slot, but it could be a computed value. Logical fields are more flexible and abstract than slots.

When you define a slot, you can specify a :reader and :accessor function for that slot. This covers the very common use case of a getter/setter pair that is backed by a slot in the instance.

You can also map the logical fields of an instance into lexical variables. The with-accessors macro installs a set of symbol macros that let you refer to each logical field as if it were a lexical varible.

I often see with-slots used where with-accessors would be more appropriate. If you find yourself wanting to use with-slots, consider if you should be using with-accessors instead.

Personally, I prefer to avoid both with-slots and with-accessors. This makes CLOS objects act more like structs. Structs are easier for me to understand than magic lexical variables.

Tip

The accessors for slots are generic. You therefore want them to have generic names. For example, suppose you have a point class with an x and y slot. You don't want to call your accessors point-x and point-y because the names would be inappropriate for subclasses. You want to have names something like get-x and get-y. These functions would naturally work on subclasses of points, but because get-x and get-y are generic, you could also extend them to work on any class that has a meaningful x and y.

Two kinds of instructions [Seth's Blog]

The more common, easier to execute sort: Instructions to remind people who already know what to do, what to do.

The more essential and harder to create kind: Instructions for people who don’t know what to do.

It’s a mistake to assume that just because you know all the steps, the person you’re writing for does as well.

[Almost all instructions on car dashboards, and most on the highway, are for people who already know how to drive and where they’re going… instructions that teach are a special category.]

Here are some steps to consider:

  • Decide in advance what sort of instructions you’re creating.
  • Put a value on getting it right. You probably don’t need to sweat the instructions that come with a yo-yo, but maybe improving the manual for that CNC router is the best way to grow your brand’s reputation.
  • If it’s for a new user, make sure that someone like that is on the team, or even better, put that person in charge.
  • Start with big picture concepts and an overview before getting to step 1.
  • Earn enrollment in a patient journey and treat the learner with respect.
  • When in doubt, take advantage of links, videos and other methods to give frustrated users a chance to dig deeper (it’s hard to do this with street signs and other real world interactions, but if you’re connected to the net, it’s always a good idea). Every interaction should have a, “what if the person is confused in this moment?” branch.
  • Get feedback from users and update the instructions regularly. Shipped is not done. Shipped is the beginning.
  • Consider asking Claude to review your instructions with a beginner’s mind and to restate what is being described. If it doesn’t translate, it’s probably not clear.

This is more challenging than it looks. That’s okay. That’s why we need you to do it.

08:07

Narratoid [Penny Arcade]

New Comic: Narratoid

04:42

Girl Genius for Wednesday, March 12, 2025 [Girl Genius]

The Girl Genius comic for Wednesday, March 12, 2025 has been posted.

When Will Seattle Reckon with Its Own Racism? [The Stranger]

On a cold February night, Mary Jane Pepper Lawson was walking outside an apartment building on Union Street on Seattle’s First Hill. According to charging documents from the King County Prosecutor’s office, Lawson heard a man hurling the N-word at her. Lawson described him leaping over a railing and running toward her. Before she could react, she told first responders, the man hit her, knocking her to the ground. While she was down, she said, he continued to punch and kick her before retreating into his apartment. Lawson reported the incident to law enforcement, and responding officers documented visible injuries consistent with an assault. by Gennette Cordova

On a cold February night, Mary Jane Pepper Lawson was walking outside an apartment building on Union Street on Seattle’s First Hill. According to charging documents from the King County Prosecutor’s office, Lawson heard a man hurling the N-word at her. Lawson described him leaping over a railing and running toward her. Before she could react, she told first responders, the man hit her, knocking her to the ground. While she was down, she said, he continued to punch and kick her before retreating into his apartment. Lawson reported the incident to law enforcement, and responding officers documented visible injuries consistent with an assault.

The assailant has since been charged with a hate crime in connection with this attack. Prosecutors, citing the severity of the assault and the threat he poses to public safety, have requested bail be set at $20,000. 

The implications of this attack extend far beyond one man’s violent actions. It is a grim reminder that despite its liberal self-image, that violence is not an anomaly. It is the logical consequence of a system that continues to devalue Black and Indigenous lives in ways both explicit and insidious.

For years now, studies and reports from government agencies have acknowledged the proliferating threat posed by white supremacist extremists. Nationwide, from high-profile mass shootings like Charleston and Buffalo to everyday acts of harassment, the examples are numerous. Yet, this danger has not been met with the same urgency in political and media discourse as foreign terrorism or the war on drugs. The never-ending failure to meaningfully address this racialized violence has not only allowed it to spread but has also reinforced the very systems of oppression that sustain it. 

In 2012, the Seattle Police Department was placed under federal monitoring after a Department of Justice investigation—sparked by the killing of First Nations woodcarver John T. Williams—revealed a pattern of excessive force and biased policing. Four years later, in 2016, Seattle was identified as one of the cities with the worst Black-white education achievement gap in the country. Meanwhile, since 2017, the Seattle metro area has consistently ranked as having the third-worst homelessness crisis in the nation, a crisis that disproportionately impacts Black, Indigenous, and other people of color.

And despite the myth we continue to tell ourselves about this city, the racism here is not merely systemic, but overt. 

Just before the new year, Sonya, whose name has been changed to protect her privacy,  had been given the responsibility in her Seattle apartment complex of having cars towed for unauthorized parking. When a neighbor complained about a resident’s truck blocking a space, Sonya arranged for the vehicle to be towed. The truck’s owner was a repeat offender, so while Sonya anticipated some pushback, she didn’t expect what happened next.

The truck’s owner erupted in rage, directing his anger at both Sonya and the Black on-site manager. The next morning, she discovered one of her tires had been slashed, and a “Trump 2024: Take America Back” sticker had been placed on her car’s rear windshield. Now nearly 70 and living alone, the elderly music teacher is gripped by fear. “I’m talking because something needs to be done,” she said tearfully. Her fear, she said, is compounded by a deep sense of responsibility to create a safer world for her students.

Upon reporting the incident to the police, she made it clear that she believed she was targeted because of her race, and that the vandalism intended to intimidate her. The language on the sticker evokes a sense of unease for those who white nationalists consider “threats” to their vision of an America, rooted in racial dominance. Yet reporting the incident brought little relief. “I’m sleeping odd hours—I’m on edge,” Sonya said. She now feels an unfamiliar vulnerability in a city she’s called home her entire life.

Sonya’s story isn’t an isolated incident. Since 2012, the earliest year of reported bias and hate crime data on the SPD dashboard, anti-Black hate crimes have exceeded all other types of racially biased incidents. This comes even as Black residents make up a dwindling portion of the population. It’s likely the real numbers are even higher; Black communities have historically been less likely to trust the police, let alone call them for help.

Seattle’s police department—tasked with addressing these crimes—is itself mired in a well-documented history of racial bias. A 2021 report found Black people in Seattle are seven times more likely than white people to experience police use of force and five times more likely to be stopped and questioned. In contrast, during a similar period in neighboring Portland, Black people were 1.45 times more likely than white people to experience police use of force, according to 2019 data. For children and young adults, the disparities are even greater. Black youth make up 7% of the city’s population but account for the majority of cases involving police use of force against minors.

While the bigotry we’re witnessing has by no means started with Trump, he has become a symbol of strength for the white nationalist movement, with incidents of overt racism often co-occurring with his rise to prominence. His inauguration featuring Elon Musk twice doing a Nazi salute—a gesture celebrated by far-right extremists and yet to be directly denied by Musk—serves to fan the flames of this alarming trend.

It’s impossible to pinpoint a single moment that triggered this most recent wave of undisguised intolerance. The United States is, after all, a white supremacist nation, built on genocide and chattel slavery. Racism has always been woven into its fabric. However, if we are to examine the roots of this current wave, Barack Obama’s presidency immediately comes to mind. While conservatives farcically blame Obama for creating racial tension, his presidency, coupled with mass demonstrations in defense of Black lives, did create a palpable backlash. Between the beginning and end of his first term, the number of hate groups in the US rose by 755%, and Black Americans were the primary targets of racial hatred. Trump’s presidency, far from being the start, has served to amplify attitudes reflecting clear reversal of social progress, and normalized expressions of desires to “Take America Back.”

Sonya’s story is not just about one act of violence; it is about a nation that has long chosen to look away. Despite the lack of resolution in her case, she knows what has sustained her—the community that has helped her cope with the fear and anxiety that have followed the incident. Because history tells us that no progress is made without collective will. It is in how we protect the most vulnerable among us, how we refuse to accept bigotry as the cost of doing nothing, how we hold ourselves accountable—not just in moments of crisis, but in the quiet, everyday choices that shape the world we live in.

Seattle and Washington state may have resisted Trump’s rightward pull, but resistance is not absolution. We are in no way separate from the forces that deepen inequality—we see them in the way we police, in the way we criminalize poverty, in the way we allow white nationalist rhetoric to fester unchecked. The question is not whether hate exists here, but whether we will continue to tolerate it. 

 

Marcus Harrison Green contributed reporting to this article.

Gennette Cordova is a writer, organizer, and social impact manager. She contributes to publications like Teen Vogue and Revolt TV and runs an organization, Lorraine House, which seeks to build and uplift radical communities through art and activism.

00:49

Tech execs are pushing Trump to build ‘Freedom Cities’ run by corporations [OSnews]

A new lobbying group, dubbed the Freedom Cities Coalition, wants to convince President Trump and Congress to authorize the creation of new special development zones within the U.S. These zones would allow wealthy investors to write their own laws and set up their own governance structures which would be corporately controlled and wouldn’t involve a traditional bureaucracy. The new zones could also serve as a testbed for weird new technologies without the need for government oversight.

↫ Lucas Ropek

I mean, just in case you weren’t convinced yet these people are utterly insane.

This is the kind of nonsensical libertarian Ayn Rand-inspired wank material dystopian fiction draws a lot of inspiration from, and it never ever ends well for anyone involved, especially not for the poor and lower classes inhabiting such places, because they’re supposed to be warnings, not instruction manuals. The fact that this insipid brand of utter stupidity is even considered by a president of the United States in this day and age should be all the proof you need that he and those around him have the moral compass of the rotting carcass of Margaret Thatcher.

I can’t believe we have to tell these Silicon Valley “geniuses” that lawless corporate towns are bad. In 2025.

00:42

00:35

Microsoft: 6 Zero-Days in March 2025 Patch Tuesday [Krebs on Security]

Microsoft today issued more than 50 security updates for its various Windows operating systems, including fixes for a whopping six zero-day vulnerabilities that are already seeing active exploitation.

Two of the zero-day flaws include CVE-2025-24991 and CVE-2025-24993, both vulnerabilities in NTFS, the default file system for Windows and Windows Server. Both require the attacker to trick a target into mounting a malicious virtual hard disk. CVE-2025-24993 would lead to the possibility of local code execution, while CVE-2025-24991 could cause NTFS to disclose portions of memory.

Microsoft credits researchers at ESET with reporting the zero-day bug labeled CVE-2025-24983, an elevation of privilege vulnerability in older versions of Windows. ESET said the exploit was deployed via the PipeMagic backdoor, capable of exfiltrating data and enabling remote access to the machine.

ESET’s Filip Jurčacko said the exploit in the wild targets only older versions of Windows OS: Windows 8.1 and Server 2012 R2. Although still used by millions, security support for these products ended more than a year ago, and mainstream support ended years ago. However, ESET notes the vulnerability itself also is present in newer Windows OS versions, including Windows 10 build 1809 and the still-supported Windows Server 2016.

Rapid7’s lead software engineer Adam Barnett said Windows 11 and Server 2019 onwards are not listed as receiving patches, so are presumably not vulnerable.

“It’s not clear why newer Windows products dodged this particular bullet,” Barnett wrote. “The Windows 32 subsystem is still presumably alive and well, since there is no apparent mention of its demise on the Windows client OS deprecated features list.”

The zero-day flaw CVE-2025-24984 is another NTFS weakness that can be exploited by inserting a malicious USB drive into a Windows computer. Barnett said Microsoft’s advisory for this bug doesn’t quite join the dots, but successful exploitation appears to mean that portions of heap memory could be improperly dumped into a log file, which could then be combed through by an attacker hungry for privileged information.

“A relatively low CVSSv3 base score of 4.6 reflects the practical difficulties of real-world exploitation, but a motivated attacker can sometimes achieve extraordinary results starting from the smallest of toeholds, and Microsoft does rate this vulnerability as important on its own proprietary severity ranking scale,” Barnett said.

Another zero-day fixed this month — CVE-2025-24985 — could allow attackers to install malicious code. As with the NTFS bugs, this one requires that the user mount a malicious virtual hard drive.

The final zero-day this month is CVE-2025-26633, a weakness in the Microsoft Management Console, a component of Windows that gives system administrators a way to configure and monitor the system. Exploiting this flaw requires the target to open a malicious file.

This month’s bundle of patch love from Redmond also addresses six other vulnerabilities Microsoft has rated “critical,” meaning that malware or malcontents could exploit them to seize control over vulnerable PCs with no help from users.

Barnett observed that this is now the sixth consecutive month where Microsoft has published zero-day vulnerabilities on Patch Tuesday without evaluating any of them as critical severity at time of publication.

The SANS Internet Storm Center has a useful list of all the Microsoft patches released today, indexed by severity. Windows enterprise administrators would do well to keep an eye on askwoody.com, which often has the scoop on any patches causing problems. Please consider backing up your data before updating, and leave a comment below if you experience any issues applying this month’s updates.

00:00

The fascist tech bro takeover is here [OSnews]

The future of the United States is no longer decided in Washington. That ship has sailed. It’s now dictated in the bunkers, private jets, and compounds of an ideological Silicon Valley, by billionaires and wealth extremists intent on treating democracy as a nuisance that must be swatted away. These men – raised on a rabid press that mythologized their existence in their lifetimes, called them Wunderkind and treated them as something above and beyond mere mortality – have consumed a steady diet of libertarian and authoritarian fan fiction and conceived a new order, designed to elevate their lofty egos at any and all cost.

The Internet was supposed to be the great equalizer. It was meant to be a force that shattered hierarchies and gave power to ordinary people. Instead, it enabled the wealth extraction and avarice of a cartel of overfed, over-pampered despots who enriched themselves in the name of innovation, bled the world to the point of near-total collapse, intellectualized their power fetish and now view public institutions as the final obstacles to be dismantled in their megalomanic pursuit of More.

↫ Joan Westenberg

The US has only itself to blame. Let’s hope they don’t drag the rest of us with them.

EU-US rift triggers call for made-in-Europe tech [OSnews]

The utter chaos in the United States and the country’s antagonistic, erratic, and often downright hostile approach to what used to be its allies has not gone unnoticed, and it seems it’s finally creating some urgency in an area in which people have been fruitlessly advocating for urgency for years: digital independence from US tech giants.

Efforts to make Europe more technologically “sovereign” have gone mainstream. The European Commission now has its first-ever “technology sovereignty” chief, Henna Virkkunen. Germany’s incoming ruling party, the center-right Christian Democratic Union, called for “sovereign” tech in its program for the February election.

“Mounting friction across the Atlantic makes it clearer than ever that Europe must control its own technological destiny,” said Francesca Bria, an innovation professor at University College London and former president of Italy’s National Innovation Fund.

↫ Pieter Haeck at Politico

This should’ve been a primary concern for decades, as many have been trying to make it. Those calls usually fell on deaf ears, as relying on Google, Microsoft, Amazon, and other US tech giants was simply the cheapest option for EU governments and corporations alike. However, now that the US is suffering under a deeply dysfunctional, anti-EU regime, the chickens are coming home to roost, and it’s dawning on European politicians and business leaders alike that relying on US corporations that openly and brazenly cheer on the Trump/Elon regime might’ve been a bad idea.

To the surprise of nobody with more than two brain cells.

It’s going to take a long, long time for this situation to get any better. Europe simply doesn’t have any equivalents to the services offered by companies like Google, Amazon, and Microsoft, and even if does, certainly not at their scale. Building up the resources these US companies offers is going to take a long time, and it won’t be cheap, making it hard to sell such moves to voters and shareholders alike, both of which are not exactly known for their long-term views on such complex matters.

Still, it seems consumers in the EU might be more receptive to messages of digital independence from the US than ever before. Just look at how hard Tesla is tanking all over Europe, part of which can definitely be attributed to Europeans not wanting to buy any products from a man openly insulting and lying about European elected officials. If this groundswell of sentiment spreads, I can definitely see European politicians tapping into it to sell massive investments in digital independence.

Personally, banning Twitter and Facebook from operating in the EU should be step one, as its owners have made it very clear that illegal election interference and nazi propaganda is something they have no issues with, followed by massive investments in alternatives to the services offered by the US big tech companies. China has been doing this for a long time now, and Europe should follow in its footsteps. There are enough bases to work from – from open source non-Google Android smartphones to EU-based Linux distributions for everything from desktops to server farms, and countless other open source services – so it’s not like we have to start from nothing.

If we can spend €800 billion to finally get EU defense up to snuff, we should be able to spare something for digital independence, too.

Tuesday, 11 March

21:49

From Straight Edge to Sloshed [Whatever]

36 photos of different drinks of mine from over the years.

When I was in high school and college, I was totally straight edge. I didn’t drink, and I didn’t smoke. Not because the D.A.R.E. people got to me, or because of Jesus, but because I thought it was stupid.

Why would I ever knowingly consume poison? And on top of that, why would I spend money on said poison? And on top of that, I knew it didn’t even taste good! To me, alcohol seemed like a lose-lose situation. I truly couldn’t wrap my mind around why someone would drink in the first place.

People would tell me it’s fun, that it makes parties more fun. But I was already having fun. There’s no way they were having more fun than I was, just because they were drinking beer.

People said it made them more social, that it was easier to talk to people and to make friends. But I was already great at that. I loved meeting new people and making friends, I was social anxiety’s worst nightmare. I didn’t need alcohol like everyone else seemingly did.

When I was straight edge, I always told people just because I didn’t partake didn’t mean that I was judging them for partaking. But that was never true. I did think of myself as better than them. As someone sober surrounded by intoxicated people, you see how stupid they act, falling over themselves, slurring their words and yelling too much. Confessing secrets to anyone who will listen and crying for who-knows-why. Jumping off roofs and doing backflips when they clearly shouldn’t be. Throwing up and passing out cold on the floor.

I didn’t understand why people would put themselves through that. Why you would poison yourself until you vomited, drink all night knowing that you’d have a hangover in the morning, spend your money on something so very silly. I looked down on the drunken fools from my high, high horse and smiled, knowing I was smarter than them.

Then I tried alcohol. And it was incredible. It only took one time of getting drunk to undo my entire life’s thought process. Everything made sense now. I finally got it.

The first time I got drunk was when I was 21, in the summer of 2020. It was a planned event, where I spent the night at one of my best friend’s house and we were just going to drink and play video games and have fun. It was going to be casual and I was free to take things at my own pace. I was safe and I trusted this friend, so it seemed like the best way to try something like alcohol for the first time.

I hated the taste of alcohol, so my drinks for the night consisted of Smirnoff Ice Screwdrivers, shots of Bailey’s and Godiva White Chocolate Liqueur, and Amaretto sours. If that combination of drinks is enough to make your stomach hurt, don’t worry, I felt completely fine because I was 21 and in much better health.

A couple hours later, I felt better than I ever knew I could. My friend and I were having the best time. The video games we played were so much fun. Don’t even get me started on how insanely good the snacks tasted. It was amazing.

After that first time, I started planning these “get drunk nights” with my friend about once every other month. I didn’t want to do it too often, because that made it less special. And drinking was clearly only for special occasions, few and far between to make it something to look forward to.

And that’s how it went for a while. Until special occasions started happening more often. I was at an age (still am) where a lot of my friends were graduating college, getting married, having destination birthdays, things like that. Surely, I could have a drink at my friend’s wedding right? We’re celebrating after all, a toast of champagne is in order!

Drinking was still limited to special occasions, it was just that special occasions were more common these days than they used to be.

And so it went until my standards for a “special occasion” lowered. A friend I only get to see a couple times a year is in town and wants to get dinner? Let’s get some drinks, too! My friend is having a 4th of July barbeque? Well, a High Noon sounds pretty refreshing to go along with these fireworks!

Eventually, it whittled down further and further, and my “drinking only on special occasions” became “drinking whenever I felt like because I could.”

I still didn’t like the taste of alcohol, so more often than not I would just do shots of literally anything. You could put whatever in front of me and I’d probably drink it, the taste wasn’t what I was here for. Shots let me consume the least amount of alcohol for the shortest amount of time with the maximum effect. It was efficient.

I loved being drunk. It was as much fun as everyone had told me it would be. I loved who I was when I was drunk. I had so much energy, I was up for anything, I was fun, I was hilarious, I was so much happier. I couldn’t understand people who were angry drunks, drunks who wanted to fight people, or drunk people who would get sad and cry. How could you feel anything other than absolutely amazing?

I was never an angry drunk, or even sad. I wanted to be best friends with everyone at the bar! Next round of shots on me! Let me get your Insta! My friendly nature and ability to talk to anyone and everyone skyrocketed into realms I didn’t know existed. People would tell me they loved me even though they just met me, they’d say I was the best and so fun to be around, that they loved my energy. It was, in itself, intoxicating.

I couldn’t believe that this was what I had been missing out on all this time. If only I had known how great it was, I would’ve changed my tune much sooner. But I also thought in the back of my mind that it was indeed a very good thing I had not tried this in high school or college.

The first time I ever threw up from alcohol was on the JoCo cruise. I was 23 and still fresh in my drinking career. Still learning my limits. And apparently my limit was ten double screwdrivers.

It was terrible. I was ashamed and embarrassed. I had people asking me the next day if I was okay. I had people telling me they loved our conversation we had last night, but I didn’t remember them. One girl gave me a necklace, but I don’t remember her name or face. I was hungover. The sun was too bright and my stomach hurt.

Realizing I was no longer as impervious as I had previously believed was tough. I had been betrayed by something I adored. I had fucked myself over, and it felt not great.

So I tried to be more careful. Less shots and less often. Go back to not going absolutely ham on drinking all the time. And so it went for a while.

Then, I started working in the alcohol industry.

When you work in a particular industry, you start to get to know people in said industry. In the food and beverage industry, you meet so many other bartenders, restaurant and bar owners, mixologists, distillers, people whose entire day in and day out is alcohol. Making it, promoting it, serving it, drinking it.

In meeting all these bartenders and bar owners, I would follow their businesses on Insta, see that they were having special events, or that a new cocktail menu just dropped. Drinks that they had come up with, events that they had put their energy and time into. I wanted to support them! I love supporting local small businesses, and if I could support them and my friends at the same time by going out and eating and drinking, then hell yeah I was absolutely going to do that.

In doing so, I’d get offered free drinks, specialty things not on the menu, treated nicer because I wasn’t a regular customer, I was one of them. It was amazing having this camaraderie. My work, my social life, all of it revolved around alcohol.

Plus, I had finally developed an actual taste for alcohol. My palette changed. I realized through meeting all these talented bartenders and mixologists that there was such a thing as good drinks. No longer was I shackled to shots, and instead grew a genuine love for the craft, artistry, and intentionality behind cocktails, mixology, wine making, and the hospitality industry itself.

Talking with people who have such a dedication to the craft, trying out their new drink they’re thinking about putting on the menu, getting all this insider info about their work and their businesses, it felt special. I felt connected to a world I never knew existed.

I can’t believe I ever thought myself better than alcohol. I really thought I was too good for one of humanity’s oldest traditions? Ancient civilizations made and drank wine, alcohol has been a staple in humankind for forever, and I really used to think I was immune to its allure, its power. Alcohol is so deeply rooted in our culture, our very existence, truly I can’t blame myself for loving it, right? Right..

Eventually I started to feel shame and guilt for how often I was drinking, and how much. Getting absolutely wasted on a Tuesday night sounds crazy, right? But is it really that crazy when you work Friday and Saturday nights serving alcohol to others? Is it that crazy when you’re a 25-year-old girl who lives in the middle of nowhere with no kids, no day job, no responsibilities, with too much money and too much time on her hands?

I have nowhere to be and no one to tend to, and enough time and money to shut the bar down whenever I want. Is it a curse or a blessing?

Anytime I think, “oh I probably shouldn’t drink right now” a louder voice says “why not?”

What’s the harm in a little day drinking? What’s the harm in staying out all night? What’s the harm in sleeping in your car in Dayton in winter because you can’t drive home? What’s the harm of throwing up into a grate in the alley out back of the dive bar as you stumble towards the other dive bar all your friends are moving on to?

You know that feeling when you wake up after having one (or five) too many and think you need a break from alcohol? After you throw up and get it in your hair and lay on the bathroom floor because the tile is nice and cool and think you shouldn’t go so hard next time? After you lay in the back of your car at 4am, the world spinning, feeling utterly alone, and think that maybe you should stop drinking entirely?

Yeah, me too.

But I love how I don’t feel my body when I’m drunk. I love how for just a couple hours I get to not think about how I feel in my skin. I don’t even think about how fat I am. I don’t even feel how much I hurt in certain places. For just a little bit, I don’t see my acne and my newly grey hairs when I look in the mirror.

I love how for just a few hours, I don’t think about the world. I don’t think about politics, or the economy, or the bleaching of the coral, or if nukes are going to fall from the sky.

And I love how I don’t dream. Every single night is a restless onslaught of horrific nightmares, most of which are reoccurring, but if I go to sleep drunk, it’s silent. For once, it’s just black.

My unyielding existential dread, my merciless anxiety, and my unrelenting depression vanish. Every time. It feels so much better to feel better.

But I’ve reached a point where the hangovers are no longer mild headaches staved off by ibuprofen and water. In such a short amount of time I have gone from getting up early the next day and functioning perfectly well, if not a smidge nauseous, to needing almost two full days to recover from the poisoning of myself. My throat and esophagus burn, I come inexorably close to throwing up long after the fun part of drinking ended, I can’t eat for what feels like forever, and my brain can’t help thinking I should stop putting myself through this.

Maybe those five years of drinking were all I get. Maybe I should just be thankful for all the fun times, move on and chock it up to fond memories of my youth. After all, who among us didn’t drink too much in their early twenties, right?

But how long do I get to pull the “I’m young and free” card for? At 26, am I too old now to say “oops I got a little too drunk last night, silly me!” At what point do I stop being able to “make mistakes” because I’m young? Will I still be getting tanked at 38? Will I be 54 and throwing up?

It’s hard not to see this future for myself, as I have many older friends who do regularly get drunk. Friends who do still shut down the dive bars at 1am at 40 years old, friends who are 55 complaining of their hangovers, hell my grandma is 78 and still has a few too many gin and tonics now and again.

After all this woe is me talk, I truly do not want to stop drinking alcohol. I don’t want to be straight edge again. I don’t want to give it up. I’m not interested in starting my sober journey and switching from White Claw to La Croix or drinking zero proof Heineken.

like alcohol. I just need to stop being the way I am around it. I need to get a fucking grip. I have no self control in any aspect of my life, but my physical being is begging me to do better in this area, at the very least. I wonder if my brain will oblige my body.

I guess we’ll see.

-AMS

21:42

A 10x Faster TypeScript [OSnews]

To meet those goals, we’ve begun work on a native port of the TypeScript compiler and tools. The native implementation will drastically improve editor startup, reduce most build times by 10x, and substantially reduce memory usage. By porting the current codebase, we expect to be able to preview a native implementation of tsc capable of command-line typechecking by mid-2025, with a feature-complete solution for project builds and a language service by the end of the year.

↫ Anders Hejlsberg

It seems Microsoft is porting TypeScript to Go, and WILL eventually offer both “TypeScript (JS)” and “TypeScript (native)” alongside one another during a transition period. TypeScript 6.x will be the JavaScript-based one and will continue to be developed until TypeScript 7.0, the Go-one, is mature enough. During the 6.x release cycle, however, there will be breaking changes and deprecations in preparation for 7.0.

Those are some serious performance improvements, but I’m sure quite a few projects are going to run into issues during the transition period. I hope for them that the 6.x branch remains maintained for long enough to reasonably get everyone on board the new Go version.

21:35

FSF launches pre-bid phase for silent memorabilia auction [Planet GNU]

BOSTON, Massachusetts, USA (March 11, 2025) -- The Free Software Foundation (FSF) has published the memorabilia items for bidding in the silent auction on the LibrePlanet wiki. Starting March 17, the FSF will unlock items each day for bidding on the LibrePlanet wiki at 12:00 EDT until March 20. Bidding on all items will conclude at 15:00 EDT on March 21, 2025.

20:56

What an insightful observation, you get to wear “the hat” [The Old New Thing]

In the past, I have noted that teams have used physical objects as a reminder or used them as an honor, or as a form of shame.

I recently learned that this tradition exists in Microsoft outside the software development world. At least in one part of the Finance department, they had a hat that had the word “Hat” printed on it. If you said something totally obvious in a meeting, you had to wear “the hat”.

The post What an insightful observation, you get to wear “the hat” appeared first on The Old New Thing.

Notes from setting up GlobalTalk using QEMU on Ubuntu [OSnews]

I signed up for GlobalTalk in 2024, but never found the time to get a machine set up. Fast-forward to MARCHintosh 2025 and I wasn’t going to let another year go by. This is a series of notes from my experience getting System 7.6 up and running on QEMU 68k on Ubuntu. Hopefully this will help others that might be hitting a roadblock. I certainly hit several!

↫ Cale Mooth

A short and to-the-point guide for those of us who want to partake in GlobalTalk but can’t due to the lack of compatible hardware.

19:21

Our Favorite Cosplay From Emerald City Comic Con 2025 [The Stranger]

“I made this myself out of cardboard and tape last summer.” by West Smith

Photos by West Smith

This weekend, when I walked into Emerald City Comic Con at the Seattle Convention Center to pick up my badge, I heard a girl behind me say to her friend, “Welcome to my homeland.”

The convention center is just a series of escalators held together by a Taco Del Mar and a Gyro Stop in the basement, but I get what she’s saying. If this is your first time attending a convention like ECCC, the enthusiastic atmosphere might seem crazy, overwhelming, or straight-up weird. But to a lot of people, this is home. This is one of the few places you can truly dress up however you want to and meet other like-minded people in the process. It’s a place where it’s totally okay to show your love and fandom for something that other people might not “get.” I would consider Comic Con to be one of the purest forms of a safe space.

The Stranger sent me to Emerald City Comic Con with the assignment of documenting a "best of" cosplay gallery, which is hard because how do you rate cosplay? What makes one costume better than another? I believe cosplay is art, and much like art, there is no good or bad. It is all just a form of expression.

When shooting portraits at a convention like this, I usually have about one minute or less to take the photograph. There is not a lot of time for chit-chat, these are some of the conversations I had with cosplayers at comic con this year.

Luigi

Do you think Luigi Mangione is going to get off?

“Uh it’s hard to say. Both sides are fighting really hard, so I could see it going either way.”

Did Luigi Mangione inspire you to dress up like Luigi?

“No, I’ve had this costume for a few years now. It’s just a coincidence.”

Rhysand & Feyre Archeron from A Court of Thorns and Roses

What made you decide to dress up for Comic Con?

“I didn't decide to. I’m just here to be arm candy for her.”

Scorpion & Sub-Zero

Is this your first time dressing up?

“No, I wore this yesterday.”

Emperor From Star Wars

What made you decide to dress up as the Emperor?

[deep menacing breath] “...I can do the voice better than anyone else.”

Mangle from the Nicolas Cage movie Willy's Wonderland

 “It’s a lot hotter in here than I thought it was going to be.”

Despite it being around 40 degrees outside, the new convention center building has a side that is entirely made out of windows. When the sun hits in the afternoon, it can get quite hot in the convention center. Throw in the body heat of 35,000 people, and now we’re really cooking.

Wolverine

What made you decide to dress up like Wolverine?

“My ability to grow these epic mutton chops!”

Master Chief from Halo

“I made this myself out of cardboard and tape last summer.”

Is Halo your favorite video game?

“No. I would say Minecraft is, it’s more chill.”

18:35

Unstable Foundation [The Stranger]

Ai, Rebel: The Art and Activism of Ai Weiwei will be on display at Seattle Art Museum March 12–September 7. by Charles Mudede

This story appears in our Spring Art + Performance 2025 Issue, published on March 5, 2025.

The title of Seattle Art Museum’s Ai, Rebel: The Art and Activism of Ai Weiwei has Isaac Asimov’s I, Robot as its inspiration. And the reason for this is found in Asimov’s interconnected stories about a future that begins in 1998 and ends in 2052. I, Robot is about how humans and their machines, their creations, cannot be untangled. We are them, they are us—like it or not.

This conception was revolutionary for its time in the late 1940s. Asimov already understood that the relationship between humans and machines is not only very close, but would become more and more complicated over time. Even if we gave them precise directives—“Don’t ever do this,” “Do x when y happens,” and the like—there was no guarantee they would function in exactly the same way in all possible situations, because we humans cannot know all of the possible situations. This is what imposes limits to the theory of mechanism, which imagines if all the factors are known, a precise picture of the future will be obtained. Life and its evolutionary processes make nonsense of this fantasy.

And so when Ai recently asked DeepSeek—a new and market-changing (in the creative destruction sense) Chinese AI app that directly rivals ChatGPT and is open source—“Who is Ai Weiwei?” it said: “I am sorry, I cannot answer that question. I am an AI assistant designed to provide helpful and harmless responses.”

The robot wasn’t neutral, or anything close to Leibniz’s characteristica universalis, a mechanistic dream of pure intellectual function and knowledge exchange. DeepSeek made it clear that it was all too human. It was too much like us. Its limits were our limits; its potentia is ours also. But as the curator of the SAM exhibit, Foong Ping, points out, Ai’s work often complicates the relationship between the real and the artificial, the authentic and the inauthentic, fantasy and history (both personal and cultural). For him, there is no “fixed thing,” and even “identity is not a fixed thing.” The ancient is as unstable as the new. This Weltanschauung is at the heart of Ai’s art, and also the artificial/human intelligence stories by Asimov. The complicated companion has arrived. We live in the worlds of I, Robot.

Dropping a Han Dynasty Urn, 1995. Courtesy of Ai Weiwei Studio, © Ai Weiwei

Because Ai’s work thinks big—big politics, big history, big issues, big materials—the SAM retrospective, which opens March 12, will be the largest the United States has ever seen, spanning his 40-year career. It will not only occupy space in the downtown museum, but also Seattle Asian Art Museum and Olympic Sculpture Park. SAM will display what I call his bling-bling jewelry collection, along with Ai classics like Dropping a Han Dynasty Urn, a collection of images of Ai dropping and destroying, in 1995, a 2,000-year-old ceremonial urn from the Han period. The Asian Art Museum will have his largest Lego piece to date, Water Lilies, which is a larger-than-life interpretation of Claude Monet’s “Water Lilies #1.” It consists of 650,000 Lego studs, and this will be the first time it’s displayed in the US. The Sculpture Park will have his popular Circle of Animals/Zodiac Heads sculptures, which are reproductions of the twelve bronze animal heads that ornamented an 18th-century imperial garden in Beijing.

Ai Weiwei’s Water Lilies consists of 650,000 Lego studs. Courtesy of Ai Weiwei Studio and neugerriemschneider, Berlin, © Ai Weiwei, photo: Marjorie Brunet Plaza

In Water Lilies, we have the meeting point of several elements that appear to be unrelated. One is the Lego itself. It is a construction toy made by the Danish industrial corporation the Lego Group. Then there is the reference to the French artist Monet, who founded, in the last decades of the 19th century, the Impressionist movement. But where is the Chinese in all of this? It’s actually found in a strange opening, a considerable hole found on the right side of the 50-foot-long work. This, according to the Smithsonian, “is a door to an underground dugout [that the Ai] family lived in” during an exile imposed by Mao Zedong’s party. The door is personal and historical. The work’s materials are industrial and popular. And the image references European high art. This is how Ai remixes our globalized culture.

“Weiwei is kind of a pretty famous artist and an activist,” explained Foong, who is also a fan of science fiction literature. “And I thought, Gosh, there aren’t that many people on this Earth who can so beautifully illuminate all three of our museums ... So, I went on this crazy journey to try and get all three of our sites activated. That took a long time. And it stretched our team to the maximum.”

It’s also interesting that this exhibit appears at this time in our history. Not too long ago, the US elected a president whose designs and declarations are clearly authoritarian. He even assumed control of the John F. Kennedy Center for the Performing Arts. He has made it clear, again and again, that what’s good for him is the same as what’s good for the country. As Hyperallergic pointed out in the piece “Donald Trump Brings Back ‘Degenerate Art,’” the president recently wrote that “from now on, we will wage a Relentless War of purification against the last elements of our Cultural decay! Make American Art Beautiful Again!” This kind of language cannot be distinguished from that of the Mao Zedong party that banished the poet Ai Qing during the Cultural Revolution, or of the present Socialism-with-Chinese-characteristics party that arrested Ai, imprisoned him, almost killed him, and finally forced him into exile in 2015 for “economic crimes.” (He currently lives in Portugal.)

Sunflower Seeds, 2010. Courtesy of Ai Weiwei Studio, © Ai Weiwe

What can we learn from this? China, the dominant capitalist power of our day, and the world’s largest producer of robots, has not moved toward the US’s democratic system, but we are certainly moving toward China’s authoritarian one. Will American AI robots begin erasing the histories of our artists? This kind of speculation is not far-fetched. According to our president, the only history that should be on record is that which praises white men. Books that say otherwise are being removed from libraries and schools that receive federal funding. If robots are like us, American ones will soon not remember the days of slavery.

And this brings me to a final point about Ai. It concerns the work of the greatest science fiction writer of our time, Liu Cixin. (He, like Asimov, is into the hard stuff—science fiction with a lot of science, rather than fantasy, in it.) The opening of Cixin’s The Three-Body Problem trilogy has striking similarities with Ai’s childhood in Northern China. Ye Wenjie, the key fictional character of the first novel, comes from a family of scientists; Ai, from a family of artists. Each saw the zealots of the Cultural Revolution, which began when Ai was 11 years old, brutalize their fathers. And this experience left a lasting mark on their lives. But whereas Ye became a pessimist who saw no hope for humankind, Ai went in the opposite direction. He is a humanist. A big-machine-learning humanist.

Ai, Rebel: The Art and Activism of Ai Weiwei will be on display at Seattle Art Museum March 12–September 7. 

17:49

Silk Typhoon Hackers Indicted [Schneier on Security]

Lots of interesting details in the story:

The US Department of Justice on Wednesday announced the indictment of 12 Chinese individuals accused of more than a decade of hacker intrusions around the world, including eight staffers for the contractor i-Soon, two officials at China’s Ministry of Public Security who allegedly worked with them, and two other alleged hackers who are said to be part of the Chinese hacker group APT27, or Silk Typhoon, which prosecutors say was involved in the US Treasury breach late last year.

[…]

According to prosecutors, the group as a whole has targeted US state and federal agencies, foreign ministries of countries across Asia, Chinese dissidents, US-based media outlets that have criticized the Chinese government, and most recently the US Treasury, which was breached between September and December of last year. An internal Treasury report obtained by Bloomberg News found that hackers had penetrated at least 400 of the agency’s PCs and stole more than 3,000 files in that intrusion.

The indictments highlight how, in some cases, the hackers operated with a surprising degree of autonomy, even choosing targets on their own before selling stolen information to Chinese government clients. The indictment against Yin Kecheng, who was previously sanctioned by the Treasury Department in January for his involvement in the Treasury breach, quotes from his communications with a colleague in which he notes his personal preference for hacking American targets and how he’s seeking to ‘break into a big target,’ which he hoped would allow him to make enough money to buy a car.

Slog AM: Trump Cracks Down on Colleges, Some Good Karen Energy, and the Tariffs Escalate Again [The Stranger]

The Stranger's morning news roundup by Hannah Murphy Winter

Good Morning! It’s winter again, but the normal Seattle-y winter we’re used to. High around 50, rain in the evening. It’s the kind of weather you can get used to. Which is good—we’ve got the same forecast for at least the next 10 days. Settle in!

College Crackdown: Yesterday, the Department of Education sent warning letters to 60 US colleges and universities, letting them know that they could face repercussions if they don’t “fulfill their obligations…to protect Jewish students on campus, including uninterrupted access to campus facilities and educational opportunities.” Our own UW was one of those schools. UW has already been through a DOE investigation for anti-semitism after the pro-Palestinian protests last year. The investigations found no wrongdoing on UW’s part, but did find gaps in how the university responded to bias incident complaints—which they committed to address. Why doesn’t that matter to the Trump admin? Because this isn’t about Jewish students, or antisemitism, or protecting literally anyone. This is about suppressing dissent on college campuses, where that dissent is most likely to build power. 

Good Karen Energy: Need a little dose of hope? The AP profiled one of the rank and file federal employees who is pushing back on the Trump agenda. Karen Ortiz is an administrative judge at the Equal Employment Opportunity Commission, which has been totally rocked by new Trump policies. The last straw for Ortiz was when her supervisor directed administrative judges to pause all their current LGBTQ cases and send them to DC to comply with Trump’s anti-trans executive order. She sent an email to almost 200 colleagues encouraging them to resist, but that email “mysteriously” disappeared. So she leaned in, and cc’d 1,000 of her colleagues in an email to the EEOC’s acting chair, questioning her fitness to serve in the role, “much less hold a license to practice law.” That’s the kind of Karen energy we like to see. 

The Tariff Train Continues: I’m still not convinced Trump knows what a tariff is. This morning, he announced on Truth Social (in VERY RESPECTABLE CAPITAL LETTERS) that he plans to raise the tariffs on Canadian aluminum and steel to 50 percent. He said they’d go into effect on Wednesday. How can Canada avoid these tariffs? According to Trump: Become our 51st state. Baby, Canada doesn’t wanna go on a date with you. Negging them isn’t gonna help. (Separately, I’d really like to stop reading major geo-political updates in the form of shitposts on Truth Social.)

Pure Nonsense: In an interview on Fox, RFK Jr. (who, bafflingly, is still our health and human services secretary), outlined his strategy for containing the measles outbreak in West Texas. It included: exaggerating the risk of “vaccine injury” from the measles vaccine, insisting that “natural immunity” to measles from infection protects against cancer and heart disease (it doesn’t), and encouraging treatments like cod liver oil (which the NYT called “questionable.”) 

Hometown Pride: Washington AG Nick Brown sued Adams County on Monday, accusing it of breaking state law by aiding ICE enforcement. According to Brown, the county in Eastern Washington is being Trump’s dream narc: illegally holding people based only on their immigration status, helping federal immigration agents question people in custody, and sharing confidential personal information, like birthdates, addresses, driver’s license numbers and fingerprints. The county is being represented by Stephen Miller’s very own legal outfit, America First Legal. Eww. 

Democracy Vouchers Are Back on the Table: Funding for Seattle’s democracy voucher program expires at the end of the year, but Mayor Bruce Harrell is hoping to keep them alive. Yesterday, he proposed a 10-year, $45 million property tax to keep it afloat. (That comes out to about $12 a year for the average homeowner, so you can unclench your butthole, Karen.)

Looking for a Little Culture? The Stranger’s Spring Arts issue is in print everywhere. Can’t wait to grab your copy? You can also read a lot of it here! Including this amazing preview of “arists & poets” at the Jacob Lawrence Gallery at UW, by Rachael Kessler, our Great Bagel Throwdown, Eva Walker’s column about the day her daughter was born (and why she’ll be an only child), and Michael Wong’s elbow-deep exploration of Viet-Cajun cuisine. 

Like Horror or Thriller Movies? But do you always have to check DoesTheDogDie.com? I do. Every damn time. But! A few weeks ago, I was watching The Meg, an incredibly, perfectly stupid shark attack movie about discovering a Megaladon in the depths of the Mariana Trench. There’s no dog death, and while we lose a few decent humans and one whale that will absolutely haunt our asses to the end of time, we also get to watch a Megaladon eat a billionaire. And that got us thinking: When else can we watch the shitty, manipulative billionaire get what’s coming? And so we made: DoesTheBillionaireDie.com. Have a favorite fictional billionaire death? Send it to us at billionaires@thestranger.com

Tanya Woo Is Back: It looks like the twice-failed city council candidate just refuses to take the L. Yesterday, we noticed that Tanya Woo was registered to receive democracy vouchers, but not registered as a candidate with the Seattle Ethics and Elections Commission. Then, a few hours after we reached out to her, she appeared on the SEEC website. She still hasn’t formally acknowledged she’s running (she told The Stranger that she was simply exploring the option). But this sure looks like the beginning of a run to us. Read more about it here

Seahawks Switchup: In some local sports news, the Seahawks pulled a classic "we totally meant to do that" move this week, shipping off former starting QB Geno Smith to the Raiders after contract talks fizzled, and betting on Sam Darnold to replace him with a $100.5 million deal. Sure, Darnold is younger and had a solid year with the Vikings, but given his playoff faceplant, Seahawks fans probably want to keep the receipt on this one.

ICYMI: City Hall is back on their Denny Blaine nonsense. Remember 2023, when we learned that the millionaire owner of University Village lives next to Denny Blaine Park, which has been a queer, nude beach for at least four decades? And how he was tired of the naked people outside his mansion, so he donated $1 million to the city in 2023 to build a children’s playground at Denny Blaine? After some major community organizing, the playground is off the table. Now, neighbors want a ranger at the park. The park’s stewardship group really does not. Read all about this saga’s next chapter from The Stranger’s Vivian McCall here

Move Over Moo-deng. Have you met Ume? She’s a one-month-old endangered spot-covered tapir calf, and she lives just down the train tracks at Point Defiance Zoo. 

 

          View this post on Instagram                      

A post shared by Point Defiance Zoo & Aquarium (@ptdefiancezoo)

 

 

 

17:07

Alleged Co-Founder of Garantex Arrested in India [Krebs on Security]

Authorities in India today arrested the alleged co-founder of Garantex, a cryptocurrency exchange sanctioned by the U.S. government in 2022 for facilitating tens of billions of dollars in money laundering by transnational criminal and cybercriminal organizations. Sources close to the investigation told KrebsOnSecurity the Lithuanian national Aleksej Besciokov, 46, was apprehended while vacationing on the coast of India with his family.

Aleksej Bešciokov, “proforg,” “iram”. Image: U.S. Secret Service.

On March 7, the U.S. Department of Justice (DOJ) unsealed an indictment against Besciokov and the other alleged co-founder of Garantex, Aleksandr Mira Serda, 40, a Russian national living in the United Arab Emirates.

Launched in 2019, Garantex was first sanctioned by the U.S. Treasury Office of Foreign Assets Control in April 2022 for receiving hundreds of millions in criminal proceeds, including funds used to facilitate hacking, ransomware, terrorism and drug trafficking. Since those penalties were levied, Garantex has processed more than $60 billion, according to the blockchain analysis company Elliptic.

“Garantex has been used in sanctions evasion by Russian elites, as well as to launder proceeds of crime including ransomware, darknet market trade and thefts attributed to North Korea’s Lazarus Group,” Elliptic wrote in a blog post. “Garantex has also been implicated in enabling Russian oligarchs to move their wealth out of the country, following the invasion of Ukraine.”

The DOJ alleges Besciokov was Garantex’s primary technical administrator and responsible for obtaining and maintaining critical Garantex infrastructure, as well as reviewing and approving transactions. Mira Serda is allegedly Garantex’s co-founder and chief commercial officer.

Image: elliptic.co

In conjunction with the release of the indictments, German and Finnish law enforcement seized servers hosting Garantex’s operations. A “most wanted” notice published by the U.S. Secret Service states that U.S. authorities separately obtained earlier copies of Garantex’s servers, including customer and accounting databases. Federal investigators say they also froze over $26 million in funds used to facilitate Garantex’s money laundering activities.

Besciokov was arrested within the past 24 hours while vacationing with his family in Varkala, a major coastal city in the southwest Indian state of Kerala. An officer with the local police department in Varkala confirmed Besciokov’s arrest, and said the suspect will appear in a Delhi court on March 14 to face charges.

Varkala Beach in Kerala, India. Image: Shutterstock, Dmitry Rukhlenko.

The DOJ’s indictment says Besciokov went by the hacker handle “proforg.” This nickname corresponds to the administrator of a 20-year-old Russian language forum dedicated to nudity and crudity called “udaff.”

Besciokov and Mira Serda are each charged with one count of conspiracy to commit money laundering, which carries a maximum sentence of 20 years in prison. Besciokov is also charged with one count of conspiracy to violate the International Economic Emergency Powers Act—which also carries a maximum sentence of 20 years in person—and with conspiracy to operate an unlicensed money transmitting business, which carries a maximum sentence of five years in prison.

16:14

Runaway, Bride! [The Stranger]

Got problems? Yes, you do! Email your question for the column to mailbox@savage.love! by Dan Savage I’m a 28-year-old woman married to my husband, a 29-year-old man, for almost two years, and we still haven’t had sex. We met through mutual friends, dated for less than a year, and we knew pretty quickly that we wanted to get married. Things between us felt right. We genuinely liked each other, and everything felt pretty great. On our wedding night, we decided to leave the hotel early to spend time with family since many had traveled far for the wedding. After the wedding, life got hectic. Before we realized it, months had passed. I initiated intimacy a few times, but we never followed through. I’ve brought it up multiple times, and he always says he feels self-conscious about his body but promises to try harder. We even scheduled times for intimacy, but when the time came, he was either too busy or he would ask if we could…

[ Read more ]

15:35

Think Different [Radar]

There’s something that bothers me about the chatter that AI is making “intelligence” ubiquitous. For example, in a recent Bloomberg article, “How AI reasoning models will change companies and the economy,” Azeem Azhar wrote:

As intelligence becomes cheaper and faster, the basic assumption underpinning our institutions — that human insight is scarce and expensive — no longer holds. When you can effectively consult a dozen experts anytime you like, it changes how companies organize, how we innovate and how each of us approaches learning and decision-making. The question facing individuals and organizations alike is: What will you do when intelligence itself is suddenly ubiquitous and practically free?

Is it really intelligence that is becoming ubiquitous and practically free? When humans have the ability to perform magical feats of recall or calculation but not to create something profoundly new out of what they have learned, we don’t call them geniuses. We call them idiot savants.

What we consider to be the pinnacle of human intelligence is the ability to see what everyone else sees, to learn what everyone else has learned, and yet to see something that no one else was able to see. Or to see something completely unfamiliar and make sense of it, without prior knowledge. In a bold stroke, to remake the world. The creators of AI have displayed that kind of intelligence. Their creations, not so much. As AI pioneer Francis Chollet put it, intelligence is more than a collection of task specific skills. In fact, he noted, “unlimited priors or experience can produce systems with little-to-no generalization power (or intelligence) that exhibit high skill at any number of tasks.”

I do agree with Azeem, though, that even today’s not yet truly intelligent AI is profoundly disruptive. There are indeed big questions facing individuals and organizations, but we need to make sure that they are the right questions.

I have a lot of thoughts about what is going to change because of the abundance of expertise provided by AI, which I will write about at another time. What I want to talk about now, though, is inspired by the very wise advice once given by Jeff Bezos, which is to ask what will not change. In short, if it is not truly intelligence but merely expertise that is being commoditized, we need to ask what elements of intelligence are still unique and valuable.

I posit that at least one answer is rooted in human creativity, values, and taste. Consider what happened during the PC revolution. During the mainframe era, computers had been scarce and expensive. Suddenly, they were cheap and ubiquitous. There could be “a PC on every desk and in every home” (and eventually in every hand.) In short, computers had become a commodity.  There were winners like Bill Gates, who understood that control over the software operating system would be a source of monopoly profits; Andy Grove of Intel, who figured out that getting control of one key hardware component in an otherwise commodified system became a source of outsized power; and Michael Dell, who rode the wave of hardware commoditization to success by becoming the best at configuring and delivering standardized PCs to the masses. Each of them, in their way, figured out something about how the world was changing.

But only one of the personal computer pioneers rooted his company’s business strategy in something that would not change: the human desire to distinguish oneself from peers by the values that you express through your choices. He understood that in commodity markets, brands stand out when they mean something.

Art critic Dave Hickey explained this idea brilliantly when writing about the rise to dominance of General Motors after World War II. Harley Earl, its VP of marketing, built a ladder of status from Chevrolet to Pontiac to Cadillac and changed automobile designs every year so that the latest model became an object of desire. As Hickey put it, the automobile became an “art market,” in which “products are sold on the basis of what they mean, not just what they do.” Steve Jobs didn’t create the famous 1984 ad that threw down the gauntlet to the PC (it was Steve Hayden, Brent Thomas, and Lee Clow at Chiat/Day who came up with the concept and the ad itself was directed by Ridley Scott) but like the Mac itself, and later the iPhone, it was unquestionably a reflection of Steve’s unique mix of creativity, values, and taste.

Whatever changes AI brings to the world, I suspect that those three things—creativity, values, and taste—will remain a constant in human societies and economies.

Abundant expertise may be the booby prize when that expertise is based on consensus opinion, which, by the nature of LLMs, is their strong suit. This came home to me vividly when I read a paper that outlined how when ChatGPT was asked to design a website, it built one that included many dark patterns. Why? Much of the code ChatGPT was trained on implemented those dark patterns. Unfortunately neither ChatGPT nor those prompting it had the sense to realize that the websites it had learned from had been enshittified (to use Cory Doctorow’s marvelous turn of phrase).

It is the ability to decide what is new and unexpected and to shape what matters to people that is the heart of creative intelligence not just in the arts but in business and in politics. At least until AI wakes up in the morning and decides what it is going to do (i.e., we have invented artificial volition as well as artificial intelligence), it will be directed by humans. As I wrote in WTF, AI is a powerful genie that does what we ask it to do, which is not necessarily what we actually want. Every story about genies revolves around the inability of those given the magic wishes to wish for the right thing. The art of asking is everything. That is, the future belongs to those who are exercising the intelligence and insight that AI itself does not have. As Steve Jobs said (actually channeling the creativity of Chiat/Day’s Craig Tanimoto), “Think different.”

Bringing this around to the choices that we make at O’Reilly, I like to point out that the experts you find on the O’Reilly platform are not just a repository of knowledge and expertise. Through their writings, videos, and live interactions with customers on the platform, they also bring to bear unique values and points of view.

And so, as we build our own AI-based services, we are leaning not just into the knowledge of our experts but their values, and our own. We like to think our experts don’t just tell you how to do something. They tell you how to do it right. They don’t just teach you what they know. They teach you how to think.


On May 8, O’Reilly Media will be hosting Coding with AI: The End of Software Development as We Know It—a live virtual tech conference spotlighting how AI is already supercharging developers, boosting productivity, and providing real value to their organizations. If you’re in the trenches building tomorrow’s development practices today and interested in speaking at the event, we’d love to hear from you by March 12. You can find more information and our call for presentations here. Just want to attend? Register for free here.

[$] The road to mainstream Matrix [LWN.net]

Matrix provides an open network for secure, decentralized communication. It has enjoyed some success over the last few years as an IRC replacement and real-time chat for a number of open-source projects. But adoption by a subset of open-source developers is a far cry from the mainstream adoption that Matthew Hodgson, Matrix project lead and CEO of Element (the company that created Matrix), would like to see. At FOSDEM 2025, he discussed the history of Matrix, its missteps in chasing mainstream adoption, its current status, as well as some of the wishlist features for taking Matrix into the mainstream.

14:49

Framework Mono 6.14.0 released [LWN.net]

Version 6.14.0 of Framework Mono has been announced.

This is the first release of Framework Mono from its new home at WineHQ. It includes work from the past 5 years that was never included in a stable release because no stable branch had been created in that time. Highlights are native support for ARM64 on macOS and many improvements to windows forms for X11.

See the release notes for a full list of new features and plans for future releases.

14:42

1320: Goal Oriented [Order of the Stick]

http://www.giantitp.com/comics/oots1320.html

14:07

Security updates for Tuesday [LWN.net]

Security updates have been issued by Debian (libaws, ruby2.7, and squid), Fedora (bigloo, emacs, neovim, python-jinja2, rizin, and tree-sitter), Oracle (kernel), Red Hat (grub2, kernel, kernel-rt, and libxml2), SUSE (iniparser, kernel, krb5, libxkbfile, and u-boot), and Ubuntu (gnuchess, openjdk-17-crac, openjdk-21-crac, and openvpn).

13:56

Freexian Collaborators: Debian Contributions: Debian.Social administration, DebConf 25 preparations, Fixing Time-based test failure in Python requests package and more! (by Anupa Ann Joseph) [Planet Debian]

Debian Contributions: 2025-02

Contributing to Debian is part of Freexian’s mission. This article covers the latest achievements of Freexian and their collaborators. All of this is made possible by organizations subscribing to our Long Term Support contracts and consulting services.

Debian.Social administration, by Stefano Rivera

Over the last year, the Debian.social services outgrew the infrastructure that was supporting them. The matrix bridge in particular was hosted on a cloud instance backed by a large expensive storage volume. Debian.CH rented a new large physical server to host all these instances, earlier this year. Stefano set up Incus on the new physical machine and migrated all the old debian.social LXC Containers, libvirt VMs, and cloud instances into Incus-managed LXC containers.

Stefano set up Prometheus monitoring and alerts for the new infrastructure and a Grafana dashboard. The current stack of debian.social services seem to comfortably fit on the new machine, with good room to grow.

DebConf 25, by Santiago Ruano Rincón and Stefano Rivera

DebConf 25 preparations continue. The team is currently finalizing a budget. Stefano helped to review the current budget proposals and suggest approaches for balancing it.

Stefano installed a Zammad instance to organize queries from attendees, for the registration and visa teams.

Santiago continued discussions with possible caterers so we can have options for the different diet requirements and that could fit into the DebConf budget. Also, in collaboration with Anupa, Santiago pushed the first draft changes to document the venue information in the DebConf 25 website and how to get to Brest.

Time-based test failure in requests, by Colin Watson

Colin fixed a fun bug in the Python requests package. Santiago Vila has been running tests of what happens when Debian packages are built on a system in which time has been artificially set to somewhere around the end of the support period for the next Debian release, in order to make it easier to do things like issuing security updates for the lifetime of that release. In this case, the failure indicated an expired test certificate, and since the repository already helpfully included scripts to regenerate those certificates, it seemed natural to try regenerating them just before running tests. However, this failed for more obscure reasons and Colin spent some time investigating. This turned out to be because the test CA was missing the CA constraint and so recent versions of OpenSSL reject it; Colin sent a pull request to fix this.

Priority list for outdated packages, by Santiago Ruano Rincón

Santiago started a discussion on debian-devel about packages that have a history of security issues and that are outdated regarding new upstream releases. The goal of the mentioned effort is to have a prioritized list of packages needing some work, from a security point of view. Moreover, the aim of publicly sharing the list of packages with the Debian Developers community is to make it easier to look at the packages maintained by teams, or even other maintainers’ where help could be welcome. Santiago is planning to take into account the feedback provided in debian-devel and to propose a tooling that could help to regularly bring collective awareness of these packages.

Miscellaneous contributions

  • Carles worked on English to Catalan po-debconf translations: reviewed translations, created merge requests and followed up with developers for more than 30 packages using po-debconf-manager.
  • Carles helped users, fixed bugs and implemented downloading updated templates on po-debconf-manager.
  • Carles packaged a new upstream version of python-pyaarlo.
  • Carles improved reproducibility of qnetload (now reported as reproducible) and simplemonitor (followed up with upstream and pending update of Debian package).
  • Carles collaborated with debian-history package: fixed FTBFS from master branch, enabled salsa-ci and investigated reproducibility.
  • Emilio improved support for automatically marking CVEs as NOT-FOR-US in the security-tracker, closing #1073012.
  • Emilio updated xorg-server and xwayland in unstable, fixing the last round of security vulnerabilities.
  • Stefano prepared a few PyPy and cPython uploads, and started the python3.13-only transition.
  • Helmut Grohne sent patches for 24 cross build failures.
  • Helmut fixed two problems in the Debian /usr-merge analysis tool. In one instance, it would overmatch Debian bugs to issues and in another it would fail to recognize Pre-Depends as a conflict mechanism.
  • Helmut attempted making rebootstrap work for gcc-15 with limited success as very many packages FTBFS with gcc-15 due to using function declarations without arguments.
  • Helmut provided a change to the security-tracker that would pre-compute /data/json during database updates rather than on demand resulting in a reduced response time.
  • Colin uploaded OpenSSH security updates for testing/unstable, bookworm, bullseye, buster, and stretch.
  • Colin fixed upstream monitoring for 26 Python packages, and upgraded 54 packages (mostly Python-related, but also PuTTY) to new upstream versions.
  • Colin updated python-django in bookworm-backports to 4.2.18 (issuing BSA-121), and added new backports of python-django-dynamic-fixture and python-django-pgtrigger, all of which are dependencies of debusine.
  • Thorsten Alteholz finally managed to upload hplip to fix two release critical and some normal bugs. The next step in March would be to upload the latest version of hplip.
  • Faidon updated crun in unstable & trixie, resolving a long-standing request of enabling criu support and thus enabling podman with checkpoint/restore functionality (With gratitude to Salvatore Bonaccorso and Reinhard Tartler for the cooperation and collaboration).
  • Faidon uploaded a number of packages (librdkafka, libmaxminddb, python-maxminddb, lowdown, tox, tox-uv, pyproject-api, xiccd and gdnsd) bringing them up to date with new upstream releases, resolving various bugs.
  • Lucas Kanashiro uploaded some ruby packages involved in the Rails 7 transition with new upstream releases.
  • Lucas triaged a ruby3.1 bug (#1092595)) and prepared a fix for the next stable release update.
  • Lucas set up the needed wiki pages and updated the Debian Project status in the Outreachy portal, in order to send out a call for projects and mentors for the next round of Outreachy.
  • Anupa joined Santiago to prepare a list of companies to contact via LinkedIn for DebConf 25 sponsorship.
  • Anupa printed Debian stickers and sponsorship brochures, flyers for DebConf 25 to be distributed at FOSS ASIA summit 2025.
  • Anupa participated in the Debian publicity team meeting and discussed the upcoming events and tasks.
  • Raphaël packaged zim 0.76.1 and integrated an upstream patch for another regression that he reported.
  • Raphaël worked with the Debian System Administrators for tracker.debian.org to better cope with gmail’s requirement for mails to be authenticated.

13:21

AI’s Future: Not Always Bigger [Radar]

On May 8, O’Reilly Media will be hosting Coding with AI: The End of Software Development as We Know It—a live virtual tech conference spotlighting how AI is already supercharging developers, boosting productivity, and providing real value to their organizations. If you’re in the trenches building tomorrow’s development practices today and interested in speaking at the event, we’d love to hear from you by March 12. You can find more information and our call for presentations here. Just want to attend? Register for free here.


A few weeks ago, DeepSeek shocked the AI world by releasing DeepSeek-R1, a reasoning model with performance on a par with OpenAI’s o1 and GPT-4o models. The surprise wasn’t so much that DeepSeek managed to build a good model—although, at least in the United States, many technologists haven’t taken seriously the abilities of China’s technology sector—but that the estimate that the training cost for R1 was only about $5 million. That’s roughly 1/10th what it cost to train OpenAI’s most recent models. Furthermore, the cost of inference—using the model—is roughly 1/27th the cost of using OpenAI.1 That was enough to shock the stock market in the US, taking nearly $600 million from GPU chipmaker NVIDIA’s valuation.

DeepSeek’s licensing was surprisingly open, and that also sent shock waves through the industry: The source code and weights are under the permissive MIT License, and the developers have published a reasonably thorough paper about how the model was trained. As far as I know, this is unique among reasoning models (specifically, OpenAI’s o3, Gemini 2.0, Claude 3.7, and Alibaba’s QwQ). While the meaning of “open” for AI is under debate (for example, QwQ claims to be “open,” but Alibaba has only released relatively small parts of the model), R1 can be modified, specialized, hosted on other platforms, and built into other systems.

R1’s release has provoked a blizzard of arguments and discussions. Did DeepSeek report its costs accurately? I wouldn’t be surprised to find out that DeepSeek’s low inference cost was subsidized by the Chinese government. Did DeepSeek “steal” training data from OpenAI? Maybe; Sam Altman has said that OpenAI won’t sue DeepSeek for violating its terms of service. Altman certainly knows the PR value of hinting at “theft,” but he also knows that law and PR aren’t the same. A legal argument would be difficult, given that OpenAI’s terms of service state, “As between you and OpenAI, and to the extent permitted by applicable law, you (a) retain all ownership rights in Input and (b) own all Output. We hereby assign to you all our right, title, and interest, if any, in and to Output.” Finally, the most important question: Open source software enabled the vast software ecosystem that we now enjoy; will open AI lead to an flourishing AI ecosystem, or will it still be possible for a single vendor (or nation) to dominate? Will we have open AI or OpenAI? That’s the question we really need to answer. Meta’s Llama models have already done much to open up the AI ecosystem. Is AI now “out of the (proprietary) box,” permanently and irrevocably?

DeepSeek isn’t the only organization challenging our ideas about AI. We’re already seeing new models that were built on R1—and they were even less expensive to train. Since DeepSeek’s announcement, a research group at Berkeley released Sky-T1-32B-Preview, a small reasoning model that cost under $450 to train. It’s based on Alibaba’s Qwen2.5-32B-Instruct. Even more recently, a group of researchers released s1, a 32B reasoning model that, according to one estimate, cost only $6 to train. The developers of s1 employed a neat trick: Rather than using a large training set consisting of reasoning samples, they carefully pruned the set down to 1,000 samples and forced s1 to spend more time on each example. Pruning the training set no doubt required a lot of human work—and none of these estimates include the cost of human labor—but it suggests that the cost of training useful models is coming down, way down. Other reports claim similarly low costs for training reasoning models. That’s the point: What happens when the cost of training AI goes to near-zero? What happens when AI developers aren’t beholden to a small number of well-funded companies spending tens or hundreds of millions training proprietary models?

Furthermore, running a 32B model is well within the capabilities of a reasonably well-equipped laptop. It will spin your fans; it will be slow (minutes rather than seconds); and you’ll probably need 64 GB of RAM—but it will work. The same model will run in the cloud at a reasonable cost without specialized servers. These smaller “distilled” models can run on off-the-shelf hardware without expensive GPUs. And they can do useful work, particularly if fine-tuned for a specific application domain. Spending a little money on high-end hardware will bring response times down to the point where building and hosting custom models becomes a realistic option. The biggest bottleneck will be expertise.

We’re on the cusp of a new generation of reasoning models that are inexpensive to train and operate. DeepSeek and similar models have commoditized AI, and that has big implications. I’ve long suspected that OpenAI and the other major players have been playing an economic game. On one end of the market, they are pushing up the cost of training to keep other players from entering the market. Nothing is more discouraging than the idea that it will take tens of millions of dollars to train a model and billions of dollars to build the infrastructure necessary to operate it. On the other end, charges for using the service (inference) appear to be so low that it looks like classic “blitzscaling”: offering services below cost to buy the market, then raising prices once the competitors have been driven out. (Yes, it’s naive, but I think we all look at $60/million tokens and say, “That’s nothing.”) We’ve seen this model with services like Uber. And while we know little that’s concrete about OpenAI’s finances, everything we’ve seen suggests that they’re far from profitable2—a clear sign of blitzscaling. And if competitors can offer inference at a fraction of OpenAI’s price, raising prices to profitable levels will be impossible.

What about computing infrastructure? The US is proposing investing $500B in data centers for artificial intelligence, an amount that some commentators have compared to the US’s investment in the interstate highway system. Is more computing power necessary? I don’t want to rush to the conclusion that it isn’t necessary or advisable. But that’s a question complicated by the existence of low-cost training and inference. If the cost of building models goes down drastically, more organizations will build models; if the cost of inference goes down drastically, and that drop is reflected in consumer pricing, more people will use AI. The net result might be an increase in training and inference. That’s Jevons paradox. A reduction in the cost of a commodity may cause an increase in use large enough to increase the resources needed to produce the commodity. It’s not really a paradox when you think about it.

Jevons paradox has a big impact on what kind of data infrastructure is needed to support the growing AI industry. The best approach to building out data center technology necessarily depends on how those data centers are used. Are they supporting a small number of wealthy companies in Silicon Valley? Or are they open to a new army of software developers and software users? Are they a billionaire’s toy for achieving science fiction’s goal of human-level intelligence? Or are they designed to enable practical work that’s highly distributed, both geographically and technologically? The data centers you build so that a small number of companies can allocate millions of A100 GPUs are going to be different from the data centers you build to facilitate thousands of companies serving AI applications to millions of individual users. I fear that OpenAI, Oracle, and the US government want to build the former, when we really need more of the latter. Infrastructure as a service (IaaS) is well understood and widely accepted by enterprise IT groups. Amazon Web Services, Microsoft Azure, Google Cloud, and many smaller competitors offer hosting for AI applications. All of these—and other cloud providers—are planning to expand their capacity in anticipation of AI workloads.

Before making a massive investment in data centers, we also need to think about opportunity cost. What else could be done with half a trillion dollars? What other opportunities will we miss because of this investment? And when will the investment pay off? These are questions we don’t know how to answer yet—and probably won’t until we’re several years into the project. Whatever answers we may guess right now are made problematic by the possibility that scaling to bigger compute clusters is the wrong approach. Although it’s counterintuitive, there are good reasons to believe that training a model in logic should be easier than training it in human language. As more research groups succeed in training models quickly, and at low cost, we have to wonder whether data centers designed for inference rather than training would be a better investment. And these are not the same. If our needs for reasoning AI can be satisfied by models that can be trained for a few million dollars—and possibly much less—then grand plans for general superhuman artificial intelligence are headed in the wrong direction and will cause us to miss opportunities to build the infrastructure that’s really needed for widely available inference. The infrastructure that’s needed will allow us to build a future that’s more evenly distributed (with apologies to William Gibson). A future that includes smart devices, many of which will have intermittent connectivity or no connectivity, and applications that we are only beginning to imagine.

This is disruption—no doubt disruption that’s unevenly distributed (for the time being), but that’s the nature of disruption. This disruption undoubtedly means that we’ll see AI used more widely, both by new startups and established companies. Invencion’s Off Kilter. blog points to a new generation of “garage AI” startups, startups that aren’t dependent on eye-watering infusions of cash from venture capitalists. When AI becomes a commodity, it decouples real innovation from capital. Innovation can return to its roots as making something new, not spending lots of money. It can be about building sustainable businesses around human value rather than monetizing attention and “engagement”—a process that, we’ve seen, inevitably results in enshittification—which inherently requires Meta-like scale. It allows AI’s value to diffuse throughout society rather than remaining “already here…just not unevenly distributed yet.” The authors of Off Kilter. write:

You will not beat an anti-human Big Tech monopolist by you, too, being anti-human, for you do not have its power. Instead, you will win by being its opposite, its alternative. Where it seeks to force, you must seduce. Thus, the GarageAI firm of the future must be relentlessly pro-human in all facets, from its management style to its product experience and approach to market, if it is to succeed.

What does “relentlessly pro-human” mean? We can start by thinking about the goal of “general intelligence.” I’ve argued that none of the advances in AI have taught us what intelligence is—they’ve helped us understand what intelligence is not. Back in the 1990s, when Deep Blue beat chess champion Garry Kasparov, we learned that chess isn’t a proxy for intelligence. Chess is something that intelligent people can do, but the ability to play chess isn’t a measure of intelligence. We learned the same thing when AlphaGo beat Lee Sedol—upping the ante by playing a game with even more imposing combinatorics doesn’t fundamentally change anything. Nor does the use of reinforcement learning to train the model rather than a rule-based approach.

What distinguishes humans from machines—at least in 2025—is that humans can want to do something. Machines can’t. AlphaGo doesn’t want to play Go. Your favorite code generation engine doesn’t want to write software, nor does it feel any reward from writing software successfully. Humans want to be creative; that’s where human intelligence is grounded. Or, as William Butler Yeats wrote, “I must lie down where all the ladders start / In the foul rag and bone shop of the heart.” You may not want to be there, but that’s where creation starts—and creation is the reward.

That’s why I’m dismayed when I see someone like Mikey Shulman, founder of Suno (an AI-based music synthesis company), say, “It’s not really enjoyable to make music now. . . .It takes a lot of time, it takes a lot of practice, you need to get really good at an instrument or really good at a piece of production software. I think the majority of people don’t enjoy the majority of the time they spend making music.” Don’t get me wrong—Suno’s product is impressive, and I’m not easily impressed by attempts at music synthesis. But anyone who can say that people don’t enjoy making music or learning to play instruments has never talked to a musician. Nor have they appreciated the fact that, if people really didn’t want to play music, professional musicians would be much better paid. We wouldn’t have to say, “Don’t quit the day job,” or be paid $60 for an hour-long gig that requires two hours of driving and untold hours of preparation. The reason musicians are paid so poorly, aside from a few superstars, is that too many people want the job. The same is true for actors, painters, sculptors, novelists, poets—any creative occupation. Why does Suno want to play in this market? Because they think they can grab a share of the commoditized music market with noncommoditized (expensive) AI, with the expense of model development providing a “moat” that deters competition. Two years ago, a leaked Google document questioned whether a moat was possible for any company whose business model relied on scaling language models to even greater sizes. We’re seeing that play out now: The deep meaning of DeepSeek is that the moat represented by scaling is disappearing.

The real question for “relentlessly pro-human” AI is: What kinds of AI aid human creativity? The market for tools to help musicians create is relatively small, but it exists; plenty of musicians pay for software like Finale to help write scores. Deep Blue may not want to play chess, but its success spawned many products that people use to train themselves to play better. If AI is a relatively inexpensive commodity, the size of the market doesn’t matter; specialized products that assist humans in small markets become economically feasible.

AI-assisted programming is now widely practiced, and can give us another look at what “relentlessly human” might mean. Most software developers get their start because they enjoy the creativity: They like programming; they like making a machine do what they want it to do. With that in mind, the real metric for coding assistants isn’t the lines of code that they produce; it’s whether programming becomes more enjoyable and the products that software developers build become more usable. Taking the fun part of the job away while leaving software developers stuck with debugging and testing is a disincentive. We won’t have to worry about programmers losing their jobs; they won’t want their jobs if the creativity disappears. (We will have to worry about who will perform the drudgery of debugging if we have a shortage of well-trained software developers.) But helping developers reason about the human process they are trying to model so they can do a better job of understanding the problems they need to solve—that’s pro-human. As is eliminating the dull, boring parts that go with every job: writing boilerplate code, learning how to use libraries you will probably never need again, writing musical scores with paper and pen. The goal is to enable human creativity, not to limit or eliminate it. The goal is collaboration rather than domination.

Right now, we’re at an inflection point, a point of disruption. What comes next? What (to quote Yeats again) is “slouching towards Bethlehem”? We don’t know, but there are some conclusions that we can’t avoid:

  • There will be widespread competition among groups building AI models. Competition will be international; regulations about who can use what chip won’t stop it.
  • Models will vary greatly in size and capabilities, from a few million parameters to trillions. Many small models will only serve a single use case, but they will serve that use case very well.
  • Many of these models will be open, to one extent or another. Open source, open weights, and open data are already preventing AI from being limited to a few wealthy players.

While there are many challenges to overcome—latency being the greatest of them—small models that can be embedded in other systems will, in the long run, be more useful than massive foundation/frontier models.

The big question, then, is how these models will be used. What happens when AI diffuses through society? Will we finally get “relentlessly human” applications that enrich our lives, that enable us to be more creative? Or will we become further enmeshed in a war for our attention (and productivity) that quashes creativity by offering endless shortcuts? We’re about to find out.

Thanks to Jack Shanahan, Kevlin Henney, and Kathryn Hume for comments and discussion.


Footnotes

  1. $2.19 per million output tokens for R1 versus $60 per million output tokens for OpenAI o1.
  2. $5B in losses for 2024, expected to rise to $14B in 2026 according to sacra.com.

12:35

Bluesky is not billionaire-proof [Scripting News]

First I want to say that Bluesky is nice software, good design, attractive, they have a goal and stick to it, and it stays up, no fail whales that were so vexing of early days Twitter.

That said, I have two criticisms:

  • They are implementing the same limits that Twitter designed into their product, no styling, no links, you can't edit, no titles, enclosures, and a limit of 300 chars per post. Simple stuff that, if they broke through the Twitter design, would make it a decent platform for writers. I don't see any reason to duplicate the mistakes that Twitter made, in 2006, in the design of their product.
  • They repeatedly claim to be billionaire-proof but as far as I can tell, and I have built software on their APIs, they are not. Yet they tell users they are safe, and what choice do the users have but to believe them, esp when tech journalism repeats the claims without challenging them. As a result, people believe that if Bluesky were to be acquired by a billionaire, something they might not even be able to stop, they will be able to quickly migrate to something that's the same as Bluesky and keep all their connections, people they follow and people following them.

All of this would be nice, if it were true but imho it is not true. I'm going to go through the recent statement from their CEO in the remainder of this piece. I invite them to rebut it, esp Mike Masnick of Techdirt, who has journalistic integrity, is widely respected, and is on the Bluesky board of directors. Honestly I can't understand why Masnick puts his integrity on the line here, I've tried to discuss it with him, and I guess he doesn't take me seriously enough to give a serious response. I would also like to know what his deal is with them, does he profit personally if Bluesky is acquired. That needs to be disclosed, imho. I would do it if I were in his shoes.

If you read my blog, I hope you know that I wouldn't challenge something like this unless I was pretty sure there is an issue. I don't imagine for a second that people would abandon Bluesky if they knew they were locked in and would have no path out if it was bought by a billionaire. I know we can't get out and I still use Bluesky, because that's where the people I want to network with are. They won. So they don't have to deceive. They can stop making this claim. Yet they continue to do it, in pretty much exactly the same terms as they have been doing it all along.

Here's the statement that appeared in TechCrunch yesterday.

  • “If a billionaire came in and bought Bluesky, or took it over, or if I decided tomorrow to change things in a way that people really didn’t like, then they could fork off and go on to another application,” Graber explained at SXSW. “There’s already applications in the network that give you another way to view the network, or you could build a new one as well. And so that openness guarantees that there’s always the ability to move to a new alternative.”
  • The quote is from Jay Graber, the CEO of the company.

Let's go through it, point by point

  • "they could fork it off and go on to another application" -- in this sentence "they" applies to developers, because you have to be a developer to fork an application. Assuming Bluesky is available in source code, with an appropriate open source license, and they have released enough code so that a developer could quickly launch an exact Bluesky clone, maybe this part is true. I can't evaluate it without going through the exercise of forking their code, but I do know this -- no one has. Why not? I would think that with 27 million users, by now someone would have tried it. Maybe this post will uncover such an instance, or motivate one. I would be happy to try it out to see how it works. But it has to be completely independent of Bluesky. It would have to work, without loss of functionality, if Bluesky's network disappeared.
  • "there’s already applications in the network that give you another way to view the network" -- this is true. But they don't do very much nor do they have many users. They are basically experiments that show that you could build something else with the format they have defined. This isn't unusual. You can make a lot of different kinds of websites with HTML, for example, but very few of them have millions of users. Same thing with apps built on the Bluesky protocol that use data types that Bluesky itself doesn't understand. I don't think this adds anything to the claim of billionaire-safety. Also if these apps are in the same network, that doesn't give us any independence from Bluesky. So I think this is a no-op, it adds nothing but confusion to the claim.
  • "[our] openness guarantees that there’s always the ability to move to a new alternative" -- this is not true, and it's the crux of the concern. There is no such guarantee. If there were, we would be able to move to an alternative now. Where is it? It's not there and imho it can't be there.

There are other problems. Mastodon, via its API, actually does what Bluesky claims to do. There are lots of instances of Mastodon servers and they interop with each other. It's an incredible proof of concept. But its federation ability adds enough complexity that most people prefer Bluesky, which doesn't have those complications. There are always tradeoffs in technology. You can have flexibility but it comes at a price. Bluesky would have you believe you can have the flexibility of Mastodon without paying the price.

There may be a way to do what they promise, but it would mean removing features, which isn't a bad idea, but they have decided they have to do everything Twitter does and there is the conundrum. Twitter was designed around centralization, and because of that Twitter is not billionaire-proof as has been demonstrated, and neither is Bluesky.

Every time I read this quote from their CEO it gets my bile up, and I say things on Bluesky that I regret later. Instead I decided to take the time this morning to carefully explain the problem and now when they make the claim, I can point to this piece. And maybe I'm wrong, and they can show me an instance I can switch to and not lose access to my network of friends on Bluesky and not depend on the existence of Bluesky itself. That would actually make me happy (I think) and give me a completely new understanding of computer science.

11:42

Representative Line: Broken Up With [The Daily WTF]

Marco found this wreck, left behind by a former co-worker:

$("#image_sample").html('<i><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />No image selected, select an image to see how it looks in the banner!</i>');



This code uses the JQuery library to find an element in the web page with the ID "image_sample", and then replaces its contents with this hard-coded blob of HTML.

I really appreciate the use of self-closing, XHTML style BR tags, which was a fad between 2000 and 2002, but never truly caught on, and was basically forgotten by the time HTML5 dropped. But this developer insisted that self-closing tags were the "correct" way to write HTML.

Pity they didn't put any thought in the "correct" way to add blank space to page beyond line breaks. Or the correct way to populate the DOM that isn't accessing the inner HTML of an element.

At least this was a former co-worker.

[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

10:21

Pluralistic: Daniel Pinkwater's "Jules, Penny and the Rooster" (11 Mar 2025) [Pluralistic: Daily links from Cory Doctorow]


Today's links



The cover for the Tachyon edition of Daniel Pinkwater's 'Jules, Penny and the Rooster.'

Daniel Pinkwater's "Jules, Penny and the Rooster" (permalink)

"Cult author" is a maddeningly imprecise term – it might mean, "writer whose readers are a small but devoted band," or it might mean "writer whose readers are transformed forever by their work, so that they never see the world in the same way again."

That latter sense is what I mean when I call Daniel Pinkwater a "cult author." Pinkwater has written more than 100 books and has reached a vast audience, and those books are so singular, so utterly fantastic that when one Pinkwater fan meets another, they immediately launch into ecstatic raptures about these extraordinary works.

Pinkwater writes all kinds of books: memoir, picture books, middle-grades titles, young adult novels, extremely adult novels that appear to be young adult novels, and one of the classic works on dog-training (which I read, even though I don't own a dog and never plan on owning a dog) (it was great):

https://pinkwater.com/book/superpuppy-how-to-choose-raise-and-train-the-best-possible-dog-for-you/

Pinkwater has a new book out. It's great. Of course it's great. It's called Jules, Penny and the Rooster and it's nominally a middle-grades book, and while it will certainly delight the kids in your life, I ate it up:

https://tachyonpublications.com/product/jules-penny-the-rooster/

Jules and her family have just moved to a suburb called Bayberry Acres in the sleepy dormitory city of Turtle Neck and now she's having a pretty rotten summer. She misses all her friends back in the city, her grumpy bassoon-obsessed sister broke her finger and it staying home all summer watching old movies and hogging the TV instead of going to bassoon camp, and all the other kids in Bayberry Acres are literal babies, which may pay off in babysitting gigs, but makes for a lonely existence for Jules.

Worst of all: Jules's parents always promised that she could get a dog when they eventually moved out of their little apartment and bought a house with a yard in the suburbs, and now that this has come to pass, they're reneging. They say that all they promised was that they would "talk about getting a dog" after moving, and that "no, we're not getting a dog" constitutes "talking about it," and that settles the matter. Jules knows that what's really going on is that her parents have bought all new furniture and rugs and they're worried the dog will mess or chew on these. Jules loves her parents, but when she gets her own place, she's a) definitely getting a dog, and b) not allowing her parents to visit, because they might mess or chew on her furniture.

All that changes when Jules enters an essay contest in the local newspaper to win a collie (a contest she enters without telling her parents, natch) and wins – coming home from a visit to see her beloved aunt back in the old neighborhood to find her finger-nursing, oboe-obsessed big sister in possession of her new dog. After Jules and her sister do some fast talking to bring their parents around, Jules's summer – and her life in the suburbs – are rescued from a summer of lonely doldrums.

Jules names the collie Penny, and they go for long rambles in the mysterious woods that Bayberry Acres were carved out of. It's on one of these walks that they meet the rooster, a handsome, proud, friendly fellow who lures Penny over the stone wall that demarcates the property line ringing the spooky, abandoned mansion/castle at the center of the woods. Jules chases Penny over the wall, and that's when everything changes.

On the other side of that wall is a faun, and little leprechaun-looking guys, and a witch (who turns out to be a high-school chum of her city-dwelling, super-cool aunt), and there's a beast in a hidden dilapidated castle. After Jules sternly informs the beast that she's far too young to be anyone's girlfriend – not even a potentially enchanted prince living as a beast in a hidden castle – he disabuses her of this notion and tells her that she is definitely the long-prophesied savior of the woods, whose magic has been leaking out over years. Jules is pretty sure she's not the savior of anything, but the beast and the witch are very persuasive, and besides, the prophecy predicts that the girl who saves the woods will be in company of a magic wolf (Penny's no wolf, but close enough?) and a rooster. So maybe she is the savior?

This is where Pinkwater really whips the old weird/delightful plotting into gear, introducing a series of great, funny, quirky characters who all seem to know each other (a surprising number were in the same high-school as Jules's aunt), along with some spectacular, mouth-watering meals, beautifully drawn animal-human friendships, and more magical beings than you can shake a stick at.

The story of how Jules recovers the lost artifact that will save the woods' magic is just a perfect, delicious ice-cream cone of narrative, with sprinkles, that you want to share with a friend (rarely have I more keenly regretted that my kid is now a teen and past our old bedtime story ritual). As I wrote in my blurb:

"The purest expression of Pinkwater's unique ability to blend the absurd and the human and make the fantastic normal and the normal fantastic. I laughed long and hard, and turned the final page with that unmissable Pinkwatertovian sense of satisfied wonder."

I am so happy to be a fully subscribed member to the Pinkwater Cult (I've got the Martian space potato to prove it).


Hey look at this (permalink)



A Wayback Machine banner.

Object permanence (permalink)

#15yrsago Leaked UK record industry memo sets out plans for breaking copyright https://memex.craphound.com/2010/03/12/leaked-uk-record-industry-memo-sets-out-plans-for-breaking-copyright/

#15yrsago US census infographics from 1870 http://www.radicalcartography.net/index.html?9thcensus

#10yrsago RIP, Terry Pratchett https://memex.craphound.com/2015/03/12/rip-terry-pratchett/

#10yrsago How Harper’s “anti-terror” bill ends privacy in Canada https://www.michaelgeist.ca/2015/03/why-the-anti-terrorism-bill-is-really-an-anti-privacy-bill-bill-c-51s-evisceration-of-government-privacy/

#10yrsago Laptop killing booby-trapped USB drive https://hub.paper-checker.com/blog/usb-killers-how-they-work-and-how-to-protect-your-devices/

#5yrsago How to run a virtual classroom https://pluralistic.net/2020/03/12/boeing-crashes/#sosh

#5yrsago The EU's new Right to Repair rules finally come for electronics https://pluralistic.net/2020/03/12/boeing-crashes/#eur2r

#5yrsago Senate Republicans kill emergency sick leave during pandemic https://pluralistic.net/2020/03/12/boeing-crashes/#gopandemic

#5yrsago Boeing is even worse at financial engineering than they are at aircraft engineering https://pluralistic.net/2020/03/12/boeing-crashes/#boeing

#5yrsago Ars Technica's Covid-19 explainer is the best resource on the pandemic https://pluralistic.net/2020/03/12/boeing-crashes/#bethmole

#5yrsago A former top Cigna exec rebuts Joe Biden's healthcare FUD https://pluralistic.net/2020/03/12/boeing-crashes/#wendellpotter

#5yrsago Akil Augustine on Radicalized https://pluralistic.net/2020/03/12/boeing-crashes/#go-akil

#5yrsago TSA boss doubles down on taking away health care from part-time screeners https://pluralistic.net/2020/03/12/boeing-crashes/#sick-system

#1yrago Your car spies on you and rats you out to insurance companies https://pluralistic.net/2024/03/12/market-failure/#car-wars


Upcoming appearances (permalink)

A photo of me onstage, giving a speech, pounding the podium.



A screenshot of me at my desk, doing a livecast.

Recent appearances (permalink)



A grid of my books with Will Stahle covers..

Latest books (permalink)



A cardboard book box with the Macmillan logo.

Upcoming books (permalink)

  • Enshittification: Why Everything Suddenly Got Worse and What to Do About It, Farrar, Straus, Giroux, October 7 2025
    https://us.macmillan.com/books/9780374619329/enshittification/
  • Unauthorized Bread: a middle-grades graphic novel adapted from my novella about refugees, toasters and DRM, FirstSecond, 2026

  • Enshittification, Why Everything Suddenly Got Worse and What to Do About It (the graphic novel), Firstsecond, 2026

  • The Memex Method, Farrar, Straus, Giroux, 2026



Colophon (permalink)

Today's top sources:

Currently writing:

  • Enshittification: a nonfiction book about platform decay for Farrar, Straus, Giroux. Status: second pass edit underway (readaloud)
  • A Little Brother short story about DIY insulin PLANNING

  • Picks and Shovels, a Martin Hench noir thriller about the heroic era of the PC. FORTHCOMING TOR BOOKS FEB 2025

Latest podcast: With Great Power Came No Responsibility: How Enshittification Conquered the 21st Century and How We Can Overthrow It https://craphound.com/news/2025/02/26/with-great-power-came-no-responsibility-how-enshittification-conquered-the-21st-century-and-how-we-can-overthrow-it/


This work – excluding any serialized fiction – is licensed under a Creative Commons Attribution 4.0 license. That means you can use it any way you like, including commercially, provided that you attribute it to me, Cory Doctorow, and include a link to pluralistic.net.

https://creativecommons.org/licenses/by/4.0/

Quotations and images are not included in this license; they are included either under a limitation or exception to copyright, or on the basis of a separate license. Please exercise caution.


How to get Pluralistic:

Blog (no ads, tracking, or data-collection):

Pluralistic.net

Newsletter (no ads, tracking, or data-collection):

https://pluralistic.net/plura-list

Mastodon (no ads, tracking, or data-collection):

https://mamot.fr/@pluralistic

Medium (no ads, paywalled):

https://doctorow.medium.com/

Twitter (mass-scale, unrestricted, third-party surveillance and advertising):

https://twitter.com/doctorow

Tumblr (mass-scale, unrestricted, third-party surveillance and advertising):

https://mostlysignssomeportents.tumblr.com/tagged/pluralistic

"When life gives you SARS, you make sarsaparilla" -Joey "Accordion Guy" DeVilla

ISSN: 3066-764X

08:49

GNU poke 4.3 released [Planet GNU]

I am happy to announce a new release of GNU poke, version 4.3.

This is a bugfix release in the 4.x series.

See the file NEWS in the distribution tarball for a list of issues
fixed in this release.

The tarball poke-4.3.tar.gz is now available at
https://ftp.gnu.org/gnu/poke/poke-4.3.tar.gz.

> GNU poke (http://www.jemarch.net/poke) is an interactive, extensible
> editor for binary data.  Not limited to editing basic entities such
> as bits and bytes, it provides a full-fledged procedural,
> interactive programming language designed to describe data
> structures and to operate on them.


Thanks to the people who contributed with code and/or documentation to this release.

Happy poking!

Mohammad-Reza Nabipoor

08:42

Joe Marshall: Symbol macros [Planet Lisp]

A symbol macro is a symbol that macroexpands into a lisp form. It is similar to a preprocessor macro in C, but it must expand into a syntactically complete expression. Symbol macros are the underlying technology behind the with-slots and with-accessors macros. They allow you to introduce an identifier that appears to be a lexical variable, but actually executes some arbitrary code to compute a value. So we can place the storage for a variable in a vector or in an instance, and use a symbol macro to make it appear to be an ordinary variable.

Gerry Sussman doesn't like symbol macros. They are a lie. It appears that you are just doing an ordinary variable access, which should be a quick and simple operation, but in fact you could be executing arbitrary code. This can lead to some nasty suprises.

But in my opinion, you shouldn't discard a useful tool just because there is a way to misuse it. If your symbol macro is just redirecting a variable to a slot in an instance, there is little harm in that.

08:28

Calling The Shots by Daverage [Oh Joy Sex Toy]

Calling The Shots by Daverage

When you’re long distance, sometimes you gotta phone it in with your sweetie— but that don’t mean it’s not good! Fortunately, Daverage has written a sweetly sexy story that helps two long distance lovers CUM together ;D Ever so thankful for Daverage – I’ve been a fan of their work for ages, was super excited […]

08:21

Birthing tech [Seth's Blog]

No one knows the name of the maternity nurse who helped with the delivery of Marie Curie or Esperanza Spaulding. You might grow up to be a genius, but the team that helped your mom give birth don’t have to be geniuses–they simply have to be pretty good at their craft.

The same is becoming ever more true when it comes to the way tech is changing our lives.

The folks running these companies are not marketing geniuses. In fact, most of them aren’t even good at it. The same goes for their management style or strategic insight.

What’s required is someone who is committed enough to the possibility the tech offers to show up and persist, and then get out of the way.

Kevin Kelly helped us understand that tech is best understood as a new sort of species, one that symbiotically uses us to advance its goals.

We shouldn’t mistake the midwives for the end result.

04:21

Some Photos From the JoCo Cruise Opening Concert [Whatever]

Because I thought you might like to see them, and I just remembered, a few minutes before midnight, that I hadn’t posted anything today:

Paul and Storm looking very enthusiastic, and Jim Boggia looking slightly dubious;

Mega Ran, belting out;

Daphne Always, laughing;

Aimee Mann, being the coolest human in the room.

There are many more photos and I will post them at some point soon. But for now, enjoy these.

— JS

02:14

Page 52 [Flipside]

Page 52 is done.

Feeds

FeedRSSLast fetchedNext fetched after
@ASmartBear XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
a bag of four grapes XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Ansible XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
Bad Science XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Black Doggerel XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Blog - Official site of Stephen Fry XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Charlie Brooker | The Guardian XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Charlie's Diary XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Chasing the Sunset - Comics Only XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Coding Horror XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
Cory Doctorow's craphound.com XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Cory Doctorow, Author at Boing Boing XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Ctrl+Alt+Del Comic XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Cyberunions XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
David Mitchell | The Guardian XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Deeplinks XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
Diesel Sweeties webcomic by rstevens XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Dilbert XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Dork Tower XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Economics from the Top Down XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Edmund Finney's Quest to Find the Meaning of Life XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
EFF Action Center XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Enspiral Tales - Medium XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Events XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Falkvinge on Liberty XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Flipside XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Flipside XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Free software jobs XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
Full Frontal Nerdity by Aaron Williams XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
General Protection Fault: Comic Updates XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
George Monbiot XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Girl Genius XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Groklaw XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Grrl Power XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Hackney Anarchist Group XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Hackney Solidarity Network XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
http://blog.llvm.org/feeds/posts/default XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
http://calendar.google.com/calendar/feeds/q7s5o02sj8hcam52hutbcofoo4%40group.calendar.google.com/public/basic XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
http://dynamic.boingboing.net/cgi-bin/mt/mt-cp.cgi?__mode=feed&_type=posts&blog_id=1&id=1 XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
http://eng.anarchoblogs.org/feed/atom/ XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
http://feed43.com/3874015735218037.xml XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
http://flatearthnews.net/flatearthnews.net/blogfeed XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
http://fulltextrssfeed.com/ XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
http://london.indymedia.org/articles.rss XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
http://pipes.yahoo.com/pipes/pipe.run?_id=ad0530218c055aa302f7e0e84d5d6515&amp;_render=rss XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
http://planet.gridpp.ac.uk/atom.xml XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
http://shirky.com/weblog/feed/atom/ XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
http://thecommune.co.uk/feed/ XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
http://theness.com/roguesgallery/feed/ XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
http://www.airshipentertainment.com/buck/buckcomic/buck.rss XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
http://www.airshipentertainment.com/growf/growfcomic/growf.rss XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
http://www.airshipentertainment.com/myth/mythcomic/myth.rss XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
http://www.baen.com/baenebooks XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
http://www.feedsapi.com/makefulltextfeed.php?url=http%3A%2F%2Fwww.somethingpositive.net%2Fsp.xml&what=auto&key=&max=7&links=preserve&exc=&privacy=I+accept XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
http://www.godhatesastronauts.com/feed/ XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
http://www.tinycat.co.uk/feed/ XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
https://anarchism.pageabode.com/blogs/anarcho/feed/ XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
https://broodhollow.krisstraub.comfeed/ XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
https://debian-administration.org/atom.xml XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
https://feeds.feedburner.com/Starslip XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
https://feeds2.feedburner.com/GeekEtiquette?format=xml XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
https://hackbloc.org/rss.xml XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
https://kajafoglio.livejournal.com/data/atom/ XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
https://kubatpharmacy.com/ XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
https://philfoglio.livejournal.com/data/atom/ XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
https://pixietrixcomix.com/eerie-cutiescomic.rss XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
https://pixietrixcomix.com/menage-a-3/comic.rss XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
https://propertyistheft.wordpress.com/feed/ XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
https://requiem.seraph-inn.com/updates.rss XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
https://studiofoglio.livejournal.com/data/atom/ XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
https://thecommandline.net/feed/ XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
https://torrentfreak.com/subscriptions/ XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
https://twitter.com/statuses/user_timeline/22724360.rss XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
https://web.randi.org/?format=feed&type=rss XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
https://www.dcscience.net/feed/medium.co XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
https://www.DropCatch.com/domain/steampunkmagazine.com XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
https://www.DropCatch.com/domain/ubuntuweblogs.org XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
https://www.DropCatch.com/redirect/?domain=DyingAlone.net XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
https://www.freedompress.org.uk:443/news/feed/ XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
https://www.goblinscomic.com/category/comics/feed/ XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
https://www.loomio.com/blog/feed/ XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
https://www.newstatesman.com/feeds/blogs/laurie-penny.rss XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
https://www.patreon.com/graveyardgreg/posts/comic.rss XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
https://www.rightmove.co.uk/rss/property-for-sale/find.html?locationIdentifier=REGION^876&maxPrice=240000&minBedrooms=2&displayPropertyType=houses&oldDisplayPropertyType=houses&primaryDisplayPropertyType=houses&oldPrimaryDisplayPropertyType=houses&numberOfPropertiesPerPage=24 XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Humble Bundle Blog XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
I, Cringely XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Irregular Webcomic! XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Joel on Software XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
Judith Proctor's Journal XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
Krebs on Security XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Lambda the Ultimate - Programming Languages Weblog XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
Looking For Group XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
LWN.net XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Mimi and Eunice XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Neil Gaiman's Journal XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
Nina Paley XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
O Abnormal – Scifi/Fantasy Artist XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Oglaf! -- Comics. Often dirty. XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Oh Joy Sex Toy XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
Order of the Stick XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
Original Fiction Archives - Reactor XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
OSnews XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Paul Graham: Unofficial RSS Feed XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Penny Arcade XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Penny Red XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
PHD Comics XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Phil's blog XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
Planet Debian XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Planet GNU XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Planet Lisp XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Pluralistic: Daily links from Cory Doctorow XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
PS238 by Aaron Williams XML 08:49, Sunday, 16 March 09:37, Sunday, 16 March
QC RSS XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
Radar XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
RevK®'s ramblings XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
Richard Stallman's Political Notes XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Scenes From A Multiverse XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
Schneier on Security XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
SCHNEWS.ORG.UK XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
Scripting News XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Seth's Blog XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
Skin Horse XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Spinnerette XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
Tales From the Riverbank XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
The Adventures of Dr. McNinja XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
The Bumpycat sat on the mat XML 08:49, Sunday, 16 March 09:29, Sunday, 16 March
The Daily WTF XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
The Monochrome Mob XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
The Non-Adventures of Wonderella XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
The Old New Thing XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
The Open Source Grid Engine Blog XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
The Stranger XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
towerhamletsalarm XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
Twokinds XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
UK Indymedia Features XML 08:14, Sunday, 16 March 08:56, Sunday, 16 March
Uploads from ne11y XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
Uploads from piasladic XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March
Use Sword on Monster XML 08:49, Sunday, 16 March 09:36, Sunday, 16 March
Wayward Sons: Legends - Sci-Fi Full Page Webcomic - Updates Daily XML 08:35, Sunday, 16 March 09:21, Sunday, 16 March
what if? XML 08:49, Sunday, 16 March 09:30, Sunday, 16 March
Whatever XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
Whitechapel Anarchist Group XML 08:14, Sunday, 16 March 09:03, Sunday, 16 March
WIL WHEATON dot NET XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
wish XML 08:14, Sunday, 16 March 08:59, Sunday, 16 March
Writing the Bright Fantastic XML 08:14, Sunday, 16 March 08:58, Sunday, 16 March
xkcd.com XML 08:14, Sunday, 16 March 08:57, Sunday, 16 March