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

Alex McLean 2023-10-02 09:17:41

Reflecting more on Amy Ko's recent work on Wordplay, I think part of what makes it successful is that it's an art project - playing with typography is just a really nice domain to make alternative programming languages in - playing with symbols, with symbols. It's a shame that the arts are often pushed out of 'future of coding' type circles. E.g. compare the first LIVE workshop on Live Programming which had loads of music-focussed contributions, with recent editions where the focus seems much more on abstract ideas for which 'real world' applications have not yet been found.

My understanding is that part of the reason for this is that for CS academics, associating their work with creative applications is generally seen very much as a career-limiting move

Alex McLean 2023-10-02 09:47:06

Seems related..

image.png

Alex McLean 2023-10-02 09:47:43

šŸ“ Language and the Rise of the Algorithm

A wide-ranging history of the algorithm. Bringing together the histories of mathematics, computer science, and linguistic thought, Language and the Rise of the Algorithm reveals how recent developments in artificial intelligence are reopening an issue that troubled mathematicians well before the computer age: How do you draw the line between computational rules and the complexities of making systems comprehensible to people? By attending to this question, we come to see that the modern idea of the algorithm is implicated in a long history of attempts to maintain a disciplinary boundary separating technical knowledge from the languages people speak day to day.   Here Jeffrey M. Binder offers a compelling tour of four visions of universal computation that addressed this issue in very different ways: G. W. Leibnizā€™s calculus ratiocinator; a universal algebra scheme Nicolas de Condorcet designed during the French Revolution; George Booleā€™s nineteenth-century logic system; and the early programming language ALGOL, short for algorithmic language. These episodes show that symbolic computation has repeatedly become entangled in debates about the nature of communication. Machine learning, in its increasing dependence on words, erodes the line between technical and everyday language, revealing the urgent stakes underlying this boundary.   The idea of the algorithm is a levee holding back the social complexity of language, and it is about to break. This book is about the flood that inspired its construction.

Alex McLean 2023-10-02 10:30:18

šŸ“ Algorithms and language

Iā€™m starting this topic as Iā€™m reading ā€œLanguage and the Rise of the Algorithmā€ by Jeffrey M. Binder, and would love a space to discuss it. Iā€™ll be posting notes and thoughts as I read. Iā€™m interested in not only the ways we have conceptualized algorithms, but also how those notions have changed over time, and how those changes may relate to various types of technology surrounding language and patterning systems (especially as relates to textiles).

Christopher Shank 2023-10-02 18:21:15

Totally agree! Do you think Amyā€™s focus on youth education also had an impact of Wordplay?

Andrew F 2023-10-02 21:18:54

That introduction sounds... well, it sounds like the author lives in a very different world than I do. He makes it sound like rigorous/non-natural languages are some conspiracy against communication, when the truth is that they keep convergently evolving because natural language simply does not do the job of communicating these things. People have tried doing math and computation in words over and over and it's miserable every time.

More to the point, the abstract idea of an algorithm is very specifically a tool for communication, and evolved the way it did to be more effective in that role. Any argument that wants to claim it's actually an obstacle has a very heavy lift in front of it, and nothing in that intro suggests the author is aware of that.

