el's Avatar

el

@elliot.website.bsky.social

and visual and creativity and computers and math and elliot.website

1,022 Followers  |  71 Following  |  107 Posts  |  Joined: 25.04.2023  |  2.2175

Latest posts by elliot.website on Bluesky

Preview
Inigo Quilez Articles on computer graphics, math and art

@todepond.com told me about inverse bilinear transformations (they are used in screenpond). I referenced Inigo Quilez's article to implement this iquilezles.org/articles/ibi...

28.07.2025 18:13 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Squarifying each quad in a loop of quads using inverse bilinear transformation

28.07.2025 18:10 β€” πŸ‘ 67    πŸ” 6    πŸ’¬ 2    πŸ“Œ 0
Preview
Automerge TypeScript Maintainer Industrial research lab working on digital tools for creativity and productivity

Do you write TypeScript? Enjoy Automerge? Love building both tools and community? You might be a great fit for our ✨new✨ Automerge TypeScript Maintainer role!

www.inkandswitch.com/jobs/automer...

(Remote role, πŸ‡¬πŸ‡§ UK-based preferred but not required)

23.07.2025 22:05 β€” πŸ‘ 57    πŸ” 23    πŸ’¬ 0    πŸ“Œ 2
Video thumbnail

Dogfooding a todo list in hazel

10.07.2025 19:44 β€” πŸ‘ 25    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Comic:

First panel is of some code with wingdings equal to an code-inlined image editor with a sketchy fish in it.

Then there is a text-message dialogue:

Left person: Hi Sam. Do you think you could make my fish sprite nicer?
Right person: Okay, I will try! My coding skills are pretty weak though... Could you help me get my sprite into the game code?

Left person: Oh! I inlined a sprite editor into the code, check it out here!

Now there is the first panel again, but the fish drawing is immaculate.

Right person: I edited the sprite IN THE CODE!

Left person: Beautiful :')

Comic:
 First panel is of some code with wingdings equal to an code-inlined image editor with a sketchy fish in it.
 Then there is a text-message dialogue:
 Left person: Hi Sam. Do you think you could make my fish sprite nicer? Right person: Okay, I will try! My coding skills are pretty weak though... Could you help me get my sprite into the game code?
 Left person: Oh! I inlined a sprite editor into the code, check it out here!
 Now there is the first panel again, but the fish drawing is immaculate.
 Right person: I edited the sprite IN THE CODE!
 Left person: Beautiful :')

Here's an old comic I made for elliot.website/editor/

08.07.2025 23:19 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail
08.07.2025 01:25 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A drawing consisting of many overlapping and containing boxes following some rules: boxes in red boxes are vertically juxtaposed, boxes in blue boxes are horizontally juxtaposed, green boxes are for grouping, cyan boxes are either empty or unrelated to any boxes inside or overlapping them.

A drawing consisting of many overlapping and containing boxes following some rules: boxes in red boxes are vertically juxtaposed, boxes in blue boxes are horizontally juxtaposed, green boxes are for grouping, cyan boxes are either empty or unrelated to any boxes inside or overlapping them.

abstract explorational sketch of relational layout from a few months ago

30.06.2025 18:32 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Typing and snapping things together

14.06.2025 03:56 β€” πŸ‘ 51    πŸ” 7    πŸ’¬ 1    πŸ“Œ 1
A configuration of orange boxes in rows and columns with gaps. There are arrows between the tops of orange boxes in the same row. There is an outline around the configuration. There is a black box connected to the outline.

A configuration of orange boxes in rows and columns with gaps. There are arrows between the tops of orange boxes in the same row. There is an outline around the configuration. There is a black box connected to the outline.

14.06.2025 03:51 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The LIVE Primer The LIVE Primer

BTW: I'm slowly assembling a LIVE Primer to help folk submitting to LIVE (& others) get the lay of the land. Please take a look and let me know what's missing, what sucks, what's rad, etc.

live-workshop.github.io/primer/

13.06.2025 03:50 β€” πŸ‘ 16    πŸ” 7    πŸ’¬ 2    πŸ“Œ 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...

Malleable software: Restoring user agency in a world of locked-down apps
www.inkandswitch.com/essay/mallea...

10.06.2025 14:05 β€” πŸ‘ 111    πŸ” 34    πŸ’¬ 0    πŸ“Œ 10

What does it mean / look like to publish to Bluesky? As a user, do I make a post on leaflet and the content gets synced to a bluesky post? Or does a bluesky post get created that links to the leaflet document?

22.05.2025 16:54 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

What if you didn't need git to collaborate on games?

We've been prototyping a new approach to collaboration in Godot: live and async collaborative editing, with branches and diffs, built right into the editor.

We're looking for people to test out an early version, see link in next post:

