Winamp Logo
Future of Coding Cover
Future of Coding Profile

Future of Coding

English, Technology, 1 season, 69 episodes, 4 days, 13 hours, 35 minutes
About
The Future of Coding podcast features interviews with toolmakers, researchers, computational artists, educators, and engineers, all with compelling viewpoints on what the future of computing could be.
Episode Artwork

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 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/069See omnystudio.com/listener for privacy information.
12/29/20232 hours, 58 minutes, 48 seconds
Episode Artwork

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/068See omnystudio.com/listener for privacy information.
11/19/20232 hours, 4 minutes, 35 seconds
Episode Artwork

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 Cretins 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 Charles Babbage's Bridgewater Treatises considered harmful. North & Whitehead's Principia Mathematica 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/067See omnystudio.com/listener for privacy information.
9/29/20231 hour, 45 minutes, 22 seconds
Episode Artwork

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/066See omnystudio.com/listener for privacy information.
8/23/20232 hours, 34 minutes, 50 seconds
Episode Artwork

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/065See omnystudio.com/listener for privacy information.
7/3/20233 hours, 1 minute, 40 seconds
Episode Artwork

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/064See omnystudio.com/listener for privacy information.
6/1/20231 hour, 54 minutes, 14 seconds
Episode Artwork

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/063See omnystudio.com/listener for privacy information.
4/1/20232 hours, 19 minutes, 46 seconds
Episode Artwork

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/062See omnystudio.com/listener for privacy information.
2/11/20233 hours, 17 seconds
Episode Artwork

Programming as Theory Building by Peter Naur

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/061See omnystudio.com/listener for privacy information.
1/6/20231 hour, 55 minutes, 5 seconds
Episode Artwork

Magic Ink by Bret Victor

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/060See omnystudio.com/listener for privacy information.
12/8/20222 hours, 20 minutes, 7 seconds
Episode Artwork

Worse is Better by Richard P. Gabriel

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/059See omnystudio.com/listener for privacy information.
10/30/20221 hour, 13 minutes, 16 seconds
Episode Artwork

Structure of a Programming Language Revolution by Richard P. Gabriel

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/58See omnystudio.com/listener for privacy information.
9/20/20221 hour, 58 minutes, 7 seconds
Episode Artwork

Personal Dynamic Media by Alan Kay & Adele Goldberg

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/57See omnystudio.com/listener for privacy information.
7/18/20222 hours, 45 minutes, 3 seconds
Episode Artwork

Augmenting Human Intellect by Doug Engelbart

symbol-manipulation.comcollaboration.comthought-experiments.orgbehaviorism.comtheatre.jssystem.orgevolution.capithy.comreplit.comsummary.co.ukcringe.netfutureofcoding.orgprogramming.comSee omnystudio.com/listener for privacy information.
6/6/20222 hours, 11 minutes, 35 seconds
Episode Artwork

Man-Computer Symbiosis by J.C.R. Licklider

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/55See omnystudio.com/listener for privacy information.
4/12/20222 hours, 23 minutes, 23 seconds
Episode Artwork

Ella Hoeppner: Vlojure

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/054See omnystudio.com/listener for privacy information.
1/5/20221 hour, 16 minutes, 27 seconds
Episode Artwork

Scott Anderson: End-user Programming in VR

Scott Anderson has spent the better part of a decade working on end-user programming features for VR and the metaverse. He's worked on playful creation tools in the indie game Luna, scripting for Oculus Home and Horizon Worlds at Facebook, and a bunch of concepts for novel programming interfaces in virtual reality. Talking to Scott felt a little bit like peeking into what's coming around the bend for programming. For now, most of us do our programming work on a little 2D rectangle, with a clear split between the world around the computer and the one inside it. That might change — we may find ourselves inside a virtual environment where the code we write and the effects of running it happen in the space around us. We may find ourselves in that space with other people, also doing their own programming. This space might be designed, operated, and owned by a single megacorp with a specific profit motive. Scott takes us through these possibilities — how things are actually shaping up right now and how he feels about where they're going, having spent so much time exploring this space. 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/053See omnystudio.com/listener for privacy information.
11/7/20212 hours, 2 minutes, 52 seconds
Episode Artwork

Amjad Masad: Replit

The name Replit will be familiar to regular listeners of our show. The backstory and ambitions behind the project, however, I bet will be news to you. Amjad Masad, the founder and first programmer of Replit, is interviewed by Steve Krouse in this episode from the vault — recorded back in 2019, released for the first time today. Amjad shares the stories of how he taught himself to use a computer by secretly observing his father, his early experiments with Emscripten building VMs for the web, the founding of Replit, and how their community has exploded in popularity in recent years. Some of the conceptual discussions touch on Scheme, potential futures of visual programming, Sketchpad, and GRAIL. The transcript for this episode was sponsored, as ever, by Replit. The show notes and transcript are available right here: https://futureofcoding.org/episodes/052See omnystudio.com/listener for privacy information.
8/27/20212 hours, 38 seconds
Episode Artwork

Toby Schachman: Cuttle, Apparatus, and Recursive Drawing

In this episode, I'll be talking to Toby Schachman, who many of you are surely familiar with thanks to an incredible string of projects he's released over the past decade, including Recursive Drawing back in 2012, Apparatus in 2015, and most recently Cuttle which opened to the public this past week. All of these projects superficially appear to be graphics editors, but by interacting with them you actually create a program that generates graphics. Their interfaces are wildly different from both traditional programming tools and traditional graphics apps. If you are not familiar with these projects, I strongly recommend that you actually go and play them (they all run in the browser), or watch the Strange Loop talk where Toby demos Apparatus and explains the thinking behind it. This episode was sponsored by Glide, and the transcript was sponsored by Replit — thanks to them both for making this possible. The show notes and transcript are available right here: https://futureofcoding.org/episodes/051See omnystudio.com/listener for privacy information.
7/21/20211 hour, 54 minutes, 20 seconds
Episode Artwork

Mary Rose Cook: Isla & Code Lauren

Mary Rose Cook is a programmer with.. just.. so many side projects, oh my — and, she works at Airtable. Mary created Gitlet, a version of Git in 1000 lines of JavaScript with extensive annotation. That might be her most well-known project, but of particular interest to our community are her programming environments Isla and Code Lauren. These projects explore syntax, learnability, execution visualization, and other surfaces of the development experience that I think we all would love to see reinvented. Mary and I talk about the design decisions behind these projects, naturally. But more importantly, we look at the ways they failed to achieve the goals Mary had for them, and what we should all be mindful of on our investigations into the future of computing. The discussion also touches on the theme of "escape hatches", picks up a few lessons in UI design from the video games Into The Breach and The Witness, and reflects on what people think programming is like before they actually learn what it really is. Lighthearted but full of wisdom. We have a new sponsor for today's episode: Glide. If you're excited about making end-user software development a reality, go to glideapps.com/jobs and apply to join their team. As ever, the transcript for this episode is sponsored by Replit. The show notes and transcript are available right here: https://futureofcoding.org/episodes/050See omnystudio.com/listener for privacy information.
6/4/20212 hours, 14 minutes, 36 seconds
Episode Artwork

