







A list of things I've noticed are important for end users but hard for programmers to understand or implement
A small matter of programming: perspectives on end user computing
A Small Matter of Programming asks why it has been so d…

End-user Programming
A vision for empowered computing that reaches back forty years. Our research lab examines why it has been so hard to achieve.

The Most Important Non-Programming Skills for Programmers
Skills for programmers that are so much more important than any language, library, or framework

Programmer as wizard, programmer as engineer
Context matters. Sometimes we need to get things done, sometimes we need to build things to last.

Programmers are not different, they need simple UIs. - <antirez>
The peril of laziness lost | The Observation Deck
In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
The community-first software era
Some ideas about how to encode our values into the tools we use

Alexander Obenauer
Exploring new and renewed ideas for how personal computing and the interfaces we think with can better serve people’s lives – expanding opportunity, agency, curiosity, and creativity.
“They had no concept of a duty of care to their users.” – Unsung
A blog about software craft and quality

Coding After Coders: The End of Computer Programming as We Know It
In the era of A.I. agents, many Silicon Valley programmers are now barely programming. Instead, what they’re doing is deeply, deeply weird.

Coding After Coders: The End of Computer Programming as We Know It
In the era of A.I. agents, many Silicon Valley programmers are now barely programming. Instead, what they’re doing is deeply, deeply weird.

Developers spend most of their time figuring the system out
I am often asked what I mean when I say that developers spend most of their time figuring the system out. Let’s unpack the statement.
Coding After Coders: The End of Computer Programming as We Know It - …
archived 16 Mar 2026 15:14:04 UTC

Its Time for a New Programming Language
Today, when compared to any other point in programming history, we find ourselves spoiled for choice when it comes to programming…

”The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.”
always-already-programming.md
gist.github.comOne of my long held convictions is most people don't care about concepts like "openness" or "decentralization" or "interoperability" (people are busy!) but they do care about what those enable. It's the job of the much smaller number of people who do care to build the experience people will love.