Common Mistakes in Modularisation:

  • We don’t create a module just because we found a noun in the specification.
  • We don’t split our software into two modules because two teams will be working on it.
  • We don’t create 100 modules because we recently read about how great microservices are.
  • We don’t create a new module because the source code in the current one is getting large.

We do create a module to hide a design decision we are forced to make before we are certain it’s not going to change, so subsequent design decisions cannot make assumptions about this one.

I heard somewhere that Parnas regretted using the phrase “information hiding” and wished he had used “decision hiding” instead. This is a great summary of the ideas in that wonderful paper.

Taking the warts off C, with Andrew Kelley - YouTube:

you can have a library in Zig that uses async-await and doesn’t rely on the event loop

Re-visiting Zig’s approach to simplicity; not even the memory allocator is assumed.

Programming Clojure, Fourth Edition:

a thing is simple if it is not compound […]. Simple components allow systems to do what their designers intend, without also doing other things irrelevant to the task at hand.

How to use the internet, 1995 - YouTube:

Computer consultant Cory Doctorow predicts video on demand while showing a CBC reporter some of the new medium’s features. Aired on CBC’s The National on June 19, 1995.

I’ll never get tired of 90’s “what is this Internet that you speak of?” stuff. I remember exactly where I was when I asked the question myself.

Israeli soldiers beat elderly Palestinian woman to death - YouTube:

The thing I loved most about here was her courage. But they have no mercy. - Sabriyeh’s husband of 47 years

The Self-Driving Codebase: Background Agents and the Next Era of Software Delivery:

Software delivery was designed around constraints of humans at keyboards.

Was it though? First sentence already got me wondering.

Apple has removed most of the towns and villages in Lebanon from Apple maps? | Hacker News:

I think the bigger story here is that Israel are removing (in physical terms) towns and villages from Lebanon.

As usual nerds missing the big picture.

Report: This Is How Netanyahu Convinced Trump to Launch a War Against Iran:

During a visit to the White House […] Netanyahu’s accompanying staff screened a montage of potential leaders who might seize power in a post-ayatollah Iran, including […] the last shah’s exiled son.

The Mythical Agent-Month – Codemanship’s Blog:

The combinatorial explosion in lines of communication required to keep team members in sync applies whether those team members are human or AI.

While true, as in humans, module and component design can buy some wiggle room here, however LLMs are not very effective drawing these boundaries alone. One reason is the lack of good training data for real world architecture but there could be more fundamental limits.

IDF Confirms: AI Infrastructure Built in Gaza Now Active in Iran, Lebanon:

[...] sources told Haaretz that Israel does not rely on external providers, working with open source models that were repurposed and fine tuned by the army.

Palestinians in the West Bank Are Now Experiencing Multiple Settler Attacks Per Day:

They usually happen late at night, when people are asleep in their homes with their families

Remember these marauders are armed by the Israeli government, defended by the military and funded by people and governments in the west.

The Annoying Usefulness of Emacs - YouTube:

my recommendation for people […] looking to learn a cool customisable text editor, never try Emacs because you won’t be able to get rid of this goddamn text editor from your life. No matter how hard you try, it’s too goddamn f**king useful.

This gets to the crux of why Emacs is simultaneously magical and cursed.

Israel Killed Over a Dozen Lebanese Paramedics in Three Days, Now Claiming That Ambulances Are “Hezbollah” Targets:

The exact place they went to do their rescue work was targeted again once they arrived

How many times has Israel violated the Gaza ceasefire? Here are the numbers | Al Jazeera

Since the ceasefire took effect at noon on October 10, Israel has killed at least 615 Palestinians and injured 1,651

#limehelmetsofsydney

A shadow covered street scene with parked cars, a row of trees, and a green helmet on the grass.

#limehelmetsofsydney

Lime bike fallen on side of curb with helmet resting in gutter.

#limehelmetsofsydney

#limehelmetsofsydney

Are Integrated Tests a Scam? TDD, Architecture, Fast Feedback – J. B. Rainsberger - YouTube:

if programmers are too productive […] and if their primary interaction is with a machine […], they are not practicing interacting with each other.

Louise Adler resigns as director of Adelaide writers’ week | The Guardian:

