what arcade believes about computing
I have very strong opinions...Bret Victor in a great talk said that as a creative you should have a [principle for invention]. This a list of many of my principles, which I strive to achieve whenever I make something.
- Speculative fiction/design is valuable and not (just) escapism: Some people dismiss alternate history and speculative design as escapism, anti-materialist, etc. However, they are extremely valuable, they make contigency visible. By imagining what tools would look like in a different world, we can understand why they look the way they do, and what decisions and social systems lead to them being the way they are.
- On that note, in CS, lost futures still run: In most situations, the futures we have lost (see hauntology) are entirely inaccessible to the person in the present. We in computing have a wonderful advantage, and that's that most of the things we lost still exist online, and can be run in an emulator. If you want to understand what the world where [PLATO] still existed would look like, you can just log on to an emulator at [irata.online]. If you want to run a Lisp Machine, just boot up something from [GitHub]! You owe it to yourself as a developer to see what could have been.
- Malleability is an accessibility issue: Most software isn't accessible, or is accessible in bad ways. In their [essay on malleable software], Ink and Switch describe modding as a form of malleability that arises when existing extension APIs don't go far enough. And a lot of accessibility software falls into the "modding" world, where it is either limited by developer's implementation of OS or Platform-level accessibility APIs, or is limited by what can be done by scraping the screen and injecting code. In a world of malleable software, accessibility is as easy as building a tool for your data that extracts it in an accessible format (text based representations of diagrams, a view for videos that just pulls up their subtitles, etc.) which is entirely supported by the ecosystem, rather than being an afterthought or a burden.
- On malleable systems, editing should be as light as possible: You shouldn't have to drop out of the system to your IDE to edit a tool, it should be as nice as folk.computer's editor, where you point your keyboard at a page and then you're editing it!
- Computation should be situated, and ambient when necessary: Calm computing is when I know what is a computer and what isn't. This becomes more complicated when doing ambient computing or things like {folk.computer}, however folk and Dynamicland shaped systems are tied to a physical location, which keeps them situated. I.e. "I'm in the computing room, there's a computer here".
- Computation should be visible: In folk.computer and [Dynamicland], the computation a page is doing is visible right on it. In {Lamplight}, every bit of code is placed in the same space as the text, on a note. Jupyter notebooks, for all their problems, also have computation living side by side with data. However, many systems that I love (Lisp Machines, Smalltalk, [Patchwork]) haven't solved this, or hide the computation in a secondary layer "beneath" the interface and data. That's definitely better, and even Dynamicland has some hidden code (albiet printed out and stuck to a whiteboad).
- Paper is the bare-minimum: Paper is so good! Paper lets you write, draw, situate it in space, shape it, make templates, resize it, etc. Any computer system that does less than paper is failing. And everything I've built is failing so far, and most things everyone else has built are failing.
- The iPad Mini is God's Chosen Machine: It's just perfect. Small, but not teeny, A5 size is perfect. It's got nice bezzels to hold on to, and it has magnets for the pen! It fits in your bag, and maybe your pocket if you have cargo pants. I love it. However the software sucks so someone should do something about that. I'm taking a stab with Lamplight.
These are the ones I compiled! This is a living list, I'll keep it updated if I have more! Currently these principles are what's guiding the development of {Lamplight} partially, and my broader approach to computing generally.
If you want to watch me develop Lamplight, check out the {log}, where I try to do a daily post of what I'm working on. That includes Lamplight!
incoming(1) | log august 2026
