โœ‰๏ธ Not subscribed yet? Subscribe to the Newsletter

Future of Coding Weekly 2025/03 Week 5

2025-03-31 10:12

๐ŸŽฅ Virtual Meetup 9 โ€ข March 26 โœ๏ธ A programming language of flowing strands ๐Ÿ›ธ HyperDoc demo

Two Minute Week

๐Ÿ’ฌ Tom Larkworthy

๐Ÿงต conversation

I am back to bug hunting. Reactive live coding is great when it works but the bugs can be devilishly difficult. The best methodology I have is plotting all the transitions on a timeseries and zooming RIGHT IN. Its a technique I keep coming back to and it has fixed quite a few subtle issues. I used to think the dependancy graph would be useful but actually a lot of the reactivity bugs occur via hidden event coupling occurring outside the programming model, for example, mouse events, url events, local storage events. They can cause different cells to trigger each other but not through the normal notification mechanisms.

๐ŸŽฅ debugging reactive

Our Work

๐Ÿ›ธ HyperDoc demo via Konrad Hinsen

๐Ÿงต conversation

My main recent FoC-related project is a framework for creating explorable, explainable, Web-publishable, composable, and convivial hypertext systems that integrate code. Combining aspects of explorable explanations, literate programming, and computational notebooks. The two principal intended use cases are (1) programs written for people to read, and only incidentally for machines to execute, and (2) scientific publications using computation.

A first demo is now available for browsing: hyperdoc.khinsen.net

This is what I will present at the upcoming meetup on Wednesday.

๐Ÿ–ผ๏ธ Open Canvas Interchange Format (OCIF) via Maikel van de Lisdonk

๐Ÿงต conversation

Last FoC meetup I showed the Open Canvas Interchange Format we're working at with the Open Canvas Working Group. We want to create a new spec to help (infinite) canvas apps enable interchanging their canvases with each other. More info can be found here canvasprotocol.org and this points to the latest version of the spec on github : spec.canvasprotocol.org .. and in case you want to help developing this: we meet every two weeks and here's the link to our next meetup upcoming tuesday

๐Ÿ“ A markup language and hypertext browser in 600 lines of code. via Kartik Agaram

๐Ÿงต conversation

Devlog Together

๐Ÿ—’๏ธ The first version of the new multi-notebook architecture via Tom Larkworthy

๐Ÿงต conversation

Just got Lopecode's plain text serialisation format deterministic so its now git diff friendly! The first version of the new multi-notebook architecture is public here from the lopecode repository. The code editing experience sucks and I lost a lot of functionality switching to dockered multi-notebook but it is so much better being able to work on two or more reactively linked notebooks at the same time it will be worth the backward step long term.

image.png

๐Ÿ“ Fit-to-Width Text: A New Technique via Roma Komarov

๐Ÿงต conversation

Working on a proposal for the algorithm of fit-to-width text for CSS. Planning to present it to CSSWG next week if all goes right :)

I already have a technique that handles a few main use cases (kizu.dev/fit-to-width), but if we want it to be native, we need to handle a bunch more: specifically, a case when a line of text has โ€œstaticโ€ elements that do not change their dimensions in response to the font-size change. This, with added handling of optical sizing of a font, requires us to basically render the same line box up to 4 times, but with 2 of those being optional (when no static elements, or no optical sizing axis present in the fonts used).

So mostly working on fine-tuning the algorithm + making a prototype of it with custom elements & shadow DOM (with no runtime JS for layout, only for duplicating the content to emulate multiple renders), and also thinking about what an API for this property could look like, with possible options, etc. And will need to also think how some other edge cases will need to be handled (reverse dependence on the font-size, initial-letter, and a bunch more).

๐ŸŽฅ Screen Recording

โœ๏ธ codeberg.org/nilesh/grapher via Nilesh Trivedi

๐Ÿงต conversation

Today I added Knotend-like keyboard shortcuts to my Graph editor app: codeberg.org/nilesh/grapher