15.05.2025 10:12 β€” πŸ‘ 48    πŸ” 10    πŸ’¬ 4    πŸ“Œ 2
Bloom: Optimization-Driven Interactive Diagramming | Penrose Create beautiful diagrams just by typing math notation in plain text.

Agree about force graph layouts being hard to extend. I've been meaning to try penrose.cs.cmu.edu/blog/bloom and see how it is for that sort of thing. Seems like a cool approach to optimization-based layout

09.05.2025 02:21 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

It wouldn't be fantastic for graphs in general, but you can make a nice interactive Directed Acyclic Graph (DAG) layout with it.

You can lay out a spanning tree of a graph and then add the rest of the non-tree edges in. The layout in the video is almost that, except a little nicer and more DAG-y.

09.05.2025 02:12 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Making progress on my relational layout lib. Did a pass on improving the API and hopefully the code is more readable now.

09.05.2025 01:33 β€” πŸ‘ 53    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0

Dang it looks cool

08.05.2025 19:42 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Cool! You can also do it for some less-tree-like graphs, but that may require some topological sorting and stuff (currently working on using this to make a relational layout library)

07.05.2025 22:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The nice thing with this sort of graph (a non-rooted tree) is that you fill in unknown values in a single pass with propagation of knowns

07.05.2025 22:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A diagram with code on top and a graph on bottom. The code reads `const +(2,-(3,x)) = 3`. The graph has four "leaf nodes": 2, 3, 3, and x. One 3 and x are connected to a minus symbol node, and the other 3 and the 2 are connected to a plus symbol. The minus symbol has an equals sign shaped edge coming out of it that turns into and edge into the plus node.

A diagram with code on top and a graph on bottom. The code reads `const +(2,-(3,x)) = 3`. The graph has four "leaf nodes": 2, 3, 3, and x. One 3 and x are connected to a minus symbol node, and the other 3 and the 2 are connected to a plus symbol. The minus symbol has an equals sign shaped edge coming out of it that turns into and edge into the plus node.

Here's the sort of diagram I used while working on this.

07.05.2025 22:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
An isomorphism is a function with an opposite: you can give it an input and get an output, but then you can also give it an output and get back the same input.

I wrote a bit about defining and composing multidirectional functions from a programming language prototyping perspective here vezwork.github.io/polylab/dist...

07.05.2025 22:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Newsletter is back with some textiles + computation artworks and life updates.

theimpermanent.substack.com/p/three-text...

06.05.2025 20:33 β€” πŸ‘ 9    πŸ” 2    πŸ’¬ 2    πŸ“Œ 0
Video thumbnail

you can save and open screenpond creation on pondiverse.com

02.05.2025 17:38 β€” πŸ‘ 81    πŸ” 14    πŸ’¬ 6    πŸ“Œ 0
Deed - Attribution-NonCommercial-ShareAlike 3.0 Unported - Creative Commons

Music attribution: Funk Bump by Joshua Morse
Licensed under Creative Commons BY-NC-SA License.
Downloaded from 8bc.org/music/Joshua...

(actually I got it from the archive.org/details/Best...)

29.04.2025 17:32 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Here's a cut of some of my interactive and visual work from the past year.

I'm looking for work! I'm looking for remote work developing, prototyping and/or researching on editors, custom interactive things, or visualizations. I mostly work in JS/TS. Let me know if you know something pls ty :)

29.04.2025 17:16 β€” πŸ‘ 91    πŸ” 24    πŸ’¬ 5    πŸ“Œ 1
Video thumbnail

its kinda crappy and there's a lot of scaffolding in place but it works

pondiverse.com

25.04.2025 17:08 β€” πŸ‘ 33    πŸ” 6    πŸ’¬ 6    πŸ“Œ 3
Video thumbnail
15.04.2025 17:54 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
The words "A pixel is not a little square" rendered several times in chunky pixel font, black on a white background. Through the middle, the letters are scattered into crumbled pieces.

The words "A pixel is not a little square" rendered several times in chunky pixel font, black on a white background. Through the middle, the letters are scattered into crumbled pieces.

Large black concentric rings on a white background, like ripples in a pond or a heightmap or grooves in a vinyl record. Around the outside the rings are crumpled and shattered into black bits, like grains of sand. At the right, there's a faint grid-like pattern.

Large black concentric rings on a white background, like ripples in a pond or a heightmap or grooves in a vinyl record. Around the outside the rings are crumpled and shattered into black bits, like grains of sand. At the right, there's a faint grid-like pattern.

I'm working on a game with @elliot.website.

#screenshotsaturday

12.04.2025 18:32 β€” πŸ‘ 24    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0

To be clear, the video shows correct behaviour, but there are other cases where it sort-of breaks right now.

12.04.2025 17:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The layout algorithm is not quite correct yet, and I'm using this to help me understand where propagation is going wrong :)

12.04.2025 17:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@elliot.website is following 20 prominent accounts