Sign in

Alexander Obenauer

@alexanderobenauer.com
1.4K followers 114 following 208 posts

I explore the interfaces with which we think & the future of personal computing: alexanderobenauer.com I also make books: buddybindery.com

PostsRepliesMedia
Alexander Obenauer @alexanderobenauer.com · 7h
First prototype → Finished product
370
Alexander Obenauer @alexanderobenauer.com · 01/09/2026
Not to my knowledge; this was an idea designed specifically around the content of this book. (Ada hoped for such a construction, a quote from these Notes is in the second image!) The original was a standard codex - we got to review a copy at MIT Libraries' Distinctive Collections.
A picture of the original publication"Our diagram ought in reality to be placed side by side with M. Menabrea’s corresponding table, so as to be compared with it, line for line belonging to each operation. But it was unfortunately inconvenient to print them in this desirable form." -Ada Lovelace, Note D
020
Alexander Obenauer @alexanderobenauer.com · 01/09/2026
A century before we would move from fixed-program computers to reprogrammable ones, Ada Lovelace realized that the Analytical Engine was capable of universal computation. Reading her Notes is thrilling for her awestruck articulation of these ideas. Available now; link in reply.
2458
Alexander Obenauer @alexanderobenauer.com · 18/08/2026
Our friend Andy Milburn had the idea for this unique construction. Funnily enough, Lovelace wanted something similar herself. May printers inconvenience you no more, Ada.
“Our diagram ought in reality to be placed side by side with M. Menabrea’s corresponding table, so as to be compared with it, line for line belonging to each operation. But it was unfortunately inconvenient to print them in this desirable form.” -Ada Lovelace, Note D
130
Alexander Obenauer @alexanderobenauer.com · 18/08/2026
A few cool things: We got to spend some time with one of the original copies at MIT Libraries. This helped us make the fold-out accurate, and clear the air on some other questions. We also built our own in-house typesetting and publishing software, "Pigment", to make this book.
120
Alexander Obenauer @alexanderobenauer.com · 18/08/2026
The book is a diptych with Lovelace’s translation of Menabrea’s 1843 Sketch of the Analytical Engine on the left, and her extensive Notes A – G on the right, held in place by bronze Chicago screws. Lovelace's writing is set in black, everything else in red.
100
Alexander Obenauer @alexanderobenauer.com · 03/08/2026
...Followed closely by new Library of Congress Control Number day!
030
Alexander Obenauer @alexanderobenauer.com · 31/07/2026
Hopefully grandpa doesn't mind this expense. Had to be done.
040
Alexander Obenauer @alexanderobenauer.com · 26/07/2026
Happy new ISBN day! Always a happy day when a project reaches this point.
180
Alexander Obenauer @alexanderobenauer.com · 10/07/2026
- We hope that submissions move into concrete, actionable visions. To quote John, my coeditor, from a recent email to a potential contributor:
With this new book we are trying with equal enthusiasm & sincerity to curate a collection of essays that not only put forward sharp ideological positions (which are undeniably important to synthesize and articulate) but then also to extrapolate forward from those positions past the merely abstract to offer concrete prescriptions for building actual new things to move the world out of its present surly quagmire. Our field is notably bad at the former (though naturally with scattered exceptions); doing the first and then the second in a continuous gesture is a feat in any field. But to some extent doing that very thing right -- pulling off that feat and plenty of it -- now has a kind of lest-we-slip-into-a-metaphoric-but-maybe-also-literal-dark-ages feel to it, so here we go.
110
Alexander Obenauer @alexanderobenauer.com · 13/06/2026
Scotland has arrived in Boston.
020
Alexander Obenauer @alexanderobenauer.com · 15/05/2026
Today, I'm excited to announce our next title! "Augment" is a forthcoming book featuring a collection of essays on the future of personal computing — specifically, on the kind we’d like to see more of in the future, and the ideas that might help us get there.
Augment is a forthcoming collection of essays on the future of personal computing: specifically, on the kind we as a species need in order to move beyond our stuck present, and on the ideas that will help us get there. This book is meant to serve as guidance and inspiration as we build a next generation of hardware, software, and systems.

We hope you’ll share this page with those you think might write great essays for Augment, and even consider writing one yourself. Submissions are due by July 31.

