Sign in

Joel Chippindale

@joel.social.monkeysthumb.co.uk.ap.brid.gy
116 followers 6 following 211 posts

CTO Coach, see monkeysthumb.co.uk. Previously CTO at Unmade, FutureLearn and Econsultancy. Working with talented start-up and scale-up CTOs who want […] 🌉 bridged from ⁂ social.monkeysthumb.co.uk/@joel, follow @ap.brid.gy to interact

PostsRepliesMedia
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 06/10/2026
I just got tickets to see Jimi Tenor at Cafe Oto in November. It should be good → www.cafeoto.co.uk/events/jimi-tenor…
cafeoto.co.uk
Cafe OTO → JIMI TENOR BAND – Two-Day Residency, 20–21 November 2026
Very pleased to welcome back the great Finnish musician and composer, Jimi Tenor for a two-day residency - this time with full band! Tenor has never settled for the traditional role of a pop artist. A musician whose work lies …
000
Reposted by Joel Chippindale
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 30/09/2025
"So many engineers will tell you they hate politics, and yes, there is definitely toxic workplace politics. But there’s a baseline where politics is getting things done. It’s convincing people that the idea is good, and that it can be executed." — Cate Huston from […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
011
Reposted by Joel Chippindale
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 29/12/2025
"In fact, it is very difficult to be fast if you are bad. Software which is delivered quickly but is not valuable does not count for much, and any necessary rework counts against the lead time of the feature. You have to be both." — Brian Guthrie from […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
001
Reposted by Joel Chippindale
Simon Willison @simon.fedi.simonwillison.net.ap.brid.gy · 04/10/2026
Just published this post about how we’re going to need default hard budget caps on pretty much everything simonwillison.net/2026/Oct/3/defaul…
simonwillison.net
We’re going to need default hard budget caps on pretty much everything
Here’s a product feature which the world is going to need a whole lot more of over the coming months and years: default hard budget caps. I’m talking about the …
156
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 24/09/2026
I am looking forward to being in Berlin in a few weeks. While I am there I will be leading an interactive workshop on "Building trust as an engineering leader" for the brilliant Build & Lead: Tech Leaders Berlin community on Thu 8th October. Sign up and come along if you are interested → […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
110
Reposted by Joel Chippindale
Mosscap @mosscap.dev · 12/09/2026
well here's a project we definitely support stopomarchy.neocities.org
stopomarchy.neocities.org
STOP OMARCHY: Boycott Tech's Far-Right Backers
Protest against the Omarchy/Omacom Foundation and the tech companies and executives funding far-right open source.
1022
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 12/09/2026
A particularly fine slice of jazzy French house from Bellaire for some much needed dancing tonight at The Roundhouse
Bellaire in a whitecap with his hands behind his head playing music to a crowd bathed in green light
021
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 07/09/2026
📚 I've been improving support for many of the countries on Ethical Book Search → www.ethicalbooksearch.com If you are in Canada, Finland, Germany, Nigeria, Norway, Poland, Singapore, South Africa or Spain, and buy books online then I would be delighted if you would give it a go and […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
110
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 05/09/2026
I plan to migrate away from 1Password to another password manager. I want it to work with Android and macos. Any recommendations for good password managers to migrate to?
100
Reposted by Joel Chippindale
Massimo :bot: @rainmaker1973.zpravobot.news.ap.brid.gy · 04/09/2026
This guy's DIY audio visualizer
539140
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 04/09/2026
Ela Minus and Nick León were good at the ICA last night, but it was the shortest set
A dark stage with two spotlights, with Nick standing behind music equipment and Ela singing
130
Reposted by Joel Chippindale
James Smith 💾 @floppy.org.uk · 31/08/2026
@1password I’m a family customer and cannot begin to express how disappointed I am with your sponsorship of Omarchy, an organisation led by DHH, a white nationalist who has outright called for the ethnic cleansing of Europe. I’m just one subscription, but if you continue this, I won’t be giving […]
mastodon.me.uk
Original post on mastodon.me.uk
2419
Reposted by Joel Chippindale
Chuck Darwin @cdarwin.c.im.ap.brid.gy · 23/08/2026
The housing unit, attractively set around a courtyard in converted student accommodation, follows the ⭐️“Housing First” principle that has made Finland a world leader when it comes to tackling homelessness. 👉The model focuses on housing as a fundamental human right rather than a reward […]
c.im
Original post on c.im
106
Reposted by Joel Chippindale
Ian Forrester | @cubicgarden @cubicgarden.mas.to.ap.brid.gy · 27/08/2026
Its about the richness of the network bonds we all have cubicgarden.com/2026/08/27/its-abou…
github.com
Its about the richness of the network bonds we all have
I recently posted this on linkedin. It came from an email conversation with Alex DS and my experiences with applying for jobs recently.I’ll say it again, Alex is extremely smart and been a fantastic person to talk with about so many things, especially the rights and wrongs of the tech industry. > A month ago, I remembered something fundamental: my network matters far more than applications sent into the void of public job boards. > Thanks to **Alexandra Deschamps-Sonsino** for the wise words again and the nudge! > > I’m finally putting this into action… > > I’m seeking roles inspired by four core strengths I bring to the table: > > 🔹 Declarative Development – xHTML, CSS, SVG, **#XML** , RDF, **#Linked** Data, Semantic Web. I’m a declarative coder at heart, specialising in this space. Data privacy and management are non-negotiable. > 🔹 Project Leadership – Planning, leading, and nurturing projects from early development, through securing funding, all the way to public launch. > 🔹 Real-World AI Advising – Beyond the hype! I combine academic rigour with hands-on experience running local, private **#AI** systems on regular open-source systems. I’m also a strong advisor on technology, design, and data-related projects. > 🔹 Leading, Lecturing & Teaching – **#UX** research and future media development (object-based, adaptive and perceptive media). I’m passionate about shifting from **#HCI** (Human Computer Interaction) to an **#HDI** (Human Data Interaction) mindset, with a focus on alternative metrics grounded in human values, sustainability and good human incentives. > > If you know of opportunities, teams, or conversations that align with any of these areas, or if you’d just like to connect and exchange ideas (especially around digital legacy, ethically connecting people or the digital public space), I’d love to hear from you. > > Open to remote, hybrid, or in-person opportunities. > Feel free to comment or send me a DM. And if you think someone else should see this, I’d appreciate the re-share… Its clear this post connected with quite a few people, and I have booked in talks with quite a few people…
001
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 28/08/2026
Kahil El'Zabar's Ethnic Heritage Ensemble were fantastic at Club 100 last night. Catch them if you can
Three main on stage playing cello, drums and baritone sax
010
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 27/08/2026
"Not burning out is a competitive advantage" — Dominika Rogala from leaddev.com/management/four-dimensi…
leaddev.com
110
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 26/08/2026
"The thing is, whether we get a refund or not, we had to spend time fighting this nonsense. The scammers here are dumping the burden of proof onto consumers and ordinary small business people like these hotel operators, which is a form of social pollution. They may only steal money from a few of […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
100
Reposted by Joel Chippindale
Prof Christina Pagel @chrischirp.bsky.social · 19/08/2026
ULEZ has to stand as one of @london.gov.uk Sadiq Khan's finest achievements www.bbc.co.uk/news/article...
bbc.co.uk
Children's stunted lungs show recovery in ultra low emission zone
Children's lung capacity caught up with their peers in less polluted areas once a clean air zone came in, a study shows.
10583188
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 14/08/2026
I've added support for Fastmail calendars to Ditto Cal. If you are interested in sync'ing availability between any combination of Google and Fastmail calendars then give it a go. → dittocal.com
dittocal.com
Ditto Cal
Synchronize your availability between multiple Google calendars
120
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 10/08/2026
As far as I can tell most of the traffic to Ethical Book Search (www.ethicalbooksearch.com) has been from bots pretending to be ordinary visitors (browser agents and cycled residential IP addresses). This is a problem because it puts load of the 3rd party APIs that we use. Today, I put […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 25/07/2026
Hot and dusty for today's #AllyPallyParkrun. 38m 30s and good to be back running.
150
Reposted by Joel Chippindale
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 30/06/2026
Taking Roads and Bridges literally - Reflections on UN Open Source Week 2026 nesbitt.io/2026/06/30/taking-roads-…
nesbitt.io
Taking Roads and Bridges literally
I spent last week at UN Open Source Week, where officials from a dozen governments stood up in turn and described open source as critical infrastructure. That framing has been the standard one since Nadia Eghbal’s _Roads and Bridges_ report for the Ford Foundation in 2016, and after ten years it has finally reached the audience it describes. Sitting in a UN conference room full of people whose job is public infrastructure, I started wondering what it would mean to stop treating the title as a metaphor and look at how bridges are actually maintained. _Roads and Bridges_ was pitched at the audience that was listening in 2016, technology companies and philanthropic foundations, neither of which maintains bridges: they drive over them for free, pay for them through tax, and leave the upkeep to the state. Spelling out the National Bridge Inspection Standards and the Highway Trust Fund to that room would have meant describing a government programme to a non-government audience, so the report stopped at the analogy and asked the people present to help. The decade since produced GitHub Sponsors, Open Collective, corporate OSPO budgets, and foundation grants: voluntary contributions from users of the infrastructure. The civil-engineering equivalent is Adopt-a-Highway, where a local business pays to pick litter from a stretch of road and gets its name on a sign. Adopt-a-Highway is a real programme that does some good, and no state relies on it to keep a bridge from falling into a river. ## The National Bridge Inspection Standards In the United States, every public-road bridge with a span longer than twenty feet is maintained under a federal regime that has been running since 1971, set up after the Silver Bridge collapse killed 46 people in 1967. The National Bridge Inspection Standards are codified at 23 CFR 650 Subpart C and they specify, among other things: * **Mandatory inspection.** Every bridge is inspected on a fixed cycle by a certified inspector, regardless of who owns it or whether the owner consents: 24 months is the default routine interval, with shorter cycles for higher-risk structures and longer risk-based intervals where the data supports it. * **Component condition ratings.** Each inspection produces a 0–9 rating for the deck, the superstructure, and the substructure. “Poor condition,” and the older “structurally deficient” label it replaced in 2018, are defined terms tied to those numbers rather than a judgement call. * **Load posting.** A bridge that has degraded below its design load is legally derated: a sign goes up restricting the weight of vehicles that may cross, so the bridge stays open at reduced capacity instead of being either ignored or closed. * **An inventory of record.** Every bridge has a structure number in the National Bridge Inventory, with an owner of record, and the whole dataset is public and queryable. * **Formula funding.** Federal fuel tax flows into the Highway Trust Fund and is allocated to states by formula. The money is recurring and predictable, not at the discretion of whoever happens to be feeling generous this quarter. * **Post-incident investigation.** After a major collapse the NTSB produces a formal accident report with findings of probable cause and recommendations: I-35W in Minneapolis, Fern Hollow in Pittsburgh. Recognising a structure as a public bridge switches all of that on automatically: the inventory entry, the inspection cycle, the condition ratings, the funding line, the closure authority. For an open source project, the same recognition currently switches on a speech. The government action that has followed regulates the _consumers_ of open source rather than the infrastructure. The EU Cyber Resilience Act, US Executive Order 14028, and the various SBOM mandates put obligations on companies that ship products containing open source, which in bridge terms is requiring haulage firms to certify which bridges their trucks crossed while not employing any bridge inspectors. ## Ownership Critical open source projects generally have identifiable owners (named maintainers, a foundation, a company), and the single-maintainer statistic is alarming because the number is one rather than because it is unknown. What they lack is a _state_ owner of record, but the bridge regime does not require one. The Ambassador Bridge between Detroit and Windsor carries around a quarter of road-borne US–Canada merchandise trade, is owned by a private company, and is still subject to federal inspection because the regime attaches to the function the structure performs, not to who holds the title. We know exactly who owns it, and we have left them to it. ## Null results The part of NBIS with the least open source equivalent is the most boring: an inspection that finds nothing wrong is filed with exactly the same formality as one that finds a crack in a girder. The inspector records a 9 for the deck and a 9 for the superstructure, dates and signs it, and it goes into the National Bridge Inventory next to all the others, with date of last inspection a queryable field in its own right. In open source, a review that finds nothing wrong is almost never published, because the only outputs with anywhere to go are findings: issues, pull requests, CVEs. The absence of a CVE against a project cannot distinguish “someone competent checked this and it was fine” from “nobody has looked.” Bug bounties, CVE credit, advisory acknowledgements, and conference talks all pay out on findings, and time spent confirming that a library is sound earns nothing and leaves no trace, which makes a clean review economically irrational to perform. A bridge inspector is paid the same for a 9 as for a 3, and that flat rate is what makes routine inspection a job rather than a hobby. A certified inspector’s “found sound” is a legal record because the state has defined who counts as an inspector and what an inspection consists of, whereas a drive-by GitHub comment saying “I looked at this and it seems fine” is correctly discounted to zero because there is no way to know who looked, how hard, or at what. Without a definition of what an inspection is and who is qualified to perform one, a clean report has no weight, so nobody bothers to write one. ## Procurement Germany’s Sovereign Tech Agency is the clearest example I know of a government treating open source as infrastructure it has some responsibility for, and the telling detail is the legal form. It was set up in 2022 as the Sovereign Tech _Fund_ and renamed in 2024 to the Sovereign Tech _Agency_ , a shift from a thing that disburses money to a thing that does work, and it pays maintainers under service contracts rather than grants, because German public-spending law makes it difficult for the government to give money away without defined consideration in return. That constraint is usually described as a bureaucratic obstacle, but it is doing the same job here that it does in civil engineering, where state departments of transportation procure inspection and repair from contractors under agreements specifying scope, deliverables, schedule, and acceptance criteria. A contract casts the maintainer as a professional the state is buying from because it needs the work done, which is a more accurate and more dignified relationship than the grantee-and-benefactor one that most open source funding has settled into. The procuring agency writes its own scope of work (which project, which components, what methodology, what gets published and by when), so a review delivered against that scope to a public agency carries weight because of who commissioned it and what they specified, not because of any certification the reviewer holds. Engineering standards have generally propagated this way, from large public buyers writing down what they will pay for and contractors converging on whatever wins the work, which also avoids the argument about who has the authority to set norms for open source: a scope of work claims no authority over the ecosystem, only over the purchase order. ## Scope of work A maintenance contract for an open source project has an obvious scope, and most of it is work maintainers already do unpaid: * Test coverage * Documentation * Performance benchmarks * Security review * Compatibility matrices against supported language and platform versions * Dependency updates Every item on that list produces an artifact whether or not it turns up a problem, since coverage is a percentage regardless, a compatibility matrix has a value in every cell, and a security review conducted on a given date against a stated methodology is a record even when the finding count is zero. Those artifacts map onto component condition ratings, a dated profile across several dimensions instead of a single health score, each of which can be re-measured on a cycle. A profile can also carry the equivalent of a load posting, where the report records that the project is sound within stated limits (“maintained for LTS platforms only,” “not hardened against untrusted input”) without having to choose between a clean bill and a warning label, which is a state open source currently has no way to express. Aggregate the reports across enough contracts and the result is an inventory with a structure number, an owner of record, a date of last inspection, and a condition by component. Documentation goes stale, dependencies become outdated, and CI matrices stop matching the platforms people use, on a shorter cycle than concrete weathers because the environment a library runs in is other software that is also changing. The right instrument is a maintenance contract on a term, not a one-off grant or a bounty, and “we funded that project in 2024” should sound as odd as “we inspected that bridge in 2024.” The boundary of that contract is condition assessment and upkeep rather than feature development, so the state is buying “keep it standing and report its condition,” which answers in advance the worry that government money would put government hands on a project’s roadmap. The institution the _Roads and Bridges_ metaphor pointed at already exists, with fifty years of regulation, case law, and procurement practice behind it, and none of it was built by asking trucking companies to sponsor their favourite overpass.
1813
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 29/06/2026
You have until tomorrow (Tue 30th) to apply for one of these 29 full coaching scholarships → social.monkeysthumb.co.uk/@joel/116…
002
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 26/06/2026
A graveyard of nearly 400 of Google's abandoned products. Worth perusing next time you are considering depending on something that they provide → killedbygoogle.com
killedbygoogle.com
Killed by Google
Killed by Google is the open source list of dead Google products, services, and devices. It serves as a tribute and memorial of beloved services and products killed by Google.
110
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 23/06/2026
You have until 30th June to apply for one of these scholarships social.monkeysthumb.co.uk/@joel/116…
000
Reposted by Joel Chippindale
Julia Evans @b0rk.social.jvns.ca.ap.brid.gy · 22/06/2026
i love this blog post, it's always so difficult for me to think about timezone issues and this is such a great example of how the way you model time data depends on what you're doing! www.crunchydata.com/blog/british-co… (like, if there's an appointment at 4PM […]
social.jvns.ca
Original post on social.jvns.ca
119
Reposted by Joel Chippindale
Ian Dunt @iandunt.bsky.social · 17/06/2026
Hate it when people suggest children will be happy if they play outside. I remember playing outside. It was fucking dreadful. I wanted to go back in and play video games and read comics, but apparently being outside held some kind of magic power which erased adults' critical faculties.
10149638
Reposted by Joel Chippindale
tante @tante.tldr.nettime.org.ap.brid.gy · 12/06/2026
McSweeney's on "AI finances" goes harder than most business publications. www.mcsweeneys.net/articles/ai-econ…
mcsweeneys.net
AI Economics for Dummies
As AI companies get ready to go public and we get a deeper look at their inner workings, it’s only natural to have questions about their finances, like “Do they make money?” and “How?” Here are a few examples to help the average layperson understand the business side of AI. **1.** Acquiring one grape costs Alex $2 billion. Alex offers to sell Mike one grape a month for the next 12 months for $1 billion per grape. Alex asks for the full $12 billion up front and provides Mike with one grape for the first month. Alex makes a $10 billion profit this month; his ARR is $120 billion, and his profits are trending up at an infinite rate. _The Wall Street Journal_ ’s business editor moves into Alex’s house, having accepted a part-time position as Alex’s human footstool. He never asks to see the books. **2.** Laura drives a taxi. Instead of charging her customers a fee for every ride, she charges them a $20/month subscription. Laura has 40 million paying customers, totaling roughly $13 billion in annual revenue. Laura spends $25 billion/year on gas. In a fit of late-capitalist bloodlust, hordes of tech and finance bros riot in the streets, firebombing every rideshare, bus, and pedicab they can find, declaring the transportation business officially “over.” Also, Laura’s taxi cost her $1 trillion to attain, and she’ll have to replace it in four to eight years. **3.** Jenny owns a crematorium. John’s propane company gives her a $20 billion investment in return for 5 percent of her operation. Jenny throws $10 billion into the incinerator, then pays John $10 billion to buy propane to burn that money to ashes. John reports that his AI investments have generated $10 billion in revenue this quarter and that he owns 5 percent of a $100 billion business. A reporter from _Forbes_ is assigned to profile John and Jenny, and over the course of his research, he becomes embroiled in a passionate but confusing three-way love affair with them, which eventually turns into a polyamorous common-law marriage. His profile is glowing, but light on financial details. **4.** Benjamin owns a farm. He employs 100 workers plowing his fields. His total payroll is $10 million/year. One day, he buys a mule, which provides the worker who uses it with a modest 10 percent productivity gain. Benjamin fires 99 of his workers and purchases 99 mules, expecting a 1,000 percent productivity gain. The driverless mules cause plow damage to his property in excess of $50 million. Benjamin loses another $5 million due to the loss of productivity from his one remaining employee, who no longer guides a plow but instead spends 100 percent of his time shoveling mule shit. Goldman Sachs builds an altar to Benjamin in their lobby and cuts out the heart of a junior analyst on it every Friday. They call it “Blood Sacrifice Friday.” The name isn’t catchy, but the event becomes a management favorite nonetheless. **5.** Xavier owns an apartment that he rents out at a loss of $1 billion/month. Seeing this success, he decides to make financial commitments to construct $850 billion in new apartments in places nobody wants them. He convinces Ted to leverage everything he owns to help him build the apartments, telling him that once they are built, every human being on Earth will live in them. Ted contributes $100 billion, part of which immediately goes toward paying off Xavier’s $1 billion/month loss. _Forbes_ gives Xavier and Ted a cover feature, likening their building project to God creating the Heavens and the Earth. Many Fortune 500 CEOs take this comparison literally and establish a new religion around Ted and Xavier, with themselves as high priests. Soon, they start a Holy War with the pope, declaring “Ted and Xavier the One True Gods on Earth” and promising to “purge the nonbelievers” in an official press release. They annex, then subsequently demolish, Vatican City, committing another $900 billion dollars to build new apartments in its place. _Forbes_ hails this as “disruptive,” though it’s not clear how Ted and Xavier plan to finance the project. We hope these examples help clarify the inner workings of AI economics. But if you’re still confused, all you really need to know is that everything is totally working and everyone is making a lot of money, and you should just stop asking questions, luddite.
26130
Reposted by Joel Chippindale
Ian Dunt @iandunt.bsky.social · 12/06/2026
It breaks my mind that Trump saying a deal is close with Iran still secures one of five news slots in a BBC radio bulletin. He's fucking said this for months guys. Months. None of it means anything.
1081577247
Reposted by Joel Chippindale
Dan Hon @danhon.com · 12/06/2026
OCEANIA HAS ALWAYS BEEN VERY CLOSE TO A DEAL WITH EURASIA
136127002787
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 08/06/2026
This advice from @patkua on introducing metrics is spot on → martinfowler.com/articles/useOfMetr…
martinfowler.com
An Appropriate Use of Metrics
Metrics are a seductive way to measure progress but often lead to problematic behavior. Here are some guidelines to avoid the ways metrics are used inappropriately.
000
Reposted by Joel Chippindale
Tom Gauld @tomgauld.bsky.social · 07/06/2026
p.s. I’m on a German book tour: come and see me in Berlin (mon), Frankfurt (tue), or Munich (wed). Details at www.tomgauld.com
57318
Reposted by Joel Chippindale
Roberta Fidora @robertafidora.mastodon.social.ap.brid.gy · 05/06/2026
Roberta Fidora - Notification tv.gravitons.org/w/hcrRMgWzEwpcZat8… #Music #MusicVideos #Videos #Gravitons
tv.gravitons.org
Roberta Fidora - Notification
In "Notification", an ageing female newsreader is replaced by the technology of the day and demoted to the role of local news reporter, but technology may not have won this round, as she finds unex...
039
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 03/06/2026
📢 29 full coaching scholarships for leaders from underrepresented groups in technology 📢 Are you a leader from an underrepresented group in technology who is looking to overcome difficult challenges, and/or increase your impact, and/or advance in your career? If so, then apply for one of our […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 15/05/2026
It was fun to see Delcy Morelos at the opening of her sculpture, origo, at the Barbican last night. It's worth a visit for the olfactory experience alone. → www.barbican.org.uk/whats-on/2026/e…
barbican.org.uk
origo | Barbican
Colombian artist Delcy Morelos explores our relationship with the earth in a monumental, site-specific installation made of soil, clay and fragrant spices.
000
Reposted by Joel Chippindale
Tom Stafford @tomstafford.mastodon.online.ap.brid.gy · 14/05/2026
Don’t ask forgiveness, radiate intent medium.com/@ElizAyer/dont-ask-forgi… I think about this @elizayer post all the time. I don't know of a single piece of advice that has helped me more to appreciate complex organisations yet retain the ability to act
line drawings of people on bikes, making hand signals
023
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 09/05/2026
Hot and sunny for todays #AllyPallyParkrun, a leisurely (yeah right 😉) 39m 13s
030
Reposted by Joel Chippindale
Simon Willison @simon.fedi.simonwillison.net.ap.brid.gy · 07/05/2026
Under-reported details of the xAI/Anthropic Colossus data center deal: Anthropic get Colossus 1 but xAI keep using the larger Colossus 2, Colossus 1 has a REALLY bad environmental record, and xAI just shut down a bunch of older models on 2 weeks' notice […]
fedi.simonwillison.net
Original post on fedi.simonwillison.net
137
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 05/05/2026
Lots of valuable wisdom shared by @sally about the very human work of building maintainable software and the teams that make it so in this interview maintainable.fm/episodes/sally-lait…
maintainable.fm
Sally Lait: Confidence Is the Real Metric
Sally Lait joins Robby to explore why confidence might be the most important signal of software maintainability. They dig into the cultural dynamics behind legacy systems, why technical debt becomes a people problem, and how teams can move forward without dismissing the work that got them here.
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 05/05/2026
Holding Space for Change programme Our 9-month experiential learning cohort is for people who hold space for others and want to develop their practice will begin in June. This programme would be a good fit if you: - Care about creating more participatory, thoughtful or humane spaces - Want to […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 04/05/2026
"The beliefs might become behaviors. An example: junior hiring might slow down, not because AI can do juniors’ jobs well, but because the labs believe it can and persuade employers that it can. A hiring freeze is an almost inevitable consequence of the patterns of belief." — Azeem Azhar from […]
social.monkeysthumb.co.uk
Original post on social.monkeysthumb.co.uk
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 30/04/2026
Ethical Book Search got a lovely new favicon and logo from donated by doodler @mattrambles today! Thanks Matt → www.ethicalbooksearch.com
A hand sketched book with a smiley face on the front
100
Reposted by Joel Chippindale
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 28/04/2026
GitHub Actions is the weakest link: nesbitt.io/2026/04/28/github-action…
nesbitt.io
GitHub Actions is the weakest link
Pick almost any open source supply chain incident from the past eighteen months and trace it back, and you end up reading a `.github/workflows` YAML file. Ultralytics shipping a crypto miner to PyPI, the nx packages that turned thousands of developer machines into credential harvesters, tj-actions leaking secrets from 23,000 repositories, Trivy getting compromised twice in three weeks, elementary-data publishing a malicious wheel ten minutes after a stranger left a GitHub comment. Different headline payloads, different victims, and in each case a GitHub Actions feature behaving exactly as documented. I wrote in December about the narrow problem of Actions being a package manager with no lockfile, no integrity hashes and no transitive visibility, and that the `uses:` line is a dependency declaration that the runner re-resolves on every execution against mutable git tags. That argument still stands and has since been demonstrated rather thoroughly in production, but it’s only one face of a larger problem. The whole product is a collection of features that are each convenient on their own and very easy to assemble into something dangerous, and the workflows building and publishing most of the world’s open source run on a platform whose defaults were chosen for a private-repo enterprise CI tool and never really rethought for anonymous forks and drive-by pull requests. ### The incidents The earliest link in the recent chain is spotbugs in November 2024, which had a workflow on the `pull_request_target` trigger that checked out and built code from an untrusted fork. That trigger exists so that workflows can do things like label PRs from forks, and to make that work it runs in the context of the base repository with full secret access and a write-scoped token. Combining it with a checkout of the fork’s `head.sha` hands an attacker code execution inside your trust boundary, which is what happened: a malicious PR lifted a maintainer’s PAT, that PAT had access to reviewdog, and four months later the same actor used it to seed the tj-actions/changed-files compromise. GitHub’s own documentation has warned about this combination since 2021 and still ships the trigger with no guardrail beyond a paragraph in the docs. A month after spotbugs, Ultralytics was hit through the same trigger with a different second stage. The fork PR couldn’t reach the publishing credentials directly, so instead it poisoned a GitHub Actions cache entry, and when the legitimate release workflow later restored that cache it executed the payload while building wheels. Two versions of `ultralytics` reached PyPI with a miner inside. The cache is keyed by branch and shared down to children, the `pull_request_target` job runs as the default branch, and nothing in the UI or the API tells you that an entry was written by a job processing untrusted input. The tj-actions incident in March 2025 is the one most people have heard of because CISA put out an advisory and because the original target turned out to be Coinbase. With the PAT harvested from spotbugs the attacker pushed a malicious commit to `reviewdog/action-setup` and moved the `v1` tag to point at it. `tj-actions/eslint-changed-files` referenced reviewdog by tag, `tj-actions/changed-files` referenced that, and 23,000 downstream repositories referenced `changed-files` by tag. Every one of them ran a memory scraper that dumped runner secrets into public build logs. The platform feature at fault is that action versions are git refs in someone else’s repository, force-pushable by anyone with write access to that repository, and consumed by default through a moving tag rather than a content hash. Unpinned tags are by far the most common finding in any scan of public workflows, but I suspect a good chunk of that risk could be closed inside the action loader without anyone editing their YAML. GitHub stores a repository and all its forks in one shared object pool, and the runner resolves `uses: owner/action@<ref>` against anything in that pool, so a SHA that only exists in a stranger’s fork, never reviewed and never on an upstream branch, is fetchable through the parent’s namespace as if the maintainers had put it there. Chainguard documented this as “imposter commits” back in 2022. The malicious tj-actions commit was a dangling object that didn’t belong to any branch in the repository, and the runner executed it anyway because a tag pointed at it. Having the loader verify that a resolved SHA is reachable from a branch in the canonical repo, rather than just present somewhere in the fork network, would make tag hijacking need a real push to a real branch and would make a SHA pin actually mean the code had been in the upstream at some point. August brought s1ngularity, where the nx build system’s repository had a `pull_request_target` workflow that interpolated the pull request title into a shell step. The `$` template syntax expands before the shell sees the script, so a PR titled with a command substitution becomes code, and because of the trigger that code ran with an npm publishing token in scope. The malicious nx releases that followed went looking for AI coding assistant credentials on developer machines and used them to enumerate and exfiltrate private repositories, which is how a single unsanitised string in a CI workflow ended up with over five thousand private repos briefly made public. By 2026 attackers had stopped finding these one at a time and started running campaigns. The prt-scan operation spent six weeks across March and April opening hundreds of pull requests against repositories with `pull_request_target` misconfigurations, rotating through throwaway accounts and using generated, language-appropriate diffs to look like plausible contributions until the workflow fired. Around the same time Trivy’s action repository was compromised through, again, a `pull_request_target` workflow, which an attacker found in late February. Aqua cleaned up, but the credential rotation wasn’t atomic, and three weeks later the same actor used tokens harvested in the first round to force-push 76 of 77 historical version tags so that even users pinned to an old “known good” `@0.x.y` ran the credential stealer. Then last week a GitHub account two days old left a comment on an old elementary-data pull request. The repository had a workflow listening on `issue_comment` that echoed `$` into bash, the comment body closed the echo string and curled a stager, and because the workflow had no `permissions:` block the stager got a write-scoped `GITHUB_TOKEN` by default. It pushed a commit with a forged `github-actions[bot]` author, dispatched the existing release workflow, and put a credential-stealing wheel on PyPI and a matching image on GHCR within ten minutes, without any maintainer accepting a PR or clicking a button or being awake. ### Common factors I don’t think any of the maintainers above were doing anything unusual, for what it’s worth. These workflows look like the examples in GitHub’s docs and like thousands of other repos. Laying the incidents out side by side, the same GitHub Actions features keep recurring: `pull_request_target` and `issue_comment` triggers that run untrusted-event workflows with full secrets, `$` expansion that does textual substitution into shell scripts with no quoting, a `GITHUB_TOKEN` that defaults to write on any repo created before February 2023, action versions that are mutable git refs, and a cache that crosses trust boundaries silently. None of these are bugs in the strict sense, and as far as I can tell none of them are going away. A few have grown warnings in the documentation, and `pull_request_target` got a behavioural tweak last November so it always reads the workflow file from the default branch, but the change that would have stopped most of the list above, which is simply not handing write tokens and secrets to workflows triggered by people who’ve never been near the repo, hasn’t happened. The vulnerable workflow at the root of each of these trips at least one audit in zizmor’s default ruleset: `dangerous-triggers` for spotbugs, Ultralytics, nx, prt-scan and Trivy, `cache-poisoning` for the Ultralytics escalation, `unpinned-uses` for everyone downstream of tj-actions and Trivy, `template-injection` for nx and elementary-data, `excessive-permissions` for the default-write token that turned the elementary-data injection into a release. The elementary-data one was sitting in my own results from running zizmor across every PyPI package’s workflows for an upcoming talk, marked High/High three weeks before the comment was posted. Adding `zizmorcore/zizmor-action` to a repository takes about four lines of YAML and is probably the single most useful thing a maintainer can do about this today, short of moving off GitHub Actions entirely, which I’d also understand. I mean that as a strong endorsement of the tool, but it’s a slightly uncomfortable thing to say about the platform when the best available defence for GitHub Actions is a third-party linter maintained largely by one person that catches footguns GitHub put there and could remove. ### Trusted publishing The reason I keep worrying at this rather than any of the dozen other places a package can be compromised is that the package registries have collectively decided to bet on it. PyPI, npm, RubyGems and crates.io have all adopted OIDC-based trusted publishing from CI, specifically to get long-lived API tokens out of repository secrets, and that’s a real improvement over a `PYPI_API_TOKEN` sitting in a repo for years and eventually turning up in someone’s dotfiles. But it means the integrity guarantee of those registries is now roughly as strong as the GitHub Actions workflow that holds the `id-token: write` permission. We’ve spent a decade hardening package managers with lockfiles, 2FA mandates, signatures, audit logs and provenance attestations, and the net effect of wiring all of that to OIDC has been to take trust we used to spread across thousands of individual maintainer credentials and concentrate it on one CI platform that has none of those properties itself. There are other trusted publisher identity providers, GitLab and Google Cloud Build among them, but in practice the overwhelming majority of OIDC publishes to the big registries come from GitHub-hosted runners. An attacker who wants to get something malicious onto PyPI or npm today is, more often than not, looking at workflow files rather than phishing maintainers, which puts rather a lot of weight on GitHub to get this right. ### GitHub’s response GitHub did publish a security roadmap last month, and to their credit it contains real fixes: a workflow lockfile that pins direct and transitive action dependencies to SHAs, policy controls that can ban `pull_request_target` outright, secrets scoped to specific workflows rather than whole repos, an egress firewall on hosted runners. It’s the framing I find frustrating, because everything is opt-in, everything is “public preview in three to six months”, and the lockfile arrives roughly three years after the issue asking for it was closed as not planned. Meanwhile the community discussion on secure-by-default Actions is full of GitHub staff explaining that changing defaults would break existing workflows, which is true, and I do understand the bind they’re in. I’d argue breaking existing workflows is rather the point though, because the existing workflows are what keeps going wrong: 91% of PyPI packages that use third-party actions reference at least one by mutable tag, two thirds have no `permissions:` block on at least one workflow, and a year after tj-actions there are still hundreds of packages pointing at it by tag. Opt-in security features get adopted by the projects that were already paying attention and ignored by the long tail of repos whose maintainers reasonably assume the platform defaults are safe. For private repositories there’s a fair argument for caution, since a broken internal pipeline mostly hurts the people who own it. Public repositories building artefacts that get published to package registries and pulled by millions of downstream users feel like a different risk calculus to me, not least because the people who’d be inconvenienced by a defaults flip and the people currently getting compromised are largely different populations. I think GitHub could justify treating the two cases differently. There are a handful of changes I’d happily trade some broken builds for. Flip the token default to read-only for every public repo regardless of creation date, refuse to expand `github.event.*` inside `run:` steps, refuse to restore caches in jobs on `pull_request_target`, require immutable references for actions in any workflow that requests `id-token: write`. Each of those would break things and annoy people, and each would have taken at least one of the incidents above off the board. Until GitHub is willing to make changes that break things, run zizmor, pin your SHAs, set `permissions: {}` at the top of every workflow file, and assume that anything an unauthenticated user can put in a PR title, branch name or issue comment will eventually be a shell script. Otherwise sooner or later it’s your repo that’s the weakest link. Goodbye.1 * * * **Incidents referenced:** * spotbugs `pull_request_target` to reviewdog to tj-actions chain, Nov 2024 - Mar 2025 * Ultralytics cache poisoning, Dec 2024 * tj-actions/changed-files CVE-2025-30066 and reviewdog/action-setup CVE-2025-30154, Mar 2025 * CISA advisory on tj-actions/reviewdog * nx / s1ngularity, Aug 2025 * Trivy action compromise and second-round tag hijack, Feb-Mar 2026 * prt-scan `pull_request_target` campaign, Mar-Apr 2026 * elementary-data comment injection, Apr 2026 * Orca “pull_request_nightmare” research * Chainguard: imposter commits in GitHub Actions * StepSecurity: “This commit does not belong to any branch” * Sysdig: insecure Actions in MITRE, Splunk et al. 1. For anyone who didn’t spend the early 2000s watching British daytime telly: The Weakest Link. ↩
008
Reposted by Joel Chippindale
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 06/12/2025
The package manager in GitHub Actions might be the worst package manager in use today: nesbitt.io/2025/12/06/github-action…
nesbitt.io
GitHub Actions Has a Package Manager, and It Might Be the Worst
After putting together ecosyste-ms/package-manager-resolvers, I started wondering what dependency resolution algorithm GitHub Actions uses. When you write `uses: actions/checkout@v4` in a workflow file, you’re declaring a dependency. GitHub resolves it, downloads it, and executes it. That’s package management. So I went spelunking into the runner codebase to see how it works. What I found was concerning. Package managers are a critical part of software supply chain security. The industry has spent years hardening them after incidents like left-pad, event-stream, and countless others. Lockfiles, integrity hashes, and dependency visibility aren’t optional extras. They’re the baseline. GitHub Actions ignores all of it. Compared to mature package ecosystems: Feature | npm | Cargo | NuGet | Bundler | Go | Actions ---|---|---|---|---|---|--- Lockfile | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ Transitive pinning | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ Integrity hashes | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ Dependency tree visibility | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ Resolution specification | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ The core problem is the lack of a lockfile. Every other package manager figured this out decades ago: you declare loose constraints in a manifest, the resolver picks specific versions, and the lockfile records exactly what was chosen. GitHub Actions has no equivalent. Every run re-resolves from your workflow file, and the results can change without any modification to your code. Research from USENIX Security 2022 analyzed over 200,000 repositories and found that 99.7% execute externally developed Actions, 97% use Actions from unverified creators, and 18% run Actions with missing security updates. The researchers identified four fundamental security properties that CI/CD systems need: admittance control, execution control, code control, and access to secrets. GitHub Actions fails to provide adequate tooling for any of them. A follow-up study using static taint analysis found code injection vulnerabilities in over 4,300 workflows across 2.7 million analyzed. Nearly every GitHub Actions user is running third-party code with no verification, no lockfile, and no visibility into what that code depends on. **Mutable versions.** When you pin to `actions/checkout@v4`, that tag can move. The maintainer can push a new commit and retag. Your workflow changes silently. A lockfile would record the SHA that `@v4` resolved to, giving you reproducibility while keeping version tags readable. Instead, you have to choose: readable tags with no stability, or unreadable SHAs with no automated update path. GitHub has added mitigations. Immutable releases lock a release’s git tag after publication. Organizations can enforce SHA pinning as a policy. You can limit workflows to actions from verified creators. These help, but they only address the top-level dependency. They do nothing for transitive dependencies, which is the primary attack vector. **Invisible transitive dependencies.** SHA pinning doesn’t solve this. Composite actions resolve their own dependencies, but you can’t see or control what they pull in. When you pin an action to a SHA, you only lock the outer file. If it internally pulls `some-helper@v1` with a mutable tag, your workflow is still vulnerable. You have zero visibility into this. A lockfile would record the entire resolved tree, making transitive dependencies visible and pinnable. Research on JavaScript Actions found that 54% contain at least one security weakness, with most vulnerabilities coming from indirect dependencies. The tj-actions/changed-files incident showed how this plays out in practice: a compromised action updated its transitive dependencies to exfiltrate secrets. With a lockfile, the unexpected transitive change would have been visible in a diff. **No integrity verification.** npm records `integrity` hashes in the lockfile. Cargo records checksums in `Cargo.lock`. When you install, the package manager verifies the download matches what was recorded. Actions has nothing. You trust GitHub to give you the right code for a SHA. A lockfile with integrity hashes would let you verify that what you’re running matches what you resolved. **Re-runs aren’t reproducible.** GitHub staff have confirmed this explicitly: “if the workflow uses some actions at a version, if that version was force pushed/updated, we will be fetching the latest version there.” A failed job re-run can silently get different code than the original run. Cache interaction makes it worse: caches only save on successful jobs, so a re-run after a force-push gets different code _and_ has to rebuild the cache. Two sources of non-determinism compounding. A lockfile would make re-runs deterministic: same lockfile, same code, every time. **No dependency tree visibility.** npm has `npm ls`. Cargo has `cargo tree`. You can inspect your full dependency graph, find duplicates, trace how a transitive dependency got pulled in. Actions gives you nothing. You can’t see what your workflow actually depends on without manually reading every composite action’s source. A lockfile would be a complete manifest of your dependency tree. **Undocumented resolution semantics.** Every package manager documents how dependency resolution works. npm has a spec. Cargo has a spec. Actions resolution is undocumented. The runner source is public, and the entire “resolution algorithm” is in ActionManager.cs. Here’s a simplified version of what it does: // Simplified from actions/runner ActionManager.cs async Task PrepareActionsAsync(steps) { // Start fresh every time - no caching DeleteDirectory("_work/_actions"); await PrepareActionsRecursiveAsync(steps, depth: 0); } async Task PrepareActionsRecursiveAsync(actions, depth) { if (depth > 10) throw new Exception("Composite action depth exceeded max depth 10"); foreach (var action in actions) { // Resolution happens on GitHub's server - opaque to us var downloadInfo = await GetDownloadInfoFromGitHub(action.Reference); // Download and extract - no integrity verification var tarball = await Download(downloadInfo.TarballUrl); Extract(tarball, $"_actions/{action.Owner}/{action.Repo}/{downloadInfo.Sha}"); // If composite, recurse into its dependencies var actionYml = Parse($"_actions/{action.Owner}/{action.Repo}/{downloadInfo.Sha}/action.yml"); if (actionYml.Type == "composite") { // These nested actions may use mutable tags - we have no control await PrepareActionsRecursiveAsync(actionYml.Steps, depth + 1); } } } That’s it. No version constraints, no deduplication (the same action referenced twice gets downloaded twice), no integrity checks. The tarball URL comes from GitHub’s API, and you trust them to return the right content for the SHA. A lockfile wouldn’t fix the missing spec, but it would at least give you a concrete record of what resolution produced. Even setting lockfiles aside, Actions has other issues that proper package managers solved long ago. **No registry.** Actions live in git repositories. There’s no central index, no security scanning, no malware detection, no typosquatting prevention. A real registry can flag malicious packages, store immutable copies independent of the source, and provide a single point for security response. The Marketplace exists but it’s a thin layer over repository search. Without a registry, there’s nowhere for immutable metadata to live. If an action’s source repository disappears or gets compromised, there’s no fallback. **Shared mutable environment.** Actions aren’t sandboxed from each other. Two actions calling `setup-node` with different versions mutate the same `$PATH`. The outcome depends on execution order, not any deterministic resolution. **No offline support.** Actions are pulled from GitHub on every run. There’s no offline installation mode, no vendoring mechanism, no way to run without network access. Other package managers let you vendor dependencies or set up private mirrors. With Actions, if GitHub is down, your CI is down. **The namespace is GitHub usernames.** Anyone who creates a GitHub account owns that namespace for actions. Account takeovers and typosquatting are possible. When a popular action maintainer’s account gets compromised, attackers can push malicious code and retag. A lockfile with integrity hashes wouldn’t prevent account takeovers, but it would detect when the code changes unexpectedly. The hash mismatch would fail the build instead of silently running attacker-controlled code. Another option would be something like Go’s checksum database, a transparent log of known-good hashes that catches when the same version suddenly has different contents. ### How Did We Get Here? The Actions runner is forked from Azure DevOps, designed for enterprises with controlled internal task libraries where you trust your pipeline tasks. GitHub bolted a public marketplace onto that foundation without rethinking the trust model. The addition of composite actions and reusable workflows created a dependency system, but the implementation ignored lessons from package management: lockfiles, integrity verification, transitive pinning, dependency visibility. This matters beyond CI/CD. Trusted publishing is being rolled out across package registries: PyPI, npm, RubyGems, and others now let you publish packages directly from GitHub Actions using OIDC tokens instead of long-lived secrets. OIDC removes one class of attacks (stolen credentials) but amplifies another: the supply chain security of these registries now depends entirely on GitHub Actions, a system that lacks the lockfile and integrity controls these registries themselves require. A compromise in your workflow’s action dependencies can lead to malicious packages on registries with better security practices than the system they’re trusting to publish. Other CI systems have done better. GitLab CI added an `integrity` keyword in version 17.9 that lets you specify a SHA256 hash for remote includes. If the hash doesn’t match, the pipeline fails. Their documentation explicitly warns that including remote configs “is similar to pulling a third-party dependency” and recommends pinning to full commit SHAs. GitLab recognized the problem and shipped integrity verification. GitHub closed the feature request. GitHub’s design choices don’t just affect GitHub users. Forgejo Actions maintains compatibility with GitHub Actions, which means projects migrating to Codeberg for ethical reasons inherit the same broken CI architecture. The Forgejo maintainers openly acknowledge the problems, with contributors calling GitHub Actions’ ecosystem “terribly designed and executed.” But they’re stuck maintaining compatibility with it. Codeberg mirrors common actions to reduce GitHub dependency, but the fundamental issues are baked into the model itself. GitHub’s design flaws are spreading to the alternatives. GitHub issue #2195 requested lockfile support. It was closed as “not planned” in 2022. Palo Alto’s “Unpinnable Actions” research documented how even SHA-pinned actions can have unpinnable transitive dependencies. Dependabot can update action versions, which helps. Some teams vendor actions into their own repos. zizmor is excellent at scanning workflows and finding security issues. But these are workarounds for a system that lacks the basics. The fix is a lockfile. Record resolved SHAs for every action reference, including transitives. Add integrity hashes. Make the dependency tree inspectable. GitHub closed the request three years ago and hasn’t revisited it. * * * **Further reading:** * Characterizing the Security of GitHub CI Workflows - Koishybayev et al., USENIX Security 2022 * ARGUS: A Framework for Staged Static Taint Analysis of GitHub Workflows and Actions - Muralee et al., USENIX Security 2023 * New GitHub Action supply chain attack: reviewdog/action-setup - Wiz Research, 2025 * Unpinnable Actions: How Malicious Code Can Sneak into Your GitHub Actions Workflows * GitHub Actions Worm: Compromising GitHub Repositories Through the Actions Dependency Tree * setup-python: Action can be compromised via mutable dependency
1528
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 25/04/2026
I've added a simple search function for the recommended links (mostly about engineering and leadership) on my blog → blog.mocoso.co.uk/links/search
blog.mocoso.co.uk
Search recommended links
Search Joel Chippindale's curated links on leadership, software development, and more.
000
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 25/04/2026
Bright, sunny and busy for this week's #AllyPallyParkrun. 38m 07s
030
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 25/04/2026
Sonic Daze → www.youtube.com/watch?v=c3YNLJXhq8U
000
Reposted by Joel Chippindale
Andrew Nesbitt @andrewnez.mastodon.social.ap.brid.gy · 22/04/2026
I’m going to speaking here on Friday about AI vs Package Management if you’re in Stockholm: chains.proj.kth.se/software-supply-…
chains.proj.kth.se
5th KTH Workshop on the Software Supply Chain 2026
The source for the website of the SSF CHAINS project https://chains.proj.kth.se/
001
Joel Chippindale @joel.social.monkeysthumb.co.uk.ap.brid.gy · 21/04/2026
On the cycle to my coaching course this morning
Deer and crows beneath a tree by a pond
010
Reposted by Joel Chippindale
Mike Perham :sidekiq: @getajobmike.ruby.social.ap.brid.gy · 13/04/2026
Config flags are a bane 00f.net/2026/04/11/config-flags (this article remains me I should search config hacks to remove for Sidekiq 9.0.)
010