Ravi Chugh: Sketch-n-Sketch

Ravi Chugh is a (recently-tenured 🎉) prof at the University of Chicago. He’s famous for leading the Sketch-n-Sketch project, an output-directed, bidirectional programming tool that lets you seamlessly jump back and forth between coding and directly manipulating your program’s output. The tool gives you two different projected editing interfaces for the same underlying program, so that you can leverage the different strengths of each. In the interview we talk about the principles of bidirectional editing, the team and history behind the Sketch-n-Sketch project, benchmarks and values that can be used to assess these sorts of novel programming interfaces, possible future directions for Sketch-n-Sketch and the field more broadly, and a bunch more. It’s a long one — almost two and a half hours — but it’s packed with thought and charm. The transcript for this episode was sponsored by Repl.it. Show notes and the full transcript are available here: https://futureofcoding.org/episodes/049See omnystudio.com/listener for privacy information.
3/9/20212 hours, 18 minutes, 6 seconds
Episode Artwork

Jennifer Jacobs: Para & Dynamic Brushes

"Metaphors are important here." There's a small handful of people that I've been requested again and again to interview on the Future of Coding podcast. Jennifer Jacobs is one of those people. Her work on Dynamic Brushes in particular, and parametric drawing in general, occupies a major intersection between disciplines and provides insights that we can all apply to our own work. This interview touches on childhood education, programming tools for both non-programmers and expert programmers, tangible interfaces, wearable and embodied computation, aesthetics, the relationship between academia and industry, means of evaluating the efficacy of projects, geometric encodings of first-order logic, symbolic representations, whether Scratch could exist outside MIT, and more. Jennifer does a wonderful job articulating the nature her own work, but also the works of her collaborators, peers, and influences, so that we come away with a great understanding for the broader spaces in which her research fits. Jennifer is already am important figure in our Future of Coding field, and I am very excited to follow her career and see all the places the impacts of her work will be felt. You'll notice right away that Steve is sitting in the interviewer chair this time. This is the first of a handful of episodes that Steve recorded in 2019 but didn't release. I'm planning to edit and release them throughout 2020, so you'll hear a bit more of Steve yet. The transcript for this episode was sponsored by Repl.it. Show notes and the full transcript are available here: https://futureofcoding.org/episodes/48See omnystudio.com/listener for privacy information.
6/14/20201 hour, 52 minutes, 50 seconds
Episode Artwork

Max/MSP & Pure Data: Miller Puckette

Miller Puckette created "The Patcher" Max (the precursor to Max/MSP), and later Pure Data, two of the most important tools in the history of visual programming and computer music. Max was designed by Miller in the mid-1980s as an aid to computer-music composers who wanted to build their own dynamic systems without needing write C code. Max had no facility for sound generation at first, but that would come eventually with the addition of MSP. A decade later, after some academic politics nonsense forced him away from Max, Miller went on to create its successor, the open source Pure Data. Both Max/MSP and Pure Data have become wildly popular, with Max/MSP as a more polished-looking commercial product developed by Cycling '74 (now owned by music behemoth Ableton), and Pure Data as the thriving independent community project of hackers and techno-punks. Node-and-wire visual programming languages are almost a cliche at this point, as the vast majority of them either borrow heavily or at least reference the visual design of Miller Puckette's original Max patcher and its MSP/Pd offspring. Though as you'll hear in the interview, many of them are poorer for not rethinking some of the underling assumptions of their inspiration. I decided to bring Miller on the show after hearing a fabulous interview of him by Darwin Grosse on the Art + Music + Technology podcast. (Tip: subscribe, it's good.) Miller gave a great retelling of the history of Max and Pure Data and the forces at play when he created them, and that episode is a tidy complement the more design-focussed interview here on our show. Miller mentioned in passing that one of the three books he has yet to write would be his thoughts on realtime scheduling, so that was the initial hook for my interview. Looking back on the 30+ years of Max/Pd history, what has he learned about the design of tools? What were the alternative ideas that he didn't pursue? Where is there room for improvement, perhaps by others picking up where he left off? In this interview, Miller said a handful of things that were, well, painful for me to hear as a dogmatic champion of visual programming. So if you come into this thinking it'll be a well-earned hour of congratulation and adoration, sit up and get ready to flip the dang table. This interview was a blast; on a personal level, I was thrilled to have the chance to talk to such an influential figure in the history of my field, and I hope you enjoy it as much as I did. Quote of the Show: "It's not only powerful, but it's also inadequate." The transcript for this episode was sponsored by Repl.it. For the full transcript and links go to https://futureofcoding.org/episodes/047See omnystudio.com/listener for privacy information.
5/12/20201 hour, 10 minutes, 5 seconds
Episode Artwork

2020 Community Survey

This was originally meant to be a little mini-episode halfway through March, with the next full episode coming at the start of April. Would you believe me if I told you that some things happened in the world that caused me to change my plans? Shocker, I know. Well, it's finally here. In today's episode, I'll reflect and commentate on the results of the first ever Future of Coding Community Survey. The show notes for this episode are full of graphs of the survey results, so be sure to take a look at that too. As ever, thanks to Repl.it for sponsoring those show notes.See omnystudio.com/listener for privacy information.
4/25/20201 hour, 4 minutes, 6 seconds
Episode Artwork

Orca: Devine Lu Linvega