The technology field is today in a precarious state. A tsunamic tide of commercial thinking has managed the wholesale capture of practitioners, institutions, and dialogue. This capture has drained all imagination from our surround, and so actual invention has slid likewise near to zero. Along the way, the systems meant first to extend human reach have instead become dull and clanking manacles.

Yet the same quality that makes technology easy to hijack — that massless, abstract ductility — leaves it as easy to re-form. The opportunity is still with us, undimmed, to build anew the beautiful thing, the powerful thing, the luminous thing, the human thing. This then is the invitation: to trawl a net through waters that, far enough down, remain idea-rich and that, with care, might still teem.
2336
Alexander Obenauer @alexanderobenauer.com · 14/05/2026
Picture from the red line over the Charles at sunset
140
Alexander Obenauer @alexanderobenauer.com · 12/05/2026
This Friday, I'm excited to share details on an upcoming title we're working on at Buddy Bindery & Press, plus how you can help us make it great. Stay tuned for more.
171
Alexander Obenauer @alexanderobenauer.com · 20/03/2026
010
Alexander Obenauer @alexanderobenauer.com · 21/01/2026
Here it is, your moment of zen.
1111
Alexander Obenauer @alexanderobenauer.com · 19/01/2026
This week: Making books and watching the snow.
2191
Alexander Obenauer @alexanderobenauer.com · 03/12/2025
We engage in an evolutionary construction that continues a tradition started by our physical world long before we were here, and carried on into computing from its earliest days. It's also a process that mirrors how creative, explorative work is done.
LAYERING UP THE ITEMIZED USER ENVIRONMENT
December 3

In this lab report, we consider one way to look at the architecture for the itemized user environment: a layering that has been happening since the dawn of time.

Some harbor an inclination toward a “grand design” in the construction of a new operating system’s user environment; a sort of “turtles all the way down” architecture that features one substance, or one core primitive, which defines the mechanics of an entire computing system deep under the hood and up into userland.

I’m more inclined toward the “layers” which we’ve been stacking up since we first made the jump from hard-coded circuits to programmable, general ones (and on which we have built many new layers — machine code, assembly, low- and high-level programming languages, and so on).

Each layer adheres to the contract of the one below, and offers a new way to think about things to the layers which will be built above. This is how we’ve bootstrapped into all of modern computing starting from simple logic gates, in a slow, evolutionary construction.

This isn’t just the way modern computing came to be; it’s the way our physical world came to be, too! This “layering” is how our world has evolved into the one we know. But it comes with some important consequences.Our evolutionary construction, the layering, neatly reflects how we do this kind of creative, exploratory work, and how the mind engages with ideas. Ted Nelson, in Literary Machines:

Complicated ideas evolve slowly. People who do not work endlessly with ideas may not easily imagine how many are the steps that intensive work with ideas entails; how many are the guesses, postulations, reconsiderations, shifts of thought, confusions, resyntheses, reintegrations; how much is the rework of dearly-held insights in clouds of confusion. The swirl of needed changes never seems to end. […]

