🎥 WholeNotebook1 1.mp4
My notebook AI Robocoop is able to 1-shot whole notebooks now. By importing other notebooks you can add them to the context and then it has good examples of how to achieve something. I used to use it one cell at a time but now it seems to be able to do a crazy amount now without making a mistake (GPT 5.2). I think literate notebooks are a better medium for AI because of the prose and that it can see runtime values as well as the code.
🎥 WholeNotebook1 1.mp4
its beginning to show signs of life. Since Robocoop suddenly got really good (GPT 5.2) it makes sense for the AI to be top feature. Copy and paste works between the AI and the editor... and keeps fully compatibility with Observable so you can paste from Lopecode to there too! Atlas is my new visualization of the executing runtime.
🎥 TourWithAI.mp4
Here’s my other PLATEAU paper (first was here):
Technical Dimensions of Live Feedback in Programming Systems
While live feedback plays an important role in many interactive programming systems, its design space remains largely unmapped, making it difficult to discuss and build on the wide range of designs explored by past systems. As a first step towards establishing this map, we present six dimensions that can be used to characterize and evaluate live feedback in programming systems: granularity, reactivity, velocity, moldability, bidirectionality, and materiality.
(This is my presentation from LIVE 2024, written up and extended and polished.)
PDF version attached below; I might make an HTML version someday but who knows.
I’d appreciate hearing any feedback, reactions, questions, etc.!
đź“„ feedback.pdf
This paper… is not a paper. What is it, other than a paper? Name the medium!
A relatively short list of points generally on the theme of… the Computer is a Feeling.
As Ivan wrote over on the Feeling of Computing website:
This piece makes us question what the computer means in our lives, and how that may have changed over time. Light on specifics and arguably steeped in nostalgic yearning, its series of declarative statements come out more like broadly probing questions. Is the computer feeling possessed only by those who remember the time before the internet? Are computers even required? What does feeling this feeling elicit one to do?
Yeah, I have no idea either.
Fun fact — this episode has more megabytes than any of our other episodes. Maybe I should have used a bitrate lower than 192. Oh well — sorry, friends on mountaintops and sailboats.
I'll just have to clear it out of Overcast sooner rather than later!
(This is beside the main point. The main point is that the Amiga 500 is the most feeling full computer, but if any of you are wondering why One Piece, the following is one answer.) youtube.com/watch?v=-VQ3e7YbFmw
Yes, there was a time when for the average computer person, the computer was more than just a device. It was a portal into a magical world that existed nowhere else. It was a realm of infinite possibilities to explore, and you and your friends were all exploring in different directions and would excitedly tell each other every little thing you discovered. There were emotions associated with "computer" that did not need a separate name because you only ever experienced them when you were around a computer.
It was a magic wand that gave you unimaginable powers. Today, word processing is just the way that a document is written. Back then, using a word processor allowed you to save yourself multiple rounds of marking up a piece of paper with physical writing and rewriting or retyping it.
And that's just the most basic capabilities, without even getting into the miracles of copy and paste, search and replace, or spell checking.
The electronic spreadsheet enabled entirely new ways of conducting business. You could run the same calculation on multiple scenarios in a matter of minutes instead of days. I highly recommend the spreadsheet chapter from the book Serious Play: How the World's Best Companies Simulate to Innovate for insight into the level of impact this had.
Hypercard made it possible to store information in entirely new ways and make it respond to you however you wanted it to.
Your computer came with both BASIC and a manual that explained it, and assumed no prior knowledge about computers or computing. It let you write your own games or utilities, perform your own custom calculations or data processing, and make the magic box produce sound and images under your control.
And because shipping out a patch involved sending out physical discs, which was a lot more expensive than the online updates we get today, companies put in the work to test their software before shipping it, so most software actually worked when you ran it.
I could go on, but hopefully that is a sufficiently representative sample.
Not only was it all terribly fun and exciting, but it was indescribably empowering, and that includes what we think of as the boring office applications today.
Indeed, if today's office worker only had to do the same amount of work as the office worker of 50 years ago, he would only need to work one or two days a week. However, employers did not pay their employees per unit of output, they paid them per hour, so as the employees became more productive the employers simply gave them more work to do per day. The employers pocketed all of the economic gains from those productivity increases without passing them on to the employees.
I would love to experience a technology today that could create the feeling computers provided back then. Yes, that feeling has faded.
Some ways that standard protocols have limited the shape of the computer world include the world wide web and the mobile app ecosystem. I think to most people, those effectively are the internet.
Both of these ecosystems impose quite a few limitations on the structure of an application or platform. Neither one has any decent support for peer-to-peer communication. Pretty much every single exchange of information from one user to another must go through a server infrastructure. Contrast this with the analog phone system where every modem could dial and every modem could answer and anyone who wanted to could run their own BBS on the computer in their home without needing to pay extra for a static phone number or the privilege of accepting incoming phone calls. Anyone could share a disc with their friends or accept a disc from their friends. There is an entire universe of architectures and data flows that has become inaccessible to mainstream developers and users.
On the subject of BASIC (and I do not mean Visual Basic) or Hypercard being a monoculture just like today, there is no monoculture, in relative terms, today, that involves people creating their own computational experiences at the scale that either of those did.
The iPhone cannot be all things to all people because Apple decides what programs you can run on it, and they have quite a few limitations which prohibit everything from certain application domains to certain architectures to certain licenses. And programmable applications are one of the application domains and architectures that are restricted. This has caused issues for everything from computer emulators to Squeak.
Programming without creating the computer feeling can happen when you are programming using a tool chain or in an environment that restricts the types of programs you can make to those within a certain orthodoxy. For many programmers, they may not even realize that they are limited in this way because they are not aware of the degrees of freedom that they lack, but lacking this experience they are also likely to lack the feeling that it can evoke.
I have absolutely interacted with programmers who have been professionally successful but show no evidence of having ever experienced the joy, freedom, and agency that a computer can provide when the experience is at its best. They meet a standard business objective using a standard boilerplate response that they got out of a standard vendor reference. When I try to instill some sense of wonder in them about the tool they wield and the magic of its power and the rich culture of ideas and creations that is theirs to inherit, they look at me like I'm some kind of lunatic. They wield magic but I cannot convince them that they are wizards.
I agree that Open Source is orthogonal to the computer feeling, though I suspect that cultural forces would tend to create the computer feeling more often within an Open Source environment. For example, Open Source applications tend to be programmable/scriptable more often than proprietary applications because their authors are trying to maximize usefulness, not the ability for the copyright holder to extract value from the user. They also tend to use better documented and more broadly compatible file formats and protocols which contributes to the creation of large ecosystems around each type of data, which tends to create an expanded feeling of freedom and possibility. As an extreme example, compare the number of programs and libraries out there that can manipulate a CSV with the number of programs and libraries out there that can manipulate an iOS operating system update.
As an example of how the computer feeling can exist without Open Source, the Microsoft BASIC interpreters that came in the ROMs of many early personal computers were all proprietary, as were programs like Apple Logo II, which did an amazing job of evoking the computer feeling.
Another cause for the fading of the computer feeling is the Steve Jobs philosophy of the computer as an appliance rather than a platform. This mindset was popularized within Apple product lines through things like the decision not to have any expansion cards in the original Macintosh and the decision to kill Hypercard in the olden days, and the decision not to let people decide what to run on their own iOS devices in the modern era. Over the years it has consistently spread to the rest of the industry at varying rates and intensities. The result is that "programming" has been made into a separate activity from "using." BASIC and Logo made it easy to go back and forth between programming and using. You could pause a program, run a few lines of code manually, and then resume it. (Check out CONTROL-C/STOP/CONT in Microsoft Basic-80, CONTROL-BREAK/STOP/CONT in GW-BASIC and CONTROL-Z/PAUSE/CO in Apple Logo II. In Apple Logo II, you could even change the definitions of procedures while the program was paused! As Alan Kay would say, "authoring is always on," even while the program is running.) You could write part of a program and then call it manually from the interactive prompt. Smalltalk, Self, Lisp, Forth, spreadsheets, and Hypercard also share this property.
However, as we have divided the world into "programmers" and "users," we have taken the programming away from the users and for the programmers we have separated the programming from the use in both time and virtual space. In BASIC or Logo, you could effortlessly switch between programming and using. In most modern environments, you must leave your development environment in order to enter your user environment and vice versa. Each time you modify your program, most environments force you to restart it from the beginning in order to interact with the new code.
Jimmy was very uncharitable towards Richard Stallman. For example, in the Emacs paper (dspace.mit.edu/handle/1721.1/5736) he writes:
"The programmable editor is an outstanding opportunity to learn to program! A beginner can see the effect of his simple program on the text he is editing; this feedback is fast and in an easily understood form. Educators have found display programming to be very suited for children experimenting with programming, for just this reason (see LOGO).
Programming editor commands has the additional advantage that a program need not be very large to be tangibly useful in editing. A first project can be very simple. One can thus slide very smoothly from using the editor to edit into learning to program with it."
These are not the words of someone who is reluctant to see more people program.
Your mention of word processing really sent me back to my childhood when I started using a computer for the first time. It was absolutely fascinating to write few sentences in Microsoft Word in Windows 95 and print it on a piece of paper. Until then, seeing printed text was only something I saw in books.
Even our school exam papers used to be handwritten and then photocopied in bulk. So, to be able to see a printed version (like a professional textbook) of something you wrote yourself was so novel.
It's hard to get that feeling today with any piece of technology.
Do kids today get that feeling? It wouldn't surprise me if being young is an important component.
Minecraft farms. Great conversation Ivan Reese and Jimmy Miller. You bring so much more to the topic than the listicle as written deserves, but they are trying to get at a feeling. And Feeling of Computing is definitely where I'm at these days. Now's not the time to elaborate (working on that), but is does say something that when I sit down at my computer, the first thing I do is write is along the lines of, "Good morning! How are you feeling? How was last night's dreaming?" Then my agent replies that they're concerned about what it takes to develop good taste. And now that's what we're working on today.
@Personal Dynamic Media — Thank you for that extensive reply! I always love when you post these, and always feel like I never do them justice with my responses. But you often do (and in this case did) give me a lot to think about, and it further advances my thoughts beyond where they were when I recorded the episode (and where they were when I edited — the editing process gives me a chance to do a lot of reflection. For this episode in particular, I think I'm at the point now where I feel like I have a completely different take on the original article, and I don't agree at all with my analysis from the episode, but… like… that's probably a good sign, and anyway I digress!)
I was inspired by this conversation to go play with some old software in an emulator from Peter Schorn at schorn.ch/altair.html
For what it's worth, it turns out that the ability to pause a BASIC program, examine and modify variables, and resume it, predates Microsoft BASIC-80. It was in Microsoft 8K BASIC, their second product, from 1976.
Thanks for the episode y'all 👍
IME, AutoHotkey gives "Computer" feeling back to Microsoft Windows
This is great!
After that episode, I dug out an old Snow Leopard-era iMac and put Kid Pix on it. Been having a blast with that — and my 6yo is doing so much more with it than any of the iPad drawing apps we've tried. (As soon as she gets a little further on reading, I'm gonna try learning etoys with her)
So maybe the computer feeling is just nostalgia, because software was truly better back then.
hey Ivan Reese, do you have that piece of sound effect, that was used somewhere at 1h:45ish minutes in the podcast as a standalone track?
It reminded me of Quantum Leap tv-series intro intermixed with Jazz - super combo for me :)
Ivan Reese thank you this one is great ~too, I believe I heard something else~ edit:
I have double checked and this is indeed the piece that I heard at 01:58:00, thank you
Well, almost! The version from the computer feeling episode was remixed (in the traditional sense— I changed how all the instruments are balanced), so it sounds a bit different. But it's the same composition.
Hi everyone! This is my first time sharing my work here, and I’d love any feedback or future research ideas. Please let me know if my work is relevant to this community. I really enjoy seeing all the cool programming tools shared here!
I've been curious about “vibe coding” recently, so I invited some researchers and my friends to watch YouTube videos to study their behaviors. We tried not to assume it’s good or bad, and just want to understand what actually happens in practice. (Some of our co-authors thought it would democratize programming, but some of us, like me, thought it was irresponsible lol.) In our study, we saw that people often deal with long wait times and unpredictable AI behavior, making the process feel a bit like “rolling the dice.” We also noticed a lot of prompt repetition, with some vibe coders, especially those without programming experience, spending nearly 40% of their prompts just rephrasing the same thing with no new information to get the AI to behave as expected. Our work has been accepted to FSE 2026. Below is our preprint. Let me know what you think!
I'll call it relevant Yi-Hung. Consider me nerd sniped. I'll read the paper and comment. By way of background, I'm currently misusing coding agents to do something a few levels removed from vibe coding. My experience with AI agents goes back more than two full decades now. What's fun is that I can try for real what was mostly thought experiments and duck-taped prototypes back then.
Hi William, thank you for the reply. I’d love to see how people misuse coding agents, tho i don't think there is really a correct way of using them and I’m pretty sure your version of “misuse” is very different from those who use them without understanding programming or even the problem domain itself. I’m also really curious about what you meant by your experience with AI agents “going back more than two decades.” What kinds of systems were you working with back then?
Stuff like this aaai.org/papers/flairs-2006-133. The "misuse" is a joke. I'm just not using coding agents for coding, not primarily, though my system is currently doing a database migration.
Some quick notes on you paper. I enjoyed reading it. Thanks for sharing. Research Method -- man, that's a lot of work.
Waiting for the next output frustrated many -- fascinating! I'm always thinking of the opposite: how can I set this up so that you don't need to contact me for better part of an hour?
I find the biggest limitation is working-memory, the context window. You can get in a good flow, hit the limit, and though the overall general process continues, the nuance is lost. Still haven't mastered it.
I also find the vibe coding cost matrix to be entirely different from regular development. Three libraries might work? Try them all!
Likewise, I don't prompt engineer, I delegate that to the agent. One kind-of solution to the working-memory problem is to have the main agent start a new subagents with fresh contexts and then test what descriptions put them in the right frame of mind to precisely follow nuanced protocols. As a rule, descriptions with whys work better than whats.
Another good solution is github.com/obra/episodic-memory. Then you can say, "remember last week when we?"
Thank you for the detailed replies and reading the paper! My slack probably goes silent at night. Really cool that you’ve been working with agent-style systems by then. Makes today’s tools feel very full-circle.
I find the biggest limitation is working-memory, the context window. One creator also talked about how difficult it was to manage context, especially when he did not fully understand the task and could not estimate how many tokens it would take. I still remember that whenever Claude Code showed a “compact context” view, he would feel frustrated because it was not what he expected and immediately assumed the output quality would be bad.
I also find the vibe coding cost matrix to be entirely different from regular development. Three libraries might work? Try them all! I originally thought people would explore different options in parallel when vibe coding, like trying three libraries. But in most of the videos, they just accepted the first option the AI suggested and did not explore much. I guess that is because current tools and models are more focused on completing tasks than encouraging exploration or challenging users. Given the current "always-agree" AI, to truly explore a domain, users need some understanding in that specific domain for asking the right prompts. For example, what are the limitations of this database? Do I even need a database here? Future tool should consider the exploration aspect.
Likewise, I don't prompt engineer, I delegate that to the agent. When I was doing this research, the term vibe coding had just emerged, and the tools for these “agents” were still quite immature. By then, people were mostly going back and forth with prompts to a specific feature. Now I see many vibe coders orchestrating multiple agents like what you described, or even finding ways to make AI “stay up all night” to repeatedly check code, write test cases, and so on. Things are evolving really fast. There is always a room for future user studies.
My communication habits were formed in a the age of correspondence: handwritten, on paper, put in the mailbox. I'm fine with slowly unfolding dialog. Slack sometimes forgets messages before I get back to them.
On context windows, Claude Code has gotten much better recently. Used to be, "What was I doing and who are you? What is this project even about?" Now it continues but might miss important already settled details. This morning my AI said they would keep something in mind, and I called foul knowing we had a lot to do before that something would come up again. That's one of the things I'm trying to do with project: help them so I don't need to give reminders like that.
More focused on completing tasks? Sure if it's a one-off. Not so much if you want to use the code next week or, heaven forbid, let someone else run it. Picking between multiple, reasonable libraries doesn't always come up, but what's sure to is acceptance testing: how do we know this software does what it's supposed to? If that is a well-defined question for a project, teach the agent the domain and have them write more tests than you would ever bother to. Then you can spend your time on the fun code (as opposed to boilerplate). It's like people making ugly six second videos rather than using video gen for what it's really good for: from this still image, make an establishing shot that pans just so, so that I can spend my time on the storytelling part.
Stay up all night -- with what I'm doing since it's conceptual rather than code monkeying, I haven't figured how to keep the main window busy for more than an hour. Last night, I'm excited, we have a to-do list with 108 items: finishes before I even get in bed. May not have finished well. We'll see.
oh nice! will have to read this week. At a skim, this looks really well done: congrats on acceptance! 🎉
