
Sign up to save your podcasts
Or


Inventing on Principle
Stop Drawing Dead Fish
The Future of Programming
Yes, all three of them in one episode. Phew!
Links
$ patreon.com/futureofcoding — Lu and Jimmy recorded an episode about Hest without telling me, and by total coincidence released it on my birthday. Those jerks… make me so happy.
Put all metal back into the ground.
Music featured in this episode:
! Send us email, share your ideas in the Slack, and catch us at these normal places:
See you in the future!
https://futureofcoding.org/episodes/71
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
Dave Ackley's paper Beyond Efficiency is three pages long. With just these three pages, he mounts a compelling argument against the conventional way we engineer software. Instead of inflexibly insisting upon correctness, maybe allow a lil slop? Instead of chasing peak performance with cache and clever tricks, maybe measure many times before you cut. So in this episode, we're putting every CEO in the guillotine… (oh, that stands for "correctness and efficiency only", don't put us on a list)… and considering when, where, and how to do the robust thing.
Links
$ patreon.com/futureofcoding — The most recent bonus episode is a discussion with Stefan Lesser about new "laws of physics" we can invent inside the computer.
Don't destroy the earth, then make sure your thing can't be destroyed, then don't destroy your data, and finally, do your damn job, AAAAAAAAAAAAAAAAAAAAAAAAAAA.
Music featured in this episode:
No more jokes! Find us at these normal places:
Send us email, share your ideas in our Slack, and support the show on Patreon. Yes, do all three please.
http://futureofcoding.org/episodes/70
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
In the spirit of clearly communicating what you're signing up for, this podcast episode is nearly three hours long, and among other things it contains a discussion of a paper by author Mary Shaw titled Myths & Mythconceptions which takes as an organizing principle a collection of myths that are widely believed by programmers, largely unacknowledged, which shape our views on the nature of programming as an activity and the needs of programmers as people and the sort of work that we do as a sort of work, and where by acknowledging these myths the three of us (Mary Shaw primarily, and by extension Jimmy and I, those three people, that's it, no other people appear on this podcast) are able to more vividly grip the image of programming with our mind's eye (or somesuch) and conceive of a different formulation for programming, and in addition to these myths this paper also incudes a number of excellent lists that I take great pleasure in reading, beyond which I should also note that the paper does a job of explaining itself and that hopefully you'll find I've done a similar job, that's the spirit, please enjoy.
Links
$ patreon.com/futureofcoding — I've recently changed it so that there's only 1 instance of the INTERCAL tier available, so if you're interested in those perks you'd better hop on it quick before nobody else does!
Nobody remarked on these silly links last time, so this time I'm drawing more attention to them:
https://futureofcoding.org/episodes/069
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
The subject of this episode's paper — Propositions as Types by Philip Wadler — is one of those grand ideas that makes you want to go stargazing. To stare out into space and just disassociate from your body and become one with the heavens. Everything — life, space, time, existence — all of it is a joke! A cosmic ribbing delivered by the laws of the universe or some higher power or, perhaps, higher order. Humanity waited two thousand years, from the time of the ancient Greeks through until the 1930s, for a means to answer questions of calculability, when three suddenly arrived all at once:
Then it was discovered that these three models of computation were, in fact, perfectly equivalent. That any statement made in one could be made in the others. A striking coincidence, sure, but not without precedent. But then it was quietly determined (in 1934, again in 1969, and finally published in 1980) that computation itself is in a direct correspondence with logic. That every proposition in a given logic corresponds with a type in a given programming language, every proof corresponds with a program, and the simplification of the proof corresponds with the evaluation of the program.
The implications boggle the mind. How could this be so? Well, how could it be any other way? Why did it take so long to discover? What other discoveries like this are perched on the precipice of revelation?
Philip Wadler is here to walk us through this bit of history, suggest answers to some of these questions, and point us in a direction to search for more.
And we are here, dear listener, to level with you that a lot of this stuff is miserably hard to approach, presented with the symbols and language of formal logic that is so often inscrutable to outsiders. By walking you through Wadler's paper (and the much more approachable Strange Loop talk), and tying it in with the cultural context of modern functional programming, we hope you'll gain an appreciation for this remarkable, divine pun that sits beneath all of computation.
Links
=> patreon.com/futureofcoding — but only if you back the Visual Programming tier!! I'm warning you!
Nobody noticed that these links were silly last time, so this time I'm drawing more attention to it:
This link is legit:
https://futureofcoding.org/episodes/068
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
Go To Statement Considered Harmful is a solid classic entry in the X Considered Harmful metafiction genre, authored by renowned computer scientist and idiosyncratic grump, Edsger Wybe Dijkstra. Surprisingly (given the impact it's had) this is a minuscule speck of a paper, lasting only 1-ish pages, and it even digresses several times from the main point. Fear not! Jimmy and I spend the entirety of these two podcast hours thoroughly analyzing the paper, wringing every last drop of insight from it, speaking directly to how programming ought to be reimagined from the molten venture capital core on up. Yes indeed, this is another episode in the fine tradition of Future of Coding where we stay faithfully close to the text, we leave the second-order implications alone, and there's nothing more than that. Nothing portended, nothing changed.
Links
=> patreon.com/futureofcoding
Music featured in this episode:
Get in touch, ask questions, don't ask questions:
https://futureofcoding.org/episodes/067
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
This community is a big tent. We welcome folks from all backgrounds, and all levels of experience with computers. Heck, on our last episode, we celebrated an article written by someone who is, rounding down, a lawyer! A constant question I ponder is: what's the best way to introduce someone to the world of FoC? If someone is a workaday programmer, or a non-programmer, what can we share with them to help them understand our area of interest?
A personal favourite is the New Media Reader, but it's long and dense. An obvious crowd-pleaser is Inventing on Principle.
Bonnie Nardi's A Small Matter of Programming deserves a place on the list, especially if the reader is already an avid programmer who doesn't yet understand the point of end-user programming. They might ask, "Why should typical computer users bother learning to program?" Well, that's the wrong question! Instead, we should start broader. Why do we use computers? What do we use them to do? What happens when they don't do what we want? Who controls what they do? Will this ever change? What change do we want? Nardi challenges us to explore these questions, and gives the reader a gentle but definitive push in a positive direction.
Next time, we're… considered harmful?
#### $
We have launched a Patreon!
=> patreon.com/futureofcoding
If, with the warmth in your heart and the wind in your wallet, you so choose to support this show then please know that we are tremendously grateful.
Producing this show takes a minor mountain of effort, and while the countless throngs of adoring fair-weather fans will surely arrive eventually, the small kilo-cadre of diehard listeners we've accrued so far makes each new episode a true joy to share. Through thick and thin (mostly thin since the sponsorship landscape turned barren) we're going to keep doing our darnedest to make something thought-provoking with an independent spirit. If that tickles you pink, throw some wood in our fireplace! (Yes, Ivan is writing this, how can you tell?)
Also, it doesn't hurt that the 2nd bonus episode — "Inherently Spatial" — is one of the best episodes of the show yet. It defrags so hard; you'll love it.
#### Init
#### Main
One meaning of "end-user programming" is about allowing people to build their own software. Another is about modifying existing software, and here are two interesting links related to this second meaning:
sprout.place is a lovely website where you decorate a little virtual space together with some remote friends. It's like a MySpace page mashed-up with a Zoom hang, but better.
Geoffrey Litt is a researcher who has tackled both meanings of EUP, but his work on the second meaning is especially interesting. For instance: he worked on Riffle, which explored the consequences of putting the full state of an app inside a reactive database, which is especially interesting if you consider what can be done if this database is available to, rather than hidden from, the end user.
To the best of our recollection, Jonathan Edwards has advocated for "end-programmer programming" as a helpful step toward end-user programming.
Get in touch, ask us questions, please no more mp3s ahh I can still hear the bones yuck:
https://futureofcoding.org/episodes/066
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
The execution of code, by its very nature, creates the conditions of a "strong legalism" in which you must unquestioningly obey laws produced without your say, invisibly, with no chance for appeal. This is a wild idea; today's essay is packed with them. In drawing parallels between law and computing, it gives us a new skepticism about software and the effect it has on the world. It's also full of challenges and benchmarks and ideas for ways that code can be reimagined. The conclusion of the essay is flush with inspiration, and the references are stellar. So while it might not look it at first, this is one of the most powerful works of FoC we've read: Interpreting the Rule(s) of Code: Performance, Performativity, and Production by Laurence Diver, 2001.
Next episode, we're having an open-ended discussion about end-user programming. The reading is Bonnie Nardi's 1993 classic, A Small Matter of Programming, with the referenced articles from the 1991 Scientific American special issue Communications, Computers and Networks as extra background.
Links
Get in touch, ask us questions, DON'T send us the sound of your knuckles cracking:
https://futureofcoding.org/episodes/065
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
This is a normal episode of a podcast called Future of Coding. We talk about INTERCAL, a real tool for computer programming. [Do I need to say more? Will this sell it? Most people won’t have heard of INTERCAL, but I think the fake out “normal” is enough to draw their attention. Also, I find “computer programming” funny. Not sure why I put that in quotes.]
Links [at least, the ones I remembered to jot down]
The final Strange Loop is coming up this September. Ivan and Jimmy will both be there, though—late breaking news—neither of them will be giving a talk. (“Rocket Rules” apply, if you know what that is.) [Will anyone actually know what “Rocket Rules” is? Will they search for it? That would be sort of embarrassing for me.]
If Ivan were to give a programming talk, getting some flood-contaminated gear from DEC or a PDP-11 to use as staging / set dressing might be a challenge. [Yay, another retread of my personal history. Maybe instead of dredging up my past I should be the sort of person who makes new things, like, ever.]
Meowmeowbeenz [Gah this show hasn’t aged well. At least I’m sticking to the whole “high-brow + low-brow” personal identity by including the reference to it. [Is “meta” low-brow at this point?]]
There’s lots of talk about esolangs (esoteric programming languages), so it’s worth linking the Esolang Wiki. [I worry that we spent too much time focusing on surface syntax. Jimmy tried to get us to talk about the beautifully-weird semantics within INTERCAL, but we never fully went there. I’m sure some people will complain about this lack of depth. Not looking forward to that.]
In particular, Brainfuck, which Jimmy adorably refers to as “BF” because he’s a polite gentleman and Ivan is 2% South Park. [Laughing at my own joke.]
Also, Shakespeare and Shakespeare: vaulting ambition, Out, damned spot, both from the Scottish play (you don’t know where I am, don’t @ me). [Why are these in the show notes? Am I trying to signal some sort of theatre-literacy? Who cares?]
“COMEFROM was eventually implemented in the C-INTERCAL variant of the esoteric programming language INTERCAL” [Considering that this was such a non-element in the original paper, it’s weird that it became such a cornerstone of the episode. “What if we recreated the spirit of the paper in the podcast itself” is a tall order, so I guess we did what we could with what we had. Also, I bet someone is going to object that the paper and language aren’t actually very meta, especially not multiple layers deep, to which I’ll reply: we all bring the flavour of our mouth to the soup we taste.]
Exapunks… Yeah! [Speaking of things that haven’t aged well… woof. I like our newer episodes better. Especially this one. THAT’S JUST BAIT FOR THE PEOPLE WHO WILL COMPLAIN THAT THIS SHOW HAS GONE OFF THE RAILS, PLEASE DO CONTINUE TO LISTEN TO THE SHOW.]
Our tier list was created in tldraw, because it’s the best. [I wish someone applied Steve-and-co’s eye for detail to a visual programming tool. I wish I had time.]
The excellent Advent of Computing podcast did an episode on INTERCAL. (Aside: the AoC website seems a bit busted in non-Chrome browsers, so here’s a backup YouTube link, but you can also just search for Advent of Computing in your podcast player of choice.) [AoC is the exception that proves the rule: there are no high-quality programming podcasts. They all seem so low-effort, made by people who don’t respect the listener’s time and attention. Or they’re aping the high-budget NPR style, with no personality. Also, audio quality is all over the map. Also, just the worst garbage ads and theme music, all of them! I wonder if it’s just a cost-benefit time/energy tradeoff, or maybe people don’t know how to do better? I wonder what we could do to help raise the bar, without opening ourselves up to a bunch of “well I don’t like your podcast either” presumed competitiveness.]
The video Screens in Screens in Screens is fantastic, and the sort of thing that deserves our support. Also, Lu Wilson (the human behind TodePond) has their own programming language that will not be named on podcasts, DreamBerd, which uses the ! to great effect. [Meta-commentary intentionally left blank.]
Some of the music featured in this episode:
Get in touch, ask us questions, send us the sound of your knuckles cracking:
https://futureofcoding.org/episodes/064
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
Out of the Tar Pit is in the grand pantheon of great papers, beloved the world over, with just so much influence. The resurgence of Functional Programming over the past decade owes its very existence to the Tar Pit’s snarling takedown of mutable state, championed by Hickey & The Cloj-Co. Many a budding computational philosophizer — both of yours truly counted among them — have been led onward to the late great Bro86 by this paper’s borrow of his essence and accident. But is the paper actually good? Like, really — is it that good? Does it hold up to the blinding light of hindsight that 2023 offers? Is this episode actually an April Fools joke, or is it a serious episode that Ivan just delayed by a few weeks because of life circumstances and his own incoherent sense of humour? I can’t tell.
Apologies in advance. Next time, we’re going back to our usual format to discuss Intercal.
Links
Before anything else, we need to link to Simple Made Easy. If you don’t know, now you know! It’s a talk by Rich Hickey (creator of Clojure) that, as best as I can tell, widely popularized discussion of simplicity and complexity in programming, using Hickey’s own definitions that built upon the Tar Pit paper. Ignited by this talk, with flames fanned by a few others, as functional programming flared in popularity through the 2010s, the words “simple”, “easy”, “complex”, and “reason about” became absolutely raging memes.
We also frequently reference Fred Brooks and his No Silver Bullet. Our previous episode has you covered.
The two great languages of the early internet era: Perl & TcL
For more on Ivan’s “BLTC paradise-engineering wombat chocolate”, see our episode on Augmenting Human Intellect, if you dare.
For more on Jimmy’s “Satoshi”, see Satoshi Nakamoto, of course.
And for Anonymous, go on.
Enemy of the State — This film slaps.
“Some people prefer not to commingle the functional, lambda-calculus part of a language with the parts that do side effects. It seems they believe in the separation of Church and state.” — Guy Steele
“my tempo”
FoC Challenge: Brooks claimed 4 evils lay at the heart of programming — Complexity, Conformity, Changeability, and Invisibility. Could you design a programming that had a different set of four evils at the heart of it? (Bonus: one of which could encompass the others and become the ur-evil)
The paper introduces something called Functional Relational Programming, abbreviated FRP. Note well, and do not be confused, that there is a much more important and common term that also abbreviates to FRP: Family Resource Program. Slightly less common, but yet more important and relevant to our interests as computer scientists, is the Fluorescence Recovery Protein in cyanobacteria. Less abundant, but again more relevant, is Fantasy Role-Playing, a technology with which we’ve all surely developed a high degree of expertise. For fans of international standards, see ISO 639-3 — the Franco-Provençal language, represented by language code frp. As we approach the finality of this paragraph, I’ll crucially point out that “FRP”, when spoken aloud all at once at though it were a word, sounds quite like the word frp, which isn’t actually a word — you’ve fallen right into my trap. Least importantly of all, and also most obscurely, and with only minor interest or relevance to listeners of the podcast and readers of this paragraph, we have the Functional Reactive Programming paradigm originally coined by Conor Oberst and then coopted by rapscallions who waste time down by the pier playing marbles.
FoC Challenge: Can you come up with a programming where informal reasoning doesn’t help? Where you are lost, you are without hope, and you need to get some kind of help other than reasoning to get through it?
Esolangs
It was not Epimenides who said “You can’t dip your little toesies into the same stream” two times — presumably because he only said it once.
Zig has a nicely explicit approach to memory allocation.
FoC Challenge: A programming where more things are explicit — building on the example of Zig’s explicit allocators.
Non-ergonomic, Non-von Neumann, Nonagon Infinity
Jimmy’s Philosophy Corner
For more on abstract objects (“do programs exist? do numbers exist?”), see the SEPs on Platonism in Metaphysics, Nominalism in Metaphysics, and the paper titled A Theory of Properties by Peter van Inwagen.
Music featured in this episode:
Get in touch, ask us questions, send us old family recipes:
https://futureofcoding.org/episodes/063
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
Jimmy and I have each read this paper a handful of times, and each time our impressions have flip-flopped between "hate it so much" and "damn that's good". There really are two sides to this one. Two reads, both fair, both worth discussing: one of them within "the frame", and one of them outside "the frame". So given that larger-than-normal surface for discursive traversal, it's no surprise that this episode is, just, like, intimidatingly long. This one is so, so long, friends. See these withered muscles and pale skin? That's how much time I spent in Ableton Live this month. I just want to see my family.
No matter how you feel about Brooks, our thorough deconstruction down to the nuts and bolts of this seminal classic will leave you holding a ziplock bag full of cool air and wondering to yourself, "Wait, this is philosophy? And this is the future we were promised? Well, I guess I'd better go program a computer now before it's too late and I never exist."
For the next episode, we're reading a fish wearing a bathrobe.
Sorry, it's late and I'm sick, and I have to write something, you know?
Links:
Fred Brooks also wrote the Mythical Man-Month, which we considered also discussing on this episode but thank goodness we didn't.
Also, Fred Brooks passed away recently. We didn't mention it on the show, but it's worth remarking upon. RIP, and thanks for fighting the good fight, Fred. I still think you're wrong about spatial programming, but Jimmy agrees with you, so you can probably rest easy since between the two of us he's definitely the more in touch with the meaning of life.
The Oxide and Friends podcast recorded an episode of predictions.
Jimmy’s Aphantasia motivates some of his desire for FoC tools.
Don’t miss the previous episode on Peter Naur’s Programming as Theory Building, since Ivan references it whilst digging his own grave.
Jimmy uses Muse for his notes, so he can highlight important things in two colors — yes, two colors at the same time. Living in the future.
For the Shadow of the Colossus link, here’s an incredible speedrun of the game. Skip to 10:20-ish for a great programming is like standing on the shoulders of a trembling giant moment.
Mu is a project by Kartik Agaram, in which he strips computing down to the studs and rebuilds it with a more intentional design. “Running the code you want to run, and nothing else.”
“Is it a good-bad movie, a bad-bad movie, or a movie you kinda liked?”
Ivan did some research. Really wish Marco and Casey didn't let him.
Jimmy did an attack action so as to be rid of Brook’s awful invisibility nonsense. Awful.
As promised, here’s a link in the show notes to something something Brian Cantrill, Moore’s Law, Bryan Adams, something something.
Dynamicland, baby!
Here’s just one example of the racist, sexist results that current AI tools produce when you train them on the internet. Garbage in, garbage out — a real tar pit. AI tools aren’t for deciding what to say; at best, they’ll help with how to say it.
Gray Crawford is one of the first people I saw posting ML prompts what feels like an eternity ago, back when the results all looked like blurry goop but like… blurry goop with potential.
Not sure of a good link for Jimmy’s reference that Age of Empires II used expert systems for the AI, but here’s a video that talks about the AI in the game and even shows some Lisp code.
Idris is a language that has a bit of an “automatic programming” feel.
The visual programming that shall not be named.
When people started putting massive numbers of transistors into a single chip (eg: CPU, RAM, etc) they called that process Very Large Scale Integration (VLSI). Also, remember that scene in the first episode of Halt and Catch Fire when the hunky Steve Jobs-looking guy said "VLSI" to impress the girl from the only good episode of Black Mirror? I'm still cringing.
Sally Haslanger is a modern day philosopher and feminist who works with accident and essence despite their problematic past.
Music featured in this episode:
Get in touch, ask us questions, send us old family recipes:
futureofcoding.org/episodes/062
Support us on Patreon: https://www.patreon.com/feelingofcomputing
See omnystudio.com/listener for privacy information.
From the publisher's feed
A romp through the field of computer programming, grapling with our history and wondering what should come next. A mix of deeply technical talk, philosophy, art, dark lore, and good takes. Hosted…

98 Listeners

15,882 Listeners

609 Listeners