mas.to is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hello! mas.to is a fast, up-to-date and fun Mastodon server.

Administered by:

Server stats:

12K
active users

Confidence Man fan account

@yaxu I'm curious what reactions you have (if any) to @qualmist's essay about the definitions of liveness in live programming/coding? (which will be presented at LIVE in a couple weeks)

joshuahhh.com/liveness-paper-l

joshuahhh.comDefinitions and Dimensions of LivenessDefinitions and Dimensions of Liveness

@yaxu @qualmist partly because ICLC is interested in a similar question, but perhaps from a different starting point / contrasting angle

@TodePond @yaxu this essay-forwarding makes me realize that my essay leapfrogs right over the "live coding" / "live programming" distinction (as articulated at arxiv.org/pdf/1807.08578) – I'm jumping right to "live programming"-style definitions without considering "live coding"-style definitions. I should probably put some kinda note about that into the essay.

@TodePond @qualmist I'll have a proper think and read and will get back to you properly

@TodePond @qualmist Nice paper! Some thoughts..
Firstly I think there's no real distinction between live programming and live coding, apart from a cultural one. They're the same thing. So it's lovely to read this paper getting at some actually useful distinctions!

I'd say it's not true that there isn't literature on definition 3. The software engineering research community might be missing the point but that's what the live coding community is all about, and there's been a lot of conferences and books about that.

But you say 'close to direct use'. The qualification is a real puzzle for me. If we're talking about something like dynamicland, or a from-scratch performance, or working in a shell, live coding/programming isn't 'close to use', it _is_ use. As the 'meaning of live' paper that Lu linked puts it, "the programming is part of the program". (Strangely, 'use' can be pejorative in software engineering, e.g. describing REPLs as "only for utility".)

Without fully taking this on board, live programming/coding can only ever be about making programming more efficient, and miss the possibility of finding something beyond programming that's more culturally grounded, creative and open to change. It seems the live programming community grew from @bret's work, but with selective hearing.. worrydream.com/MediaForThinkin

worrydream.comAn Ill-Advised Personal Note about "Media for Thinking the Unthinkable"

@yaxu @TodePond Thanks for the read & the thoughtful feedback!

Re: "close to direct use" – I didn't mean to suggest "it's not use, but it's close to it"; I meant to suggest a spectrum of distances from use. E.g., typing mv at the terminal < writing a one-off shell script < writing a reusable shell script for yourself < writing a shell script to distribute. So Def. 3 relates continua: "more live = closer to use".

I'm very curious if you feel a useful, binary "use vs not-use" distinction.

@qualmist @TodePond Hmm good question..
In terms of proximity I guess something I've puzzled about is that code necessarily distances you from acting on a medium, but gets you closer to 'something else'. Working out some sums by hand means you're closer to the numbers, but coding something up gets you closer to the underlying business logic. Well I guess when you're doing the sums you're close to the business logic because you're performing it, but when you're coding it you're making it explicit so you can talk about it. In the language of tacit knowledge, you're turning proximal knowledge into distal/distant knowledge, where the proximal is what you 'know but can't tell'. That's confusing I think because I feel that by making something explicit I'm getting closer to it.

