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.

Augmenting Human Intellect by Doug Engelbart

June 05, 2022 2:11:35 126.34 MB Downloads: 0

symbol-manipulation.com collaboration.com thought-experiments.org behaviorism.com theatre.js system.org evolution.ca pithy.com replit.com summary.co.uk cringe.net futureofcoding.org programming.com See omnystudio.com/listener for privacy information.

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

April 12, 2022 2:23:23 137.66 MB Downloads: 0

Jimmy Miller joins the show as co-host. Together, we embark on a new series of episodes covering the most influential and interesting papers in the history of our field. Some of these papers led directly to where we are today, and their influence cannot be overstated. Others were overlooked or unloved in their day, and we revive them out of curiosity and wonder. A few even hint at an inspiring future we haven't yet achieved, placing them squarely in line with our community's goals. We give these papers all the respect and deep reflection they deserve and, perhaps, the occasional kick in the shins. Today's paper is titled Man-Computer Symbiosis, authored by J.C.R. "Licky" Licklider in 1960. The title sure is outdated — but how have the ideas aged in the eternity since it was published? Listen on to hear your two hosts figure that out, and delight at just how wildly right and wrong some of its predictions turned out to be. Thank you to the following sponsors, all of whom are doing important work in our field, and all of whom want to hire you to do even more of it: Theatre.js — Enabling designers to code, programmers to design — empowering everyone to create. Glide — Anyone can make their own apps, with a GUI builder backed by a spreadsheet. Replit — An online REPL-driven dev environment with all the batteries you could ask for. (I keep hearing about more and more people in our sphere landing jobs at these co's — high-fives all around!) Show notes for this episode can be found at futureofcoding.org/episodes/55 See omnystudio.com/listener for privacy information.

Ella Hoeppner: Vlojure

January 05, 2022 1:16:27 73.41 MB Downloads: 0

Today's guest is Ella Hoeppner, who first came onto the radar of our community back in the fall when she released a web-based visual Clojure editor called Vlojure, with a captivating introduction video. I was immediately interested in the project because of the visual style on display — source code represented as nested circles; an earthy brown instead of the usual dark/light theme. But as the video progressed, Ella showed off a scattering of little ideas that each seemed strikingly clever and obvious in hindsight. You'd drag one of the circle "forms" to the bottom right to evaluate it, or to the bottom left to delete it. The sides of the screen are flanked by "formbars" that hold, well, whatever you want. You can reconfigure these formbars to your exact liking. Everything is manipulated with drag. The interface exudes a sense that it was designed with wholly different goals and tastes than what we usually see in visual programming projects — perfect subject matter for our show. This episode was sponsored by Glide, and the transcript was sponsored by Replit — thanks to them both for making this possible. The show notes (with copious links) and transcript are available here: https://futureofcoding.org/episodes/054 See omnystudio.com/listener for privacy information.

Scott Anderson: End-user Programming in VR

November 07, 2021 2:02:52 117.96 MB Downloads: 0

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/053 See omnystudio.com/listener for privacy information.

Amjad Masad: Replit

August 27, 2021 2:00:38 115.82 MB Downloads: 0

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/052 See omnystudio.com/listener for privacy information.

Toby Schachman: Cuttle, Apparatus, and Recursive Drawing

July 20, 2021 1:54:20 109.77 MB Downloads: 0

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/051 See omnystudio.com/listener for privacy information.

Mary Rose Cook: Isla & Code Lauren

June 03, 2021 2:14:36 129.23 MB Downloads: 0

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/050 See omnystudio.com/listener for privacy information.

Ravi Chugh: Sketch-n-Sketch

March 09, 2021 2:18:06 132.59 MB Downloads: 0

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/049 See omnystudio.com/listener for privacy information.

Jennifer Jacobs: Para & Dynamic Brushes

June 14, 2020 1:52:50 108.34 MB Downloads: 0

"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/48 See omnystudio.com/listener for privacy information.

Max/MSP & Pure Data: Miller Puckette

May 12, 2020 1:10:05 67.3 MB Downloads: 0

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/047 See omnystudio.com/listener for privacy information.

2020 Community Survey

April 25, 2020 1:04:06 61.55 MB Downloads: 0

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.

Orca: Devine Lu Linvega

March 01, 2020 1:34:28 90.71 MB Downloads: 0

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-transcript See omnystudio.com/listener for privacy information.

Making Your Own Tools: Devine Lu Linvega

February 03, 2020 0:55:38 53.42 MB Downloads: 0

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-transcript See omnystudio.com/listener for privacy information.

Unveiling Dark: Ellen Chisa & Paul Biggar

September 25, 2019 2:27:00 141.14 MB Downloads: 0

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-transcript See omnystudio.com/listener for privacy information.

Blurring the Line Between User and Programmer: Lane Shackleton

August 15, 2019 1:40:31 96.51 MB Downloads: 0

"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#transcript See omnystudio.com/listener for privacy information.