Orca is a visual programming environment for making music. Except it's not graphical, it's just text arranged in a grid. Except it doesn't actually make music, it just silently emits digital events across time. When you first see it, it's utterly alien. When you start to learn how it works and why, the logic of it all snaps into place, and it becomes a thrilling case study for authors of live programming environments and interactive media tools. Devine Lu Linvega, Orca's creator, struck a wonderful balance between flashy style and significant utility. Orca is typically encountered as an inky black and seafoam green alphabet soup, pulsating to some species of broody electronic industrial throb. But it is also a forgiving learning environment that doesn't crash, puts code and data together in the same space, lets you directly manipulate code and data interchangeably, allows generous recovery from mistakes, and supports discovery through freeform play. I invited Devine to come on the show specifically to brain dump about the design process of Orca, how he started the project and built it up to what it is today. During our three-hour conversation we wound up talking a lot about all the other tools he's created, and you can hear that discussion on last month's episode. This time it's all Orca — inspirations, execution model, operators, interface, system design, ports & reimplementations, interactions with other tools, and the community. This episode contains many snippets of music, as examples of what you can make using Orca. All of it was created by Devine, and is available on his Youtube channel. If you like a particular piece and want to hear the full thing — and see exactly how Devine made it — they are all linked in the transcript at the point that they appear in the show. So just scroll and skim, or search the transcript for some phrase that neighbours the song you want to find. Quote of the show: "It's for children. The documentation fits in a tweet, basically." Links Devine Lu Linvega is our guest. He and his partner Rekka funnel their lives and creativity into Hundred Rabbits. Devine has created countless tools, but Orca is the focus of today's episode. He also appeared on the previous episode. Support them on Patreon, so they can keep making amazing things like Orca. At the dawn of time, Devine was inspired to make a game by misunderstanding an Autechre music video. I don't know which one he meant, but here's a classic. And, why not, here's my favourite song of theirs. Yes, that's one song. Put on some big headphones and play it loud while you read, debug, sleep, drive, trip, what have you. In the theme of creation through misunderstanding, Orca was inspired by a misunderstanding of Tidal. It's not mentioned in the episode, but I wanted to link to this Tidal remix (By Lil Data, aka FoC community member Jack Armitage) of a song by Charli XCX. This remix slaps, but... you can't really feel what the music is going to do based on the code, hey? Rami Ismail hosted a year long game jam, for which Devine and a friend created a little block-based puzzle game named Pico, which would eventually become Orca. Sam Aaron created the music coding tool Sonic Pi, which is included by default with Raspbian. It reminded Devine a little bit of Processing without the compile time, and seemed similar to Xcode's Playgrounds. Dwarf Fortress, ADOM (Ancient Domains of Mystery), and other Roguelike games are precursors to the 2D character grid of Orca. The code structures you create resemble the patterns in Game of Life. Learning how to read Orca code is like learning to read the code in The Matrix. Orca's traveling N E S W operators are likened to Rube Goldberg machines, rolling ball sculptures, and the Incredible Machine. Orca is a language that uses "bangs", a concept borrowed from Max/MSP and Pure Data. Devine also made a similar looking flow-based web framework called Riven. Generative music arguably went mainstream with In C by Terry Riley. Here is the definitive recording, and here is one of my favourite renditions. While you can make generative music with Max/MSP, or Ableton Live, Orca offers a much richer, easier approach. The Chrome version of Orca is easy to get up and running with no dependencies, thanks to web platform features like WebMIDI and WebAudio— much easier than tools like Tidal or Extempore, especially if you use Orca's companion synthesizer app Pilot. Orca is so simple that it's been ported to Lua and C. The C version runs nicely on the Norns, which is a little sound computer by Monome. Ivan recently listened to a fantastic interview with Miller Puckette (creator of Max and Pure Data), which sparked curiosity about realtime scheduling for live-coded music tools. Orca's Euclid operator U was inspired by the Euclidean Circles synth module. The community around Orca largely grew out of the "lines" community, a forum started by Monome. They make a lot of pieces you can use as part of a modular synthesizer rig — you know, one of those giant cabled monsters used by the likes of Tangerine Dream in the 70s. People still do that, and it's better than ever. It seems like all node-and-wire visual programming languages, like Origamiand Node-RED, are perpetuating certain conventions borrowed from modular synthesis without any awareness of that history and the limitations it imposes. This makes your humble host a touch grumpy. The THX deep note was an early example of the wild polyphony afforded by computer-synthesized audio, as opposed to the limited polyphony or even monophony of analog synthesizers. You can use Orca to control Unity, which is neat. You can use it to play QWOP, which is nuts. Speaking of QWOP, it's part of a whole genre of hard-to-control games like Surgeon Simulator, Octodad, I Am Bread. Devine has used Kdenlive and Blender to edit videos, since they're both really good (for an open source programs). Better than editing just with FFmpeg. Remember when Jack Rusher said "Orcal"? Yeah, good times. The transcript for this episode was sponsored by Repl.it. They're amazing, and seeing stories like this just melts my heart. Email jobs@repl.it if you'd like to work on the future of coding and, hey, help kids discover the joy of computing. For the full transcript go to https://futureofcoding.org/episodes/045#full-transcriptSee omnystudio.com/listener for privacy information.
3/1/20201 hour, 34 minutes, 28 seconds
Episode Artwork

Making Your Own Tools: Devine Lu Linvega

We live in a world that is gradually becoming more closed off, more controlled, more regional. Our relationship with technology is now primarily one of consumption, buying new hardware on a regular cycle, using software conceptualized to meet a market need and fulfill promises made to venture capitalists. It's common to hear people talk about both computing hardware and software as though they were appliances, not meant to be user-serviced, not meant to be modified. The tools we use are being designed for the 80% who live in a city, use grid electricity, want to keep up with the industry, and have an unacknowledged learned helplessness about the limitations of their tools. Devine Lu Linvega and his partner Rekka live on a sailboat. He makes art, music, software, and other cultural artifacts. When Photoshop's DRM required that he maintain a connection to the internet, he wrote his own creative suite. When his MacBook died in the middle of the ocean, he switched to Linux with hardware he could service. His electricity comes from solar panels, and every joule counts — so that's out with Chrome and Electron and in with Scheme, C, assembly, and maybe someday Forth. I wanted to interview Devine with a main focus on just one of the dozens of tools he's created over the past few years — Orca, a spatial programming environment for generating synchronized realtime events. It's ostensibly a tool for music, but has been applied to all sorts of other disciplines in wildly creative ways. Devine and I ended up talking for over three hours, and after editing out everything superfluous there was still too much matter for just one episode. So we're going to take this in two pieces. Today, you'll hear the bits of our conversation that covered everything other than Orca — Devine's philosophy, the stories of his other tools, the ways in which boat life have forced certain technology choices on him. On the next episode we'll have the rest — a deep dive into Orca, covering the thinking and story behind the design of the tool, the community that has picked it up and run with it in all sorts of wild directions, and lots of little nooks and crannies in the space around this fascinating project. My hope is that the topics discussed today will let you see from Devine's perspective, so that when we look at Orca in detail you can appreciate exactly why it is the way it is, and take away valuable lessons for your own projects. Given that his most recent explorations have been making art and programming tools that run on the NES, the best quote of the show has to be: "I never want to have a stronger computer than the one I have today." Links Devine Lu Linvega is our guest. He and his partner Rekka funnel their lives and creativity into Hundred Rabbits. Devine has created countless tools, but Orca, Ronin, Left, Dotgrid, the 1-bit drawing tool Noodle and it's 3D scene layout tool Poodle are particularly fascinating. His website is like a wiki, a time tracking tool, and an alternate universe. Devine released a series of beautiful illustrations for Inktober. Repl.it is our Sponsor. Email jobs@repl.it if you'd like to work on the future of coding. Folks interested in energy-efficient spatial programming should watch this Strange Loop talk by Chuck Moore about the Forth programming language. Potentially similar projects include Inferno and ChrysaLisp. The resilient, living systems of Dave Ackley are also fascinating. The transcript for this episode was sponsored by Repl.it and can be found at https://futureofcoding.org/episodes/044#full-transcriptSee omnystudio.com/listener for privacy information.
2/4/202055 minutes, 38 seconds
Episode Artwork

Unveiling Dark: Ellen Chisa & Paul Biggar