This is a managerialist term intended to stop thinking, one doesn’t have to be a student of history to know that art in the service of ‘social cohesion’ is propaganda.

We’re drowning in managerial jargon.

AI and architecture - Barry O’Reilly - LinkedIn:

Claims of AI driven improvement, even if true, seem to ignore the wealth of low hanging fruit that can improve individual and especially collaborative software development. This post applies that lens to architecture.

The first horrible truth is that developers pre-AI weren’t skipping architecture because they didn’t have time, it’s because architecture is orders of magnitude harder than coding and very few can do it. When we talk about the 10X dev we are very often talking about people with architecture skills. It requires skill, experience, and a little bit of luck in landing the right projects across a career. It requires technical depth, lateral thinking, and the ability to work with different kinds of people.

The second horrible truth is that developers who haven’t got there yet are almost always utterly convinced that they’re already there. This makes discussing architecture very difficult and leads to lines being drawn around architecture and gatekeeping to keep the conversations sane.

Well said.

Regime change or shake down? Po-tay-to po-tah-to.

I know I’m rather late to the game but finding myself obsessed with overall software enshittification of late. Might be AI or updating to iOS 26 or just steady decline in quality of software overall not sure but it’s all I can see some days.

x.com/ryanflore…

Quote from Writing Effective Use Cases by Alistair Cockburn: Verify that the step you just wrote captures the real intent of the actor, not just the movements in manipulating the user interface.

When helping teams be effective with tools such as User Story Maps or Example/Feature Mapping this can be a difficult mindset switch, especially for those coming from a visual/interface design first process.

Narai main street.
Beautiful Narai.
A picturesque view of Narai through a forest frames the town nestled in a valley surrounded by lush green hills.
Today: TO.
A stone path on the trail between Yabahara and Narai winds through a lush, sunlit forest with dense greenery on either side.
Today: IN PROGRESS.
A scenic view of Yabuhara captures a lush, mountainous landscape with the town nestled between the hills under a clear blue sky.
Today: FROM.
View of a rocky river in Nagiso, Nagano, that winds up to the misty mountains.
Up the river we go.
Morning coffee in Magome.
A cobblestone road in a Japanese forest with a dilapidated cabin in view.
Cobblestone.
Camouflage.

Kraftwerk on BBC’s Tomorrow’s World 1975 - YouTube:

Kraftwerk have a name for this; it's machinemusik.

Michael Brooks takes a question on Israel

I deeply miss Michael Brooks; his moral clarity, his silly humour and his generosity. A stone cold mensch.

Israeli defence minister plans to move Gaza’s population to camp in Rafah | BBC News

Israel Katz told journalists […] he wanted to establish a “humanitarian city” on the ruins of the city of Rafah to […] house […] eventually the whole 2.1 million population.

Grab your earplugs as the silence of the reaction to this will be deafening.

ClojureScript from First Principles — David Nolen - YouTube:

Recorded at Clojure/NYC meetup on June 4th, 2025.

It warms my heart to know that this project is very much alive.

AI is the suture.

As above, so below.

The fundamental misunderstanding in Team Topologies | Patricia Aas

Inverse Conway Maneuver is not a logical consequence of Conway’s Law

Judgment Day

What if AI takes your job?

Software engineers these days somehow mix a sometimes perverse Developer Experience fetish with a fatalistic refusal to sharpen their tools.

Israeli Airstrikes Decimate the Last Restaurant in Gaza City in Nightmarish Bloodbath:

After Israel imposed a total blockade on March 2, most restaurants were eventually forced to close. Thai Restaurant, somehow, managed to remain open, serving only hot drinks and slices of pizza.

Nine weeks into the current starvation siege the Israeli military simultaneously bomb the nearby food market and the last restaurant in Gaza where journalists – some of the few who can afford the slices of pizza for sale – congregate to charge their phones and file their stories.

Israel’s cabinet has approved plans to capture all of Gaza | SBS News:

Israel was in touch with several countries about US President Donald Trump’s plan to take over Gaza and relocate its population, under what Israel has termed “voluntary emigration”

I was forced to burn my books to survive in Gaza | Israel-Palestine conflict | Al Jazeera