I would further claim than any notion of LLMs (I assume this is what he's referring to as "machine learning"?) breaking this trend is an illusion. They will either evolve some form of rigor or (more likely) produce inscrutable messes.

Konrad Hinsen 2023-10-03 07:04:15

Algorithms and their mechanized forms we call computer programs are indeed merely the latest step in what I'd label as formal methods if that label weren't already taken by CS in some more specific sense. That's a line of thought that can be traced back at least to Leibniz and easily beyond, to antiquity.

If there's a recent development that deserves criticism, it's the importance that algorithms have acquired in today's life. Computers have transformed them from a specialists' tool into one accessible not to everybody, but to a rather large elite, who is not always using it in the interest of the wider population.

Alex McLean 2023-10-03 07:32:52

I've only read the introduction of the book so far, but I don't think that's a fair characterisation of Binder's argument. Clearly granting mathematical abstractions objective existence is useful for sharing them, and he makes this clear.

Ref 'machine learning' I think you're reading the promotional blurb which might well have been written by the series editor rather than the author.

Alex McLean 2023-10-03 07:36:28

I need to read more, but so far see this more as pointing out that the way we think about algorithms has been different in the past, and is changing now.

It's a similar approach to Bret Victor in his "Future of Programming" talk. The 'future of programming' title seems to sometimes be taken unironically in this community but it's really about the past of programming, pointing out that in the early days, the possibilities were much more open than they are now, that programming has now got really stuck in a limited view of itself, and that we need to look back to look for ways of imagining an alternative future.

Konrad Hinsen 2023-10-03 12:46:33

Thanks @Alex McLean for reminding is not to judge a book but a single page!

Andrew F 2023-10-03 15:34:20

I'm interested to hear what his full argument is. I hope it's more specific than "the idea of an algorithm has changed over time". Anyway, the sole job of an introduction is to give you an idea of what the book is about, so I don't think it's unfair to pass provisional judgement on that basis.

Alex McLean 2023-10-03 15:38:51

I think the introduction is a really nice framing, and says much more than that.

Alex McLean 2023-10-03 15:42:05

I like this from page 12: "It is primarily these earlier ways of thinkingā€”the ones that are noticeably different from modern computationā€”that I emphasize in this book. In the history of science, it is a methodological precept to avoid falling into the style called ā€œWhig historyā€ā€”to avoid, that is, describing historical developments through linear narratives of progress that implicitly side with the positions that won. Histories of mathematical symbols tend to be extremely Whiggish, complimenting authors who use notations that later became standard and chastising those who do not. I certainly do not mean to deny the advantages of symbolism, but my purpose is less to celebrate it than to understand it, and I accordingly hope to describe what was lost with the adoption of symbols as well as what was gained. I also hope to show that the symbolic method is not a fixed category. The ways people have understood symbols changed multiple times over the centuries, and the modern idea of algorithm is a product of particular circumstances and epistemological commitments."

Alex McLean 2023-10-03 15:48:38

I think there's an interesting parallel with musical staff notation here.. Some clear advantages in terms of communication, but also a great deal has been lost, e.g. the loss of canntaireachd in the scottish highlands

Jack Rusher 2023-10-03 16:34:22

Whenever someone suggests that thereā€™s something artificial about inventing formal notations, Iā€™m reminded of this Bertrand Russell quote:

ā€œEverything is vague to a degree you do not realize till you have tried to make it precise.ā€

Alex McLean 2023-10-03 17:20:57

Jack Rusher hmm, artificial in what sense?

Lu Wilson 2023-10-04 00:21:54

Hey I'll be presenting at this year's LIVE with a very art-for-arts-sake thing :) I've been pleasantly surprised with how positively people in the 'sphere' seem to respond to that sort of thing

Jack Rusher 2023-10-04 06:33:34

@Alex McLean ā€œattempts to maintain a disciplinary boundary separating technical knowledge from the languages people speak day to dayā€ -> this doesnā€™t require a guild or gatekeepers or anything of that kind, as formal languages are required to communicate precisely (which is also one of the limiters of the natural language to software pipeline some would like to see LLMs produce)

Alex McLean 2023-10-04 07:44:27

Lu Wilson that's great! I talked with the original organisers about this though and they were really open about the fact that they needed to disassociate their work from the arts for the sake of their careers. That's why they called it 'live programming' rather than 'live coding' - they wanted to create a new community that was separate from the existing community focussed on applications in the performing arts. That's totally understandable, but it's been a bit sad to see it drift away from acknowledging that community exists at all. To be fair there are probably similar separating forces on the other side.

Alex McLean 2023-10-04 07:49:22

Jack Rusher Yep agreed that formal languages are required to communicate algorithms precisely, but again I don't think Binder's argument is that mathematics is bad or anything like that. It's more that people have worked with algorithms in different ways in the past, and that there are a lot of possibilities for the future. I'm a bit surprised to see pushback for this idea here - isn't that what the 'future of coding' is about?

Alex McLean 2023-10-04 07:52:28

