Martin Roukala (né Peres)

313 Followers
191 Following
360 Posts

Linux Graphics CI engineer and HW lover attempting to provide production-ready upstream drivers for Linux! Ex-Nouveau, ex-member of the X.Org board of directors.

Working on boot2container, CI-tron, Mesa, the Steam Deck, and other gaming-related projects.

searchable

Websitehttps://www.mupuf.org
Twitterhttps://twitter.com/GfxMupuf
Freedesktop Gitlabhttps://gitlab.freedesktop.org/mupuf

What a lot of people do not understand is the fragility of supply chains.

Setup

Let us assume there is a part X that is used by a large number of other companies. It is not glamorous, it is not expensive, and nobody outside a small circle of specialists ever thinks about it. But it is needed. Without it, other products cannot be finished.

Everything is fine

Part X is made by a small company with a few dozen employees and a machine that is several decades old.

Everything runs smoothly. The company knows how to maintain the machine. They know how to operate it. They know its strange noises, its moods, its undocumented rituals. They know which lever needs a bit of persuasion on cold mornings and which replacement part must be machined by hand because nobody has made the original since 1987. They also know how to train new employees, because the knowledge still exists inside the company.

Crisis

Then, suddenly, a few large customers run into a crisis.

Orders slow down. The warehouses fill up with part X. Prices fall.

The company downsizes. Then it downsizes again. But nobody really notices, because stocks are still full. Customers are not yet affected. Purchasing departments can still get part X from inventory. Balance sheets still look fine. The problem has not yet reached the spreadsheet.

If this goes on for long enough, the company goes broke.

Again, nobody really notices. Stocks are still full. Some people may worry, but as long as no current production line is stopping and no quarterly number is visibly bleeding, nothing urgent is done.

The employees move on. They retire, change industries, start new careers. The old machine is sold for scrap. The building is repurposed. The knowledge evaporates.

Recovery

A few years later, demand picks up again.

The warehouses slowly empty. Stocks run low. People start ordering part X again, only to discover that nobody is offering it anymore.

Now someone decides to restart production.

The first thing they discover is that there is no machine. Building a new one would be prohibitively expensive, assuming anyone still knows how to build it properly. So they desperately search for an old one.

They get lucky. In a scrapyard, they find a machine that used to produce part X. It is rusted, incomplete, and dysfunctional. Naturally, they buy it.

Now they try to get it working again.

But there is another problem. There are no people left who know how to maintain it. So they hire someone who understands industrial maintenance in general, but has never worked on this specific machine. That person does their best. They improvise. They read old manuals. They reverse-engineer undocumented fixes. They keep the machine alive with skill, patience, and increasing amounts of despair.

But it breaks down every few hours. Output is abysmal.

Bottlenecks

And now that one poor maintenance person is overworked. They need help. But training help requires time, and the only person who can train others is the same person needed to keep the machine barely running. Every hour spent teaching is an hour not spent preventing the next failure.

Very few businesses survive this phase.

There is no institutional knowledge anymore. New people are hired, begin training, look at the state of the machine, the chaos of the process, and the constant emergency mode, and conclude that the business is doomed anyway. Then they quit.

Churn becomes terrible. Even if the company survives financially, it remains fragile. It is always just one or two people quitting away from disaster.

At the end the world decides it needs to get rid of part X as the supply is too fragile.

Summary

This is still very much simplified. The reality is more complex, more ugly.

And that is the part many people miss: a supply chain is not just warehouses, contracts, prices, and transport routes. It is also people, habits, obsolete machines, informal knowledge, and boring little skills that nobody values until they are gone.

Every summer I repost this article on how to spot drowning. Please read it and pass on. In the last few years I’ve had SIX messages from people who saved a kid’s life after clicking on the link from my feed. slate.com/technology/2...

Drowning Doesn’t Look Like Dro...
Drowning Doesn’t Look Like Drowning

Drowning is not the violent, splashing call for help that most people expect.

Slate

Hey peanut gallery! systemd-appd explained in a few sentences: https://blog.sebastianwick.net/posts/so-peerpidfd-gets-more-useful/

I will not take questions.

