Alex Warth's Avatar

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

624 Followers  |  166 Following  |  59 Posts  |  Joined: 20.12.2024  |  2.2072

Latest posts by alexwarth.bsky.social on Bluesky

Preview
Ambsheets: Spreadsheets for exploring scenarios Ambsheets is a research project about new kinds of spreadsheets for exploring possibility spaces and making better decisions.

For more info, see: www.inkandswitch.com/ambsheets/no...

25.07.2025 19:12 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
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.

Reminder: LIVE Programming workshop submissions due July 21. liveprog.org

16.06.2025 13:44 β€” πŸ‘ 9    πŸ” 7    πŸ’¬ 0    πŸ“Œ 0
Preview
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.

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...

16.06.2025 15:38 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
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...

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.

10.06.2025 14:52 β€” πŸ‘ 90    πŸ” 24    πŸ’¬ 3    πŸ“Œ 2
Video thumbnail

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/

22.04.2025 21:00 β€” πŸ‘ 61    πŸ” 8    πŸ’¬ 4    πŸ“Œ 0

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...

26.03.2025 15:29 β€” πŸ‘ 26    πŸ” 6    πŸ’¬ 1    πŸ“Œ 0

Ooooooo love this

25.02.2025 05:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
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.

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/

05.02.2025 22:21 β€” πŸ‘ 83    πŸ” 20    πŸ’¬ 3    πŸ“Œ 0
Ambsheets: Spreadsheets for exploring scenarios Ambsheets is a research project about new kinds of spreadsheets for exploring possibility spaces and making better decisions.

Curious to learn more? We're publishing a series of notes about our experiments. Our first note introduces how amb values work and why they improve on existing spreadsheets: www.inkandswitch.com/ambsheets/

04.02.2025 23:09 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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

04.02.2025 23:09 β€” πŸ‘ 102    πŸ” 25    πŸ’¬ 6    πŸ“Œ 4

So exciting on both counts!!! The book is a beauty!

01.02.2025 19:39 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Lol

01.02.2025 19:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I spent about 45 minutes making this. After I showed it to Alan, he gave me an internship at VPRI, working on the STEPS project. A couple of months later, he would be co-advising my Ph.D.

Best ROI *ever* on writing a computer program.

3/3

28.01.2025 19:21 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The hero of this story is Etoys' "color sees" tile.

When the wire's red sensor sees the color yellow, the wire turns yellow. Otherwise, it turns black.

You can make AND, OR, NOT gates the same way -- it's nothing that a 5th-grader would have trouble making on their own.

2/3

28.01.2025 19:21 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

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

28.01.2025 19:21 β€” πŸ‘ 20    πŸ” 5    πŸ’¬ 1    πŸ“Œ 1

@chrisshank.com My Sketchpad triggers haptic feedback in the Pencil when the cursor snaps to a line / point / etc. and it's quite tasty! Doing it via the I&S wrapper for now... it will be cool when that functionality is available via browser APIs.

25.01.2025 03:58 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Ivan Sutherland's Sketchpad
YouTube video by Animation History Ivan Sutherland's Sketchpad

It's a recreation of Ivan Sutherland's Sketchpad that I've been working on. It's not quite ready yet, but I'm making progress!

www.youtube.com/watch?v=5RyU...

25.01.2025 02:23 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Post image 25.01.2025 01:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Market research for a new business venture? :p

25.01.2025 00:58 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A screenshot of a grid with rules describing Conway's Game of Life in a custom programming language alongside.

A screenshot of a grid with rules describing Conway's Game of Life in a custom programming language alongside.

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.

18.01.2025 00:13 β€” πŸ‘ 47    πŸ” 4    πŸ’¬ 3    πŸ“Œ 0

Love this!! Thanks for giving us a look behind the curtain, super interesting @rob-sheridan.com :)

24.01.2025 21:12 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Please do!!

24.01.2025 18:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

We tried all kinds of things, but my memory is fuzzy. At some point I found a bug report and this, and the OP was told that it wasn't a bug :/

Anyway, if you can simultaneous touch and pencil interactions working in the web browser (maybe in a tiny demo?) we'd love to se it!

24.01.2025 18:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

We get around this by capturing the touch and pencil events in the wrapper application (which is a native iPad app written in Swift so it doesn't have this limitation) and sending them (as JSON objects) to the JS code that's running in the WebView.

cc @spiralganglion.com

24.01.2025 18:21 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

IIRC, the browser (even when it's running in a WebView) purposely ignores pencil events when touch events are going on and vice-versa. There's no technical reason for this -- the people in charge decided that interfaces like the one you see in my video would be too confusing / error-prone.

24.01.2025 18:16 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Video thumbnail

Sketchpad running on the iPad!

(This is my plug for the @inkandswitch.com wrapper, check it out at github.com/inkandswitch...)

24.01.2025 17:30 β€” πŸ‘ 93    πŸ” 16    πŸ’¬ 1    πŸ“Œ 1

Fellow technologists: next time you use 'incredibly' in a sentence, consider omitting it altogether. You'll be *incredibly* glad you did.

23.01.2025 00:57 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

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...

21.01.2025 03:49 β€” πŸ‘ 15    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - alexwarth/scrub: Graphing Scrubbing Calculator Graphing Scrubbing Calculator. Contribute to alexwarth/scrub development by creating an account on GitHub.

To play with a live demo and see the source code, go to github.com/alexwarth/sc...

19.01.2025 21:44 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

In this prototype, I also experimented with a purely textual way to bind the values of different number "tokens" to each other. All you had to do was type a variable name immediately after the number. Numbers with the same name would have the same value.

19.01.2025 21:44 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

@alexwarth is following 20 prominent accounts