This could not have been done with schedules and deadlines. When a project requires both exhaustive exploration and unusual inspiration, it is going to take however long it takes.
110
Alexander Obenauer @alexanderobenauer.com · 03/12/2025
@thebonesofjrjones.bsky.social Thanks for helping keep me sane this year! Radio Waves is somethin’ else.
000
Alexander Obenauer @alexanderobenauer.com · 02/12/2025
"I mistook a clear view for a short distance." Too real! I've experienced this time and again. But I'm reticent to encode a reminder to avoid this mistake in the future; my life has been filled with wonderful projects that I would not have embarked on had I not been so naive.
1130
Alexander Obenauer @alexanderobenauer.com · 20/11/2025
It's about how ten layers, from binary up, were arranged to build personal computing and the WWW. Each layer is built out of the simpler parts of the one below, arranged to produce increasingly more sophisticated ideas of what computing could be. It’s an incredible story of human ingenuity.
100
Alexander Obenauer @alexanderobenauer.com · 20/11/2025
Some news to share today: Earlier this year, we started our publishing company and released our first title, Bootstrapping Computing. The full-color paperback is available for preorder now, and will be released on December 1.
2171
Alexander Obenauer @alexanderobenauer.com · 13/11/2025
Some excerpts, from @jessmart.in's notebook (if you haven't perused his notes before, you should! another lovely treasure on the internet.) notes.jessmart.in/Readwise/Art...
030
Alexander Obenauer @alexanderobenauer.com · 11/11/2025
Here's how the case wraps start and finish: They come into the bindery as a 4' wide, 24 yard long bolt of book cloth (paper-backed fabric), and end up as case wraps for the text blocks to be cased in.
010
Alexander Obenauer @alexanderobenauer.com · 11/11/2025
This week: Making books and tending the fire.
1180
Alexander Obenauer @alexanderobenauer.com · 21/10/2025
In this case, it's a visual (and mentally sticky!) metaphor for how we structure software as apps these days. It arcs to this enjoyable observation of present absurdity:
260
Alexander Obenauer @alexanderobenauer.com · 21/10/2025
"A knife can cut an avocado, and much more." These kinds of sentences show up in the most fundamental papers that I return to year after year. They sound silly out of place, but in my favorite works, they're used to build up to essential guiding ideas and insights!
150
Alexander Obenauer @alexanderobenauer.com · 20/10/2025
Part 2 of my 2024 essay, hitting the 'net this week; On the moral imperative for composable systems & malleable software.
1171
Alexander Obenauer @alexanderobenauer.com · 15/10/2025
This article is now public! Link in reply. I recreated Jef Raskin's 1987 'Canon Cat' user environment and observed myself as I lived in it for a week. Implementation details, surprises, and more in the essay. (Why touch grass when you can read 3.2k words on user environments?)
1304
Alexander Obenauer @alexanderobenauer.com · 19/09/2025
Shipped a little refresh to the little lab site. Also added some graphics made for the User Environments zine to the Canon Cat / Jasper essay 🙂
020
Alexander Obenauer @alexanderobenauer.com · 18/09/2025
One syntax sugar I’ve enjoyed using in the language: It will match on unlabeled first params for dot calls on any expression of the right type.
One other interesting feature of Wonderful is how it handles certain kinds of dot calls. If a function has an unlabeled first parameter, that function can be used in a dot call on matching types:

```Swift
func square(_ num: Int) -> Int {
    return num * num;
}

let a = 10;
var b: Int;

b = square(a); // standard function call
b = a.square(); // same result as standard call
```

This matches on any expression of the right type, so you can even use it with literals or more complex expressions:

```Swift
func square(_ num: Int) -> Int {
    return num * num;
}

var a = 10.square();
var b = (5 * 2).square();
```

This lets us add member functions to types in the current scope with little formality.

And by flipping calls around this way, we can chain the use of functions together which read from left to right:

```Swift
func square(_ num: Int) -> Int {
    return num * num
}

func double(_ num: Int) -> Int {
    return num * 2
}

func abs(_ num: Int) -> Int {
    return num < 0 ? -num : num
}

print((-3).abs().double().square())  // abs(-3)=3, double(3)=6, square(6)=36
```
141
Alexander Obenauer @alexanderobenauer.com · 17/09/2025
Last month, I started a series diving into the implementation of a user environment for personal computing that I've been working on this year. The second lab report is out now, on the environment's programming language.
DESIGNING A LANGUAGE FOR THE ITEMIZED ENVIRONMENT
September 17

In this lab report, we look at Wonderful, the language purpose-built for handling items and interfaces in the itemized operator environment.

I’m in the midst of building a new user environment with the kinds of ideas that I’ve been exploring for personal computing’s future. Over the course of several lab reports, we’re looking at how this user environment works, inside and out. In the last lab report, we explored the Item Store, a database of chronological facts that serves as our persistent storage layer in the itemized environment.

Now, we’re going to take a look at the programming language purpose-built for handling items and interfaces in this environment. It has several features that help interfaces connect to the item store, and for users to iterate on their interfaces and programs from within their normal operating spaces, interacting with code items with the same benefits they gain from the rest of their things existing in an itemized environment.