I'm not personally interested in LLMs at all though.. I'm too old to really engage with another 'AI' wave. I'm here for the more general idea of looking at the history of language and algorithms as a way to see and work beyond contemporary assumptions.

Jack Rusher 2023-10-04 08:05:35

As others mentioned above, we have only the extended description to go by without reading the text. The description (which I agree was likely not written by the author) leans in the direction to which Iā€™m reacting. Iā€™ll be happy to read your more accurate review of the book! šŸ™‚

Alex McLean 2023-10-04 09:49:24

I've quoted a couple of bits from the introduction.

Lu Wilson 2023-10-04 10:12:24

@Alex McLean That's interesting, thanks! Some people don't realise that art and science are often more intertwined than they seem. It's not one or the other

Duncan Cragg 2023-10-03 22:30:53

I went away from FoC for a few weeks and dropped by today and I have to say I'm blown away by the diversity of creative and innovative work being brought to light here. And, bizarrely, how little discussion is being initiated by the posts! Is everyone so focused on their own stuff that they're not available for engaging in a broader perspective? I'm worried that a lot of great stuff could be going the wrong way or could fizzle simply through lack of community coherence. Dunno. Whaddyall think?

Duncan Cragg 2023-10-03 22:32:28

[kicking off a thread to make it easier to reply]

Eli Mellen 2023-10-03 22:36:41

I donā€™t think you are wrong! I donā€™t have anything profound to say thatā€™s like ā€œa fix,ā€ but Iā€™d say that community takes a lot of work, and knowing how to do that work is a difficult skill to cultivate. I think there is a lot of sort of ā€œdropping it and wishingā€ where you sorta cross your fingers and hope a community appears because building that community is essentially a full time lift and the vibe here seems to be focused on making the stuff (which isnā€™t a value call by any means, just sort of a vibe check).

Eli Mellen 2023-10-03 22:37:34

I donā€™t have a ā€œthing,ā€ per se, but the way I show up here is to try and ask questions without a strong inclination of where stuff will land, but curiosity about where it ends up.

Lu Wilson 2023-10-04 00:13:20

I speak for myself, but often the more eye-opening stuff here leaves me a bit speechless/commentless. Often it takes a while to process it, but the impact has been had, and the influence has been made! A šŸ° emoji shows my appreciation

Tom Lieber 2023-10-04 00:39:41

Iā€™m scrolling up here and seeing 7 replies, 14 replies, 16 replies. Is that a little, or are you talking about other channels?

Tom Lieber 2023-10-04 00:40:59

Personally, I use Slack-like software all day for work and am burned out on it. So during the week I usually just save links to savor on weekends. Slows down my pace of communication significantly, though. šŸ˜…

Ivan Reese 2023-10-04 01:48:04

I'm stretched pretty thin, so I only weigh-in when I have either something trivial and jokey or something really substantial to add based on preexisting knowledge. Wish I could be more involved.

Eli Mellen 2023-10-04 01:49:09

Iā€™ll add that I do like that this place is sort of quiet. Chill vibes like a coffee shop on a slow day, or something. It is easy to keep up with, whereas some slacks I have to be in for work are like 100,000+ people shouting all at once

Ivan Reese 2023-10-04 01:51:31

Yeah, I'm quite happy with the level of activity here, and how it's managed to sustain that level of activity for like 4 years now. I don't wish the community were busier.

Eli Mellen 2023-10-04 01:53:06

I think my (greedy) wish, that I wish for all communities, be nothing can be so perfect, is that it was a bit less broadcast oriented. That folks were able to engage with stuff more deeplyā€¦but that may well be a me thing than like a community thing

Ivan Reese 2023-10-04 01:56:49

I do feel like it's more discussion oriented now than it was 2+ years ago. But that's a subtle thing and I have no data. I just remember there being so many links posted which weren't sparking discussion that we split #linking-together off into its own channel, so that the torrent of links wouldn't drown out #thinking-together

Kartik Agaram 2023-10-04 02:30:10

Every top level post is somebody's life's work, as Gordon Brander says. I think it's healthy that we don't rush to fill the empty space below it with faff. Hacker News is right over there when I want empty spaces to be filled.