Last Monday, Ellen Chisa and Paul Biggar unveiled Dark, a new web-based programming environment for creating backend web services. In these conversations, first with Ellen and then with Paul, we discuss how they met, conceived of the idea, iterated on the product, and what their long-term vision is for the product. Dark is a web-based, structured editor with a data store built-in. It's code has a functional programming feel to it, but it also embraces what they call "functional/imperative". For example, their "error rail" allows programmers to defer handling nil-cases, much like a dynamically-typed language, but still keeps track of their existence in a monadic structure, like a statically-typed language, but without users having to learn anything about monads! Paul often brings the discussion of Dark back to Fred Brook's distinction in _No Silver Bullet_ between essential and accidental complexity. I had fun in this interview diving into the Aristotelian roots of that distinction. We also debated the meaning of the terms "no-code" and "low-code", and whether either could be applied to Dark. Dark removes accidental complexity around infrastructure and deployment. There is no separate step to deploy code in Dark. It's "deployless". Every single change to a Dark codebase is instantly (in 50ms, the time it takes to get your incremental change to the server) deployed to production servers. Of course this doesn't mean that every change you make is instantly deployed to _users_, but simply put on production servers behind a feature flag _ready_ to be rolled out at your discretion. Deployment, getting code running locally to run in production, is eliminated because all code is running on Dark's platform at all times. What remains is simply choosing when to release that code to users. One of my favorite parts of Dark is how readable its editor makes functional programming, which I typically find intimidating and difficult to parse. The Dark editor saves all past HTTP requests to all routes, and then uses those values to provide "live data" for every intermediate expression in that route. A dense section of code becomes totally comprehensible by clicking through each expression and seeing actual past values that have inhabited that expression. It combines of the best parts of a debugger and sprinkled console.log statements, but without the downsides of either. I'm glad that we had the opportunity in this conversation to dwell on some of the trade-offs of using Dark. Paul and Ellen are well aware of the risks customers face by moving their applications onto the Dark platform, and hope to alleviate those risks as much as possible. For example, they are looking into creating a legal structure that will make Dark open-source in the event that Dark shuts down. Paul Biggar is best-known in the Valley for co-founding CircleCI, a tool for continuous integration and deployment. At heart, he's a compilers nerd: he got a PhD in compilers, worked on the JavaScript compiler at Mozilla, built CircleCI which is a compiler for deployment, and is now building Dark, a programming language, environment, and infrastructure compiler. Ellen Chisa is passionate about helping people make things. She worked at Microsoft on Office Mobile, at Kickstarter, and started a company that built tools for travel agents, Lola. The full transcript for this episode was sponsored by repl.it and can be found at: https://futureofcoding.org/episodes/043#full-transcriptSee omnystudio.com/listener for privacy information.
9/25/20192 hours, 27 minutes
Episode Artwork

Blurring the Line Between User and Programmer: Lane Shackleton

"The world's been divided into people who can make software, and the people who use software all day, and basically we think that that paradigm is not a good one. It feels kind of broken," says Lane Shackleton, Head of Product at Coda, where they are building a new kind of document that blurs the line between users and programmers.  A Coda document starts out looking like a familiar online document, a lot like Google Docs. There's a blinking cursor, you can bold and italicize text, add images, and collaboratively edit it alongside others. But a Coda table is much more powerful than a traditional table that you'd find in a typical word processor. Like a spreadsheet, the a Coda table allows you to create complex relationship between pieces of data via a formula language. Upon closer examination, the Coda table is more structured than spreadsheets and more closely resembles a friendly relational database, like Airtable. If you're familiar with Notion, another augmented document medium, this all may sound familiar. Coda differentiates itself in a few ways. For one, it allows users to build complex (but no-code) trigger-based workflows from within the tool, such as when a table is modified or a button is pressed. For another, Coda really sells itself as an app-builder, in that teams can use Coda documents on their phones as native mobile apps. For example, a bike shop can have its employees easily swipe and snap a photo of inventory directly into a Coda table simply by creating a photo column in that table. Coda takes care of converting that column into an interface that automatically pulls up the camera on mobile. Coda was inspired by the founders' experience at YouTube, where the company "ran on spreadsheets," but now they dream of building a medium that fundamentally changes how people see themselves, as creators instead of merely as consumers, and reshapes the way teams, communities, and even families collaborate and function. It's a big vision, and Coda has a long way to go. This episode was sponsored by Replit. The transcript can be found here: https://futureofcoding.org/episodes/041#transcriptSee omnystudio.com/listener for privacy information.
8/15/20191 hour, 40 minutes, 31 seconds
Episode Artwork

The Aesthetics of Programming Tools: Jack Rusher

Ivan Reese guest hosts. I've been intimidated by Jack Rusher from the first blush. I mean, he's wearing a high-collared fur coat and black sunglasses in his Twitter pic, and his bio includes "Bell Labs Researcher". So when tasked with choosing a subject for my first interview, I immediately reached out to him, leaning in to my nervousness. His reply included the detail that he's "generally hostile to the form" of podcasting. Terrifying. When we talked, it was about Lisp — several flavours of Scheme and Racket, Common Lisp, Lisp machines, Black, Clojure, parens of all stripes. It was also about aesthetics, and graphic design, the relative ignorance of typical programming tools to the capability of the visual cortex, and how to better tap it. This podcast's streak of discussions about Coq, miniKanren, TLA+, and Alloy continues, with the addition of QuickCheck and the like. Jack presents his work on a literate editor for Clojure called Maria.cloud, an environment that makes a number of unusual and interesting choices both in the design and implementation, reaching for an ideal blend of features that afford both instant beginner enthusiasm and unrestricted expert use. We pay our respects to the phenomenal red carpet that video games roll out to new players, inviting them in to the model and mechanics of the game with an apparent ease and apt ability that should be the envy of programming toolsmiths like us. The show ends with Jack sharing an excellent collection of plugs, ranging from academic papers by the relatively obscure Stéphane Conversy, to the aesthetically-lush programming tools pouring out of Hundredrabbits's Devine Lu Linvega. I am no longer terrified of Jack's persona. Rather, I am now humbled by his towering expertise and the wildly varied accomplishments of his career, and it was a thrill to get to tour them in this interview. Best quote of the show: "A kind of grotesque capitulation to sameness." Damn, Jack! Links Jack Rusher is our esteemed guest. He is on Twitter, Instagram, and SoundCloud. Applied Science is his consultancy, and Maria.cloud is their beautifully designed literate Clojure editor. Ivan Reese hosts. He's on Twitter, works on educational media, is making a visual programming tool, and plays 100 instruments — badly. He started life with HyperCard and now loves Max/MSP. Repl.it is our Sponsor. Email jobs@repl.it if you'd like to work on the future of coding. Complex Event Processing is a bit of technology Jack helped commercialize. ClojureVerse is where a discussion of Luna led to the Visual Programming Codex, based on the History of Lisp Parens by Shaun Lebron. QuickCheck, miniKanren, Datalog, Black Scheme, and Oleg Kiselyov are touched on. Out of the Tar Pit has its mandatory mention, and then Chez Scheme saves the day. I wanted to link to the Maru project but the author, Ian Piumata's website seems to be down and I could find no other canonical reference. There's some discussion on Hacker News and such. If you know of a good link, I'd love a PR. Scheme Bricks and Media Molecule's Dreams are interesting touchstones on the road to future visual programming languages. Ivan has an affinity for Pure Data and Max/MSP and vvvv. When talking about tools for beginners versus experts, Rich Hickey's Design, Composition, and Performance is invoked — and poor Shostakovich. Jack's main is Maria.cloud, named in honour of Maria Montessori. SICP gets a nod. Maria has proven useful at Clojure Bridge. Matt Hubert [Twitter] created the Cells abstraction that Maria was eventually built atop — it's similar to ObservableHQ. Video games like Steel Battalion, The Witness, and Dead Space have strong opinions about how much, or how little, visual interface to expose to the player. Complex 3D tools like Maya and 3D Studio Max are GUI inspirations for Ivan, where Jack and Matt prefer simplicity, so much so that Matt wrote When I Sit Down At My Editor, I Feel Relaxed. Dave Liepmann is the third leg of the stool in Applied Science, Jack's consultancy. Maria originally had a deployment feature like Glitch. There's a great talk about Maria by the Applied Science trio, containing a mini-talk called Maria for experts by Jack. Pharo is an inspiring modern Smalltalk. Fructure is a wildly cool new structured editor, and its designer Andrew Blinn is fantastic on Twitter. Extempore and Temporal Recursion by Andrew Sorensen offer some interesting foundations for future visual programming tools. Sonic Pi and Overtone are lovely audio tools by Sam Aaron, widely praised and deservedly so, and everyone should back Sam's Patreon. A visual perception account of programming languages: finding the natural science in the art and Unifying Textual and Visual: A Theoretical Account of the Visual Perception of Programming Languages are obscure but beautiful papers by Stéphane Conversy. Aesthetic Programming is one of Ivan's favourites, and the author Paul Fishwick just so happened to teach Jack's graphics programming class at Uni. Orca is a mind-bending textual-visual-musical hybrid programming tool by Hundredrabbits, who are Devine Lu Linvega and Rekka Bell. Notwithstanding that they live on a sailboat(!), they do an amazing job of presenting their work and everyone in our community should take stock of how they accomplish that. Ableton Push and Ableton Live are practically state-issued music tools in Berlin. (Not to mention — Ivan edited this podcast in Live, natch.) thi.ng and @thi.ng/umbrella are Jurassic-scale libraries by Karsten Schmidt, who wrote blog posts about Clojure's Reducers in TypeScript. Finally, Nextjournal are doing great work with their multi-lingual online scientific notebook environment. The transcript for this episode was sponsored by Repl.it and can be found at https://futureofcoding.org/episodes/041#full-transcriptSee omnystudio.com/listener for privacy information.
7/26/20191 hour, 40 minutes, 55 seconds
Episode Artwork