Because this editor supports compound graphs where, besides adjacency edges, nodes can also be nested using at most 1 parent per node, I needed 4 separate actions on graphs for the currently selected node:

  • Add a destination node (using the Tab key)
  • Add a source node (using Shift+Tab )
  • Add a child node (using ~ )
  • Add a parent node (using Ctrl+~ )

I haven't yet added keyboard shortcuts for adding "sibling" nodes.

Also felt sad that we don't have standardized UI components with keyboard shortcuts for manipulating trees, DAGs, plain graphs, compound graphs or hypergraphs.

Thinking Together

๐ŸŽฅ How I Animated This Video via xyzzy

๐Ÿงต conversation

Youtube Thumbnail

I can't take AI seriously.

Not my video but I have worked with ebsynth ... it is a completely analogue algorithm.

Style transfer without AI. It is built on old analogue aglorithm called patch match I believe.

Stylizing Video by Example

The future of code licensing is even stronger copyright protections for software authors / artists. AI has made a mockery of opensource and creative commons.

[Intellectual Property Stuff and Trademarks](https://blog.xyzzyapps.link/2025/03/08/intellectual-property-stuff-and-trademarks/)

๐Ÿ“ post via Paul Tarvydas

๐Ÿงต conversation

I have come to the conclusion that all PLs are VPLs. The first VPL I learned was assembler . Pond'ring aloud, thoughts welcome...

Background: Inspired by the ๐Ÿ’ฌ #present-company@2025-03-24 by Duncan Cragg, I started to categorize VPLs. I think that I'm up to 9 simple variants. The main knobs that can be turned for PL design seem to be: (1) syntax affected by visualization technology, e.g. 1960s grids of non-overlapping pixmaps called "characters" vs. more modern raster graphics and vector graphics, (2) semantics of control-flow, e.g. 1960s sequentialism implied by line-by-line reading of code and blocking function calls vs. 1970s control-flow isolation like UNIX processes vs. more modern closures (effectively invented in the 1950s :-)). [FTR, assembler is position-based, using crude graphical grids of columns and rows, whereas C is not position-based, using simple eye-candy indentation for human (vs. machine) readability].

[March 24th, 2025 1:57 PM] fp: http://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/

this one - is that it? [update: no, but it's a fun page!]

Content

๐Ÿ“˜ Reflections on writing a book via Patrick Dubroy

๐Ÿงต conversation

Hello! Thought some people here might be interested in my most recent blog post โ€” Reflections on writing a book. It's about some of the things Mariano Guerra and I learned in over the 2.5 year it took us to write our book (๐Ÿ’ฌ #share-your-work@2025-03-10)

โœ๏ธ Rivulet: a programming language of flowing strands via Kartik Agaram

๐Ÿงต conversation

I don't even.. just check this out.

๐ŸŽž๏ธ Pas a Pas via Tak Tran

๐Ÿงต conversation

Pas a Pas: A tangible interface for making stop motion animation

Present Company

๐Ÿ’ฌ Ivan Reese

๐Ÿงต conversation

I did some vibe coding with Cursor and it got stuck in a loop of writing a buggy shell script, running it, looking at the output (unchanged because bugs), going "hmm let's fix that", then writing the exact same shell script.

๐Ÿ’ฌ Andrew Beyer

๐Ÿงต conversation

I feel like I saw a really good literature review "state of the world" wrt visual/graphical programming a while back (probably here, though could have been elsewhere) but apparently didn't save the link and can't find it again...

So, anyone have any favorites or good pointers for something like that?

๐Ÿ’… Category:Design Aesthetics | Aesthetics Wiki | Fandom via Marek Rogalski

๐Ÿงต conversation

Here is a game:

๐ŸŽฅ Virtual Meetup 9 โ€ข March 26, 2025 via Ivan Reese

๐Ÿงต conversation

Youtube Thumbnail

Here's the recording of the Future of Coding Virtual Meetup 9. See you next month!

๐Ÿ“‹ 13 things I would have told myself before building an autorouter via Tom Larkworthy

๐Ÿงต conversation

A dataviz driven development win.

"If you do not have a visualization for a problem, you will never solve it"

Also in spatial domain. Code + dataviz is my future of coding.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป By ๐Ÿ˜ @marianoguerra@hachyderm.io ๐Ÿฆ @warianoguerra

๐Ÿ’ฌ Not a member yet? Check the Future of Coding Community

โœ‰๏ธ Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

๐ŸŽ™๏ธ Prefer podcasts? check the Future of Coding Podcast

Future of Coding Weekly 2025/03 Week 4

2025-03-23 23:08

๐Ÿฅž Linear Logic and Permutation Stacks ๐ŸŽฅ Malleable UIs using AI โœ๏ธ Code Editing with Free-form AI-Interpreted Sketching

Two Minute Week

๐Ÿ’ฌ Marek Rogalski

๐Ÿงต conversation

I'm getting feedback about the state of the game using basic OCR now. Unfortunately the OCR that I'm using is optimized towards "natural" text - so it doesn't handle game UIs too well.

๐ŸŽฅ OCR

Devlog Together

๐Ÿงฎ Spreadsheet #3 โ€“ ezhik.jp via Ezhik

๐Ÿงต conversation

Joining Kartik Agaram in the Lua club. I got Lua running in the browser (using wasmoon) and ported my spreadsheet experiments to it: ezhik.jp/spreadsheet-3

I think I'd like to experiment more with properties. I've already got the ability to change styling of cells, but what if we could go even further? Move cells around? Make them round? Make them spin? Make them not cells but images? I want to mess with the spreadsheet formula (pun intended) even further.

What if Spreadsheet #2 was Lua? You get Spreadsheet #3.

Thinking Together

๐Ÿ’ฌ Denny Vrandeฤiฤ‡

๐Ÿงต conversation

I found the holy grail: Vibe computing + Literate programming = โค๏ธโ€๐Ÿ”ฅ

Content

โœ๏ธ๐ŸŽฅ CHI25 CodeShaping Video Presentation via Christopher Shank

๐Ÿงต conversation

Youtube Thumbnail

"Code Shaping: Iterative Code Editing with Free-form AI-Interpreted Sketching" by Ryan Yen, Jian Zhao, & Daniel Vogel (2025)

1๏ธโƒฃ Unit: Next Generation Visual Programming System via Fuzz

๐Ÿงต conversation

Unit is a General Purpose Visual Programming Language and Environment built with a primary focus on Developer Experience.

It is heavily inspired by Live, Data Flow, Reactive, Functional and Object Oriented Programming paradigms. Formally, units are Multi Input Multi Output (MIMO) Finite State Machines (FSM). A program in Unit is represented as a Graph.

๐Ÿฅž Linear Logic and Permutation Stacks--The Forth Shall Be First via Paul Tarvydas

๐Ÿงต conversation

The real Achilles' heel for these languages, however, is their innate inability to deal with parallel or distributed computation.

Perhaps it is time to move on to the next theorem.

further: my thoughts and references

๐Ÿค–

๐ŸŽฅ Malleable UIs using AI, from Haijun Xia's lab in UC San Diego via Kartik Agaram

๐Ÿงต conversation

Youtube Thumbnail

Malleable UIs using AI, from Haijun Xia's lab in UC San Diego

Yining Cao's Jelly work referenced here doesn't seem to be on the lab's site, but this seems to be the paper.

๐Ÿค– crawlers by AI companies are not respecting robots.txt and so hostile to the open web via Kartik Agaram

๐Ÿงต conversation

It seems like a pretty big negative of AI that crawlers by AI companies are not respecting robots.txt and so hostile to the open web.

I've been hearing about this for years, and I've never understood it. Reading robots.txt is mature technology. I'm curious if anyone here has perspective on the technical/political aspects. (Goes without saying that it's not a good look.)


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป By ๐Ÿ˜ @marianoguerra@hachyderm.io ๐Ÿฆ @warianoguerra

๐Ÿ’ฌ Not a member yet? Check the Future of Coding Community

โœ‰๏ธ Not subscribed yet? Subscribe to the Newsletter / Archive / RSS

๐ŸŽ™๏ธ Prefer podcasts? check the Future of Coding Podcast

Contents ยฉ 2025 Mariano Guerra - Powered by Nikola