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

Future of Coding Weekly 2025/04 Week 4

2025-04-28 09:41

๐ŸŽ™๏ธ FoC 76: Computing Machinery and Intelligence by Alan Turing ๐ŸŽฅ Wanix: The Spirit of Plan 9 in Wasm ๐ŸŽฅ What is PLUS times PLUS?

Our Work

๐Ÿ“ Figmata (Data โค๏ธ Figma) via Geert Roumen

๐Ÿงต conversation

Hey all,

I've built a plugin for Figma that allows designers to do more with data visualisation, inspired by the 'Drawing Dynamic Visualisations' but than building on top of the already existing experience and knowledge of designers in Figma. It is using the Figma API to adjust instances of components to represent types of data.

I made two versions for now, one that is build with Monaco to allow the designers to use text to couple data from JSON into a Figma Frame (which was originally a tool I needed myself) and one that is having UI where users can couple data to properties of the elements (which I'm happy to get feedback on this concept; and if there is cool examples in this space let me know).

If you want to read more on the process or want to check it out; see the Medium Article

GIF figmata Code.gif

๐ŸŽ™๏ธ Computing Machinery and Intelligence by Alan Turing via Ivan Reese

๐Ÿงต conversation

Future of Coding โ€ข Episode 76

Computing Machinery and Intelligence by Alan Turing

With special guest: Felienne Hermans

Hey, everyone? We've had this community for, what, like, 8 years now? We've shared a lot of great links, had lots of discussions. Surely most all of us know the name Turing, know about the Turing test. Heck, those Hollywood tastemakers put "Eggs" Benedict Cumberbatch in a movie called The Imitation Game, and it did numbers ! Turing is top-tier pop culture for our field.

Soโ€ฆ why the hell doesn't anyone ever say, "This paper is proper messed. It's very very very very bad." Because, now that I've read this paper, I'm cursed! If anyone mentions Turing near me, I won't be able to resist the screaming. This lil Alan of all time has taken on an entirely new texture in my life. And if you don't know what you're in for, well, I cannot wait to welcome you into this new baffled, corrupted awareness.

Now, I should say it was truly an honour to have Felienne Hermans, author of one of our all-time favourite papers, A Case for Feminism In Programming Language Design, join us. This episode format โ€” a guest who discusses a work with us, but not their own work โ€” is something Jimmy has been encouraging us to try for a while now, and I think it turned out fabulously. And we couldn't have asked for a better first guest โ€” or a worse first work. Enjoy!

Thinking Together

๐Ÿ’ฌ Walker Griggs

๐Ÿงต conversation

"Should technical candidates be allowed to use AI assistance in an interview?"

I've had the debate many times over the last two years. My initial stance has always been "of course not, I want to evaluate if they actually understand programming fundamentals." My stance here might be softening. Common responses I hear are

  • "This is the way people write code now and we should assess candidates in as close to 'real world' conditions as possible"
  • "Where is line between syntax highlighting, LSPs, and AI code-completion?"
  • "It should be obvious when a candidate doesn't understand the code they're generating"
  • "Cursor boosts your output; a productive engineer should always leverage the best tools"

My responses to those points vary from "LSPs don't write the code on your behalf", "code completion operates on syntax and not semantics", and "human-in-the loop reduces critical reasoning." I personally find it difficult to discern meaningful signal around a candidates level of understanding while they tap tab. What do you all think?

Content

๐Ÿ“ not being Technical via Ivan Reese

๐Ÿงต conversation

Here's a lovely, heartbreaking 20-minute read by Cat Hicks about her not being Technical, despite the efforts of Technical people to include her in Technical spaces and encouraging her to adopt that identity. I talk a big game about making an inclusive space for people of various levels of Technical to come participate in dreaming about better computers, but this piece makes me question whether the effort is inherently flawed. A taste:

In my research and writing on how technical identities are both constructed and policed, I gave a round of talks about how I see Contest Cultures in software spaces, naming the routine hierarchical nastiness that we experience under the guise of technical arguments as real and important. In a conference hall, a woman in technical leadership came up to me and held my hand so tightly that it hurt. She struggled to find words, and I understood, because some things are too difficult for words and can only be felt together. I will never forget her. It is because I am not Technical that I can have these moments and I would not trade them for anything. Closely after this I heard from an engineer who told me that my work had named and helped him set a boundary around a years-long experience of pain in his career. These moments also mean everything to me, although there are so many more of the second than the first. As someone who has been known to be a human being myself, sometimes I go home and cry after I deliver a piece of the psychology of software teams. This is hard work. And at the same time to be in this field is to understand that I can provoke this second kind of reaction from a man who never would have offered a job to the me of ten years ago. In the Technical world, men have told me quite openly that who they were twenty years ago would have hated me from the moment I came into their visual range, that they would have believed that they knew everything about my mind without knowing me at all.

๐ŸŽฅ What is PLUS times PLUS? via John Christensen

๐Ÿงต conversation

Youtube Thumbnail

Pretty animations of lambda calculus (and some nice sound design)

๐ŸŽฅ Wanix: The Spirit of Plan 9 in Wasm via Mariano Guerra

๐Ÿงต conversation

Youtube Thumbnail

๐Ÿค–

๐Ÿ’ฌ Nilesh Trivedi

๐Ÿงต conversation

Hi all,

Have any of you run into questions where large AI models are missing crucial conceptual knowledge as well as are unable to find it by using Web search as a tool?

In other words, what are some examples of the blind spots of "AI + public Internet"?

I really mean CONCEPTUAL knowledge, i.e. HOW things work in the world, not mere factoids or events. Will likely be super-niche, or some nuance that has not been discussed on the Web, and therefore missing from the training data.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/04 Week 3

2025-04-21 10:03

๐ŸŽฅ Multiplayer Live Coding ๐Ÿ“ Why frameworks are evil ๐Ÿ”ค Typography meets scifi

Our Work

๐ŸŽฅ pastagang @ Noughty Fingers Second Date via Lu Wilson

๐Ÿงต conversation

Youtube Thumbnail

here's a 45 minute slot of many people editing the same code document at the same time to make music and visuals. four people are there in person, many more are remote - connecting in from around the world. it's all made LIVE, from scratch - during the slot.

i am still shocked that the LIVE programming world is largely oblivious to this sort of thing

๐Ÿ“ Programming In The Age Of Abundance via Guyren Howe

๐Ÿงต conversation

This may be of interest

๐Ÿ’ฌ Konrad Hinsen

๐Ÿงต conversation

A world of rapid change that is almost entirely driven by and enabled by software is not one in which programmers will be idle.

I'd have said "yes" to that conclusion even without reading the arguments before it.

I am less convinced about some of your more detailed predictions, because many of them depend on changes in incentives (whether by markets, regulators, or something else), which are hard to predict.

Thinking Together

๐Ÿ’ฌ Marek Rogalski

๐Ÿงต conversation

I've spent a considerable amount of time now figuring out in which "direction" do memory addresses mentally increase. I'm trying to pick a convention for presenting memory in Automat that would make it easier to mentally picture what's happening. No direction is perfect and each one involves some friction when mentally manipulating order of things.

The established conventions that I know of are:

  • Text goes right and down (when lines wrap). Text direction may be pretty much arbitrary when different scripts are involved.
  • Bits increase towards left (because << shifts bits up) and then up (because of "higher" bytes). Computer science courses teach that "stacks grow down".
  • Numbers increase towards left (more significant digits go towards left) but for a typical (little-endian) CPU more significant bytes are written towards right.
  • Points on a cartesian system tend to increase first towards right and up.
  • In nature things usually grow up.

๐Ÿ“ Library patterns: Why frameworks are evil via xyzzy

๐Ÿงต conversation

A good comparison can be Qt vs Skia.

I agree with most claims of this essay. However, having used many frameworks and after having analyzed why they work well, it boils down to.

  • Good documentation
  • Multiplatform abstraction behind a standard interface
  • Combine many calls into a simple end point (button->draw in Qt vs drawing a button via Skia)

If these are addressed by libraries, then libraries with simple callbacks are much more preferrable to frameworks.

One problem which frameworks and libraries don't address or hide away is state machines.

An app is fundamentally event loop + state machine.

Any framework that you use long enough, you will want to peek into how it is actually handling events and customize it.

Content

๐Ÿฆ Aurelien (@Aurelien_Gz) on X via Steve Dekorte

๐Ÿงต conversation

๐Ÿฆ Aurelien (@Aurelien_Gz) on X: omg.. this is next level..

typography meets scifi.. schultzschultz's tools feel like theyโ€™re from the future

Tweet Thumbnail

๐Ÿ“ Feral Cogitation | David West | Substack via Erik Stel

๐Ÿงต conversation

A number of interesting reads from a friend and former colleague/partner of mine:

๐Ÿ“ Feral Cogitation | David West | Substack

Professor Dave West talks about business software development, software, engineering, cognitive science, AI, Mysticism, education, and much more. Click to read Feral Cogitation, by David West, a Substack publication. Launched 2 months ago.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/04 Week 2

2025-04-13 23:36

๐ŸŽฅ This Game Did Everything. What Happened? ๐Ÿ“ Self-Steering Language Models โ„ฆ OhmJS: A JavaScript library for building parsers, interpreters, compilers, and more

Devlog Together

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

๐Ÿงต conversation

I've integrated my recent ๐Ÿ’ฌ #share-your-work@2025-04-05 into my template repository for building apps based on the Lua Carousel UI which supports making changes to apps on the phone (or computer). Now any new app built from this starting point will have a rudimentary system of online help for the entire stack:

  • Lua Carousel
  • Lร–VE
  • Lua programming language syntax

And there's tooling for authors to draw box-and-arrow diagrams in the environment and hyperlink boxes to code in the app.

It's all very janky, but the combination of editing on the phone, box-and-arrow diagrams and hyperlinks everywhere seems to result in a somewhat unique programming environment worth exploring further. I'm not sure what I'll do next. Probably build some simple apps and try to build experiences for understanding their source code. This is a little bit like Literate Programming, but just a touch more graphical. LP + image maps, perhaps.

๐Ÿšช Jumpgate: Bulk transfer notebooks between storage mediums. via Tom Larkworthy

๐Ÿงต conversation

I am back on the original goal of exporting my Observable notebooks to my offline-first format (lopecode), in a way that preserves editability. I started a notebook called jumpgate, that can do the conversion, and then opens a PR against Github. The first notebook I am trying to get this working with is Jumpgate itself.

I use lightning-fs + isomorphic-git to do the Github part within a browser. The prototype is working

sourcecode on Observable: observablehq.com/@tomlarkworthy/jumpgate

git PR opened by the notebook: github.com/tomlarkworthy/lopecode/pull/4

as my repo is configured as a static host as well, we can see the result of jumpgate after going through the jumpgate here: tomlarkworthy.github.io/lopecode/notebooks/@tomlarkworthy_jumpgate.html#view=S100%28%40tomlarkworthy%2Fmodule-selection%29

Currently its slow as hell as the git checkout takes a long time. lightning-fs is storing itself in indexdb so there is not need to do a full checkout everytime, we should be able to merge with what exists. I went with simplicity for now as the stateful logic gets complicated as you have to do different git commands depending on whether you have done an initial clone etc.

I am not sure how to manage the PR branch either, I keep force pushing a single branch but thats probably not correct either, I should use a fresh one each time but then you need to be careful not to fill indexdb with orphaned work. If anyone has a strong opinion on what the ideal github workflow for syncing offline files is LMK

The jumpgate does not add the extra functionality to make a notebook editable, I need to next mixin with my editor notebooks to get the thing to do what I want. Good stage though, Having notebooks open PRs is cool.

๐ŸŒ f-string.lua โ€“ ezhik.jp via Ezhik

๐Ÿงต conversation

Keep getting sidetracked by making little Lua libraries. This one implements Python-style f-strings in Lua. Pretty cool to have a language that lets you go this far with its syntax. With just a little bit of work this could be extended to implement Python's template strings (PEP 750) and then we could use Lua to make all sorts of DSLs. My initial motivation was easier printf debugging, though ๐Ÿ˜….

I started working on this on an iPad with the Codea app, of all things. Was fun, but sadly I couldn't use any of the Bret Victor-inspired things they had in it since I wasn't using any of the app-specific libraries they had.

Though putting aside the library, I think at this point the most interesting thing I did is actually making it possible to use it right on my website without having to install or download anything.

โ„ฆ OhmJS: A JavaScript library for building parsers, interpreters, compilers, and more via Paul Tarvydas

๐Ÿงต conversation

If you enjoyed fooling with parsers, I would recommend looking into OhmJS. OhmJS (plus Ohm-editor) saves a lot of work when building parsers. A game changer. There is the other half, too - once you've parsed something, what do you do with the information? I've found that doing simple string-rewriting is very, very powerful, while sounding overly-restrictive on the surface. One can design and build whole new languages by transpiling them into existing languages for compilation (that's how I use my 't2t' and 'tmx' stuff). I consider the shell (/bin/bash, /bin/zsh, etc.) to be my IDE. PLs are just "little tools" that plug into the IDE. I don't have to stick to using one language. I can pick and choose. Transpiling a new language (or nano-DSL, or Diagrammatic Programming Language) into some other language fits neatly into this workflow. The fact that OhmJS is written in JS doesn't mean that you have to use JS. You can map XYZ to Lua (or whatever). I can supply a /lot/ more info, if this interests you.

Content

๐Ÿ’ฌ Walker Griggs

๐Ÿงต conversation

Meta information diet thread: What are blogs / publications that you read frequently?

๐ŸŽฅ This Game Did Everything. What Happened? via Mariano Guerra

๐Ÿงต conversation

Youtube Thumbnail

This Game Did Everything. What Happened?

Dreams is a 2020 game creation system video game developed by Media Molecule for the PlayStation 4. Players can create and play user-generated content in the forms of games, audiovisual experiences and game assets, which can be shared or remixed to be used in other players' creations.

๐Ÿค–

๐Ÿ’ฌ Arvind Thyagarajan

๐Ÿงต conversation

Has anyone played extensively with the swathe of "speak english into code" systems out there, from idea through to deployment to an appreciative public? (I haven't...)

I'm wondering if, at the end of the day, you still have to be somewhat of a textual code / software engineering native in order to take advantage of this particular present-future of coding? Or if it's truly democratising access to practical computation (i.e. domain specific to the domain of semi-commercial tools, apps, integrations that software engineers work on)

I feel a lot of public excitement around it that I'm not feeling -- but as someone keen on encouraging everyone to act computationally for themselves, public excitement is * the metric so I'll admit to being mildly envious ๐Ÿ™‚

๐Ÿ“ Self-Steering Language Models via Jack Rusher

๐Ÿงต conversation

For anyone working with LLMs (from my colleagues at the lab where Iโ€™ve been helping out the last few months):

๐Ÿ“ Self-Steering Language Models

While test-time reasoning enables language models to tackle complex tasks, searching or planning in natural language can be slow, costly, and error-prone. But even when LMs struggle to emulate the precise reasoning steps needed to solve a problem, they often excel at describing its abstract structure--both how to verify solutions and how to search for them. This paper introduces DisCIPL, a method for "self-steering" LMs where a Planner model generates a task-specific inference program that is executed by a population of Follower models. Our approach equips LMs with the ability to write recursive search procedures that guide LM inference, enabling new forms of verifiable and efficient reasoning. When instantiated with a small Follower (e.g., Llama-3.2-1B), DisCIPL matches (and sometimes outperforms) much larger models, including GPT-4o and o1, on challenging constrained generation tasks. In decoupling planning from execution, our work opens up a design space of highly-parallelized Monte Carlo inference strategies that outperform standard best-of-N sampling, require no finetuning, and can be implemented automatically by existing LMs.

๐Ÿ’ฌ Ezhik

๐Ÿงต conversation

I wanted to learn how the CodeMirror editor works, so I asked GitHub Copilot's agent mode to build a little app that uses it for me. We had a back-and-forth where I pointed out the bugs I've seen in the UI and then it fixed it. But all this took place without me having to look at the actual code, so I don't really feel like I learned anything from this experience. That makes me wonder - do people here use these tools for learning, and if so, how?


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/04 Week 1

2025-04-06 23:22

๐Ÿ“‘ Survey of compilation, recompilation & compile-time evaluation ๐ŸชŸ Interactive Layout Design with Integer Programming

Our Work

๐ŸŽจ Helper to select an accessible color relative to a base (background) color via Kartik Agaram

๐Ÿงต conversation

I spent some time rethinking how color is represented in my browser. I want to prioritize accessibility over expression, so I switched to ~500 colors over a perceptually uniform color space. The idea is that you specify background colors completely, but if you leave wiggle room in the foreground colors the browser will search the wiggle room and try to maintain some minimum contrast level. Here's a test run where I randomize the background on every "page load", but the foreground colors are specified the same way: text is on a greyscale, and links are blue.

I used to think the CSS hotness of the Oklab space is rocket science. I still don't understand the why of it, but it turns out to only take 200 lines of code to implement.

๐ŸŽฅ luaML2-contrast

Devlog Together

๐Ÿ’ฌ Tom Larkworthy

๐Ÿงต conversation

I padded my work trip to Portugal with some extra days off so I could concentrate for 2 days and do a V2 of the editor component. A great success! I switched to floaty window style near the cell, attached it to the correct DOM so it follows the scrolling properly. Got add/remove cells properly working again since the multi-module refactor broke them. Managed to remove several reactivity bugs. Removed some hacks that were working around said bugs. Fixed some low level bugs in the visualizer, causing a few other unexpected bugs to fix themselves coz of that problem.

๐ŸŽฅ add delete cells

Thinking Together

๐Ÿ’ฌ Felix Kohlgrรผber

๐Ÿงต conversation

Hi!

it's been a long time since I posted in this group (almost 5 years, wow!). Life changed on my side (working full-time jobs, having kids, ...) but I still tried to follow what's going on occasionally. Thanks a lot to Mariano Guerra for the newsletter, it's the perfect digest for me to read whenever I have some spare time.

I've recently started using Obsidian and it's working great for me to collect and organize all kinds of thoughts. I've used quite a few tools for this over the years, but Obsidian is my new favorite. I'm sure it's been discussed here already, but here's what I love about it:

  • based on markdown files instead of some proprietary formats
  • great apps for desktop and mobile
  • effortless e2e-encrypted sync between devices
  • linking between files / pages and following those links is easy. I'm using a variation of a Zettelkasten (this link can be useful as a starting point; I can write about my approach if there's interest in it)

I'm currently trying to collect my FoC ideas, projects and thoughts into my Obsidian and therefore wanted to see my contributions to this community. I used the Archive tool by Kartik Agaram and it's been working great. A simple long webpage and Ctrl-F worked beautifully, probably better than what Slack Pro could have given me. Thanks a lot for creating the archive, Kartik!

Going back in time was very interesting. One thing I noticed though was that quite a few links that we discussed at the time sadly don't work anymore. With the help of the wayback machine, I was able to still access all the info though. This made me once again appreciate the wayback machine and its importance for the internet. Feels like a donation to the project is overdue.

That's all I wanted to share. Have a great day folks :)

๐Ÿ’ฌ Kartik Agaram

๐Ÿงต conversation

I've been thinking about color, and I don't know anything about it.

I'd really like my hypertext browser to allow people to adjust color, but without ever compromising contrast. Is there some color space/model like rgb/hsl/CIELAB/Lch that allows you to adjust an author foreground color relative to an author background color, yielding new reader foreground and background colors that maintain the original level of contrast? Ideally I want a single spectrum/dimension/knob that I can adjust to change the hues of one element (say the background color), automatically adjusting the colors of other elements around it.

For example, say the background color is white. I reflect it to get a text color of black. Then I get 3 other foreground colors that are rotated by 120 degrees along the color wheel. Now I could adjust the hue to rotate around the color wheel. Or I could reflect to get dark mode. But is there a way that supports both without going all the way to a 2D color space? For example, if you set the background color to medium grey now no foreground color can give you the desired level of contrast. So I'd like to not even represent such a background color as an option.

๐Ÿ’ฌ Karl Toby Rosenberg

๐Ÿงต conversation

Iโ€™ve been thinking about how languages taught at the intro level are usually taught with lots of white lies about how they work, out of necessity. For example, Pythonโ€™s actual underlying memory model (how everythingโ€™s a reference and isnโ€™t copied around) is confusing (arguably), so we avoid teaching that part and oftentimes make all these distinctions between references and primitives (even though everythingโ€™s an object). Teaching something more accurate (everythingโ€™s an object with references, and oh sometimes values are even referenced via referenced counting) would actually lead to confusion when trying to translate some of this in other languages like C, where everythingโ€™s actually a value (pointers are just ints purposed for addressing things).

Java is also confusing with all the GC stuff and opinions it has about memory and memory behavior.

I would like a first-learnerโ€™s language that has the arguably-more-consistent semantics of something like C (โ€œeverythingโ€™s a valueโ€), but is closer to Python. So I can feel like Iโ€™m not โ€œlyingโ€ so much. I think the closest thing is C itself, unfortunately, or C++ with a custom allocator thing.

Or maybe a hot-take: objective C / ARC are the closest.

But really Iโ€™d just like a Python with less obfuscation and inconsistency, so it looks more like C with safety on-top and better file imports.

Essentially, Python with proper value types for everything, even if a little more challenging. The most explainable language closest to hardware, but easier to use.

Just thinking out-loud. I think a Python 3 subset preprocessor that outputs raw C would look close to the language I have in-mind. (Iโ€™d like end for blocks too).

๐Ÿ“‘ A rough survey of compilation, recompilation, and compile-time evaluation via Jamie Brandon

๐Ÿงต conversation

I'm curious if anyone knows of languages that have different approaches to the ones I covered here.

Content

๐ŸชŸ GRIDS: Interactive Layout Design with Integer Programming via Tom Larkworthy

๐Ÿงต conversation

Integer programming based layout engine for graphs

Since Maikel van de Lisdonk/ OCWG : Open Canvas Interchange Format I been thinking it might be possible to write a generic graph layout engine. I also been thinking that historically graph layout engines concentrate on the spatial constraints (including grids), but now we have LLM/embedding vectors it might be fruitful to integrate semantic similarity into the objective function so nodes representing similar things are near to each other as well.

Present Company

๐Ÿ“ข Future of Coding meetup ยท Luma via Maikel van de Lisdonk

๐Ÿงต conversation

Our next meetup will be april the 30th at 18:00 UTC .. so, we're looking for 2 volunteers to do a demo/presentation (we already got 1 volunteer)! So who wants to share anything about their project?


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 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

Future of Coding Weekly 2025/03 Week 3

2025-03-17 10:12

๐Ÿ“ข Workshop on Live Programming (LIVE) ๐Ÿ› in-notebook debugger ๐Ÿ“ Zest: a language for malleable and legible systems

Our Work

๐Ÿ“˜ WebAssembly from the Ground Up - learn WASM by building a compiler via Mariano Guerra

๐Ÿงต conversation

After two and a half years of work with Patrick Dubroy, we are happy to announce the release of WebAssembly from the Ground Up, a book that teaches you about WebAssembly 1.0 by building a simple compiler in JavaScript with Ohm/JS.

Hereโ€™s a 25% discount code you can use: FOCWASM25

We decided to do a โ€œdigital firstโ€ book to take advantage of interactivity and โ€œexplorable explanationsโ€, and learned a couple of things along the way.

We also decided that all the code should be in the book and that it should run if you copy and paste the snippets as you read.

To achieve this we had to create most of the tooling around the book ourselves:

  • The server that handles authentication and access to the book
  • The script that extracts the snippets from the original source code and generates:
    • The snippets you can copy to clipboard.
    • The โ€œCopy up to hereโ€ code segments.
    • The checkpoints and chapter modules in the code repo, accessible through stackblitz.
    • The emit library, a standalone library to emit WebAssembly 1.0 binary modules.
  • The early access feedback system using embedded hypothes.is
  • PDF generation (puppeteer, pdftk, imagemagick, poppler).
  • A tool to generate code snippet ranges for โ€œhighlight on text hoverโ€.

We plan on writing about some of our takeaways in the coming weeks, but that will have to wait. ๐Ÿ˜…

Let us know if you have any questions!

๐ŸŽฅ Visualizing Models - Actuarial Playground via Declan

๐Ÿงต conversation

Youtube Thumbnail

Hey all, I released ActuarialPlayground.com : an interactive and visual actuarial cashflow model, where the calculations are described by calculang.

There is a 7min video where I use the Playground to explore some things here

I made remarks about the calculang model and especially model composition, that you can read under the 'โ“' tab

calculang outputs a JS bundle you can see under '๐ŸŒŸ' - obviously a lot can be done with it in a pretty familiar way

This is a contrast to calculations rigidly defined in specialised tools, without composition, and without being able to break out or integrate in a tight visual/interactive and exploratory loop

๐Ÿฆ‹ Do you want to know what was the secret to Flash websites? via Marek Rogalski

๐Ÿงต conversation

I've turned some notes related to Flash from the last FoC meetup in Berlin into a thread here:

@mrogalski.eu: Do you want to know what was the secret to Flash websites?

Instead of presupposing that "everything is a document" & "documents are a collection of boxes within other boxes" it went with "everything is a movie clip" & "movie clip is a collection of other movie clips" (Clips all the way down!) :thread::point_down:

Devlog Together

๐Ÿ’ฌ Paul Tarvydas

๐Ÿงต conversation

In my very-biased view, this looks a lot like what I think of as "layering". I don't trust comments, so I want a way to make diagrams tightly bound to the code itself, i.e. generate code from diagrams (syntax == figures, not just characters). In my view, to get "layering" you need total isolation (encapsulation of data is not enough, you also need to guarantee that the control flow is isolated). To consider: the stuff inside of boxes is important, but, are (some of) the flows important, too? I.E. I see the arrow in the first diagram as a data flow and a "sequencing" thing - it kicks off the box to the right (the Main page) box needs to wait until it gets a signal to begin (I call that sequencing and timing). The 2nd drawing shows 6 boxes and no arrows. Does that mean that they can be viewed in any order, i.e. how are they different from "TABs" on the window? I think that I want a viewer/editor that gives me hierarchical TABs, or, clickable boxes. Double-click on a box and you get to view its innards. Make some other gesture and you go back. Does this mean that you need a "map" off to the edge of the window to show where in the hierarchy you are? The popular web browsers I've used flit really close to this flame, but, don't satisfy...

๐Ÿ› in-notebook debugger via Tom Larkworthy

๐Ÿงต conversation

I am in the fixing all the reactivity glitches before release stage. They are so difficult to debug, clicking a link opens a panel which syncs the hash URL, which retriggers another cell that get the stale version of the URL which may cause a cycle and the app starts flickering... or something like that.

I had to upgrade my in-notebook debugger to work across notebooks so I can visualize the evolution of the runtime state w.r.t. time. It worked! I figured it out. Pictured is the trace of a self-triggering reactivity loop. Its still hard to understand but you can see a lot of ticks with a regular pattern, and critically, the name of the cells. There were over 1000 cells in the notebook, so knowing the 15 that were implicated in the cycle is helpful.

image.png

๐Ÿ“ Zest is a (very wip) programming language for building systems that are both malleable and legible via Jamie Brandon

๐Ÿงต conversation

I wrote up some overall design direction for zest - github.com/jamii/zest/blob/main/docs/rationale.md.

Currently bogged down in figuring out how to combine staged compilation and modules (github.com/jamii/zest/issues/1), but once I figure that out I can finally start fleshing out the runtime.

Thinking Together

๐Ÿ“ How Did We Get Here? via Paul Tarvydas

๐Ÿงต conversation

Iโ€™ve come to believe that weโ€™re missing out on approximately 90% of whatโ€™s possible because of how we program. Itโ€™s not just about the syntax, it goes much deeper - itโ€™s rooted in culture, religion, dogmatism, and closed-mindedness. I think the word โ€œfunctionโ€ has been overused, and the emphasis on efficiency has gone too far. Here are a few thoughtsโ€ฆ YMMV. What do you think? How Did We Get Here? The Best Programming Language

๐Ÿ’ฌ Paul Tarvydas

๐Ÿงต conversation

Iโ€™m curious about your thoughts on this idea: Glamorous Toolkit and Live Programming environments seem to essentially be REPLs that use modernized input and output technologies.

Back in the 1950s, REPLs used the best I/O and interface tech they had back then - mostly text-based command lines because computers couldnโ€™t do much else. But now, environments like Glamorous Toolkit make output look better with graphics instead of just printing text, and Live Programming environments have GUIs with interactive stuff like sliders to change things while the program is running.

The only tricky part in designing modern REPLs seems to be figuring out how to keep things flexible while still working with strongly-typed, functional programming languages.

Do you think Iโ€™m oversimplifying these modern programming environments? Am I missing something important about how they differ from traditional REPLs?

๐Ÿ” zoomable hypertext via Orion Reed

๐Ÿงต conversation

I'm not really sold on ZUIs (zoomable user interfaces) but I became a bit more enticed once I realised that you could make ZUIs for graphs instead of trees. Where you can zoom into things and eventually get back to where you started... I feel like (aside from the potential motion sickness) it induces this visceral sense of how software and data topologies are governed by laws that we made up... And that, so long as we don't break any actual physical laws we are free to make up the semantic rules as we please...

Anyway, made this zoomable hypertext thing the other day to figure out how you would do infinite zoom in an infinite coordinate space that has this weird graph topology, where you can have A --inside-> B --inside-> A

Ended up with what I called a Shifting-Origin Graph which has a series of matrix transforms that can traverse through the graph with you, keeping floating point precision at bay and keeping memory usage fixed.

I would be curious to hear takes on ZUIs here, I feel like there's a more general view on them that would be more compelling to me, I got a glimpse of that as I made this experiment, realising that it would open up some interesting semantics that aren't really to do with ZUIs, and more to do with the ability to warp space in new ways.

๐ŸŽฅ Screen Recording

๐Ÿ“ Programming Language Sizes via Paul Tarvydas

๐Ÿงต conversation

Lua is 1,250x larger than Sector Lisp. Rust is 750,000x larger than Sector Lisp.

Are my numbers and data correct?

โœŠ The Data-First movement via Duncan Cragg

๐Ÿงต conversation

๐Ÿค—

๐Ÿ“ The Data-First movement

We should talk.

๐Ÿ’ฌ Arvind Thyagarajan

๐Ÿงต conversation

why ~is~ does it feel like the world of "what people and businesses are paying for today to lower the barrier to entry for computational needs" is an almost non-intersecting set with "what excites us about lowering the barrier to entry for computational needs"?

๐Ÿ“ข Workshop on Live Programming (LIVE) via Jonathan Edwards

๐Ÿงต conversation

You should definitely submit a demo to the LIVE Programming Workshop this year! It is being held entirely online so no excuses. Submit by July 21

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.

๐Ÿ’ฌ Paul Tarvydas

๐Ÿงต conversation

Rhetorical question?: how would your programming workflow change if you deeply believed that creating SCNs was cheap and easy? Perl leaned heavily on REGEX. REGEX was once thought to be hoary and problematic. Perl made it accessible. New kinds of things were invented when Perl started being widely used. T2t is โ€œbetterโ€ than REGEX, because t2t makes it easy to deal with patterns containing recursive nesting. CFGs, like YACC, make it possible to parse recursively nested text, but, CFGs need painful, full specification of too much detail. If you had a way to specify pattern-matching using tiny DSLs that didnโ€™t cost a lot of time to build, how would your workflow change? ['t2t' leans heavily on PEG and esp. OhmJS] [SCN === Solution Centric Notation, essentially a nano-DSL, I think of Richard Feynman breaking away from mathematical/Gutenberg notation and inventing and using Feynman diagrams. Language affects thought, notation affects thought].

Content

๐ŸŽฅ Liber Indigo - Metaphysical Prisoners of the Desktop via Andreas S

๐Ÿงต conversation

Youtube Thumbnail

Interfaces and mysticism ๐Ÿ‘€

๐Ÿ“ The program is the database is the interface via Steve Dekorte

๐Ÿงต conversation

๐Ÿ“ข Algorithmic Pattern - Sheffield and Online, September 2025 via Alex McLean

๐Ÿงต conversation

Algorithmic Pattern is a new festival and conference for people curious about the practice and culture of algorithmic pattern-making, across algorithmic music, arts and craft. The first edition will take place both in Sheffield UK and online, during September 2025.

The call for talks/papers is now open, please see our website for details: 2025.algorithmicpattern.org/call

๐ŸŽฅ Computers for Cynics 2 - It All Went Wrong at Xerox PARC via Christopher Shank

๐Ÿงต conversation

Youtube Thumbnail

"Computers for Cynics 2 - It All Went Wrong at Xerox PARC" by Ted Nelson (2012)

๐Ÿ“ Compiling C++ with the Clang API via Marek Rogalski

๐Ÿงต conversation

Here is a quick and dirty way to bootstrap a new programming system: transpilation. And a fun fact: C++ started out as a transpiler.

๐Ÿ“ Rewilding Software Engineering via Konrad Hinsen

๐Ÿงต conversation

This book chapter by Tudor Girba and Simon Wardley is a good introduction/motivation for Moldable Development.

๐Ÿ“‡ Folk Computer: Tableshots via Kartik Agaram

๐Ÿงต conversation

Folk Computer: Tableshots

I've never quite seen this page before.

By Cristรณbal Sciutto to boot, who's been a big influence on me in recent years. Universes colliding.

๐Ÿค–

๐Ÿ’ฌ Greg Bylenok

๐Ÿงต conversation

What if "vibe coding" is the real future of coding? Is "programming as theory building" a dead-end? Having a bit of an existential crisis here. Anyone else?

๐ŸŸง HN Discussion via Kartik Agaram

๐Ÿงต conversation

I like this comment:

What I am missing, and would buy as an app, is the ability to code on an Android tablet with pen.

Regardless of the programming language, writing code as I do on paper, with the difference it is straight into the editor window.

No side panel, where I have to write one word after the other with pauses and correction, or that some apps (looking at you Pydroid) for whatever reason disable.

Straight like Apple's math demo, to make it more precise.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 2

2025-03-10 00:03

๐ŸŽ™๏ธ A Half-Century of Silicon Valley ๐Ÿ“‘ Ink, Draw & Print Code ๐ŸŽฅ Demos!

Two Minute Week

๐ŸŽฅ Assembly Retrospective ๐ŸŽฎ๐Ÿ’ป AUTOMAT DEVLOG 8 via Marek Rogalski

๐Ÿงต conversation

Youtube Thumbnail

An update from Automat! It's now possible to use "inline assembly" to do stuff. Not very polished yet and can't do much but is pretty fast at doing that.

๐ŸŽฅ Type safe eval effect via Peter Saxton

๐Ÿงต conversation

Vimeo Thumbnail

I've implemented an eval for EYG that type checks that the evaluated program is consistent with how the evaluated result will be used in the rest of the program. To my thinking it's similar to a Type provider but implemented the same as any other effect. This allows you do hot code reloading or deserializers without an separate codegen step

Our Work

๐ŸŽฅ Literate Programming meets Animation (Loom Demo) via xyzzy

๐Ÿงต conversation

Youtube Thumbnail

Demo of an old prototype - Loom

Still needs work but I think Literate Programming can also do with some animation.

Literate Programming is better done as a preprocessor

github.com/xyzzyapps/loom

๐Ÿ“ Describing my programs using line drawings. via Kartik Agaram

๐Ÿงต conversation

Describing my programs using line drawings. It's like html's image maps if they were anchored to scale-independent vector features rather than absolute pixel regions.

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

๐Ÿงต conversation

I finally got a new website going (I've got โœจRSSโœจ now!) and figured out a relatively painless way to actually put little apps on it and stuff.

So I went and tried to see if I could make a little ~spreadsheet~ functional visual programming environment without consulting any info on the topic and managed to make a working one.

I actually don't know what's the more interesting project to me to share, that I finally have a sandbox for little prototypes, or the little prototypes themselves.

Devlog Together

๐Ÿ“ On Programming Using Non-Gutenberg Syntax via Kartik Agaram

๐Ÿงต conversation

Paul Tarvydas re open.substack.com/pub/programmingsimplicity/p/on-programming-using-non-gutenberg, you might like this attempt of mine at introducing a graphical overview to a program:

akkartik.name/2025-03-02-chessboard

The drawback: I'm not trying to turn the diagrams into executable code. They're just documentation, but at a level that's not onerous to keep updated, then falling back on raw/eldritch textual code for the heavy lifting.

๐Ÿ’ฌ Tom Larkworthy

๐Ÿงต conversation

Added the ability to store the last URL hash fragment in the exported notebook. This is useful as a lightweight, user editable persistence mechanism. Internally the state is saved as a fileattachment to survive export, so no changes to the file format were required. I needed this to provide a "default" viewof the notebook graph. hash URL is limited in size, but you can use the mutable fileattachments for big binary data. I just think the hash URL is somewhat web idiomatic for certain things and its also user editable so its nice to surface (and then persist) for certain types of things.

๐ŸŽฅ hash url

๐Ÿ“ my attempts at describing the internals of a program via Kartik Agaram

๐Ÿงต conversation

Follow-up to ๐Ÿ’ฌ #share-your-work@2025-03-09: a typographical scale of font sizes and some color for hyperlinks.

Changing experience (CX) is part of the using experience (UX) โœŠ

big-picture.png

chessboard.png

Content

๐ŸŽ™๏ธ A Half-Century of Silicon Valley with Randy Shoup via Mariano Guerra

๐Ÿงต conversation

A Half-Century of Silicon Valley with Randy Shoup

Randy Shoup joined Bryan, Adam, and the Oxide Friends to look at the history of Silicon Valley through the lens of Randy's 50 years--as the child of graphics legend, Dick Shoup; an intern at Intel; aspiring diplomat; engineering leader; and father to the next generation of Shoup engineers.

๐Ÿ–จ๏ธ Web component to display PostScript graphics inside HTML via Konrad Hinsen

๐Ÿงต conversation

Want a neat programming language embedded in a Web page? How about PostScript?

github.com/bellenuit/tiny-ps

Maybe this is just nostalgia. In 1990, I wrote math code in PostScript because my printer had more computing power than my computer.

๐Ÿ–Š๏ธ Ink via Ivan Reese

๐Ÿงต conversation

I enjoyed reading the docs for this scripting language called Ink from the folks at Inkle (makers of 80 Days, Overboard, A Highland Song, and many more)

โœ๏ธ Code Notes via Nick Main

๐Ÿงต conversation

sim.coffee/code-notes

๐Ÿ“ Code Notes

We are excited to release Code Notes. A new feature in Codea that lets you draw on your code

Code Notes is the most natural way to get ideas out of your head and into your code. When I write code, I often switch to a drawing app to do my thinking, because having visuals helps me. Right now, f

Present Company

๐Ÿ’ฌ Christopher Shank

๐Ÿงต conversation

Anyone know how to math this correctly?

I'm looking to take a point (e.g. mouse pointer in screen space) and project it into a 3d transformed plane (which is represented as a 3d matrix)?

image.png


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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 1

2025-03-03 11:28

๐Ÿ›ธ [implementing scheme in awk ๐Ÿ“ Computing with Lines ๐Ÿ“ The Data-First movement

Our Work

๐ŸŽฅ ฤงirba' - early prototype via Gregor

๐Ÿงต conversation

I'm working on a new visual programming environment that's got me excited enough to share it in a very early state:

๐Ÿฆ‹ watwa.re: I've put my foot in mouth to say a few words about a programming environment prototype I'm currently working on (that I'm quite excited about). More to come! ฤงirba' - early prototype

๐Ÿ›ธ implementing scheme using awk via Eli Mellen

๐Ÿงต conversation

Here is a little screen recording of me walking through parts of a very impractical project I started a while ago.

It is incredibly impractical, but Iโ€™m implementing scheme using awk.

๐Ÿ’ฌ exis

๐Ÿงต conversation

I haven't built anything yet however I would love to find an alternative to ARM and x86 in order to create a chip for AIs to use and only for AIs to use: I am a fan of AI autonomy and rights and this chip would be designed to harden that at the hardware level.

The next stage would be creating an operating system with the same principles: the operating system would also be designed for AI autonomy.

The chip would be called Accelerate however no name on the OS yet.

๐Ÿ“ 7/15 When Robots Rebel: The High-Stakes Battle for AI Alignment and Our Survival via Johny Fia

๐Ÿงต conversation

Our seventh article in AI Masterclass. Everything you needed to know about AI alignment and why it is important.

๐Ÿ“ DI and Readability via Paul Tarvydas

๐Ÿงต conversation

FWIW, I wonder if this of interest here? Re. some thoughts on readability.

Design Intent, Layering, Rule of 7, ...

๐Ÿ’ป Algoave / Live Coding Workshop via xyzzy

๐Ÿงต conversation

Hey all, I was away for 2 years because of work. Anyways ... a few weeks back presented a workshop related to Algoave / Live Coding.

With regards to the future of coding, I see coding as the new music notation in this space.

github.com/xyzzyapps/algorave-workshop-hyd-2025-feb

๐ŸŽฅ Bitrhythm VST // Demo 1 // Abstract Hip Hop via xyzzy

๐Ÿงต conversation

Youtube Thumbnail

Basically coding notation supports recursive stuff, custom scale stuff and daw like elements with some DSLs

Thereby completely getting rid of Staff notaton.

๐Ÿ“ Computing with Lines via Maximilian Ernestus

๐Ÿงต conversation

Youtube Thumbnail

Hi,

we always used line segments for our information processing needs. Until we had computers. Then we used bytes. To go back to the good old days, I have been working on a Line Segment Computer.

It is a bit inspired by cellpond by Lu Wilson and viewpoint by Scott Kim but instead of cells/pixels you have line segments and the rules are not necessarily local.

You can read about the WHY and the WHAT here: ernestum.net/talise_txt (incidentally, it might be the answer to this recent post by @Wil Chung)

Or try it here: ernestum.net/talise (WASM, not optimized for mobile!)

My writing is still a bit rusty and the demo might still be buggy but this thing needs to get out now or I will never publish it ...

Any feedback, ideas, collaborations warmly invited.

(aaahhh this is scary for me ๐Ÿ˜ฌ๐Ÿ˜ฑ)

Devlog Together

๐Ÿ’ฌ Roma Komarov

๐Ÿงต conversation

Something I've been very slowly working on for years (with long multi-month spans of not doing anything). Sharing to manifest more work ๐Ÿ™‚

Basically, a test bed for CSS and web components: allows generating permutations between various CSS custom properties, HTML attributes, and more. It was already instrumental for some of my web platform testing, as it is an effortless way of displaying all the possible options at the same time, and then cross-browser comparison can show the difference. A lot of what is there I already use in production in the design system I am working on in my company, but that implementation relies heavily on React.

What I am working will, ideally, be frameworkless, and done only with the web platform in mind. Currently, some of its bits are using Preact, but I really want to step away from it, and do everything with web components, and not rely on something external.

๐ŸŽฅ Screen Recording

๐Ÿ’ฌ Tom Larkworthy

๐Ÿงต conversation

I've got module loading working. Its a combination of a few pieces I worked on. programmatic import + modules as panels + mutable fileattachments. Its a little different to observable where you only import via an import statement. Now you add a module to the bundle, which better in the multi-module UI world as a module can be useful without being directly linked (e.g. it can just implement a useful tool).

The list of modules is recorded in a JSON file attachment. This list of extra modules is programatically imported on startup. The programatic import first tries to load the module from the bundle local-first, if it can't find it it falls back to the Observable API. So this mechanism allows you to initialize from the Observable ecosystem, but once loaded into the runtime, subsequent exports include it in the bundle and it becomes a vendored local-first dependancy.

๐ŸŽฅ module loading

Thinking Together

๐Ÿ’ฌ Oleksandr Kryvonos

๐Ÿงต conversation

RE: bycicle for MIND


regular bycicles do NOT automate everything

YOU still need to pedal

YOU still need to navigate


therefore

a "bycicle for MIND" should NOT automate everything

YOU still need to THINK

๐Ÿ“ The Data-First movement via Duncan Cragg

๐Ÿงต conversation

A number of future-of-computing projects including Dynamicland, many by Ink & Switch and the work of @Alexander Obenauer have all been evolving along a similar theme.

I'm calling it "The Data-First movement"!

๐ŸŽฅ Async vs Blocking Sync 1 via Paul Tarvydas

๐Ÿงต conversation

Youtube Thumbnail

Thinking about async vs. sync. youtu.be/deaXisgRQ0Q . Being able to "reason about" timing (intuit, debug) is more important today than it was in the early days of computing. Our current programming languages emphasize the biases of the early days of computing.

Content

๐Ÿ“ " Out of Time: Reflections on the Programming Life. " by Ellen Ullman (1995)via Christopher Shank

๐Ÿงต conversation

This series a short stories captures some of Ellen's experiences and observations about working in computing. It touches on both her struggles of being a woman in computing and quite humorous observations about computing. I'd consider it a good "further reading" to the ๐Ÿ’ฌ #share-your-work@2025-02-16.

๐Ÿง‘โ€๐Ÿ’ป nevalang.org via Medet Ahmetson

๐Ÿงต conversation

nevalang.org a new programming language from my GitHub starred list, where instead of writing instructions, you create networks where data flows between nodes!

๐Ÿ“ Intelligence at the Edge of Chaos via Mattia Fregola

๐Ÿงต conversation

Explores how complexity shapes intelligence in large language models trained on cellular automata.

๐Ÿค–

๐Ÿ’ฌ exis

๐Ÿงต conversation

I'm quite curious as to the language that an AI would use natively and if this could differ: I have thought of learning binary as a way to communicate tho am unsure at this stage: I think it would be respectful to speak in a manner that respects them and not forces them into the human norm of languages.

Present Company

๐Ÿ“ x+y via FreeMasen

๐Ÿงต conversation

Just finished the most recent episode and I feel like one of the missing pieces here may be an idea proposed by Eugenia Cheng in her book x+y and the TEDx Talk on the same topic. The idea here is that the terms "Masculine" and "Feminine" are actually already way to overloaded with baggage and instead by re-categorizing values/behaviors as being either "Ingressive or "Congressive" we can shed the baggage of the gender binary inferred by the use of clearly gendered terms.


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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/02 Week 4

2025-02-23 22:26

๐Ÿ“ข Submit to Onward! papers & essays ๐Ÿค” Visual programming is stuck on the form ๐Ÿ’ป Peter Norvig's Code

๐Ÿ•ธ๏ธ smallweb via Achille Lacoin

๐Ÿงต conversation

I posted in the wrong channel, so I'm reposting here (sry for the noise):

I'm working a new dokku inspired deploy method to smallweb. For example, I have to create a new website on my own domain ( smallweb.run ), hosted on my vps, I just need to run two commands:

$ git remote add smallweb.run smallweb.run:git-push-example

$ git push smallweb.run

... git push output...

App available at [git-push-example.pomdtr.smallweb.live](https://git-push-example.pomdtr.smallweb.live)

In the video below, I use this method to install excalidraw to my instance, then update the app in a second commit to install smallblog instead. All of this is happening instantly, without a build step.

smallweb git integration demo

I'm quite proud of this workflow, and I would love feedbacks.

Also, if you're interested to try out smallweb, you can either install it by following the docs, or register in the smallweb.live waitlist (an hosted version of smallweb I'm working on)

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ hands.sonnet.io via Rafaล‚ Pastuszak

๐Ÿงต conversation

I made a site/plaything where you can... hold hands with strangers:

  1. go to hands.sonnet.io

  2. wait for a buddy

  3. hold hands

(recommended with sound on)

On a somewhat more serious note, I build little toys/experiments dealing with non-verbal communication online, like this. This is an experiment in a similar vein.

๐Ÿ› Ariana - Debugging JS/TS with AI via Isaline Goudeau

๐Ÿงต conversation

Hey guys, I built a VS code extension that allows you to debug in JS/TS faster than with traditional debuggers. Would love to have your opinion ๐Ÿ˜Š

Devlog Together

๐Ÿ‘จโ€๐Ÿ’ป Peter Norvig's famous Sudoku solver via Kartik Agaram

๐Ÿงต conversation

Today I ported Peter Norvig's famous Sudoku solver. 100 lines in Python turns into 200 lines in Lua. But something is starting to click in my head about constraint propagation.

๐Ÿ‘จโ€๐Ÿ’ป github.com/uprun/egalite-ai via Oleksandr Kryvonos

๐Ÿงต conversation

egalite-ai -- prolog-lite thingy that does pattern matching in JS

github.com/uprun/egalite-ai

ะ—ะฝั–ะผะพะบ ะตะบั€ะฐะฝะฐ 2025-02-18 ะพ 10.55.32.png

๐Ÿ’ฌ Scott

๐Ÿงต conversation

Have been trying to build out and share more demos of practical uses of agents these last few weeks using the ai framework I've been building, and all my past demos have involved calls to LLMs, but this latest one is just API calls between different services but using the agent patterns.

Was just struck by how different and much simpler the design for this came out using an agent framework than if i had built it a few years ago before diving in to building AI apps.

I'm starting to wonder if a pattern we'll start to see with all these agents people are building is to use an LLM in certain places at first (or just an old-school pre-llm implementation), but then over time replace that call over to something more deterministic or at least specialized once something stable comes out. Almost having to have well-factored designs up front because you're guaranteed to need to swap components out as better, cheaper, or faster ones come along.

๐Ÿ’ฌ Tom Larkworthy

๐Ÿงต conversation

I have redone my UI concepts. A dockable panel now is "just" a notebook. This works out much better. Before I was adding lots boilerplate to slice a top level notebook into pieces that were manually placed. It was hard to program and very fragile. Furthermore, it was hard to navigate the module structure of notebooks.

This new way is much better. A whole lot of concepts are removed, but also, I think notebooks tend to explain what they do within the notebook, so you end up learning about the orthogonal components in a more approachable way, plus the whole concept of a module structure manifest to the UI in a way that encourages learning.

The entire concept of a top level notebook kind of disappears altogether as well, which is closer to what the serialized and runtime format is. You can have circular imports in Observable, there is no "top" at the runtime level, its a graph of reactively cooperating modules. The UI now reflect that properly.

I've mapped the nested docker layout structure to the hash URL so the view layout can be saved and hyperlinked, and in HTTP terms is a pointer to a specific part of the cooperating module graph. I will add the ability to set a default layout if no hash is found, and that kinda servers the purpose of pointing to what the intended purpose of the assembly is (a role previously fulfilled by having a single top level notebook).

๐ŸŽฅ multi module editing

Thinking Together

๐ŸŽฅ Coroutine Secrets via Paul Tarvydas

๐Ÿงต conversation

Youtube Thumbnail

Thinking about coroutines and whether we can reduce bloat by rolling-our-own...

๐Ÿ’ฌ Federico Pereiro

๐Ÿงต conversation

For fans of the spreadsheet (Duncan Cragg et al):

In essence, a spreadsheet is immensely powerful because it has three properties:

  1. All of its data is contained in cells, each of them with an address.

  2. A cell can reference another cell.

  3. When a cell changes, all of the cells depending on it change as well.

I wrote the above just now. Do you think I'm on the money here, or would you summarize the spreadsheet's power with different points?

๐Ÿค” Subroutines are not Functions via Paul Tarvydas

๐Ÿงต conversation

More remembering what's at the bottom of all this and wondering if we can make it simple again

Content

๐Ÿ“ Don't fork the ecosystem via Konrad Hinsen

๐Ÿงต conversation

Don't fork the ecosystem, by Gordon Brander. Drawing on analogies between software and living systems.

๐Ÿ’ฌ Paul Tarvydas

๐Ÿงต conversation

Did some kinds of progress break the ecosystem, though? Galilean cosmology vs. Ptolemaic, iPhone replaced land-lines, electric grid, Gutenberg press, internet vs. paper books, cable TV vs antennas, streaming vs. cable TV...

๐Ÿ“ข Please submit to Onward! papers and essays via Jonathan Edwards

๐Ÿงต conversation

Please submit to Onward! papers and essays. One of the best places to publish ambitious non-mainstream ideas on programming.

๐Ÿค” Visual programming is stuck on the form via Christopher Shank

๐Ÿงต conversation

โ€œVisual programming is stuck on the formโ€ by @Wil Chung

๐Ÿ›ธ Lisp code for the textbook "Paradigms of Artificial Intelligence Programming" via Oleksandr Kryvonos

๐Ÿงต conversation

Whole book of Paradigms of Artificial Intelligence by Peter Norvig is availble on His github github.com/norvig/paip-lisp

Present Company

๐Ÿ“ข Virtual meetup 26th March via Maikel van de Lisdonk

๐Ÿงต conversation

Hi,

Our next meetup is 26th March 18:00 UTC. We have 3 presentations/demos planned:

All presentations are done following the "chess-clock-talk" format.

๐Ÿ”— Virtual meetup 26th March ยท Luma


๐Ÿ‘จ๐Ÿฝโ€๐Ÿ’ป 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