First, we’ll look at the basics of the language, then dive into some ways it serves the particulars of an itemized environment. Finally, we will look at how it is internally architected to allow the itemization of its own code — so that it can be further developed in-environment, with the benefits of an itemized IDE interface.
1111
Alexander Obenauer @alexanderobenauer.com · 10/09/2025
It's a lot of fun shipping these out all over the world.
130
Alexander Obenauer @alexanderobenauer.com · 10/09/2025
This week: Making books and watching turkeys.
160
Alexander Obenauer @alexanderobenauer.com · 28/08/2025
This year, I’ve been building a user environment that reifies personal computing of the kind I’ve explored for the last several years — something I can fully live in. I'm kicking off a series of lab reports that take a deep dive into this environment's implementation.
Building an Item Store for the itemized environment

*In this lab report, we look at the _Item Store_, a database of chronological facts that serves as the itemized environment's persistent storage.*

This year, I've been hard at work building a user environment that reifies personal computing of the kind I've explored for the last several years — something I can fully live in.

Over the next several lab reports, we're going to take a deep dive into this environment and its implementation, as well as a bit of the project's philosophy. This first report is on the environment's storage mechanism. The next one will cover the environment's programming language. After that, we'll move toward the environment's interface.

First, we will look at the kinds of ideas the Item Store was built to support. Then we will look at how the Item Store works, highlighting some key implementation details."Deleting" in the item store is not the same as "erasing". Here's the implementation for a function that deletes a fact:

```Swift
func deleteFact(_ fact: Fact) {
    insert(fact: Fact(
        factId: fact.factId,
        itemId: fact.itemId,
        attribute: fact.attribute,
        value: fact.value,
        numericalValue: fact.numericalValue,
        type: fact.type,
        flags: fact.flags ^ 1,
        timestamp: Date()
    ))
}
```

When we delete a fact, we are actually inserting a new fact describing the earlier one as deleted. This means that the item store can be a complete chronology of the items it describes.

We can also mark an entire item as deleted, and when we do so, we can name a successor item:

```Swift
ItemStore.shared.deleteItem(itemId: "1", successorItemId: "2")
```

This creates a reference between the deleted item and the successor item, helping to describe your item graph's connections more completely. For example, when you send an email, a "draft" email item is deleted, but can be referenced by the "sent" message that succeeds it. When you view that sent message later, it can be easy to jump into its draft, to view earlier variations, this way.
3162
Alexander Obenauer @alexanderobenauer.com · 26/08/2025
Roughly a quarter of the first ten years of Sarah and my marriage was spent on (very) long road trips. This had the delightful effect of slowing down time, and the associations of places with times improved my (typically poor) recall: the years on the road are filled with inseparable memories.
It’s funny to have such a strong association of times with places. Lots of specific times in our lives were spent in distinct places, so my recall of memories often starts at this association. It’s also interesting to note that time slowed down when we were on the road. Particularly for the longer-than-a-year trips, when the year was packed with so many different places, each week or month holds distinct memories that don’t blur together. The gradual acceleration of life’s time was put on hold.
020
Alexander Obenauer @alexanderobenauer.com · 22/08/2025
Prototyping zines
1172
Alexander Obenauer @alexanderobenauer.com · 18/08/2025
carpe noctem
191
Alexander Obenauer @alexanderobenauer.com · 30/07/2025
This week: Making books and watching deer.
1130
Alexander Obenauer @alexanderobenauer.com · 28/07/2025
I gave Claude Code access to my Obsidian vault and asked it to give me some questions / prompts. It asked things like: - What forces preserve mediocre interfaces? - How do we escape vendor-imposed constraints on our thinking? Here's a small taste:
1111
Alexander Obenauer @alexanderobenauer.com · 22/07/2025
This Ars article from 2010 is fun to read now. Discussion of Carbon vs. Cocoa apps, pointing out the portion of the user base eager for the Cocoa rewrite, evoking the Human Interface Guidelines in the face of unseemly UI decisions... Such a different era.
121
Alexander Obenauer @alexanderobenauer.com · 18/07/2025
(2/2)
I've found no driving force quite like curiosity. A rich problem can capture the mind far beyond its necessary duties; not even hunger can hold a candle to the flame, when properly lit.

