You are viewing archived messages.
Go here to search the history.

Tomas Petricek 2026-01-06 00:27:48

This has been a long time in the making - but my book Cultures of Programming is out (as open-access): cambridge.org/core/books/cultures-of-programming/075A2D1DE611EE47807A683147B21691

It looks at the history of programming as interaction between five different cultures (hacker, engineering, mathematical, managerial, humanistic) that look at programming in different ways and have different basic ideas about what programs are and how to best construct them.

One interesting observation from the book is that the humanistic culture (which includes Engelbart, Kay, Papert and many other favourite references here 🙂 ) seems to historically be the one that comes up with interesting ideas, but those are later adopted by more pragmatic engineering/managerial cultures and transformed in a way that removes what makes them unique (OO turns from medium for thinking into a controlled engineering tool). Alas, I do not have any historical lessons suggesting how to go against this trend!

Konrad Hinsen 2026-01-06 16:17:37

I am fine with pragmatic cultures importing ideas from the humanistic idealists (which is where I place myself) and doing their pragmatic stuff with deformed versions of them.

The question I am more interested in is how we can keep the humanistic culture alive and creative in a technological environment dominated by pragmatists following capitalist incentives. How we humanists can repurpose their tech for our needs without suffering from their pursuit of dominance.

Christopher Shank 2026-01-06 23:28:58

those are later adopted by more pragmatic engineering/managerial cultures and transformed in a way that removes what makes them unique

@Tomas Petricek have you seen this type of co-option happening elsewhere?

Benji Rappoport 2026-01-09 01:53:49

I love your framing of cultures of programming. I see these cultures or “mindsets” (to throw a different name for it into the mix) all over the place and it is nice to read some well crafted thoughts about the impact each of these cultures (and the humans who embody multiple cultures) have on the work we do.

Konrad Hinsen 2026-01-10 17:22:01

I read only the introduction, but I already love it! So many conflicts in my professional environment can be described concisely in terms of these cultures. A paper I co-authored recently could be summarized as "Dear managers, thanks for your attention to our work. But instead of telling us to become engineers, please take note that we are first and foremost hackers and humanists. Your friendly computational scientists."

Joshua Horowitz 2026-01-08 05:44:25

I put together two last-minute essays to send to PLATEAU back in December. I’ll share them here one-at-a-time.

The Blurry Boundaries Between Programming and Direct Use

While a narrow conception of programming makes it possible to draw sharp lines between “programming” and “direct use”, many of the efforts of the PL + HCI community call for expanded senses of programming that blur these lines. In this paper, we explore these murky boundaries from both sides, exploring situations where programming systems are used for direct use, and situations where direct-use systems take on the characteristic powers of programming.

HTML version here

PDF version attached below

I’d appreciate hearing any feedback, reactions, questions, etc.!

Paul Tarvydas 2026-01-08 21:52:45

First reaction: Hooray! This paper asks a vital question: "What is Programming?". The discussion of possible answers to this question is quite interesting. I might have a different view of what programming is, but, that doesn't matter as much as just having the question verbalized and seeing a discussion ensue.

Joshua Horowitz 2026-01-08 22:11:57

I agree! The original framing of the paper was, in fact, “what is programming”, but as I worked on it I realized that this was (duh) way too broad a scope to take on in a week or two of writing. And I realized that, right now, I’m most interested in this narrower scope of blurring programming & direct use.

FWIW, I think @Tomas Petricek’s book takes on the “what is programming” question more broadly, adopting a “cultural” lens – how do different cultures think of programming differently? My paper implicitly adopts the perspective of the humanistic culture (“Socrates”). Very much Chapter-3 stuff.

Benji Rappoport 2026-01-09 01:55:47

I really enjoy the paper and I really appreciate what you have demonstrated with Sculpin. Thank you for sharing it here 🙂

Paul Tarvydas 2026-01-09 03:44:13

discussing:

In my opinion, programming is the process of writing and storing a repeatable script that instructs a device (a machine or a biological system) to perform the same task repeatedly in a consistent manner.

...

What Is Programming?

📝 What is Programming?

2026-01-08

Paul Tarvydas 2026-01-09 10:56:40
Ella Hoeppner 2026-01-10 05:20:28

Here's a little demo of my visual programming project! It's a graphics programming programming environment where the code is laid out in a hierarchy of nested circles representing the nodes of the AST, rather than as text. The code the user edits is a shader that gets live recompiled and displayed on the right half of the screen. In the vid I use it to make a little parametric animation, just to show how it looks to edit a program.

Despite the unusual layout, the language being edited is very similar to a traditional shader language, and has all the abstractions and capabilities you'd expect in shader programming. But in addition to all that, there are also special "slider" expressions you can insert in the editor that allow you to manipulate values real-time just by clicking and dragging, as you can see in the video. This makes it really easy to gesturally explore parameter spaces in a way that you can't in a normal text editor. The way the code is laid out makes it very natural and intuitive to have miniature GUIs like these sliders embedded as part of the structure a program. Right now the sliders are the only example of this, but the goal eventually is to support many kinds of GUI elements, and make it extensible. You'll be able to use the editor to design little shader-based GUIs, then use instances of those GUIs as expressions in other programs.

Ivan Reese 2026-01-10 05:39:46

Ohhh! Amazing to see how this interface has continued to evolve. Thanks so much for sharing this!

Marek Rogalski 2026-01-10 09:32:58

