Alex Warth
alexwarth.bsky.social
Alex Warth
@alexwarth.bsky.social
Principal Investigator at @inkandswitch.com
Formerly at Alan Kay's research groups (YCR/HARC, CDG, VPRI), and Google
Creator of OMeta, co-creator of ohmjs.org
Pinned
If you're a fan of @worrydream.com's Inventing on Principle, check out Seymour, a live programming environment I made with Saketh Kasibatla

harc.github.io/seymour-live...
Reposted by Alex Warth
Reminder: LIVE Programming workshop submissions due July 21. liveprog.org
Workshop on Live Programming (LIVE)
The 11th Workshop on Live Programming (LIVE 2025) will take place online. LIVE invites submissions of ideas for improving the immediacy, usability, and learnability of programming.
liveprog.org
June 16, 2025 at 1:44 PM
Reposted by Alex Warth
One of the biggest production users of Ohm that we know of is Shopify.

They used Ohm in the Liquid HTML parser that powers their prettier plugin & VS Code language server — as well as the Shopify Admin's CodeMirror-based editor.

www.npmjs.com/package/@sh...
npm: @shopify/liquid-html-parser
Liquid HTML parser by Shopify. Latest version: 2.8.2, last published: 2 months ago. Start using @shopify/liquid-html-parser in your project by running `npm i @shopify/liquid-html-parser`. There are 8 other projects in the npm registry using @shopify/liquid-html-parser.
www.npmjs.com
June 16, 2025 at 3:38 PM
Reposted by Alex Warth
New longform @inkandswitch.com essay! 📜

Malleable Software: Restoring user agency in a world of locked-down apps

by me, @joshuahhh.com, @pvh.ca and @seaofclouds.com

inkandswitch.com/essay/mallea...

It's about why people need agency over their software tools, and how to make that happen.
Malleable software: Restoring user agency in a world of locked-down apps
The original promise of personal computing was a new kind of clay. Instead, we got appliances: built far away, sealed, unchangeable. In this essay, we envision malleable software: tools that users can...
inkandswitch.com
June 10, 2025 at 2:52 PM
Reposted by Alex Warth
what if you could model a problem in a spreadsheet, and then instantly start applying powerful *filters* to explore your space of options?

that's the idea @alexwarth.bsky.social and I have been exploring recently at @inkandswitch.com ... 1/
April 22, 2025 at 9:00 PM
Reposted by Alex Warth
Last week I finished my research residency at @inkandswitch.com. Here's some rough documentation of what I worked on during that time vezwork.github.io/polylab/dist...
vezwork.github.io
March 26, 2025 at 3:29 PM
Reposted by Alex Warth
The Ink team at Ink & Switch is starting something new — publishing our internal lab notes.

These are (mostly) unedited, with all our puzzling and musing and prototypes unfiltered.

Take a peek: inkandswitch.com/ink/notes/
We’ve begun publishing the internal research notes we write within the lab. Some of these newly published notes come from our archives of past projects, others are being freshly written about our latest work. Be aware that these are notes we write for ourselves. Sometimes they’ll mention a term or name that you won’t be familiar with. Many notes link to other notes that aren’t public (yet?). If you’re interested in our quest to build a dynamic notebook with programmable ink, or are working on something similar yourself, there’ll be lots to see and learn here.
inkandswitch.com
February 5, 2025 at 10:21 PM
What if a spreadsheet cell could hold multiple values at the same time?

That's the idea behind Ambsheets, a project I've been working on w/ @geoffreylitt.com at @inkandswitch.com. It's a new spreadsheet that makes it easier for you to explore many possibilities simultaneously.

1/2
February 4, 2025 at 11:09 PM
Logic Game, 2005.

I made this logic circuit simulator to learn Etoys, Alan Kay & co.'s programming language for kids. I represented the state of the wires and logic gates with their "costumes" -- there is no hidden state. This makes the behavior of the circuits visible.

1/3
January 28, 2025 at 7:21 PM
Reposted by Alex Warth
Used my Ohm JS harness to design & implement a little programming language for Finite Cellular Automata and then shipped it as a toy into Patchwork.

It's really cool to be able to work on a little programming language and pop out to change the syntax without even reloading my browser.
January 18, 2025 at 12:13 AM
Sketchpad running on the iPad!

(This is my plug for the @inkandswitch.com wrapper, check it out at github.com/inkandswitch...)
January 24, 2025 at 5:30 PM
Fellow technologists: next time you use 'incredibly' in a sentence, consider omitting it altogether. You'll be *incredibly* glad you did.
January 23, 2025 at 12:57 AM
Constraint-Based Spreadsheet, 2014.

An attempt to make spreadsheets more powerful and user-friendly by replacing one-way formulas with multi-way constraints.

Check out the source code (@ohmjs.org inside!) and play with the live demo at github.com/harc/constra...
January 21, 2025 at 3:49 AM
Graphing Scrubbing Calculator, 2013.

I was inspired by @worrydream.com "scrubbing calculator" to explore UIs in which some of the text you type gets widget-like superpowers automatically.
January 19, 2025 at 9:44 PM
Reposted by Alex Warth
This mini-documentary about David Lynch making one of my favorite records of recent years is great, and I have seldom felt so vigorously in agreement with any statement as this one:

"All the different outlets are important to me, all the different art forms."

www.youtube.com/watch?v=dfR_...
David Lynch - Making 'The Big Dream' (Documentary) (2013)
YouTube video by DAVIDLYNCHSUNDAYBEST
www.youtube.com
January 17, 2025 at 2:14 PM
Reposted by Alex Warth
Mostly Shallow, a fun little iOS app by @spiralganglion.com
ivanish.ca/mostly-shal...

"Every frame, it generates a dot per pixel of the video feed, and places the dot in 3d space using the depth data to control the z value."
January 17, 2025 at 9:33 AM
Sketchpad: two-point perspective
January 17, 2025 at 10:29 PM
Soccer ball launcher prototype, 2023.
MicroPython / Raspberry Pi Pico,
dual motor controller, and
a couple of DC motors.
January 15, 2025 at 8:58 PM
Reposted by Alex Warth
Sketchpad: an interactive model of vanishing points made out of point-on-line and horizontal/vertical constraints!
January 13, 2025 at 11:20 PM
@ohmjs.org Look what I found in Carpinteria.
January 11, 2025 at 12:13 AM
Sketchpad: a truss bridge made out of fixed length constraints. (Note that instantiation followed by dismembering gives you the equivalent of a "paste" in more modern systems.)
January 7, 2025 at 3:54 AM
Sketchpad: the "dismember" operation inlines an instance into the drawing it's in. This lets you mess with its lines, etc. without changing the master.

In this demo, I make two instances of drawing #2 and dismember the one on the left. The one on the right stays whole.
January 7, 2025 at 3:29 AM
I made this teensy-based MIDI looper and step sequencer a few years ago, which was super fun. Excited to hack on some new music projects this year!
January 2, 2025 at 4:02 AM
Sketchpad update: implementing a "new" feature with a colorful name.
December 31, 2024 at 8:15 AM
Reposted by Alex Warth
“Don’t revere planning over doing. Craft’s truth emerges only through the friction of material engagement.”

This whole piece is very good.

ryolu.notion.site/how-to-make-...
How to make something great
In the pantheon of creative endeavors—be it product design, art, architecture, software, or some hybrid creature of the mind—true greatness emerges not from any single stroke of genius, but from a car...
ryolu.notion.site
December 23, 2024 at 4:05 PM