Joining Logic, Relational, and Functional Programming: Michael Arntzenius

This episode explores the intersections between various flavors of math and programming, and the ways in which they can be mixed, matched, and combined. Michael Arntzenius, "rntz" for short, is a PhD student at the University of Birmingham building a programming language that combines some of the best features of logic, relational, and functional programming. The goal of the project is "to find a sweet spot of something that is more powerful than Datalog, but still constrained enough that we can apply existing optimizations to it and imitate what has been done in the database community and the Datalog community." The challenge is combining the key part of Datalog (simple relational computations without worrying too much underlying representations) and of functional programming (being able to abstract out repeated patterns) in a way that is reasonably performant. This is a wide-ranging conversation including: Lisp macros, FRP, Eve, miniKanren, decidability, computability, higher-order logics and their correspondence to higher-order types, lattices, partial orders, avoiding logical paradoxes by disallowing negation (or requiring monotonicity) in self reference (or recursion), modal logic, CRDTS (which are semi-lattices), and the place for formalism is programming. This was a great opportunity for me to brush up on (or learn for the first time) some useful mathematical and type theory key words. Hope you get a lot out of it as well -- enjoy! The transcript for this episode was sponsored by Repl.it and can be found at https://futureofcoding.org/episodes/040#full-transcriptSee omnystudio.com/listener for privacy information.
6/13/20191 hour, 53 minutes, 14 seconds
Episode Artwork

Mathematical Foundations for the Activity of Programming: Cyrus Omar

Usually when we think of mathematics and programming languages, we think of tedious, didactic proofs that have nothing to do with our day to day experience of programming. And when we think of developer tools, we picture the practical, imperfect tools we use every day: text editors, build systems, libraries, etc. Cyrus Omar is new computer science professor at the University of Michigan bridging these disciplines by creating the foundations to precisely reason about the experience of programming. We open the conversation with how Cyrus got his start in computational biology, but how his dissatisfaction with the tooling led him to eventually to PL theory. At the time of this conversation Cyrus was interviewing for tenure-track positions, so we discussed the pros and cons of getting a PhD, being a post doc, and finding a job in academia. (He recently accepted a job at University of Michigan.) I enjoyed riffing with him on new media or platforms to accelerate science instead of the "dead tree of knowledge", including Cyrus's vision for a "computational Wikipedia" built on top of Hazel. Ultimately Cyrus shares the vision of democratizing computation, and we talked about how he imagines extending the Hazel project to be able to embed GUIs inside Hazel expressions, which can in turn contain arbitrary Hazel expressions or other GUIs. I loved our conversation about some of the classic touch points for improving programming - projectional editors, feedback loops, end user programming - but from a more academic perspective then usual. Hope you enjoy as well! Transcript at futureofcoding.org/episodes/039#transcript, provided by Replit. See omnystudio.com/listener for privacy information.
6/7/20192 hours, 13 minutes, 22 seconds
Episode Artwork

The Case for Formal Methods: Hillel Wayne

Hillel Wayne is a technical writer and consultant on a variety of formal methods, including TLA+ and Alloy. In this episode, Hillel gives a whirlwind tour of the 4 main flavors of formal methods, and explains which are practical today and which we may have to wait patiently for. The episode begins with a very silly joke from Steve (about a radioactive Leslie Lamport) and if you make it to the end you're in store for a few fun tales from Twitter. https://futureofcoding.org/episodes/038See omnystudio.com/listener for privacy information.
4/11/20191 hour, 33 minutes, 43 seconds
Episode Artwork

De-Nerding Programming: Jonathan Edwards

Jonathan Edwards is an independent researcher working on drastically simplifying programming for beginners. He is known for his Subtext series of programming language experiments and his Alarming Development blog. He has been a researcher at MIT CSAIL and CDG/HARC. He tweets @jonathoda.See omnystudio.com/listener for privacy information.
3/2/20191 hour, 48 minutes, 20 seconds
Episode Artwork

Moldable Development: Tudor Girba

Tudor Girba builds tools and techniques for improving the productivity and happiness of software teams. He currently works on the Glamorous Toolkit, a "moldable development environment" for Pharo, that developers can easily adopt to suit their needs. Tudor is a self-proclaimed "software environmentalist", sounding the alarm about how quickly we create code, and how slowly we recycle it. https://futureofcoding.org/episodes/036See omnystudio.com/listener for privacy information.
2/13/20192 hours, 52 minutes, 29 seconds
Episode Artwork