I need it right now 🤩 How do you call it? (it's not part of vlojure, right?)

BTW re shader authoring - if a shader has some controllable parameters, then it's possible to tune them automatically to match some target image. It's a fairly new thing still but IMO in a couple years it's going to change how we write shaders. Differentiable shaders today are where language models were in 2015. The only problem is that very few implementations exist right now (pixl.cs.princeton.edu/pubs/Yang_2022_AAF/index.php is one) and they still lack a good end-user tooling.

Ella Hoeppner 2026-01-10 18:32:51

It's called Easl Studio. That's the name of the IDE at least, the language is just called Easl, and it also has a human-readable textual representation that can be used standalone outside of the IDE.

Ella Hoeppner 2026-01-10 18:33:57

Here's the textural representation of the code from the video, for example. The "slider" function used here is just an identity function, it returns the value passed to it. It's only there as a marker so the visual editor knows to show that value as a slider rather than a number literal.

Screenshot 2026-01-10 at 1.33.19 PM.png

Ella Hoeppner 2026-01-10 19:07:10

Thanks for the link about the differentiable shader thing, looks super interesting. I've thought a bit about what it would look like to add autodiff to easl, since some other shader languages (e.g. slang) include it, and it seems like a nice feature to have. I know you can implement at least forward-mode differentiation fairly straightforwardly in languages with typeclasses/interfaces, and I'm working on an interface system for easl's type system. I'd always prefer for it to be possible to build that kind of thing as a library within the language itself, rather than treating it as a special language-level feature. I think there were also some recent advances showing you can do something similar with reverse-mode autodiff, but I haven't looked into the details. I'm not sure if it would be feasible to do that with the technique in the paper you linked or if that would require genuine language-level support or metaprogramming 🤔

Marek Rogalski 2026-01-10 21:48:06

It may not be as elegant, but if Easl's output can be translated back & forth between slang (or whatever A𝛿 uses) then autodiff could happen there. I guess Easl already outputs GLSL - the question it whether it can also ingest it...

Marek Rogalski 2026-01-10 22:03:33

Differentiable shaders are just a cool, related idea I wanted to mention. The Easl Studio already looks like it could give Shadertoy a run for its money 🙂

Declan 2026-01-10 12:48:07

Last year I gave a presentation to the society of actuaries in Ireland about calculang

It outlines key features about structuring models, function purity, sharing numbers with a link to calculations/workings, and applies 250 cloud workers to get to 200M numbers that are fully reproducible via such links - all navigable locally on my old PC using duckdb in an interactive dashboard. Features also an interactive and visual modelling environment.

I hope to generalize on all of this in 2026 with more tools/platforms and that are public, and more integrations including with markup languages and LLM responses

youtube.com/watch?v=3C1mojRzfBA

Jouke Waleson 2026-01-11 20:01:30

I've been creating a 2d stack-based programming game for kids (4+) called Stacky Bird. Inspired by the game 2048 and my old RPN HP calculator. game.stackybird.com

Finishing levels unlock instructions and after a while you can go back and solve old levels in new ways with those instructions. Let me know what you think 🙂

Eli Mellen 2026-01-11 20:36:44

this looks like a lot of fun! I have a MUCH less polished version of something similar “puzzle dungeon” that I made a wee long time ago

Jouke Waleson 2026-01-11 20:40:50

Hahaha, I created the first version of this in 2013 I believe, and have been getting back to it for a day or two every 4 years. It's ancient !

But what's super cool now is that I could upgrade to Vue 3 and typescript and add a bunch of features with Cursor within a day.

🕰️ 2025-12-11 19:10:31

...

Eli Mellen 2026-01-11 20:35:31

I...can’t stop working on my procedurally generated picross puzzle game. I think I’m getting to the point where I’m willing to call it “done” though, now that I have 3 distinct versions:

I still haven’t written up or recorded a “how to play” thing 😂

📝 Bicross

Picross, but implemented with b.js so it is bicross, nothing to do with bifrost...tries to be cozy.

📝 Bicross RPG

RPG Picross, but implemented with b.js so it is bicross, nothing to do with bifrost...tries to be a cozy adventure.

Jakob Schindegger 2026-01-11 22:37:12

Hey all!

A friend and I have been working on a side project for a while, and even though there are still rough edges, I thought it might resonate with folks here.

It's called Tailrmade - tailrmade.app - a visual app builder that runs entirely in your browser. Think of it as a way to prototype and build interactive web apps without starting from scratch every time.

How it works:

  • Node-based system for logic (connect data sources, APIs, transformations, etc.)
  • Visual UI layer on top where you build dashboards and interfaces
  • For every app you create, you can "look under the hood/UI" at the logic and see/tweak everything
  • Basic AI assistance (requires signup) that uses the same building blocks instead of being a black box

    Fair warning, it's still a work in progress:

  • Mobile version needs work (best on desktop for now)
  • No auto-save yet
  • Some workflows aren't as intuitive as we'd like
  • And there are still bugs around

While Tailrmade itself isn't open source (yet), we're trying to keep the spirit of transparency. Every app you build shows its full logic, can be remixed by others, and you're never locked into a black box. We're still figuring out the right model as we grow and get more feedback. Speaking of :-)

If anyone has 10-15 minutes on desktop to poke around, we'd love feedback! There's some help at tailrmade.app/help, but feel free to reply or DM with questions.

📝 Tailrmade - Your Visual App Builder

Create web apps visually with drag-and-drop components. See changes instantly, work with a variety of data types, and share your tailrmade apps - all in your browser. No signup required.