**Find the gaps**. My curiosity pulls me forward when there’s something I’m not sure of, something I don’t know yet; an unanswered question. This is what makes new projects more interesting; it’s all one big gap! Lots to explore. To keep going on existing projects: find the gaps. They are certainly there; they just aren’t as obvious. Look for the gaps, point at them, and describe them. Once they bug you, you're off to the races.

**Look for good problems**. Good problems have a way of taking care of themselves, in the minds of the curious. Get to know everything you can about the problem, how people have tried to solve it before, etc. Any amount of time spent finding rich problems is also well worth it, thus justifying many of our conversations, odd explorations, and excursions into other fields (though we need no justification to do these things). Ruminating on good problems, in the background and on the foreground, is one of life's great joys, and one of the greatest sources of human progress.

**Good ideas come last.** Often, the *best* ideas hide behind the *obvious* ones. It can be helpful to write all the ideas, then wrestle with the boredom that follows, waiting on more ideas to come. One of the last ideas to arrive is often the most important. You'll know which ideas are the best: they'll generate more thought than the others, taking up more space on the page than you expected.One must respect the fragility of early ideas and early thinking, particularly in imaginative and creative work like research, art, and entrepreneurship. Terrible ideas have a way of becoming great ones, over the shared discourse of a few curious minds; though those minds must first accept ideating off of obviously terrible ideas! Criticism shuts down these lines of creative ideation. Great things have humble beginnings.

**Leave cynical environments hastily**. One must not keep cynical minds around for long; environments too cynical to allow early ideas to bounce around must be left behind, quickly, and permanently. Ideation finds no home among those amused by swatting the serve immediately to the ground. For some reason, too many people have found it safer to use their intellect in this way. They are to be avoided at all costs.

**Embrace good distractions.** It's worth noting that all of the best things in my life — my marriage, my work (renewed many times over), etc. — have come from time spent on what would be described as 'distractions' from what I 'should' have been doing or focusing on at the time. I'm sure this has some shadow side to it, but I'll never regret giving in; these weren't distractions from my life, they were my life, budding into being.

Continuing David Bowie's quote from before:

> I think it's terribly dangerous for an artist to fulfill other people's expectations. I think they generally produce their worst work when they do that.
040
Alexander Obenauer @alexanderobenauer.com · 18/07/2025
Completed another trip around the sun this week. With gratitude, something to share: Creative work is hilariously unintuitive to the adult mind. We are like beavers, blocking flow at the first sound of running water with dams made of any debris around. Here are reminders I hold close: (1/2)
You can do things for their own sake without having to provide justification. But if you really need one, it's this: *things lead to other things.*

Doing things opens up doors, ideas, pathways, and opportunities that couldn't have been imagined or designed without having first done those things. By definition, doing things you enjoy leads to more things you'll enjoy.

It's another way of saying "the dots connect looking backwards", one of the three messages in Steve Jobs' (wonderful) commencement address at Stanford, but it keeps the frame in the present.

Simply following one's curiosity — even when it seems unproductive to do so — is wildly underestimated as an activity that moves the human race forward. Feynman's spinning plates led to his Nobel prize.

It's easy to lose motivation when it isn't clear how some work will contribute. But quite often, the biggest contribution something makes is the next thing it leads us into. We can't predict these paths in advance, but we can notice how much it has happened in the past, and trust that it will continue.

This is one worth repeating early and often. Things lead to other things. It's a powerful reminder in the face of creative doubts. "What if this is nothing?" Doesn't matter, it will lead to something.In creative work, there is this frustration while mid-process that reflects the delta between where a work is and where you want it to be. When it's gone, the work is done. This means that one is always experiencing this in the ongoing activity of their creative work. There's always a next problem to be solved, or a need to get some work away from some unsatisfying place, or toward some unknown more satisfying one. It isn't always clear, in fact, it's usually unclear, where to go — that's why it's so frustrating. We live with this frustration during the whole life of a creative work.

You have to learn to embrace this frustration. The frustration sometimes feels like a despair born from fear that the work won't get better, that it won't ever meet your tastes. But it should be embraced: it's what tells you your work will get better, because it keeps your mind at the task of figuring how to improve it. It is a *good* frustration.

Once you learn to embrace this frustration, you can start to enjoy it, which helps you enjoy your work more (which helps you do harder things).