Democratizing Web Design: Vlad Magdalin

Vlad Magdalin is the CEO & co-founder of Webflow, a WYSIWYG website builder and CMS that's a thin layer of abstratction over HTML, CSS, and JavaScript. In this conversation we discussed Vlad's Bret Victor origin story, the differences between live programming and direct manipulation, and why web design has resisted direct manipulation pro tools for so long. You can find the transcript for this epsisode at futureofcoding.org/episodes/035#transcriptSee omnystudio.com/listener for privacy information.
1/6/20191 hour, 32 minutes, 41 seconds
Episode Artwork

The Edges of Representation: Katherine Ye

Katherine Ye is a PhD student at CMU, where she works on representation, including programming languages, visualizations, notations, and interfaces to enable thinking and creating. She's been affiliated with MIT CSAIL, Princeton, Distill at Google Brain, and the Recurse Center. In this conversation we discuss Penrose, her project to _democraize visual intuition_. Katherine envisions "a magical machine where you can dump in a math textbook and out comes a fully-illustrated math textbook, or more specifically a platform where you can simply type mathematical notation in plain text and automatically get many useful and beautiful diagrams out illustrating the notation." It's a fascinating project in the intersection of mathematics, intuition, education, visualization, communication, programming, domain specific languages... basically, all of the interesting topics in one project. As you'd expect in a conversation about the edges of representation, this is a wide-ranging conversation that I can described by a collection of keywords that came up: embodied intuition code as rhetoric asemic language Colorless green ideas sleep furiously. univalence, homotopy, equivalence, equality modeling the notation of mathematics knot notation, dance notation, and the periodic table of juggling notation a studio class on notation design explorable explanations speculative nonfiction the unexpected futures next door Transcript provided by repl.it at https://futureofcoding.org/episodes/34#transcriptSee omnystudio.com/listener for privacy information.
12/5/20181 hour, 14 minutes, 6 seconds
Episode Artwork

Reflection 14: /about

If you haven’t been following my research journey, this episode is a great place to join! I recap of who I am, where I come from, what I’m trying to accomplish, and how I hope to accomplish it. The mission of this project is, broadly, to “democratize” programming. My new phrase is: Enable all people to modify they software they use in the course of using it. This mission would cause the following changes, in order of increasing importance: All software will be co-created by decentralized communities, rather than centralized groups or companies. Through the power of crowd-sourcing, the quality of all software will become much higher than existing software. All software will be much more composible, interoperable with other pieces of software. All software will be arbitrarily customizable, allowing for bespoke, tailored experiences. Learning to communicate with computers teaches one how to think more clearly, precisely, mathmatically, and powerfully. If one can manipulate the software one uses, if only one learns how to organize one’s thoughts, many people will self-teach themselvse to do just that. As the fabric of the world is eaten by software, the ability to fully manipulate that software one uses is an essential freedom. This vision is not new nor creative: it’s obvious that people would change things if they could. Yet this problem has proven stubborn over the decades and most have given it up as insoluble. We have all but forgotten the essential characteristic of computers: their malleability. In order to accomplish this vision, I believe there are three large categories of problems that need to be addressed: Rid ourselves of the IO Monad, replacing it with better abstractions for whole systems. Create a better programming experience for the complex abstractions we create to avoid IO. Reimagine version control for a world where software looks very different than it does today, with many more forks, at many more levels than just one-deep off of master My recent work was on ridding ourselves of the IO Monad from user interfaces, which is building on Conal Elliot’s FRP work. My paper and talk at REBLS last month argues that Elm Architecture makes software take longer to understand (which is untenable if we want people to be able to modify the software they use in the course of using it) as compared to the higher-order and cyclic streams of Conal’s original FRP. My future work will be improving the programming experience of “original FRP”, potentially with a Haskell-inspired structured editor. I will also extend Conal’s FRP work to also removing the IO Monad from the “backend”. In the episode I add a lot more color to these points, as well as discuss my personal background, the past and future of Future of Coding meetups, my experience at SPLASH last month, and other whacky ideas! You can see the transcript for this episode at https://futureofcoding.org/episodes/33. See omnystudio.com/listener for privacy information.
12/3/20181 hour, 52 minutes, 17 seconds
Episode Artwork

Basic Developer Human Rights: Quinn Slack

Quinn Slack of Sourcegraph believes in low-hanging fruit. Before we improve programming in all the fancy ways, he has a list of all the little improvements and features we need to make available to all developers, such as jump-to-definition, autocomplete, and automatic formatting. In this conversation, we learn about the technical challenges to brining code intelligence to all editors, and Sourcegraph's chosen solutions, such as the Langauge Server Protocol and the Sourcegraph extension API. Quinn explains how Sourcegraph code search is so effective without resorting to any fancy machine learning. We also discuss the trade-offs of open-sourcing a devtools company from Day 1, how to find like-minded investors, and how to "win the hearts and minds of developers." Notes and transcript at futureofcoding.org/episodes/32See omnystudio.com/listener for privacy information.
10/24/20181 hour, 19 minutes
Episode Artwork

Sustaining the Underfunded: Nadia Eghbal

Two years ago, Nadia Eghbal "stumbled onto the internet's biggest blindspot": sustainability of open-source. Her Ford Foundation report "Roads and Bridges" became an instant classic. She shined a light on the underappreciated roles of maintainers and how difficult it was for even vital projects to get enough funding for a single person full time. In this conversation, we discuss how she found "stumbled onto" this problem initially, and her road from the Ford Foundation to GitHub and now Protocol Labs. We discuss the challenges of indepdendent research and remote work... and how being able to find amazing friends and co-conspirators on Twitter somehow makes it all better. Nadia lays out her vision for the future of open source, and how we can tackle the human side of scaling open-source development. She also gives us a sneak preview of her current work on a new economic model for understanding how open-source software consumption scales. It doesn't scale costlessly, because "you have to make continual changes to it, either because people are submitting changes back to it, but also because software degrades over time. Knowledge degrades over time. You can't just release something once and be done with it." Notes and transcript at futureofcoding.org/episodes/31See omnystudio.com/listener for privacy information.
10/12/20181 hour, 28 minutes, 37 seconds
Episode Artwork

On The Maintenance Of Large Software: James Koppel

How do we maintain millions of lines of code? For example, the Social Security Administration has 60-million-lines of COBOL. James Koppel is building tools to help tame these kinds of beasts. His current work is on decreasing the costs to build developer tools by allowing the same tool to work on a variety of languages. James Koppel is a Carnegie Mellon CS grad, Thiel Fellow, entrepreneur, educator, and currently PhD student at MIT. We talk about his experience withprogram repair, program sythesis, code comprehension, and many other cutting-edge fields relevant to the future of software engineering. Transcript and episode notes: futureofcoding.org/episodes/30See omnystudio.com/listener for privacy information.
9/22/20181 hour, 35 minutes, 48 seconds
Episode Artwork

Reflection Thirteen - Independent mentorship

