Feeling of Computing

Feeling of Computing

By Ivan Reese, Jimmy Miller, and Lu WilsonTechnology
Download on the App Store

Feeling of Computing episodes

  • Elephant in the Room

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

    See omnystudio.com/listener for privacy information.

    2 hr 57 min
  • Beyond Efficiency by Dave Ackley

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

    See omnystudio.com/listener for privacy information.

    1 hr 45 min
  • Myths & Mythconceptions by Mary Shaw

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

    See omnystudio.com/listener for privacy information.

    2 hr 59 min
  • Propositions as Types by Philip Wadler

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

    See omnystudio.com/listener for privacy information.

    2 hr 5 min
  • Considered Harmful

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

    See omnystudio.com/listener for privacy information.

    1 hr 46 min
  • A Small Matter of Programming by Bonnie Nardi

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

    See omnystudio.com/listener for privacy information.

    2 hr 35 min
  • Interpreting the Rule(s) of Code by Laurence Diver

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

    See omnystudio.com/listener for privacy information.

    3 hr 2 min
  • INTERCAL by Donald Woods & James Lyon

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

    See omnystudio.com/listener for privacy information.

    1 hr 55 min
  • Out of the Tar Pit by Ben Moseley & Peter Marks

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

    See omnystudio.com/listener for privacy information.

    2 hr 20 min
  • No Silver Bullet by Fred Brooks

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

    See omnystudio.com/listener for privacy information.

    3 hr 1 min

About Feeling of Computing

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…

More shows like Feeling of Computing

Machine Learning Street Talk (MLST) by Machine Learning Street Talk (MLST)

Machine Learning Street Talk (MLST)

98 Listeners

The Ezra Klein Show by New York Times Opinion

The Ezra Klein Show

15,882 Listeners

Better Offline by Cool Zone Media and iHeartPodcasts

Better Offline

609 Listeners