More generally, I tend to see a lot more about the world lately as having its own logic even if I don't understand the logic. Most things are not problems. Not rushing to label situations as problems keeps my powder dry and allows me to focus.

(It is true that Slack is uniquely able to keep me from noticing notifications. But that too is perhaps not a problem. I'll find posts a month or year from now, thanks to various history search tools, when I'm in the right mental space for them.)

brett g porter 2023-10-04 13:25:04

I'm mostly a lurker here, and find that in many cases my response to posts is limited to "add this to my toRead queue for when I can devote the time it deserves"

Chris Knott 2023-10-04 18:19:34

I haven't seen so much of the general thematic discussion threads recently as I used to remember. However I personally appreciate being about to dip in every so often and still keep up to date.

Kartik Agaram 2023-10-05 18:42:55

A day later I'd like to add a corrective to my previous comment: if a post doesn't have enough discussion, the best way to change that is to.. comment! Be the change you want to see in the world. I don't mean to ever discourage anyone from commenting.

Also, #devlog-together exists for just random kibitzing on stuff you don't feel comfortable posting in another channel for whatever reason.

Eli Mellen 2023-10-05 18:43:36

(big props for ā€œkibitzingā€)

Kartik Agaram 2023-10-05 18:43:57

(Technical term from the chess world.)

Qqwy / Marten 2023-10-04 09:01:53

Some thoughts re: ā€˜67 Considered Harmfulā€™:

Superparentheses :

Love the discussion about this topic šŸ˜›. Haskell has $ which means ā€˜opening parenthesis that is closed by the end of the lineā€™ which gets a bit close to the idea of a ā€˜super opening parenthesisā€™.

C and GOTO:

C came out after this paper, and its goto statement was neutered: It only allows local jumps (remaining in the same function) and only to hard-coded labels (though a common GCC compiler extension extends this to allow dynamic labels).

The closest C gets to unrestricted GOTO is setjmp / longjmp ; but here the callee decides where you jump to (just like with exceptions) so you can really only jump up on the stack, making them slightly less painful to reason about.

Neither gets used a lot: I mainly know the goto sosueme idiom from a few of the talks of Alexei Alexandrescu in which he uses it in a hot code path because the resulting machine code is better optimized. And setjmp / longjmp is used in some places to emulate exceptions or coroutines in plain C, but whenever the OS provides higher-level abstractions to use here they are preferred (just like how OS support for threading is better than rolling your own spin-locks).

EDIT: Also, love your relentless efforts to add the Dijkstra sting every time šŸ˜‚. Editing this episode must have taken painfully long šŸ™‡.

Martin Sosic 2023-10-04 09:14:25

I love that $ in haskell, if it was gone I would cry! (And implement my own)

Qqwy / Marten 2023-10-04 09:23:22