My research recap episodes are back! This is the first I've recorded since the end of 2017. I discuss my new mentor-mentee relationship with Jonathan Edwards, my upcoming new paper on functional reactive programming, my move to London, my longer-term goals, and other various musings about abstractions, monads, and data ninja playgrounds. futureofcoding.org/reflections/13See omnystudio.com/listener for privacy information.
8/27/20181 hour, 5 minutes, 28 seconds
Episode Artwork

Exploring Dynamicland - Omar Rizwan

Many of you have heard about Dynamicland, Bret Victor's new project. Omar Rizwan comes on the podcast this week to tell us all about it. He recently wrote an amazing write up about it, [Notes from Dynamicland: Geokit](https://rsnous.com/posts/notes-from-dynamicland-geokit/), that I'd highly reccomend to everyone interested in the future of computing. futureofcoding.org/episodes/28See omnystudio.com/listener for privacy information.
8/27/20181 hour, 26 minutes, 16 seconds
Episode Artwork

Bringing Explicit Modeling To The Web: David K Piano

David K Piano is bringing explicit software modeling to the web with his xstate library. He gives talks around the world about statecharts, and is cooking up a new SaaS service that will help developers model and understand their application using statecharts. In this conversation, David and I discuss the benefits of declarative languages, such as CSS, the principle of least power,  musical notation, and Facebook Origami. futureofcoding.org/episodes/27See omnystudio.com/listener for privacy information.
7/17/20181 hour, 11 minutes, 35 seconds
Episode Artwork

Compassion & Programming: Glen Chiacchieri

Glen Chiacchieri has worked at the MIT Media Lab on Scratch, at Dynamicland with Bret Victor, and is now becoming a psychotherapist. He's known for his Legible Mathematics essay, his Flowsheets programming prototypes, and the Laser Socks game, among many other projects. In this conversation, we discuss: how he grounds his research in compassion, the tradeoffs between working on the "model vs UI" of programming, his software-company-in-the-making, based on Flowsheets, our shared dream for the future of open-source READMEs, and how Dynamicland does and does not point towards the future. The notes for this conversation can be found at futureofcoding.org/episodes/26.See omnystudio.com/listener for privacy information.
7/3/20181 hour, 52 minutes, 14 seconds
Episode Artwork

You Should Consider Some States Kevin Lynagh

Kevin Lynagh is a designer specializing in user interfaces for complex systems. He co-created Subform, a CAD-inspired UI design tool, with Ryan Lucas, which got a thousand backers on Kickstarter. He recently created Sketch.systems, an interactive playground for designing system behavior using Statecharts (hierarchical state machines). In this conversation, we discuss direct manipulation, Statecharts, challenges of layout engines, visual programming languages, the Clojure community, constraint systems, and the three different types of programmers. futureofcoding.org/episodes/25See omnystudio.com/listener for privacy information.
6/12/20181 hour, 40 minutes, 58 seconds
Episode Artwork

Stop Being A Sysadmin For Your Own Machine: Nick Santos

Do you hate Makefiles and YAML config files? Do you feel your soul slowly dying as you wait for your tests to run? Do you yearn for even-more-continuous integration? Nick Santos, the CTO and founder of Windmill Engineering, is here to help. Windmill's a cloud-based build-system that intelligently runs your relevant tests in the cloud, in parallel on every file save. How's that for a tight feedback loop? futureofcoding.org/episodes/24See omnystudio.com/listener for privacy information.
5/22/201858 minutes, 18 seconds
Episode Artwork

Teaching Abstraction: Brent Yorgey

Brent Yorgey is a professor of math and CS at Hendrix College. He studys functional programming in Haskell, type systems, and category theory, and more. He is the creator of the diagrams vector graphics Haskell library. He taught Introduction to Haskell and The Art of Recursion at the University of Pennslyvaia (which were my two favorite classes in college!). In this conversation, we talk about Brent’s Monad Tutorial Fallacy essay, type systems, FRP, essential vs accidental complexity in Haskell, and the perils of reading academic CS papers and ways to overcome them. http://futureofcoding.org/episodes/23See omnystudio.com/listener for privacy information.
5/17/20181 hour, 17 minutes, 14 seconds
Episode Artwork

Learning Programming At Scale: Philip Guo

