For more info, see: www.inkandswitch.com/ambsheets/no...
25.07.2025 19:12 β π 4 π 1 π¬ 0 π 0@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
For more info, see: www.inkandswitch.com/ambsheets/no...
25.07.2025 19:12 β π 4 π 1 π¬ 0 π 0Reminder: LIVE Programming workshop submissions due July 21. liveprog.org
16.06.2025 13:44 β π 9 π 7 π¬ 0 π 0One 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...
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.
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/
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 π 0Ooooooo love this
25.02.2025 05:10 β π 1 π 0 π¬ 0 π 0The 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/
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 π 0What 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
So exciting on both counts!!! The book is a beauty!
01.02.2025 19:39 β π 3 π 0 π¬ 0 π 0Lol
01.02.2025 19:32 β π 1 π 0 π¬ 0 π 0I 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
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
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
@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 π 0It'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...
Market research for a new business venture? :p
25.01.2025 00:58 β π 2 π 0 π¬ 0 π 0A 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.
Love this!! Thanks for giving us a look behind the curtain, super interesting @rob-sheridan.com :)
24.01.2025 21:12 β π 1 π 0 π¬ 0 π 0Please do!!
24.01.2025 18:43 β π 1 π 0 π¬ 0 π 0We 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!
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
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 π 0Sketchpad running on the iPad!
(This is my plug for the @inkandswitch.com wrapper, check it out at github.com/inkandswitch...)
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 π 0Constraint-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...
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 π 0In 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