SO_PEERPIDFD Gets More Useful

A while ago I wrote about the limited usefulness of SO_PEERPIDFD. for authenticating sandboxed applications. The core problem was simple: while pidfds gave us a race-free way to identify a process, we still had no standardized way to figure out what that process actually was - which sandbox it ran in, what application it represented, or what permissions it should have. The situation has improved considerably since then. cgroup xattrs Cgroups now support user extended attributes. This feature allows arbitrary metadata to be attached to cgroup inodes using standard xattr calls.

swick's blog

Aaron Swartz joined the RSS working group when he was 13. At 15 he became a foundational member of Creative Commons. He was working on precursors to markdown at 16.

We should not be locking young people out of our communities and keeping them away from digital tools that can open doors for them, expand their knowledge, sharpen their skills, and help them grow into well-rounded adults.

A GitHub for maintainers - Giving dependencies the same treatment the fork got

https://nesbitt.io/2026/05/02/a-github-for-maintainers.html

A GitHub for maintainers

Giving dependencies the same treatment the fork got

Andrew Nesbitt

CI systems should not silently upgrade their components in the background. A CI system should be a reproducible function: for the same CI image and project code, the build results should always be the same.

Tools should be predictable, or one job turns into multiple when you least want it to.

🌟 Project Release Announcement Time! 🎉

I wrote a WebUSB extension for Firefox.

This lets web pages access USB devices (with your permission). This has long been supported by Chrome, but Mozilla has not wanted it, at least by default. Fortunately, because add-ons are a thing (for now. make sure to keep fighting for this!), it's possible to change that!

Common reasons for wanting this include programming microcontrollers, 3d-printers, smartphone bootloaders, and similar "physical computing" projects.

This works on Windows, Linux, and macOS

You can get the source code here: https://github.com/ArcaneNibble/awawausb

In order to make this work, you will need to install a small program on your computer. This is explained in the README. You can then install the .xpi file (on the GitHub Releases page) into your browser (which was _just_ auto-approved while I was typing this announcement up).

Please boost (if you want), test, report bugs, etc. etc. (although do keep in mind that this code is entirely written by a single catgirl)

i think this is the perfect type of project to drop late on a sunday / very early on a monday?

warming myself on this post like it's a space heater

When you read about Bans of Social Media for Teens and Age Verification, you must remember what it truly means:

• Official identification of every adult using social media.

• Deanonymization of every account, endangering groups that often rely on pseudonymity for safety, such as victims of domestic violence, victims of stalkers, people of color, and LGBTQ+ people.

• Putting every adult at great danger of exploitation, fraud, and identity theft by forcing them to share their official ID with a for-profit third-party company with no incentive to protect it. Breaches have already happened.

• Constructing a system of mass surveillance to attach every comment on social media to a legal identity. Effectively allowing authoritarian governments to silence their critics and opposition.

• Potential for dystopian censorship and cutting off means of organization for groups of resistance to oppressive regime and organizations.

• Endangering children online by putting a clear identification beacon over every child or family with children online.

• Endangering the data of children who will inevitably try to pass as adults, and have their information collected by the third-party for-profit company.

• Diminishing the value of official identification due to the inevitable data breaches, eventually pushing the system to require even more intrusive identification techniques, such as iris scans and fingerprints.

• Installing a system of mass surveillance capable of attaching even more information to everyone's legal identity. With a potential to built list of people in certain groups, and scale-up state censorship and discrimination in unprecedented ways.

• The list goes on and on.

This isn't about protecting the children.
It never was.

Do not be duped by this excuse used to convince you to let go of your human rights. They are only trying to manipulate people lacking information.

Stay informed on the issues related to Age Verification, and push back for your rights to privacy and democracy.

The future depends on us.

#AgeVerification #Privacy #HumanRights #MassSurveillance #Authoritarianism

Natalie Vock at Valve is absolutely crushing it for the Steam Machine and trying to maximize utility of 8GB of VRAM

Though with MESA 26.x and now these new dmem cgroup controllers, one has to wonder what further optimizations remain before launch?

https://pixelcluster.github.io/VRAM-Mgmt-fixed/