Philip Guo researches ways to scale programming education beyond the classroom. He is the creator of Python Tutor (http://pythontutor.com/), a widely-used code visualization and collaborative learning platform, and an assistant professor at UC San Diego. In this episode, we discuss why diverse groups of people study CS, his various prototypes, and the differences between technological research and industry. http://futureofcoding.org/episodes/22See omnystudio.com/listener for privacy information.
5/2/20181 hour, 10 minutes, 49 seconds
Episode Artwork

Building for Developers: Aidan Cunniffe

My guest this week, Aidan Cuniffee, is the founder of two startups in this space, first Dropsource and now Optic. Aidan and I discuss the trade-offs between creating tools for developers vs non-programmers. We also get to hear some of the upcomming features to expect from Optic. We finish off the interview with a fun theoretical discussion of notation, representation, conciseness and learnability. http://futureofcoding.org/episodes/21See omnystudio.com/listener for privacy information.
2/1/20181 hour, 23 minutes, 49 seconds
Episode Artwork

Coding On (the) Beach: Jason Brennan

Jason Brennan is a Canadian computer scientist focused on education and computing. He’s worked at Hopscotch and Khan Academy. We discussed his experiences building multiple programming language platforms, the incomprehensibly large vision of Alan Kay, and his new project Beach. http://futureofcoding.org/episodes/20See omnystudio.com/listener for privacy information.
12/29/20171 hour, 37 minutes, 58 seconds
Episode Artwork

Building Universe: Joe Cohen

Like many of us, Joe Cohen fell in love with HyperCard. Three years ago, he founded Universe to re-imagine HyperCard for the modern day. In this interview, Joe walks us through his initial vision for Universe, and the pivots along the way. It's a refreshing story about balancing pie-in-the-sky vision with shorter-term customer needs.  You can find the demo videos that Joe references here: http://futureofcoding.org/19-building-universe-joe-cohen.html Most importantly, you can download Universe for iPhone here: https://itunes.apple.com/us/app/universe-build-a-website/id1211437633See omnystudio.com/listener for privacy information.
12/13/20171 hour, 23 minutes, 55 seconds
Episode Artwork

Research Recap Nine: Constructing My Crusade

Excited to be back after sickness and vacation!  The notes for this episode can be found here: http://futureofcoding.org/episodes/18-research-recap-nine.htmlSee omnystudio.com/listener for privacy information.
12/4/201720 minutes, 31 seconds
Episode Artwork

Bootstrapping Bubble.is: Emmanuel Straschnov

Many of you may have never heard of Bubble.is. That's because they don't build for developers. They build for business people who need to create technology but can't afford to work with developers. Over the past four years, Emmanual and his cofounder Josh have bootstrapped their drag-and-drop website builder into a profitable business.See omnystudio.com/listener for privacy information.
11/28/201744 minutes, 9 seconds
Episode Artwork

Research Recap Eight: Life & Work Planning

Back in action after my two-week, sore-throat-induced hiatus, I reflect on my work over the past weeks on my Life Plan and Work Plan. If you make it to the end of this episode, you’ll also get some off-the-cuff tips for ergonomic workstation design. You can view the notes for this episode here: futureofcoding.org/episodes/16-research-recap-eight-life-and-work-planning.htmlSee omnystudio.com/listener for privacy information.
11/6/201747 minutes, 56 seconds
Episode Artwork

Raising Genius with Scott Mueller

Scott Mueler is the founder of UCode, an after school coding program in California, which he created after teaching his then six-year-old son Ken to code. Scott tells us about how he developed his parenting/teaching/curricular philosophy, and how all educators and parents can apply these principles to raise geniueses of their own.See omnystudio.com/listener for privacy information.
10/17/20171 hour, 36 minutes, 41 seconds
Episode Artwork

Research Recap Seven - Master Planning

Inspired by Juan Benet (and Elon Musk), I zoomed out last week and thought about my "master plan" for this project. You can see a detailed outline for this episode with links here: http://futureofcoding.org/episodes/14-research-recap-six-master-planning.htmlSee omnystudio.com/listener for privacy information.
10/9/20171 hour, 11 minutes, 2 seconds
Episode Artwork

Teaching Elm To 4th Graders: Christopher Anand

Most people consider ML-based langauges like Elm hard enough to learn as an adult. But according to Professor Christopher Anand of McMaster University, they work really well to introduce Computer Science to children, starting in 4th grade! In this episode, Christopher and I explore the difference between alegbraic thinking and computational (or sequential) thinking, and why this is incredibly relevant today as the "coding for all" movement gains traction. You can view the notes for this episode online at http://futureofcoding.org/episodes/13-teaching-elm-to-4th-graders-christopher-anand.htmlSee omnystudio.com/listener for privacy information.
10/3/20171 hour, 1 minute, 22 seconds
Episode Artwork

Research Recap Six: CycleJS Deep Dive

The last two weeks were all about CycleJS. In order to create visual spreadsheet metaphors for CycleJS stream combinators, I need to have a better understanding of how CycleJS works, and so I played around with it by building a CycleJS Flappy bird. I also spend time recently playing with spreadsheets and Clay.  You can read more at my journal (futureofcoding.org/journal).See omnystudio.com/listener for privacy information.
9/25/201729 minutes, 25 seconds
Episode Artwork

How ReactJS was created - with Pete Hunt

One of the original ReactJS developers at Facebook and Instagram, Pete Hunt (@floydophone) tells us the story behind the metoric rise of ReactJS. Pete explains the problems he faced Instagram Web that led him to Jordan Walke's early React prototype, and how he helped develop, evangalize, and grow React to what you know it to be today.See omnystudio.com/listener for privacy information.
9/19/20171 hour, 13 minutes, 52 seconds
Episode Artwork

Unison's Paul Chiusano on how Abstraction Will Save Distributed Computing

In this episode I speak with Paul Chiusano (@pchiusano), creator of Unison, about his ambitious vision for the future, where we can abstract over distributed computing, and there are no apps.See omnystudio.com/listener for privacy information.
9/13/20171 hour, 25 minutes, 45 seconds
Episode Artwork

Research Recap Five

The last two-week-research-cycle was my most productive yet! In this recap, I debreif my Alan Kay deep dive, discuss tweaking my schedule after reading Peak, review conversations with Jaime Brandon and Dan Scanlon, read aloud my thoughts on proper computer use patterns and my prototype idea LogicHub, recap my early morning meeting with CycleJS creator Andre Staltz, and discuss the next steps for my StreamSheets prototype (which is why I'm putting my Bret Victor deep dive on pause). If you were able to follow all that, my hat is off to you. I barely made it through the recording and episode of this episode alive. If you need help pieceing this episode together, you can find the notes on my website: /futureofcoding.org/episodes/9-research-recap-five.htmlSee omnystudio.com/listener for privacy information.
9/11/20171 hour, 15 minutes, 42 seconds
Episode Artwork

Research Recap Four

After coming back from Boston, I did a deep dive into Jonathan Edwards, Jaime Brandon, Conal Elliot, as well as spending a full day reviewing Eve (Chris Granger). Towards the end of the week, I released a simple prototype for StreamSheets and send it over to Andre Staltz for ideas and feedback. Notes here: http://futureofcoding.org/journal#research-recap-4See omnystudio.com/listener for privacy information.
8/28/201738 minutes, 53 seconds
Episode Artwork

Looker's Lloyd Tabb on Growing Languages Through Deprecation

In this episode, I speak with Lloyd Tabb, co-founder and CTO of Looker, a data analytics platform build around a SQL modeling langauge, LookML. He talks about how he created a successful business around a language, and how he continually improves the language through deprecation.See omnystudio.com/listener for privacy information.
8/25/20171 hour, 9 minutes, 8 seconds
Episode Artwork

Research Recap Three (WoofJS Workflow)

Over the last two weeks I had a suprise trip to Boston to meet with other researchers in this space. In preperation for the event, I spent most of the last two weeks building the WoofJS Workflow prototype. Notes here: http://futureofcoding.org/episodes/6-research-recap-three.htmlSee omnystudio.com/listener for privacy information.
8/24/201726 minutes, 42 seconds
Episode Artwork

Samantha John Of Hopscotch On Learnable Programming

In this episode, I chat with Samantha John (@saj0hn), cofounder and CEO of Hopscoth (@hopscotch), the award-winning iPad and iPhone app that allows kids to learn to code and share their projects with the Hopscotch community. Learn more at futureofcoding.org.See omnystudio.com/listener for privacy information.
8/11/20171 hour
Episode Artwork

Research Recap Two

Learn about what I did over the last two weeks!  Notes here: http://futureofcoding.org/episodes/4-research-recap-two.htmlSee omnystudio.com/listener for privacy information.
7/31/201744 minutes, 9 seconds
Episode Artwork

Jonathan Leung on Inventing on Principle

My friend Jonathan and I discuss various design goals that I try to keep in mind while doing user interface research. You can find notes from this episode at http://futureofcoding.org/episodes/3-jonathan-leung-on-inventing-on-principle.htmlSee omnystudio.com/listener for privacy information.
7/21/20171 hour, 22 minutes, 21 seconds
Episode Artwork

Research Recap - A Year in Review

Let me get you up to speed with my research projects over the past year. You can read more about my projects here and here and about WoofJS here. You can find more notes about this episode at http://futureofcoding.org/episodes/2-research-recap.htmlSee omnystudio.com/listener for privacy information.
7/19/201753 minutes, 34 seconds
Episode Artwork

Welcome to the Future of Coding

Hi, I'm Steve Krouse. Welcome to my podcast and open-journal research project to create the future of coding. I believe the tools we currently use to create software can be drastically improved. Join me on my journey to discover the future of coding. Every week I alternate between recapping my own research and talking with programming language and interface experts. You can follow my progress at futureofcoding.org.See omnystudio.com/listener for privacy information.
7/14/20173 minutes, 35 seconds