So likewise when I'm making music I'm not as close to the sound as a drummer, but I am very close to the pattern as that's what I'm directly acting on and listening to. (Not a value judgement - honestly I'd rather be a good drummer than a good live coder..)

I don't think that fits with your dimension, at least the examples you give aren't about writing code while it's running.
So maybe I am putting forward a binary of use. Either a programmer, and the activity of programming in general is part of a program in a 'live' situation, or they're not.

@yaxu @TodePond Thinking about this for the last hour has gotten me very confused, in a good way; I hope it's doing the same for you.

@yaxu @TodePond One last note before bed: I think we're in agreement that the distinctions I mention in my paper are sharper and in some ways more useful than the LP/LC distinction. I'm still surprised that you don't see a distinction between LP & LC. Ethnographically, they're different communities, which define themselves very differently and seem to have overlapping but distinct priorities. Part of my paper's goal was articulating some of the threads they do or don't share...

@yaxu @TodePond I guess it feels natural to me to play the ethnographer and say "the communities around X and Y share an interest in A & B, tho X cares more about C and Y cares more about D", and not as natural to say "there isn't a real distinction between X & Y".

Maybe you agree with all that? Or maybe you have a strong pull to stand by "they're the same thing", in which case it would be neat to hear more about that feeling.

@qualmist @TodePond
Yes I agree with that.
But on one level the terms have always been interchangeable for me, it was called 'just-in-time programming and 'live programming', then we had the 'livecode' mailing list, and started having in-person meetings and switched to 'live coding' because 'live programming' doesn't exactly trip off the tongue.
Then the LIVE workshop started and the organisers thought they wouldn't be taken seriously if they were associated with the arts so distanced from that by calling it 'live programming'.
But live coding has always had a broad sense for me.
That paper finds live coding research is very interdisciplinary and live programming research looks more single disciplinary. So maybe live programming is a kind of non-applied live coding that has turned away from 'real world' use and got into academic evaluation of software engineering prototypes in order to gain traction in university computer science depts.

@qualmist @TodePond Not that it all started with live programming/live coding! These things have been explored from the beginning of computing, with the more radical possibilities carefully suppressed and sidelined throughout.

@yaxu @qualmist @TodePond

"Then the LIVE workshop started and the organisers thought they wouldn't be taken seriously if they were associated with the arts so distanced from that by calling it 'live programming'."

I wish you'd stop saying that Alex. That may be your belief about our motivations but we never said anything like that. I have all the emails if you want to litigate this. We thought LP and LC were of interest to distinct communities and raised different research problems.

@jonathoda @qualmist @TodePond Hi Jonathan yes you're right, I was actually looking back through the emails earlier and they weren't as I remembered, thanks for responding and setting the record straight. It seems it was smalltalk and liveness in general that Adrian had felt he had to distance himself from rather than the arts in particular.
I have definitely had conversations like this though where the arts have been added to the list, it seems a genuine concern of many computer scientists, to distance themselves from the arts in order to be taken seriously.
"I wish you'd stop saying that" implies that you've seen this before and not said anything. I've emailed you before about this sort of thing with no response, which I've found a bit frustrating. Very happy to be corrected and move forward!

@jonathoda @qualmist @TodePond Super I will try to tell the story more accurately in the future, and would be very happy to join forces against academic gatekeeping :)

@jonathoda I had <Programming> 2025 in my calendar already, and noticed it dovetails with ICLC the other side of the continent in Barcelona iclc.toplap.org/2025/
Good for those traveling to Europe long haul, although a bit tricky for no-fly folks..
seat61.com/international-train

iclc.toplap.orgICLC 2025International Conference on Live Coding 2025, May 27 to May 31, Barcelona

@yaxu @qualmist @TodePond

"Then the LIVE workshop started and the organisers thought they wouldn't be taken seriously if they were associated with the arts so distanced from that by calling it 'live programming."

My recollection differs: In the late 80s/90s at OOPSLA, etc. LISP, Smalltalk, etc. were informally described as "live programming environments".

The website of the 1st (2013 at ICSE) LIVE Workshop" (liveprogramming.github.io/2013) mentions both live programming and live coding as in scope

liveprogramming.github.ioLIVE 2013: Workshop on Live Programming

@allenwb @qualmist @TodePond Fair enough! I helped with the scope of the first LIVE workshop, the connection was removed in later editions tho.

@qualmist @TodePond Yep I said there's no difference apart from a cultural one. Agreed that's a big old qualifier!

@qualmist @TodePond Yes definitely, lets follow the confusion! :)

@yaxu @qualmist @TodePond This comment suggests to me the word "close" is subjective. It's not about coding vs not coding, domains are a construct. And it's not about close vs not close, distance too is uni-dimensional at least as I conceived it before this thread. Any time you create, there's an infinite number of ideas in the universe you could focus on as you create, and 2^that number combinations of focus. The key is to expand/support our options of focus.

Thank you all for a lovely thread.

@qualmist @TodePond

Another cracking paper!

In terms of definitions, I don't think this article finds a strong distinction between live coding and live programming research.
"The first significant result that there is no strongly significant type of outcome in the
live coding corpus. Actually, the live coding corpus covers all types of contributions."

They do align it strongly with your definition 3 though (without the 'close to').

"The intended outcome
of interacting with a running system is clearly to create an effect." Also important to recognise that this is a feedback loop - that also the intended outcome of creating an effect is to interact with the running system.

(FWIW "performance art" is a specific practice in the fine arts, I think they mean "performing arts". )

@TodePond @yaxu @qualmist I enjoyed reading the essay, it is well thought through.

One thing that brought my attention and I'm not sure if this is intentional, but mid-paper I felt the structural granularity dimension implicitly dominates the rest of the dimensions in the article. It maybe happens because this is the only dimension referenced from the others. For example, the dimension "Distance between code and output" mostly relies on it to explain the idea