Standing before our library, I reached for the international human rights law volumes. I decided they had to go first.

Architecture vs Model Business Software | Kalele:

If you see the software being used in unexpected ways, it almost certainly shouts out missing workflows and broader business processes.

Was making a quick note and autocorrect kept changing jira to junta. I feel less SAFe.

Just starting to scratch the surface on residuality in architecture from Barry O’Reilly and wondering if @hillelwayne.com has looked into it.

An Introduction to Residuality Theory - Barry O’Reilly - NDC London 2024

New footage of aid workers killed in Gaza contradicts Israeli account of deadly attack - YouTube:

The footage reveals that the workers’ ambulances and fire insignia were clearly visible when Israeli troops are believed to have opened fire on them.

Netanyahu Promises the “Final Stage” of Gaza Genocide Will Lead to Implementation of “Trump’s Plan":

This is the plan. We are not hiding this and are ready to discuss it at any time. - Benjamin Netanyahu

Israel killed 15 Palestinian paramedics and rescue workers one by one, says UN | Israel-Gaza war | The Guardian

the first team was killed by Israeli forces on 23 March, and that other emergency and aid crews were struck one after another over several hours as they searched for their missing colleagues

SE Radio 662: Vlad Khononov on Balancing Coupling in Software Design – Software Engineering Radio:

"So that part of knowledge that is being exchanged [...] can be knowledge of public interfaces, of integration contracts, or it can spill some knowledge about its internal structure" ― Vlad Khononov

Framing.

A tranquil landscape features a dense tree line beneath a sky filled with soft clouds framed top and bottom by a balcony.

Israeli filmmaker’s search for stolen Palestinian films in Israel’s archive

In this documentary, Israeli researcher and filmmaker Karnit Mandel uncovers previously unseen footage of Palestinian life and history in a box of old VHS tapes.

The State of Personal Online Security and Confidentiality | SXSW LIVE:

I don't think a lot of the AI that's being integrated into these products is welcome or necessary or useful. What I see is [...] company wide OKRs saying [...] every product team needs an AI goal. And then the product manager, the directors are like, okay, we'll figure out where to put AI.

A discussion with Meredith Whittaker, President of the Signal Foundation. Highlights include a fantastic lighting history of how we got to the current AI moment and a push back on the notion that resisting current AI initiatives move forward without restriction is impeding progress.

There’s a logical fallacy I’ve observed in software discourse that I called the “weaponised no true Scotsman”. I think a better name for it is the “no true straw man”.

The AI Hoax is Destroying America with Ed Zitron:

[...] none of these companies really understand customers or problems.

The scarcity of serious criticism of the LLM hype by journalists has been pretty depressing.

SE Radio 657: Hong Minhee on ActivityPub and the Fediverse – Software Engineering Radio

Haven’t really looked into ActivityPub yet; this was a good intro.

Microservices, Where Did It All Go Wrong - Ian Cooper - NDC London 2025 - YouTube:

Since James Lewis and Martin Fowler wrote their paper on the microservice architectural style in 2013, a lot of words have been dedicated to the subject. But many of them propagated misunderstandings of the properties of the architectural style.

Somehow it is still difficult to have a high signal, low noise discussion about this.

Coffee spot.

The Developer Voices podcast by @krisajenkins.bsky.social has quickly become my favourite tech podcast over the last six months. Still working through the back catalogue but faves so far are the NATS, Cuis and Zig episodes.

Got borek?

Heading to Melbourne for Developers, Developers, Developers.

Developers Developers Developers

DDD Melbourne

Nice breakdown of Janet Jackson bassline that causes havoc with spinning disks a la the classic video by @bcantrill.bsky.social youtube.com/watch

Upgraded my streamer and amp and have fallen in to some dangerous amp burn in rabbitholes.

I wish I hadn’t discovered pointing out of phase speakers at each other because now it’s all sounding achievable without angering neighbours.

When designing a domain model, don’t fall into the mistake of trying to create some Platonic ideal of the “real world”.

Derek Comartin discusses other mistakes here: The WORST domain modelling mistakes!

“I want Al to do my laundry and dishes so that I can do art and writing, not for Al to do my art and writing so that I can do my laundry and dishes.” - Joanna Maciejewska