Same here. For people coming from other languages: you might know |> and maybe <| . (F#, Scala, Elixir, Elm, PureScript, ā€¦ have them). $ is <| . The Haskell version of |> is known as & which is mainly useful if you want to split a long expression over multiple lines (and read it top-to-bottom).

Jack Rusher 2023-10-04 10:51:32

goto turns up in many, many places where performance matters. Here are ~5 pages of hits for goto in the Linux kernel, for example:

github.com/search?q=repo%3Atorvalds%2Flinux+goto&type=code&p=1

Dijkstra could make his argument only because he didnā€™t do much of this kind of work.

Christopher Galtenberg 2023-10-04 12:47:14

I quit this episode due to the audio hijinks

Matt Wynne 2023-10-05 19:26:35

My first ever program was in BBC BASIC:

10 PRINT "MATT IS ACE"

20 GOTO 10

Where is the harm in that šŸ™‚

Matt Wynne 2023-10-05 19:29:27

Seriously though Jack Rusher you make a great point. It's easy to write a "chainsaws considered harmful" paper, but there are contexts where chainsaws are extremely useful (and relatively safe).

Kartik Agaram 2023-10-06 02:01:10

Back in the day I wrote up a little story about a lesson that might be relevant here: akkartik.name/post/swamp

Qqwy / Marten 2023-10-04 09:18:26

And making a separate topic for the second half of the episode about the list of other ā€˜things considered harmfulā€™ because it is mostly separate from the previous discussion ^_^ā€™:

  • Most of your takes are actually luke-warm, in my opinion. šŸ™‚
  • Agile (with capital A) considered harmful: 100% agree with your discussion here.
  • Dependency Injection considered harmful: I disagree. You can definitely use it too much and it would be better if people would approach it from the dependency inversion principle side, but it definitely is better than tightly coupling your code on implementation details. And related to that, Iā€™d like to add:
  • Inheritance considered harmful: Why do we still teach new programmers how to do inheritance? Besides ā€˜prefer composition over inheritanceā€™, have we not learned in the last 20-ish years that doing polymorphism based on interfaces/traits creates much more maintainable code?
Andrew F 2023-10-04 15:11:57

People are doing dependency injection without dependency inversion? Why? How?

Qqwy / Marten 2023-10-05 11:51:25

Andrew F What I mean is that you should not do dependency injection for its own sake, but as a potential implementation of the dependency inversion principle:

If you have an object that ā€˜does all the thingsā€™ which is threaded around everywhere and whenever you need to do anything you use the object, you only make code harder to read.

But if you have small objects which each implement only a single well-defined short interface, then it is easy to follow the logic and swap things out.

I hope my explanation makes sense

Jimmy Miller 2023-10-06 19:34:11

Most of your takes are actually luke-warm, in my opinion.

Yeah, I agree. I was dissatisfied with that aspect of the episode.

but it definitely is better than tightly coupling your code on implementation details

Yeah, I definitely disagree with this one. I'd much rather my application code be about the implementation details. Interfaces don't matter at that level. Implementation details do.

But if you have small objects which each implement only a single well-defined short interface, then it is easy to follow the logic and swap things out.

I just need one interface call . šŸ™‚

Kartik Agaram 2023-10-06 21:46:31

The next paradigm beyond capitalism

These are some rough thoughts I wasn't expecting to share publicly for a long time, if at all, but it seems to be inevitable for me to hit a point of, wth, throw it out there. In this case the impetus was @Alex McLean's comments on šŸ’¬ #linking-together@2023-10-06T04:45:36.918Z

The way I see it, capitalism currently performs many load-bearing functions in the world, but the world today suffers from capitalism being the predominant engine of meaning/motivation. Why do we get out of bed and do anything? The places we tend to pay attention to are governed by social proof, a sense that others are paying attention. Social proof is in turn governed by status seeking; we all want to be "successful", and in our efforts to be successful we chase the prospects of success around us. We're more likely to attend to something if it promises to be successful. And finally, closing the loop, the metrics for "success" are basically money at root. Everything else seems to get grounded at some level of indirection in money.

All this hit home particularly hard when listening to the first hour of episode 65 (totally awesome, and having nothing to do with the title), where Ivan Reese at one point says, to be taken seriously you have to signal effort. And at a second point: one way to signal effort is to spend a lot of money. All totally right and obvious for the world we live in. And yet.. I'm kinda feeling done with seeing large projects spending lots of money as more intrinsically meaningful? We've seen many many examples of the same depressing way large projects with lots of money fail. Money invariably has strings attached.

So, I'd like to live in a world where money exists, but more people consider it a satisficing rather than optimizing criterion. Something that inhabits the lower levels of Maslow's Hierarchy and gets banished from the upper level that it has somehow infected while we weren't looking.

What might replace money as a source of meaning and motivation for programmers? One answer I've been rolling around in my mouth and feeling increasingly ok with is: durability. Durability has a long track record (i.e. monuments) as something that can motivate people. Software is currently really bad at building durable artifacts, and not I think for any intrinsic reason. We just haven't prioritized it. I think a world where software artifacts can be easily run a decade later -- without any modification -- would be a significantly better world than the one we live in. In such a world, software would be part of the solution rather than the problem.

So, with that lengthy preamble, here's the draft I've been noodling on.

Draft: A programmer's pledge

Given that:

  • We are on this planet for a brief time and will take nothing with us when we leave; and that
  • The effects of our actions compound for good and for ill, long after we are gone, in ways we cannot always anticipate; and that
  • I want to be helpful to others, and for the good in my actions to outweigh the bad; and that
  • I want to persuade you that I truly believe the above, that I want to be helpful more than I care about my own gain and aggrandizement;

Therefore, I pledge to:

  • Tell you, when I build anything, what I hope to gain from it. If it's money I'll tell you how much in inflation-adjusted currency, and I'll commit to giving away anything beyond that while unencumbering any secrets it took to create it. If I create organizations or foundations around what I build, I'll enshrine these limits on value capture into their bylaws.
  • Tell you, up front, when it will be done. I'll provide a clear test for features I will add, and when I will stop adding features.
  • Show my thought process in my efforts to make it durable. Even after it's done, it might need changes to be runnable on people's computers. What have I done to minimize the likelihood of such changes? What have I learned from past projects that makes this one more durable than them?
Arcade Wise 2023-10-06 22:00:34

That's a really cool idea! I personally have some strong ideas about what capitalism got wrong, and what we can do better, but I havn't ever thought of something like this! If you wanna talk, that would be amazing

Alex McLean 2023-10-06 22:06:38

Nice thoughts! It reminds me of stumbling across the MOTIVATION file that came with emacs when I was a student, talking about intrinsic and extrinsic motivation.. it made an impression on me back then, a bit sad to see it's been removed at some point in the last few years.. I guess the research it's reporting on is very old at this point though

Arvind Thyagarajan 2023-10-07 02:29:11

Re: the preamble -- given that capitalism has exerted such a destructive force on the planet, felt first by the most vulnerable spaces, George Monbiot, the journalist, writer, and environmentalist, co-authored a paper in the Schumacher Institute in which he presents a phrase and concept I absolutely love: "public luxury, private sufficiency". In line with your pledge, I believe most systems would benefit from applying this kernel.

Kartik Agaram 2023-10-07 16:22:24

šŸ“ Private Sufficiency, Public Luxury: Land is the Key to the Transformation of Society - Schumacher Center for a New Economics

How is it possible to own land? I find it remarkable that this basic question is so seldom asked. The current pattern of ownership and control of land lies at the heart of many of our biggest dysfunctions: the collapse of wildlife and ecosystems, the exclusion and marginalization of so many people, the lack of ā€¦ Continued

Alex McLean 2023-10-07 16:31:00

Since you posted this Kartik Agaram I've been trying to think about what I find meaningful in making things with code. Personally I don't find making promises or planning too much ahead of time motivational although I can definitely see how it is for others. I think for me meaning comes from understanding/learning what I'm doing through the process of coding it, sharing software I've made and then see people do weird unexpected things with it, and connecting with others through live coding. Making money from it isn't really a motivation, although that is a privilege really.. plus I work for a non-profit and am not allowed to make commercial products or prototypes as a condition of my funding..

Konrad Hinsen 2023-10-07 17:55:05

Kartik Agaram Your programmer's pledge is about single-person projects, right? What about the more frequent case of team, enterprise, or community projects? Would you make the pledge part of a code of conduct, for example?

Konrad Hinsen 2023-10-07 18:02:42

Also.. capitalism. It's everybody's favorite enemy today. For good reasons. But we tend to forget that lots of other economic systems share the fundamental issue of capitalism of not respecting the limits of the biosphere. All growth-oriented systems, to be more precise. And that's everything starting with agriculture. The quest for growth has been going on for a few thousand years, with lots of variations, but always the same outcome of humans and their sphere of influence (technology, crops, domestic animals, ...) taking an increasing share of natural resources (energy, water, ...). Capitalism is merely the most technically perfected way of striving for growth.

Konrad Hinsen 2023-10-07 18:03:42

Conclusion: we need a lot more than a change of attitude of programmers to get onto a sustainable trajectory.

Kartik Agaram 2023-10-08 03:24:47

I'm very glad I posted this, because y'all are poking at concrete gaps where I only vaguely sensed that some gaps existed šŸ˜„

@Alex McLean I wasn't really thinking about digital artists or live-coding communities when I wrote that draft. (Do y'all call yourselves "programmers"? I can see a case for that seeming like a cooty-inducing term šŸ˜„) My focus is more on a dynamic of "productive" software that insinuates itself into people's habits, and then exercises power (often accompanied by rent extraction). I think y'all are all good here. (Though do tell me if I seem to be mischaracterizing you, or if I sound like I'm excluding anyone. I tend to think of y'all's position as: you get a voice, but you don't bear much responsibility for what has occurred so far.)

