Afleveringen

  • Alexander Repenning created AgentSheets, an environment to help kids develop computational thinking skills. It wrapped an unusual computational model with an even more unusual user interface. The result was divisive. It inspired so many other projects, whilst being rejected at every turn and failing to catch on the way Scratch later did. So in 2017, Repenning published this obit of a paper, Moving Beyond Syntax: Lessons from 20 Years of Blocks Programming in AgentSheets, which covers his findings over the years as AgentSheets evolved and transformed, and gives perspective on block-based programming, programming-by-example, agents / rule / rewrite systems, automata, and more.

    This is probably the most "normal" episode we've done in a while — we stay close to the text and un-clam many a thought-tickling pearl. I'm saying that sincerely now to throw you off our scent the next time we get totally lost in the weeds. I hear a clock ticking.

    Links

    $ Do you want to move beyond syntax? Frustrated by a lack of syntactic, semantic, or pragmatic support? Join our Patreon! Choose the tier that best reflects your personal vision of the future of coding. Get (frequently unhinged) monthly bonus content. Most of all: let us know that you enjoy this thing we do, and help us keep doing it for years to come.

    Argos, for our non-UK listeners. They were acquired by future TodePond sponsor, Sainsbury's. Once again, I am asking for your Marcel Goethals makes a lot of cool weird stuff and is a choice follow. Scratch isn't baby programming. Also, you should try this bizarre game Ivan programmed in 3 blocks of Scratch. Sandspiel Studio is a delightful block-based sand programming simulator automata environment. Here's a video of Lu and Max introducing it. Simple Made Easy, a seminal talk by Rich Hickey. Still hits, all these years later. Someday we'll do an episode on speech acts. Rewrite rules are one example of rewriting in computing. Lu's talk —and I quote— "at Cellpond", was actually at SPLASH, about Cellpond, and it's a good talk, about —and I quote— "actually, what if they didn't give up on rewrite rules at this point in history and what if they went further?" Oh yeah — Cellpond is cool. Here's a video showing you how it works. And here's a video studying how that video works. And here's a secret third thingthat bends into a half-dimension. Here's Repenning's "rule-bending" paper: Bending the Rules: Steps Toward Semantically Enriched Graphical Rewrite Rules I don't need to link to SimCity, right? You all know SimCity? Will Wright is, arguably, the #1 name in simulation games. Well, you might not have caught the fantastic article Model Metropolis that unpacks the (inadvertently?) libertarian ideology embodied within the design of its systems. I'd also be remiss not to link to Polygon's video (and the corresponding write-up), which lend a little more colour to the history. Couldn't find a good link to Blox Pascal, which appears in the paper Towards "Second Generation" Interactive, Graphical Programming Environments by Ephraim P. Glinert, which I also couldn't find a good link to. Projectional / Structural Editor. Here's a good one. Baba is You Vernacular Programmers Filling Typed Holes with Live GUIs is, AFAIK, the most current canonical reference for livelits. I'm not linking to Minecraft. But I will link to the Repeater 32 Checkboxes Wiremod is a… you know what, just watch this. Chomsky Hierarchy The Witness Ivan wrote a colorful Mastodon thread surveying the history of the Connection Machine. Harder Drive is a must-watch video by the inimitable Tom7. Also couldn't find a good link for TORTIS. :/ Programming by Example (PbE) Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo Alex Warth, one of the most lovely humans Ivan knows, is a real champion of "this, because that". Ivan's magnetic field simulations — Magnets! How do they work? Amit Patel's Red Blob Games, fantastic (fantastic!) explorable explanations that help you study various algorithms and techniques used in game development. Collaborative diffusion — "This article has multiple issues." Shaun Lebron, who you might know as the creator of Parinfer, made a game that interactively teaches you how the ghost AI works in Pac-Man. It's fun! Maxwell's Equations — specifically Gauss's law, which states that magnetic fields are solenoidal, meaning they have zero divergence at all points. University of Colorado Boulder has a collection of simulations called PhET. They're… mid, at least when compared to building your own simulation. For instance.

    Music featured in this episode:

    snot bubbles

    ! Send us email, share your ideas in the Slack, and catch us at these normal places:

    Ivan: Mastodon • Website Jimmy: Mastodon • Website Lu: Login • Website

    See you in the future!

    https://futureofcoding.org/episodes/073

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • If you're anything like Ivan (oof, sorry), you've heard of Pygmalion but never caught more than the gist. Some sort of project from the early 70s, similar to Sketchpad or Smalltalk or something, yet another promising prototype from the early history of our field that failed to take the world by storm. Our stock-in-trade on this show.

    But you've probably heard of Programming by Demonstration. And you've certainly heard of icons — you know, those little pictures that have become indelibly part of computing as we know it. Pygmalion is the originator of these concepts… and more!

    The best introduction to Pygmalion is Mariano Guerra's No-code History: Pygmalion, which includes a clearly articulated summary of the big ideas, motivation, and design, with a video demonstration of the programming interface, key terminology, and links.

    The most introduction to Pygmalion — or Pig Million, The Millionth Pig, as it'll surely come to be known — is the subject of today's episode: the original paper by David Canfield Smith.

    Links

    $ We don't run ads on this show anymore. Sometimes Ivan makes a fake ad for a nonsense product like CarrotGrid or Hest, but those don't pay for the dirt & vapor we grow them in. But what if they could?

    Gonna just get this one out of the way: Quotation — and I quote, "A crucial semantic distinction between direct and indirect speech is that direct speech purports to report the exact words that were said or written EXACTLY AS THEY WERE SAID OR WRITTEN, LU, whereas indirect speech is a representation of speech in one's own words WHICH IS ALSO TOTALLY FINE, BUT JUST BE COOL ABOUT IT HEY?"

    @[email protected]: but wouldn't it be funny... if i quoted those statements on a podcast... and the podcast editor thought... "that doesn't sound right, bret can't have said that"... (he can do no wrong after all)... and so they thought i was just paraphrasing him wrong... and they didn't mark them as quotes like all the other quotes in the show... wouldn't that be funny

    DrawDeadFish.com

    Shout out to Brian Hempel who sent us (among other treats) this concise summary of Pig Million from the seminal book Watch What I Do: Programming by Demonstration.

    Recent FoC Patreon bonus episodes were about the game Baba is You and, on our first ever video episode, the design of a visual representation for machine code.

    Leda and the Swan.

    Lenna, a sexist test image that was and to some extent still is widely used in computer graphics.

    Living Computation

    Lu: Biscuit

    Jimmy: Biscuit

    Ivan: Limp Bizkit

    Fine, I might as well link to Frege and analogy.

    Aaron Sloman's INTERACTIONS BETWEEN PHILOSOPHY AND ARTIFICIAL INTELLIGENCE: The Role of Intuition and Non-Logical Reasoning in Intelligence

    Ivan: Platonism

    Jimmy: Neoplatonism

    Lu: Neuplatonism

    I would never Derrida

    Nosey words

    History of the alphabet

    TodeTode

    Lu: Conlang

    Ivan: Conlon Nancarrow, beloved (by Ivan, at least) composer of music for the Player Piano. Here's a baby-faced Adam Neely with the scoop if you're new to Nancarrow. Welcome.

    Jimmy: Conway Twitty

    Autological words

    Heterological words

    School for Poetic Computation

    Programming by Demonstration

    Player vs Environment

    For the video demonstrating the programming model, check Mariano's post

    Open Canvas Working Group

    Lu's project CellPond, and their SPLASH talk

    StageCast Creator

    Marcel Goethals makes a lot of cool weird stuff and is a choice follow.

    Why does it say "Put all the metal back in the ground" at the bottom of the show notes?

    Music featured in this episode:

    Various old stuff by Ivan. The music for StageCast Creator is called Between Two Tigers. Conlon Nancarrow's Study No. 47 Wagner, the new Witness haunting every episode.

    ! Send us email, share your ideas in the Slack, and catch us at these normal places:

    Ivan: Mastodon • Website Jimmy: Mastodon • Website Lu: Mastodon • Website

    See you in the future!

    https://futureofcoding.org/episodes/072

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Zijn er afleveringen die ontbreken?

    Klik hier om de feed te vernieuwen.

  • 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.

    Lu's talk at SPLASH 2023: Cellpond: Spatial Programming Without Escape Gary Bernhardt's talk Wat Inventing on Principle by Bret Victor ("""Clean""" Audio) Braid, the good video game from the creator of The Witness David Hellman is the visual artist behind Braid, A Lesson Is Learned but the Damage Is Irreversible, Dynamicland, and… the Braid section of Inventing on Principle. Light Table by Chris Granger Learnable Programming by Bret Victor When Lu says "It's The Line", they're referring to this thing they're working on called Seet (or "see it"), and you can sneak a peek at seet right heet. Paris Fashion Week absolutely struts, and so can you! The Canadian Tuxedo. As the representative of Canada, I can confirm that I own both a denim jacket and denim pants. If you see me at a conference wearing this combo, I will give you a hug. Jimmy runs a personal Lichess data lake. Hot Module Replacement is a good thing. Pygmalion has a lot of juicy silly bits, 'parently. Cuttle is awesome! It's a worthy successor to Apparatus. Toby Schachman, Forrest Oliphant, I think maybe a few other folks too? Crushing it. Oh, and don't miss Toby's episode of this very podcast! Recursive Drawing, another Toby Schachman joint. Screens in Screens in Screens, another Lu Wilson joint. Larry Tesler. Not a fan of modes. Lu writes about No Ideas on their blog, which is actually just a wiki, but it's actually a blog, but it's actually just a garden. When we mention Rich Hickey, we're referring to the talk Simple Made Easy Jacob Collier, ugh. Suffragettes, women advocating for their right to vote, absolutely had a principle. Not sure that we should be directly likening their struggle to what we do in tech. On the other hand, it's good to foster positive movements, to resist incel and other hateful ones. Instead of linking to e/ anything, I'm just gonna link to BLTC for reasons that only make sense to longtime listeners. Stop Writing Dead Programs by Jack Rusher. Jack Rusher? Jack Rusher! It's the fish one, the one with the fish. …Sorry, these aren't actually fish, or something, because they're just drawings. René Magritte is the creator behind La Trahison des Images, origin of "Ceci n'est pas une pipe". Or maybe it was Margit the Fell Omen? Magritte's Words and Images are lovely. Here's an English translation, though its worth taking a look at the original in context. Acousmatic Music Lu has made art with behaviour — various sands, and CellPond, say. Barnaby Dixon? Barnaby Dixon. Barnaby Dixon! Barnaby Dixon!! You can listen to part of Ivan's """Metronome""", if you want. Or you can listen to an early version of the song he's using this metronome to write. Or you can hear snippets of it in the Torn Leaf Zero video (especially the ending). But, like, you could also go make yourself lunch. I recommend mixing up a spicy peanut sauce for your roasted carrots. Shred a bit of cheese, tomato. Toast the bread. Pull the sausages right when the oil starts to spit. Put them straight into the compost. Look at the bottom of the compost bucket. What's down there? It's shiny. Why are you reading this? Why am I writing this? Why do we make thispodcast? Wintergatan — Marble Machine exists Oh, I forgot to add a link to Arroost earlier. You can also watch a pretty good video that is basically an Arroost tutorial, not much to it. There are also some nice examples of things people have made with Arroost. The Rain Room looks pretty cool. It's the exact inverse of how rain works in many video games. YOU MUST PLAY RAIN WORLD. Here's a beautiful demo of a microtonal guitar, and speaking of using complex machines to make music that would be "easier" to make with a computer, here's a microtonal guitar with mechanized frets that can change the tuning dynamically. This entire YT channel is gold. Shane Crowley wrote a lovely blog post about creating music with Arroost. blank.page is a fun experiment in writing with various frictions. Super Meat Boy (the successor to Meat Boy, a Flash game) and Celeste are great examples of communicating tacit knowledge through the design of a simulation. Newgrounds and eBaum's World and Homestar Runner were early examples of (arguably) computer-native media. Hey, here's this episode's requisite link to the T2 Tile Project and Robust-First Computing. I should probably just create a hard-coded section of the episode page template linking to T2, The Witness, and Jack Rusher. The pun-proof Ivan Sutherland made Sketchpad. Planner exists. The PlayStation 3 Cell processor was this weirdly parallel CPU that was a pain in the butt to program. The SpaceMouse

    Put all metal back into the ground.

    Music featured in this episode:

    Fingers from This Score is Butt Ugly The Sailor's Chorus from Wagner's The Flying Dutchman.

    ! Send us email, share your ideas in the Slack, and catch us at these normal places:

    Ivan: Mastodon • Website Jimmy: Mastodon • Website Lu: Mastodon • Website

    See you in the future!

    https://futureofcoding.org/episodes/71

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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.

    A Software Epiphany, and the accompanying HN discussion — giga viral, so sick PartyKit? Nice! What started as a simple todo list turned into an ocean of tech boy milk and, ultimately, the AI apocalypse. Jepsen is a rough, rugged, deeply thoughtful and fantastically cool approach to distributed systems testing, by Kyle Kingsbury. Also, we didn't talk about it, but his reversing / hexing / typing / rewriting / unifying technical interview series is essential reading. Ivan's examples of robustness vs efficiency were RAID, the CAP theorem, Automerge, the engineering of FoundationDB, and Byzantine fault tolerance— all of which stake out interesting territory in the efficiency/robustness tradeoff spectrum, all of which are about distributed systems. Can programming be liberated from the von Neumann style?, a paper by John Backus. We Don't Really Know How to Compute!, a talk by Gerald Sussman. The Robust-First Computing Creed is rock solid. The Wikipedia article on von Neumann architecture did not come through with the goods. Ivan works with Alex Warth now, and thus may fairly speak in half-truths like "I've been working with constraints recently…" The Demon Hoard Sort Bogosort is never coming to Dreamberd The Witness was made by Jonathan Blow, who has Aphantasia, but he also made a game called Braid, and Braid is good. Datamosh is a creative misuse of the lack of robustness that comes from storing diffs instead of full state snapshots. Here's a lovely gallery of examples. Abstraction by xkcd Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine Can't let Lu get through the above without derailing onto Fiverr, PCP, Fight Club, and the Dust Brothers. Randy Newman was nearly quoted in Ackley's Indefinite Scalability for Living Computation — god help you if you read our show notes and don't listen to the episode. "It is difficult", says Upton Sinclair when asked about Jimmy Miller being Jimmy Miller, and how we all ought to approach our own sense of Jimmy Miller.

    Music featured in this episode:

    Hawker News by user: spiralganglion Corporate World by the Dust Brothers

    No more jokes! Find us at these normal places:

    Ivan: Mastodon • Website Jimmy: Mastodon • Website Lu: Mastodon • Website Dave: Mastodon • Website

    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/futureofcoding

    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!

    There's also a video, though I haven't watched it. Claude Shannon would have something to say about revealing information. Top 10 Hits of the End of the World is an album by Prince Rama. Listen to it as loudly as you can on Bandcamp, Spotify, or Apple Music. Val Town is the new startup by Future of Coding community founder Steve Krouse Ivan recently took a job at Ink & Switch on the "Ink" research track. Programmer Bums, or, rather, Computer Bums Limmy's Wa Retool MythBusters The Flop House's Final Judgements: Good-Bad, Bad-Bad, Kinda-Like CRDT Data Robust-First Computing is an approach championed by the hero Dave Ackley, and I have a well-informed hunch that you'll be hearing a lot more about it in future episodes. The T2 Tile Project is another Ackley joint that, perhaps, works as a wild example of what Mary Shaw means when she talks about an "execution ecosystem". Devine's talk at Strange Loop: An approach to computing and sustainability inspired from permaculture MUMPS (the medical thing, not to be confused with mumps the medical thing) is used by Epic (the software company, not to be confused with Epic the software company). The Glass Cannon podcast network. Lu's SPLASH talk Cellpond: Spatial Programming without Escape The Turing tarpit Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire by Erik Meijer, Maarten Fokkinga, Ross Paterson. Richard D. James is the same person as Richard P. (Peter) Gabriel, right? Similarly, see Neil Armstrong's work on Erlang (which is popular in telephony, right?). The Witness is not going to appear in our show notes. Jack Rusher. Jack Rusher? Jack Rusher! TrainJam Gary Bernhardt's talk Ideology

    Nobody remarked on these silly links last time, so this time I'm drawing more attention to them:

    Tode: Neopets • MySpace Berd: Angelfire • Orkut Bot: Geocities • Friendster

    https://futureofcoding.org/episodes/069

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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:

    General recursive functions by Gödel in 1934, with functions of sets of natural numbers. Lambda calculus by Alonzo Church in 1936, with anonymous single-variable functions. Turing machines by Alan Turing in 1937, with a process for evaluating symbols on a tape.

    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!

    Wadler's Strange Loop talk Propositions as Types Cocoon is good. It's not, like, Inside or Limbo good, but it's good. Actually, just play Inside. Do that ASAP. Hollow Knight, also extremely good. Can't wait for Silksong. But seriously, if you're reading this and have haven't played Inside, just skip this episode of the podcast and go play Inside. It's like 3 hours long and it's, like, transformatively great. Chris Martens has done some cool work (eg) bringing together linear logic and games. Meh: Gödel, Escher, Bach by Douglas Hofstadter Yeh: Infinity and the Mind by Rudy Rucker Heh: To Mock a MockingBird by Raymond Smullyan. The hierarchy of automata Games: Agency as Art The Incredible Proof Machine is what some would call a "visual programming language" because proofs are programs. But it's actually really cool and fun to play with. Approach it like a puzzle game, and give it 10 minutes or so to get its hooks into you. "Stop Doing Logic" is part of the Stop Doing Math meme. Unrelated: Ivan's song Don't Do Math. Bidirectional Type Checking, a talk by David Christiansen List Out of Lambda, a blog post by Steve Losh

    Nobody noticed that these links were silly last time, so this time I'm drawing more attention to it:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter

    This link is legit:

    DM us in the FoC Slack

    https://futureofcoding.org/episodes/068

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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

    Hest, which Jimmy is convinced that I refuse to call by name, or even talk about. He's clearly mistaken — and yet, I feel his philosophical force on my hand even now. Conundrum considered harmful. "All Cretans are liars" doesn't have quite the ring of "dipping their breasts into the ripper", and is considered harmful. Dijkstra's The Humble Programmer considered harmful. Hoare's The Emperor's Old Clothes considered harmful. Letter O Considered Harmful considered harmful. “Considered Harmful” Essays Considered Harmful considered harmful! Scolds! James while John had had had had had had had had had had had a better effect on the teacher considered considered considered considered considered considered considered considered harmful. Proximity to Chomsky considered harmful. Interlisp, an early lisp featuring the ] super paren, considered harmful. The opening segment of the "I Want to Half-Believe" episode of Very Bad Wizards considered harmful. The Witness considered harmful to our show notes. Delimited Continuations considered harmful. Notation as a Tool of Thought by "Kenneth E. Iverson considered harmful." The Zen of Python considered a great honking idea. Chunky Bacon considered harmful. Copilot considered harmful. Charles Babbage's Bridgewater Treatises considered harmful. North & Whitehead's Principia Mathematica considered harmful. The Sailor's Chorus from Wagner's The Flying Dutchman considered harmful. PEP 8 considered harmful. There are dozens of us considered harmful. TC39 actually considered harmful. Bifunctors considered harmful. Chocolate Radiolab considered one of the only good radio shows, because it's pushing hard against the norms of its medium. UBI — consider it! Forking The Queen considered harmful. The Semantics of Graphical Languages, the paper about a visual formalism for visual programs, considered harmful.

    Music featured in this episode:

    Lemon Wagner Lu, Devine, William, Alex and Alex, Justin, Marcel, Peter, Matt, Blaine, Kevin, Nicki, Mae, Kate, Steve, Mitja, Philippa, Max, and everyone else who secretly said it like a swearword.

    Get in touch, ask questions, don't ask questions:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter DM us in the FoC Slack Support the show on Patreon

    https://futureofcoding.org/episodes/067

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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

    Bug report: Frog Fractions. Oh the indignity! Hey, it's The Witness in our show notes again. Getting Over It with Bennett Foddy is the better game, even if it spawned Only Up and other copycats that miss the point. The Looker gets the point. Getting Over It is a triumph that emerged from a genre of games that are hard to play: Octodad, QWOP, I Am Bread Braid arguably spawned the genre of high-minded & heady puzzlers that all try to say something profound through their design. Cookie Clicker and Universal Paperclips are good incremental games. Jump King and Only Up are intentionally bad. Flappy Bird was accidentally good. Surgeon Simulator and Goat Simulator are purely for the laughs. Stanley Parable, like Getting Over It, brings in the voice of the creator to (say) invite rumination on the fourth wall, which is what make them transcendent. Here's the trailer for Bennett Foddy's new game, Baby Steps. So on the one hand we have all these "bad" and """bad""" and sometimes badgames, which actually end up doing quite well in advancing the culture. On the other hand we have The Witness, The Talos Principal, Swapper, Antichamber, QUBE, and all these high-minded puzzly games, which despite their best efforts to say something through their design… kinda don't. When comparing the "interactivity" of these games, it's tempting to talk about the mechanics (or dynamics), but that formal definition feels a little too precise. We mean something looser — something closer to the colloquial meaning when "Gamers" talk about "game mechanics". Silent Football might be an example of "sports as art". Mao is a card game where explaining the rules is forbidden.

    #### Main

    The Partially Examined Life is one of Jimmy's favourite philosophy podcasts. Two essays from Scientific American's 1991 Special Issue Communications, Computers and Networks are referenced in the first chapter, one by Larry Tesler and one by Alan Kay. The other essays in this issue are also quite interesting to reflect on from our position 30 years hence. Apple's Knowledge Navigator video, and HP's 1995 video, are speculative fiction marketing about conversational agents. Rewind.ai is one of those "Computer, when did I last degauss the tachyon masticator?" tools. (Oh, Lifestreams…) S-GPT is Federico Viticci's iOS/Mac Shortcut that strings together ChatGPT and various Shortcuts features, so that you can do some nifty automation stuff via a conversational interface. It feels like similar things could be built — heck, probably already have been built — with "If-Tuh-Tuh-Tuh" or Zapier. When Ivan reaches for domain-specific terminology, LUT, Arri Alexa, and Redcome easily because, like, he wishes he had occasion to use them. To hear the story about the Secret Service busting down young Jimmy's door, listen to his episode on the Code With Jason podcast. C Is Not a Low-level Language — a fantastic article about the illusion that our source code closely matches what actually happens during execution. What Follows from Empirical Software Research? Not much, according to Jimmy in this delightful article. Jimmy likes to reference Minecraft's "redstone" which acts a bit like a programming system, so here, have a video about redstone. Ivan saw this video via Mastodon, about someone making a "real" camera in Blender, and… just… 🤯 — https://www.youtube.com/watch?v=YE9rEQAGpLw Jimmy's orchestra struggled with an inappropriately formal approach to Coldplay's Viva La Vida. Knuth's up-arrow notation

    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:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter DM us in the FoC Slack Support the show on Patreon lol stands for "lots of love"

    https://futureofcoding.org/episodes/066

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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

    Nova is the new code editor from Panic. Ivan is using it now that his beloved Atom has hit end-of-life. Ira Glass spoke about The Gap Ivan's unicorn-puke GUI Jimmy tried recreating the grainy effect used by The Browser Company's Arc Chris Granger's Light Table was an early Kickstarter success. iA Presenter has a clichéd video teaser. Mimestream, a great native Mac client for Gmail, also made one of these. Ivan first saw this style of video over a decade ago with Sparrow — and at least this one has a narrative. Occasionally, someone does a playful tweak on the formula, like this video that keeps getting interrupted for Dark Noise. But in general, this format is worn out, and it was never great to begin with. Here's the classic Atom 1.0 announcement video Very Bad Wizards and If Books Could Kill are podcasts that talk through a work from beginning to end sprinkling in reflections as they go, rather than jumping around randomly or separating recap from reflection. Speech act has a philosophy corner within the philosophy corner. Elephant 2000 by Lisp creator John McCarthy, and Dynamicland, both make use of speech acts. On The Expressive Power of Programming Languages by Matthias Felleisen The Sapir-Whorf hypothesis Black, a reflective Scheme by Kenichi Asai. Hollow Knight is a great game for a 4-year old, and a 40-year old. It's just a great game. Maybe the greatest? Doom Eternal, not so much — but the inventive soundtrack absolutely slays. Local-first software Tony Gilroy's Andor and Terry Gilliam's Brazil. In hindsight, I'm surprised we made it all the way to the final minutes of the show before mentioning Brazil.

    Get in touch, ask us questions, DON'T send us the sound of your knuckles cracking:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter Join the Future of Coding Slack

    https://futureofcoding.org/episodes/065

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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:

    All Caps by MF DOOM and Madlib [I don’t even like it when other podcasts include music clips, but then away I go needle-dropping like I’ve got something to prove.] Various songs from Ivan’s old albums. [I need to update my website. I need to tweak my static site generator. I need to redesign all the CSS. I need to consider putting all my projects into a database so I can generate nicer indexes. I also need to make some new projects — especially music.]

    Get in touch, ask us questions, send us the sound of your knuckles cracking:

    Ivan: Mastodon • Email [If you don’t have something nice to say, know that I’m very sensitive and nurse wounds for a long time. Also, Nurse With Wound is great.] Jimmy: Mastodon • Twitter [Jimmy doesn’t write these notes so I don’t know what he’s thinking, but I can imagine: a horse galloping in the wind, Jimmy riding shirtless on the horse, Jimmy holding a gigantic tome of philosophical wisdom in one hand, the other outstretched before him, words of revelation flowing from his mouth like honey, “Ivan, the setup to this joke was lame”] Or just DM us in the FoC Slack. [<3]

    https://futureofcoding.org/episodes/064

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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?

    Linear B LinearB Intercal

    Esolangs

    FoC Challenge: Can you come up with a kind of testing where using a particular set of inputs does tell you something about the system/component when it is given a different set of inputs?

    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

    One of Ivan’s favourite musical acts of the 00s is the ever-shapeshifting Animal Collective — of course 🙄. If you’ve never heard of them, the best album to start with is probably the avant-pop Feels, though their near-breakthrough was the loop-centric Merriweather Post Pavilion, and Ivan’s personal favourite is, as of this writing, the tender psychedelic folk of Prospect Hummer.

    Jimmy’s Philosophy Corner

    To learn more about possible worlds (“not all possibilities are possible”), take a look at the SEP articles on Possible Worlds, Modal Logic, Varieties of Modality, and the book Naming and Necessity by Saul Kripke.

    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:

    Jimmy’s Philosophy Corner got a new stinger. No link, sorry. Why does this feel like a changelog?

    Get in touch, ask us questions, send us old family recipes:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter Or just DM us in the FoC Slack.

    https://futureofcoding.org/episodes/063

    Support us on Patreon: https://www.patreon.com/futureofcoding

    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:

    Never, a song I wrote and recorded on Tuesday after finally cleaning my disgusting wind organ. It was like Hollow Knight in there.

    Get in touch, ask us questions, send us old family recipes:

    Ivan: Mastodon • Email Jimmy: Mastodon • Twitter Or just DM us in the FoC Slack.

    futureofcoding.org/episodes/062

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • This is Jimmy’s favourite paper! Here’s a copy someone posted on HitBug. Is it as good as the original? Likely not! Ivan also enjoyed this Theory Building business immensely; don’t be fooled by the liberal use of the “blonk” censor-tone to cover the galleon-hold of swearwords he let slip, those mostly pertain to the Ryle.

    For the next episode, we’re reading No Silver Bullet by Fred Brooks.

    Links

    The Witness, again!

    The Generation Ship Model of Software Development

    The philosophy of suckless.org

    Stop Writing Dead Programs, a talk by Jack Rusher, gets a whole new meaning!

    Someone rewrote Super Mario 64’s code to run faster and better on original N64 hardware.

    Music featured in this episode:

    Speed x Distance = Time by Blonde Redhead from the album In an Expression of the Inexpressible which, upon reflection, is actually not Ivan’s favourite. That’d be Melody of Certain Damaged Lemons.

    Hey listener! Send us questions so we can answer them on the show. Like, “How do you turn your worms?” Or, “What’s so great about prepromorphisms anyway?” We’ll answer them, honest! Send them here:

    Ivan Jimmy Or just DM us in the FoC Slack.

    futureofcoding.org/episodes/061

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Before the time-travelling talks, the programmable rooms, the ladders and rocket launchers, we had the first real Bret Victor essay: Magic Ink. It set the stage for Bret's later explorations, breaking down the very idea of "software" into a few key pieces and interrogating them with his distinct focus, then clearly demoing a way we could all just do it better. All of Bret's works feel simultaneously like an anguished cry and a call to arms, and this essay is no exception.

    For the next episode, we're reading Programming as Theory Building by Peter Naur, with a little bit of Gilbert Ryle's The Concept of Mind thrown in for good measure.

    Links

    Four Hundred of the most Chart-Topping Thoughts of All Time:

    Inventing On Principal Stop Drawing Dead Fish Drawing Dynamic Visualizations Dynamicland

    Paper Programs by JP Posma was inspired by Dynamicland.

    "Computers aren't the thing. They're the thing that gets us to the thing." from Halt and Catch Fire

    Charticulator is Microsoft Research's take on a _Drawing Dynamic Visualizations_-esq tool.

    Jimmy's Fender Jazz bass looks like this, but red, but like a decade older, but like $600 at the time.

    We could probably post parts of this episode as Boyfriend Roleplay on YouTube.

    Fitts's Law is but one thing we've learned about the industrial design aspect of building good software.

    The Witness is a game where communicating ideas through (essentially) graphic design is the whole entire point of the game. If you haven't played it, know that it comes highly recommended by plenty of folks in the community.

    A "red letter Bible" is a Bible in which the words spoken by Jesus are colored red, to make them easier to identify.

    Toph Tucker has a pretty cool personal website. It's rare to see these sorts of sites nowadays, and they're always made by adventuresome programmers, trendy design agencies, or their clients. In the Flash era, it felt like everyone had a website like this, for better and for worse.

    tldraw is a beautiful little browser-based drawing tool by Steve Ruiz. What few things it does, it does exceptionally well.

    John while Henry had had had had had had had had had been my preference.

    #devlog-together is the channel on our Future of Coding slack community where members post small, frequent updates about what they're working on.

    The (Not Boring) apps are arguably a counterpoint to Bret's theses about information apps and harmful interaction, where the interaction and graphic design are balanced against being maximally-informative, toward being silly and superfluous, to great effect.

    Did you know there's a hobby horse, but also a hobby horse? I didn't!

    There are a few examples of folks doing FoC work that, in Ivan's view, align well with the values Bret outlines in Magic Ink:

    Szymon Kaliski's projects for Ink & Switch, summarized in his Strange Loop talk, Programmable Ink. Mock Mechanics is an environment for building mechanisms by Felipe Reigosa. PANE by Josh Horowitz inverts the usual node-wire programming pattern by putting data in the nodes and data transformation in the wires.

    Robot Odyssey was a 1984 game for the Apple II (and some other, lesser systems) in which players would go inside various robots to reprogram them.

    Music featured in this episode:

    Wash Machine, from the unfinished 2014 album Sneaky Dances Shaun's Amaj Rebirth, created in November 2022 for a friend named — you guessed it — Shaun.

    Hey! Send us questions we can answer on the show. Like, "How do you keep bread warm?" Or, "What's so great about concatenative languages?" We'll answer them. Send them here:

    Jimmy Ivan Or just DM one of us in the FoC Slack.

    futureofcoding.org/episodes/060

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Following our previous episode on Richard P. Gabriel's Incommensurability paper, we're back for round two with an analysis of what we've dubbed the Worse is Better family of thought products:

    The Rise of Worse Is Better by Richard P. Gabriel Worse is Better is Worse by Nickieben Bourbaki Is Worse Really Better? by Richard P. Gabriel

    Next episode, we've got a recent work by a real up-and-comer in the field. While you may not have heard of him yet, he's a promising young lad who's sure to become a household name.

    Magic Ink by Bret Victor

    Links

    The JIT entitlement on iOS is a thing that exists now.

    Please, call me Nickieben — Mr. Bourbaki is my father.

    A pony is a small horse. Also, horses have one toe.

    Electron lets you build cross-platform apps using web technologies. The apps you build in it are, arguably, doing a bit of "worse is better" when compared to equivalent native apps.

    Bun is a new JS runner that competes somewhat with NodeJS and Deno, and is arguably an example of "worse is better".

    esbuild and swc are JS build tools, and are compared to the earlier Babel.

    The graphs showing the relative lack of churn in Clojure's source code came from Rich Hickey's A History of Clojure talk. To see those graphs, head over to the FoC website for the expanded version of these show notes.

    Some thoughts about wormholes.

    futureofcoding.org/episodes/059

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Today we're discussing the so-called "incommensurability" paper: The Structure of a Programming Language Revolution by Richard P. Gabriel.

    In the pre-show, Jimmy demands that Ivan come right out and explain himself, and so he does, to a certain extent at least. In the post-show, Jimmy draws such a thick line between programming and philosophy that it wouldn't even look out of place on Groucho Marx's face.

    Next episode, we will be covering the Worse is Better family of thought products, so take 15 minutes to read these three absolute bangers if you'd like to be ahead of the game:

    The Rise of Worse is Better by Richard P. Gabriel Worse is Better is Worse, definitely not by Richard P. Gabriel Is Worse Really Better? by Richard P. Gabriel

    Links

    Phlogiston Theory Phlogiston the excellent chiptune musician. Bright Eyes - First Day of My Life, by Conor Oberst. Not to be confused with Conal Elliott, who introduced the original meaning of functional reactive programming in his work on Fran. Peter Gabriel - Games Without Frontiers Pilot: A Step Toward Man-Computer Symbiosis Jimmy's talk Paradigms Without Progress: Kuhnian Reflections on Programming Practice There's some sporadic discussion of Philip Wadler (who Ivan playfully calls "Phil"), specifically his claim that programming languages have some bits that are invented and some bits that are discovered. While we're here, make sure you've seen the best 15 seconds in Strange Loop history. Peter Naur's Programming as Theory Building

    Sponsors

    CarrotGrid — They don't have a web presence (weird, hey?) but they're working on an interesting problem at the intersection of data, so listen to the short ad in the episode to find out more.

    St. Jude Children's Research Hospital — Instead of running our usual sponsors today, we'd like to direct your attention to this humanitarian cause. September is Childhood Cancer Awareness Month, and our friends (can we call them that?) at Relay.fm are running a pledge drive. If you have any spare coins in your couch cushions, or a few million left over from your last exit, you'd be hard pressed to find a more deserving way to invest them. Donate here.

    Show notes for this episode can be found at futureofcoding.org/episodes/58

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • There once was a podcast episode. It was about a very special kind of book: the Dynabook. The podcast didn't know whether to be silly, or serious. Jimmy offered some thoughtful reflections, and Ivan stung him on the nose.

    Sponsored by Replit.com, who want to give you some reasons not to join Replit, and Theatre.js, who want to make beautiful tools for animating the web with you.

    futureofcoding.org/episodes/57

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • symbol-manipulation.com
    collaboration.com
    thought-experiments.org
    behaviorism.com
    theatre.js
    system.org
    evolution.ca
    pithy.com
    replit.com
    summary.co.uk
    cringe.net
    futureofcoding.org
    programming.com

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Jimmy Miller joins the show as co-host. Together, we embark on a new series of episodes covering the most influential and interesting papers in the history of our field. Some of these papers led directly to where we are today, and their influence cannot be overstated. Others were overlooked or unloved in their day, and we revive them out of curiosity and wonder. A few even hint at an inspiring future we haven't yet achieved, placing them squarely in line with our community's goals. We give these papers all the respect and deep reflection they deserve and, perhaps, the occasional kick in the shins.

    Today's paper is titled Man-Computer Symbiosis, authored by J.C.R. "Licky" Licklider in 1960. The title sure is outdated — but how have the ideas aged in the eternity since it was published? Listen on to hear your two hosts figure that out, and delight at just how wildly right and wrong some of its predictions turned out to be.

    Thank you to the following sponsors, all of whom are doing important work in our field, and all of whom want to hire you to do even more of it:

    Theatre.js — Enabling designers to code, programmers to design — empowering everyone to create. Glide — Anyone can make their own apps, with a GUI builder backed by a spreadsheet. Replit — An online REPL-driven dev environment with all the batteries you could ask for.

    (I keep hearing about more and more people in our sphere landing jobs at these co's — high-fives all around!)

    Show notes for this episode can be found at futureofcoding.org/episodes/55

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.

  • Today's guest is Ella Hoeppner, who first came onto the radar of our community back in the fall when she released a web-based visual Clojure editor called Vlojure, with a captivating introduction video.

    I was immediately interested in the project because of the visual style on display — source code represented as nested circles; an earthy brown instead of the usual dark/light theme. But as the video progressed, Ella showed off a scattering of little ideas that each seemed strikingly clever and obvious in hindsight. You'd drag one of the circle "forms" to the bottom right to evaluate it, or to the bottom left to delete it. The sides of the screen are flanked by "formbars" that hold, well, whatever you want. You can reconfigure these formbars to your exact liking. Everything is manipulated with drag. The interface exudes a sense that it was designed with wholly different goals and tastes than what we usually see in visual programming projects — perfect subject matter for our show.

    This episode was sponsored by Glide, and the transcript was sponsored by Replit — thanks to them both for making this possible.

    The show notes (with copious links) and transcript are available here: https://futureofcoding.org/episodes/054

    Support us on Patreon: https://www.patreon.com/futureofcoding

    See omnystudio.com/listener for privacy information.