It helps to have gone through many resolutions of this frustration; that gives you the confidence to know early on in a creative project that it will, in time, dissipate, as you find your way through the nooks of creative revelation. But I've found that it seems to require revolutions in each domain; this frustration is hard to enjoy in a new field of creation, since this confidence has much less to ground itself on.

It's important to be able to identify the good frustration. Simply being able to identify it can turn it from a source of negativity to one of excitement and energy. Once identified, it can become a source of action, sometimes even direction. In particularly challenging moments, this frustration can end early work. Pointing at this frustration, describing its source, and what about the work has led to it, is often all you need to think more clearly about how to proceed.I furiously note-take my way into the depths of a project. These notes become Ariadne's thread; when I'm deep in the details and I've lost sense of the project's purpose — which I need to color my interpretation of the details, including filtering out those that do not matter, and to direct my next actions — I can return to those notes which pull me into the right perspective again. They are also helpful when writing descriptions of the project for public consumption; once I know the inner-most details, challenges, rewarding pieces, etc., it becomes much harder to describe the project from the outside. I'm now a native to the project, and I can no longer give a newcomer directions that make any sense to them. The original notes serve this purpose wonderfully.

David Bowie:

> Always remember that the reason that you initially started working was that there was something inside yourself that you felt that if you could manifest it in some way, you would understand more about yourself and how you co-exist with the rest of society.

I've found it necessary to document that spark from first flint to the first moment of forgetfulness.The creator's mind can often fall into a perfectionist's trap: "It must first be *right*, then it can be." Obsession grows with something being perfect, more perfect, more than perfect. This will grind work to a halt. We hold on too tight.

In these times, it's important to reorient to experimentation and consistency. It is at these times that I must catch the down-spiral early, and instead refocus my obsession on consistent work and progress. 

Striving for consistency inevitably leads to quality; striving for quality inevitably destroys consistency.

This advice does not necessarily supersede the need to acknowledge one’s seasonal creative phases or to give into good distractions. So this may not be the right advice at all times, but you'll know the times when it is, because it'll annoy you.

And it's important to remember: **Diverse inputs create rich outputs**. This happens in big ways and small. On the latter: at some surprisingly early point, doing a lot more of the work won't make it any better, but doing a lot of *other* things will. On the former: one must cultivate an interest in and understanding of many different things. Each field has different ways of seeing the world, and each person has still more nuanced takes. Adopting many lenses helps us see creative solutions to the ever-harder problems we and the world will face. Different lenses are one of the great gifts we get from reading, inquisitive conversation, and following obsessions down deep paths.
1122
Alexander Obenauer @alexanderobenauer.com · 17/07/2025
The system Smith went on to describe (for programming by demonstration) in part elicited some fascinating thoughts from Alan Kay:
3146
Alexander Obenauer @alexanderobenauer.com · 17/07/2025
Dave Smith, 2000
1104
Alexander Obenauer @alexanderobenauer.com · 10/07/2025
Updated my website to begin surfacing more of the work that's remained buried multiple clicks deep, and to finally include a small 'about me' blurb. There's still more to bring to the surface, but I'll leave it here for now.
Screenshot of alexanderobenauer.com
080
Alexander Obenauer @alexanderobenauer.com · 07/07/2025
Enjoyed this weekend's reading of the Declaration of Independence on the very balcony from which it was first read to the American public 249 years ago in Boston
010
Alexander Obenauer @alexanderobenauer.com · 30/06/2025
I'll be doing a book making livestream, tomorrow at 1 pm edt. Join me while I make books by hand, the old fashioned way. Have me in the background on mute while you work, or come chat about book binding and other things. Link in reply!
170
Alexander Obenauer @alexanderobenauer.com · 27/06/2025
Convert menus to palettes: You can "tear off' both the Tools
menu and the Patterns menu so that you can have constant access
to them as you work. Just drag through them, past the bottom or
off to one side; then leave them where you want them. When they
get in your way, move them by dragging their top bars. Click
their dose boxes to make them go away.
091
Alexander Obenauer @alexanderobenauer.com · 25/06/2025
A book press we were lucky enough to find in our new town, in the hands of a longtime bookbinder. We’re restoring it now to put back into regular use!
180