Konrad Hinsen There are certainly many problems facing the world today, and my two paragraphs aren't intended to address them all. Re growth vs sustainability, I'll just point out that getting people to think hard about what we each find meaningful seems more resource-efficient than having whole countries go through the motions of bullshit jobs just to engage in zero-sum status games, all while mining the planet and polluting externalities. A focus on durable artifacts will hopefully lead to fewer artifacts.

My focus is just on programmers. I don't pretend to know enough to tell other industries or fields what to do.

</handwave>

I'm deliberately positioning the pledge at the level of individual projects. There's no limit on how many projects a person can start. At the same time, the start of a project is a high-leverage point at which to set its trajectory. I think we all have experience of joining projects later. It's much harder to change their direction then. Whatever the rules were at the start, we mostly tend to follow them.

Re "enterprise", one thing I want to draw attention to is that the value capture limit is phrased as a raw number, not a per capita number. And it is not profit. These are two deliberate decisions. I tend to think there's something vaguely unethical about successful artifacts indefinitely milking society to hire increasing numbers of people for indefinite periods that mostly has the effect of degrading the artifact. I'd like it to be more "glamorous" to build something, freeze it and disband. (Like a game or a movie.) Get what you wanted out of it, then give it away. (Not like a game or movie at the moment.) Get out of the way for a new project to build on the artifact. This worldview considers one-time charges for products morally/ethically superior to ongoing subscriptions. (Services of course are a separate matter. I don't have an opinion there. Though there might be an argument that programming is fundamentally about building artifacts, and the need for something to be an ongoing service is a failure on some level..)

Jack Rusher 2023-10-08 07:58:45

To add to Konrad Hinsenā€™s comment: I also find it disappointing that almost everyone I see using the word capitalism online ā€” whether pro or con ā€” seems to be talking about something else. It would be nice if more precise terms were used.

Alex McLean 2023-10-08 08:09:38

Kartik Agaram I don't really understand what you mean.. I am indeed a programmer, although don't really see any distinction between programming and coding - I use them interchangeably. I've made credit card management software, web platforms and ecommerce systems as well as pure FRP-based music systems and don't think my motivations have changed so much. Certainly music software is productive, gets into peoples habits and can exert commercial power. Some people (like Steven Pinker) don't see music as serious or important but I strongly disagree, it's intrinsic to human life. and I think it is also intrinsic to the 'future of coding'.

Alex McLean 2023-10-08 08:11:45

Jack Rusher Agreed and I'm aware I'm using the term vaguely.. TBH I just lack the education to talk about politics or economics intelligently, but still find it good to talk about.

Alex McLean 2023-10-08 09:35:56

I think Bret Victor's motivations speak well to the future of coding being very different to how we think about programming now, and that essentially, we have little idea about what we're really working towards. All we have is a guiding intuition. There's a lot we can learn from music making here. worrydream.com/MediaForThinkingTheUnthinkable/note.html

Alex McLean 2023-10-08 09:36:32

Of course Bret started out making music interfaces..

Erik Stel 2023-10-08 13:27:48

I like the idea of the programmer's pledge. Not able to put it into exact words yet, but I have the feeling I'd like the pledge part to be more human and nature centred and less about economics. I do understand 'capitalism' and 'money' were your points of attention. And I'm also very much in favour of moving away from money as a driver for what we do or don't. If we try to move away from economics (say "no" to), what are we actually after (say "yes" to), what could we pledge then? Just from the hip: "I will build things which empower humans (instead of taking away their empowerment/agency)", 'I will build things others can build with me (search for co-creation)", "I will not build things which are 'over' sufficient (I will not build too much)", "I will build things that are durable for the foreseen lifetime", etc. The last bit being about resource usage which has it marks on our environment(al footprint).

I'm trying to see if I can come up with a more concise set of pledges the coming weeks. See how well I do on those in my work šŸ˜‰.

Kinda reminds me of the Inventing on Principle from Bret (Alex beat me to it, bringing Bret into the discussion šŸ˜‰).

youtube.com/watch?v=EGqwXt90ZqA

Kartik Agaram 2023-10-08 13:42:51

@Alex McLean I think you understand me just fine and I'm just wrong šŸ˜… I need to reflect more on what you've said, as someone who's been on both sides of a divide that is just in my head.

So credit card management doesn't exercise a different hemisphere of the brain for you than making music? (Sorry, I only have wrong ways to talk about this stuff..)

Jack Rusher can you think of better terms we could be using here? Or are we just failing to communicate entirely? Would just adding "US" to various terms help?

Konrad Hinsen 2023-10-08 14:36:56

Kartik Agaram I didn't mean to imply that programmers should (or could) save the world. But programmers have an unusually high leverage in their decisions. Their indirect impact on the environment, via the actions of others that they encourage or discourage in their software, is more important than their direct impact. So I'd expect a programmer's pledge to include topics such as suggested by @Erik Stel above.

Alex McLean 2023-10-08 14:47:12

Kartik Agaram it's been a while.. but working on payment processing was mostly writing c code to pre-written specs but there was some room for finding creative solutions to problems.. A big part of making music for me is making new representations for music, which is really hard and is definitely some of the most interesting and technically challenging work I've done in my career. Actually making live music by live coding does feel very different though in a number of ways.. Being fully absorbed in the sonic output of your code while changing it, with a room full of people are dancing to it, is just a lovely time. It does seem like a very different activity to systems programming, but someone has to program the live coding system in the first place, and building and using systems happens in the same community, with everyone coding in some way.. like with dynamicland, things can get interesting when you break down the barriers between systems programming and live interaction.

Kartik Agaram 2023-10-08 15:00:16

Konrad Hinsen Agreed! I'd love to see more ideas for a pledge that includes these topics.

One criterion that seems important to me is objectivity. It should be really obvious to someone juggling a baby whether you're hewing to your pledge or not. A pledge that tries to say more but permits equivocation seems like a net negative to me. Because then you can paper over broken promises with marketing. I.e. by spending money. Which brings us back to the sad situation we're trying to escape.

If you lived around the era of competing models of the cosmos in the late 1500s after Copernicus, you would be totally correct to expect that a good theory should explain the lack of Coriolis forces on the Earth's surface. But it took 300 years to get a good story here, and in the meantime we went through 3 more models of the heavens that incrementally improved things. So the world doesn't always cooperate with the expectations people have..

At this point in our history it seems to me that with some of these thorny questions like sustainability or efficiency, a direct approach is unlikely to succeed. It'll just be too easy to game. But they were very much on my mind when I came up with my draft, and I've tried to indirectly nudge people in the right direction along those dimensions, as best I could.

Hopefully this clarifies some of the rationale for my current design. But I'm only trying to explain my thought process, not discourage others from exploring these directions.

Jack Rusher 2023-10-08 16:44:55

Kartik Agaram Most of what youā€™ve described here seems to be about a collection of bad social norms that became widespread in the anglophone world after Reagan/Thatcher (and sadly show signs of spreading further). I hate that stuff too, but it isnā€™t ā€œcapitalismā€ per se. Likewise, the things that provide an important (ā€œload bearingā€) informational role in modern economies are markets and prices, which can exist in non-capitalistic arrangements.

Kartik Agaram 2023-10-08 16:52:05

Agreed. Cory Doctorow has been doing a good job lately describing the history of antitrust regulation in the US, particularly the failure to regulate since Reagan/Thatcher. Calling the system of the last 40 years "capitalism" seems to be an unfortunate consequence of the word getting redefined during these neoliberal years.

Kartik Agaram 2023-10-08 18:35:11

Great article and comment in this context:

There's a lot more in this heaven and earth than I can dream of yet..