In short
The future of networking technology, centered on Keith Winstein’s “computational truth” idea—networks that can track and audit exactly what computation was performed, not just move bytes. He argues today’s cloud services “pay for effort” (e.g., waiting on data fetches like AWS S3 cache misses) rather than “pay for results” (verifiable outputs tied to code/environment). He also discusses low-latency networking for real-time music/video collaboration, explaining how buffering stacks in Zoom-like systems add delay and how StageCast reduced it by controlling buffers and tuning delay-vs-glitch tradeoffs.
Guest backgrounds
Keith Winstein is a Stanford professor of computer science and electrical engineering; a networking expert who built systems enabling real-time music collaboration during the pandemic with students (Sajad Filotti) and theater collaborator Michael Rao.
Key claims
computational provenance should be formal, deterministic, nameable, and legally/auditably checkable; naming computations could enable accountability in services like ad auctions.
Notable examples
Git/GitHub as partial provenance; AWS S3 caching and pay-for-effort; Google ad auction cheating allegations; Zoom/Netflix latency and buffer “rubber band” behavior; StageCast live ensemble performance with New York musicians and Stanford actors; a new freshman CSE class using toddler xylophones and Nyquist-Shannon sampling.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Chapters
Tap a time to open that second in VOThe Importance of Networking Technology
0:53 to 1:57
Explore how networks underpin modern life and their current limitations.
“If you're enjoying the show, please tell your friends and family about it.”
Keith Winstein's Work in Networking
1:57 to 2:58
Discover Keith Winstein's innovative approaches to computer networking.
“However, that networking technology is not perfect.”
The Concept of Computational Truth
2:58 to 4:23
Understand the significance of computational truth in networking systems.
“I mean, I think, you know, there was a period of computing in the 1800s when it was about data tabulation and the census and these kinds of things.”
Challenges in Current Networking Technologies
4:23 to 6:00
Discuss the existing challenges in networking and the need for improvement.
“That actually is a wonderful answer and leads me to kind of the next, I think, natural question is, we are so dependent on this technology.”
The Role of Provenance in Computing
6:00 to 9:18
Learn about the importance of provenance in computational relationships.
“I mean, one that we're spending a lot of time on is trying to formalize and communicate something that we have sort of implicitly now, which is this idea of computational truth.”
Towards a New Paradigm in Networking
9:18 to 14:00
Explore ideas for establishing a new standard for computational truth.
“Is it fair to say this is a discussion of provenance data, not just the provenance of any computational artifact?”
Defining Computational Truth
14:00 to 19:50
Learn about the importance of defining computational processes and their accountability.
“You said we start with a computation, and then there's a code, and there's a compiler, and there's a code that's reading the compilers, executing, and then it spits out.”
Innovating Live Performances Over Networks
20:03 to 27:28
Discover how to enhance live performances via technology and address network challenges.
“I'm speaking with Keith Winstein from Stanford University.”
Addressing Latency in Live Music
27:28 to 28:00
Explore solutions for minimizing latency to enable real-time musical collaboration.
“And I learned that we're not really teaching our students how to do this kind of engineering.”
Exploring Latency in Live Music Streaming
28:00 to 32:40
Learn how latency affects live musical performances over the internet and the engineering tricks to minimize it.
“Before you go on, this is so interesting.”
Show all 13 chapters
Innovative Approaches to Computer Science Education
32:40 to 35:31
Discover new methods for teaching computer science that emphasize playfulness and real-time interaction.
“So you literally – and you said it before but I didn't know what you meant.”
Real-Time Interaction with Computing
35:31 to 38:44
Understand the significance of real-time computing and its implications for the next generation of students.
“And so the idea of the class, it's a CSE class.”
Future Insights and Final Thoughts
38:44 to 40:56
Get insights on the future of computer science and the importance of diverse innovation sources.
“And it may be not what people are expecting at this time in the future of computer science.”
Transcript
Automatic transcript. May contain errors.0:00Keith Winstein:This is Stanford's The Future of Everything, and I'm your host, Russ Altman. Since we started this podcast eight years ago, it's become an archive of the amazing and impactful work done by my colleagues at Stanford University. In a time when the sheer volume of information available to us can make our heads spin and make it hard to determine what's accurate, I'm proud to be able to bring you experts in law, medicine, engineering, technology, and much more. The part that I think of as like so central to computer science is the playfulness of it. I mean, computer science is about reasoning about the consequences of procedural reasoning and computation.
0:36And the fact that you can design an automaton in your head and then see it play out at, you know, billions of times per second. I mean, that's fascinating.
0:49Keith Winstein:This is Stanford Engineering's The Future of Everything, and I'm your host, Russ Altman. If you're enjoying the show, please tell your friends and family about it. Word of mouth is a great way to spread news about the podcast. Today, Keith Winstein will tell us that there's a great opportunity in computer networking to create systems that can track computational truth. It's the future of networking. Today, we're continuing our segment called The Future in a Minute. I'll ask Keith a few questions, rapid fire style, and he'll give us some rapid fire answers. Also, remember to tell your friends and family about the show to spread news about the future of everything.
1:34Keith Winstein:Networks and networking are key to our life and are key to the information technology revolution. We use networks to watch our favorite videos, our television shows, our movies. We communicate with our friends, family, and co-workers. and upon the network are built stacks and stacks and stacks of applications meant to facilitate our modern life. However, that networking technology is not perfect. It can have many, many middleman, which lead to delays and suboptimal performance. These delays sometimes are not a problem, but sometimes they make things just impossible to do. Have you ever tried to sing a song with somebody on a video chat.
2:16Keith Winstein:It just doesn't work. Well, for the most part. Keith Winstein is a professor of computer science and electrical engineering at Stanford University. He's a networking expert, and he's built systems where you can perform music together. And he's now teaching a class where music and the production of music is a core feature of the entire class. He'll also tell us about his ideas about what is needed in networking next. He's developed this idea of computational truth, and he thinks that our network systems of the future can embody and embrace an idea of provenance, truth, and auditability of all computation.
2:56Keith, to start off with, why have you focused your research on networking technology? It's fun. I mean, I think, you know, there was a period of computing in the 1800s when it was about data tabulation and the census and these kinds of things. And in, you know, World War II, when it was about breaking codes, and maybe there's a theory about, you know, statistics distinguishing Nazi aircraft from not Nazi aircraft. And then in the 50s and 60s, you know, sort of the mainframe era, and then the personal computer era. But, you know, this ability to connect my thinking machine to your thinking machine and have them talk to each other and invent a world that only exists in the mind of the computer is an amazing thing.
3:42You know, the things that we create via networking, via computers, talking to other computers are fictions. Whether it's a, you know, a meeting like we're having now, like this Zoom meeting, or I guess it's this podcast, it only exists in my computer and your computer. It's a fiction created by the fact that our two computers are communicating and we, the humans, buy into that. And, you know, games work this way and almost everything on the internet works this way, what we call TCP connections, the very fact that there's a stream of bytes coming from one computer to another, you know, that's not real.
4:13That's a fiction in the minds of the computers. And the fact that you can synthesize this sort of shared fiction out of multiple thinking automata talking to each other is a beautiful thing.
4:23Keith Winstein:Great. Thank you. That actually is a wonderful answer and leads me to kind of the next, I think, natural question is, we are so dependent on this technology. What are the main challenges that folks like you who are at the frontier, like, it's fun, and what do you worry about in terms of its capabilities and where it needs to go? Well, I think any serious answer to that would focus on the meaning of what we communicate over the network, which is not exactly my department. Maybe it should be, but, you know, I mean, the networking technology, you know, created among other things, you know, the internet and Wi-Fi and cellular networks and these kinds of things.
5:04And, you know, on top of that, someone else built the World Wide Web, you know, someone from research program from Switzerland. And on top of that, people built things like Facebook. And on top of that, people built, you know, possibly the end of human self-governance. I think if you're going to say what worries me, you know, it would be that. But, you know, I think we have to be humble that, you know, anyone is qualified to opine on these things, But I'm not an expert on those things. But if that's what troubles me or what I think needs to change, that would be the top.
5:35Keith Winstein:So how about from a technical perspective? Because your answer is very fair. Like the use of networking raises issues, and I hope we'll get to them later on, that are quite profound. But in terms of you waking up and saying, OK, I'm a professor of computer science and I need to do some research. how do you pick the problems and why have you picked the problems that you're currently working on as the ones that are like best matched to what you can make a contribution? I'll give you two that you might find interesting. We can go down the road. I mean, one that we're spending a lot of time on is trying to formalize and communicate something that we have sort of implicitly now, which is this idea of computational truth.
6:13If you think about what your computer does and what we communicate over the network, we are very good at expressing compositional relationships between our data. You know, you have on your hard drive, I don't know, use a Mac or a PC or something else. What do you use? I use a Mac. Okay. So you have folders, you know, and inside those folders are other folders. And inside that you have files. And, you know, this is a model popularized. I think, I think here at Stanford, actually, I think in the mother of all demos, they had that. I think they may have had a hierarchical file system in the 60s. I don't know the history on that.
6:42But, you know, we have this notion of the compositional relationships. And I don't know about you, but, you know, when I'm writing a paper, something like that, I have all these hierarchies and, you know, I have a graph and, you know, the graph came from some Python script that read some data and the data came from another Python script in another folder. I mean, you probably have the same thing.
6:58Keith Winstein:Yes. And we're very good at communicating these compositional relationships among our data over the network. There's a thing called Git that everyone now uses that was created by the same guy that made, you know, Linux, the operating system that took over. And this is a Finnish college student. He made his own, you know, operating system kernel and it's now, you know, taken over all the commercial, commercial, taking away all the commercial competition. And then the same guy, you know, 10 years later made this thing called Git, which is a very, you know, a formal way of representing these compositional relationships.
7:26And now there's GitHub and we can share these arrangements of our data. But we and our computers and our networks are terrible at remembering the computational relationships between our data. That's all just implicit. And so I don't know if you've had this experience, but like someone comes to you six months later and says, hey, there's a graph in your paper, you know, I'd like to reproduce it. Or, you know, I think this data point is wrong. I'd like to recompute the graph with this one thing changed. This is really harder than it needs to be. Because when I go back and I look at that directory or that folder, you know, I see the graph, but then I don't know which Python file reading which data file made that thing.
8:01That computational relationship, which was manifest at the time it was made, is just forgotten.
8:06Keith Winstein:Yes. And so it would be really nice if those kinds of relationships were something the computer kept track of and communicated and guaranteed and could communicate to other people over the network. So I would love if you clone my Git repository. Do you guys do that in your... Yes, absolutely. It's actually a requirement of most of our funding agencies that we share the code upon which our findings are based. Great. So if you clone my Git repository, I don't want you to just see the sort of files and directories sitting in folders with these compositional relationships. I want you to see the computational truths.
8:36I want you to see that this graph is what happens when you run this Python script in this environment. And then you click on the data that it processed. Where did this come from? Well, this is what happens when you run this other script in this environment. Maybe click on Python. Where did that come from? Well, that is what happens when you run the C compiler on the Python source code. That's interesting. Maybe you click on the C compiler. Where did that come from? Well, that's the most interesting. That's what happens when you run the C compiler on the C compiler source code. It's kind of like a circular relationship.
9:04And the fact that we can't speak about these computational relationships formally or communicate them over the network really, really hampers the way that we use the network and the way that we outsource computing across the network.
9:18Keith Winstein:Is it fair to say this is a discussion of provenance data, not just the provenance of any computational artifact? Like, where did it come from? And can you give me kind of a guaranteed ancestry of where this computational artifact sprung from, both for the reasons of replicability, which you just referred to, but I think you're being more profound than that. It's not just for replicating. It's for making sure that we're not building a house of cards of fragile systems. Well, I think it's definitely both of those things, but I'll give you a third one, which is that it, I think, impoverishes the language of what we do when we compute, and especially when we ask other people to compute.
10:00So if you think about systems like Amazon Web Services or Google Cloud or Microsoft Azure or Alibaba, these companies are in the business of renting out computers by the millisecond. And so the way it works, like let's say on Amazon, you know, you upload a function for them and that's like a zip file of some code. And later that function gets invoked. And someone says, I'd like to run this function with this arguments, you know, maybe a URL of a file it should process. So Amazon's job is to find some computer in their vast, you know, they have millions of computers, find some computer or some slice of a computer that's free, start running your code.
10:35And then all they start doing is start running like a meter, like how many milliseconds was the code there until it quit. And so probably your code, the first thing it does probably is fetch the data. Like, you know, you generally need data to do something. So probably it looks at the invocation arguments and goes back to Amazon, you know, that they have a storage system called S3. They say, well, I would like this file. So now your code is stuck there waiting for Amazon. They've got this S3 node that says, well, maybe I have it locally. That's called cached. You know, maybe I have it locally, in which case here's your file.
11:04And then, you know, you do the computation and you finish quickly. But maybe Amazon's local S3 node doesn't have the file. Maybe they don't have a very good caching system, or maybe they just don't have it. So now you're stuck there waiting, or your code is stuck there waiting, while the meter's running. But they're the ones, the balls in their core. They have to go search for that file somewhere in S3 in that region, eventually give it to you. Then you do the processing, then you're off the machine. And the bill is higher. So this is a weird system where Amazon makes more money if your code takes longer, and the code takes longer because they had a cash miss, because they didn't give you the file quickly.
11:40Keith Winstein:This is what we call pay for effort. It's kind of like, I don't know, you and I both live in the Bay Area, so maybe this is a fantasy for both of us. But if we had a big house with a big lawn, hypothetically, and we hired someone to mow that lawn, imagine if you did a deal where you paid them per hour. You know, say, yeah, please mow my lawn, and I'll pay you for every hour you work. This is not a good way to run an economy because, first, you're encouraging them to take longer, but also there's no innovation surplus. You want the person mowing your lawn to be incentivized to invent a better lawnmower.
12:15But to do that, you need to have a different way of thinking about the service being provided. You need to have maybe something close to what we call pay for results. Maybe with a lawnmower, you kind of have this. You have some understanding, what does it mean to have my lawn mowed? and then however you want to do it, that's great. If you can invent a better lawnmower that mows it 40 % faster, then maybe you give me a 20 % discount, you keep the other 20 % for yourself, everyone wins. This is kind of the theory of innovation, the theory of markets. But to do that, you have to be able to define the result of a computation or the result of the job.
12:47And so we have to be able to talk about a different abstraction. Computation can't just be renting time on someone else's computer. That's like not a very interesting transformation. Amazon and these companies, they buy the computer and they rent it out per minute. I mean, that's what landlords do. This is not an economically productive transformation. But if we could agree on what it means to have the result of a computation, the actual computational truth to have a claim where Amazon or Google or whoever could say, hey, you asked me to do computation F applied to data X. And we did it. And we're willing to tell you that, like, yes, F of X produces Y.
13:23and we'll stand by this result. That's the thing you're paying us for is this object, the computational truth. We'll stand behind this. In fact, if it turns out we made a mistake, you can take it to State Farm Insurance and they'll check to see if we're right or you're right. And if it turns out we made a mistake, State Farm will pay you$10 million in sort of errors and omissions insurance. Then you would commoditize this thing of computing and describing a computation over the network. And I think we would live in a very different world.
13:51Keith Winstein:Okay, so that's very interesting. I think I do understand what you're saying. But at the same time, you also a few minutes ago described this incredibly deep stack, right? You said we start with a computation, and then there's a code, and there's a compiler, and there's a code that's reading the compilers, executing, and then it spits out. So there's going to be a very deep network, as you know very well, I use the word, of relationships. And so obviously, I think people listening to your example said, well, I totally see how you said the clock is ticking. And in some cases, you're going to get a bargain because the data is available, the CPU is available or whatever.
14:32Keith Winstein:They do the calculation and it's a super short time and you get a good deal. And other times, just because of the way they've architected their system, you're paying a lot more for that same exact result. And that does seem unfair. And I would love to right that wrong, so to speak. Do we have the technical capability to do what you're describing? And I'm sure this is what you're thinking about. So what's the first step in realizing such a system? The first step is probably coming up with an unambiguous definition of a computational truth. to say we ran this program or this piece of code in this environment, and the result has to be a deterministic function of that environment and that piece of code.
15:12And anyone who looks at that and does it will get the same answer. So, you know, in mathematics we sort of have this, like, you know, you can say 1 plus 3, like everyone who's been educated the same way will agree on what that means. It's not 1 plus 3, oh, it's one thing because of the weather. You know, if it's sunny, it's one thing. If it's rainy, another thing. So just defining that abstraction, what does it mean? what is the meaning of a computation in a way that is a shared language. That's probably the first step.
15:38Keith Winstein:And I would say even being able to name that computation is incredibly powerful. We are moving towards a world where the vast majority of the computational power is owned by other people. You've been around, you know, you remember AI, you know, 60 and 50 and 40 and 30 years ago, we had it, right? It ran, we had it. Yes. It was in my computer. And now, you know, I have never used a top quality LLM, right? And neither have you. We have used what we call an RPC, a service over the internet where you communicate a query. What does RPC stand for? Oh, sorry. A remote procedure call or a network service.
16:19You know, they are running the LLM and they're controlling the random seed. They're controlling all kinds of things. You know, one of these companies, we just get to use a service that they provide. You know, Google search was like this, you know, what, 20, gosh, almost 30 years ago. We become dependent on these network services. And so even being able to name the computation that someone else is doing for me is incredibly powerful. I'll give you some examples. Like, you know, Google runs this ad auction. You know, that's how they make almost all their money. Yes, yes. And for a long time they were very proud of saying it was an incentive compatible second price auction.
16:57So, you know, if I bid$100 for the keyword, you know, Beanie Babies, and you bid$80 and someone else bid$60, you know, I win the auction, but I only pay$80 because that's the, you know, in a single shot model, that's the way that we're all encouraged to give our true values. Right, right. Now, everyone knows it's possible to cheat if you're the auctioneer. You know, you can always pretend, oh, sorry, sir, yes, you bid$100 and we had someone else, you know, who bid$99. Of course, I can't tell you who it was, but yeah, so you're going to have to pay$99. If you're the auctioneer, you can always cheat.
17:26And allegedly, according to a whole bunch of lawsuits, Google did at some point succumb to that temptation, and they did start cheating. And this is a spinoff from our department, Google. It's a little bit painful when your own kin start doing the thing that it's not even clever. Everyone knows you can cheat if you're the auctioneer, but then to actually do it is kind of like, come on, anyway. So if there were a way to name that piece of code that does the auction, then you could have something to refer to. You know, maybe when they give you the result, they could say, of course, they're not going to release the code for the auction.
17:58That's highly proprietary. But at least they could say, well, here it is under this opaque name and you'll know when it changes. Or if you want to sue later, you could say like, well, I think you fiddled with it. You know, I think these results were not honest. And at least you've given me the name for the thing, the computational truth that you did at the time. I want you to unwrap it now with my lawyers or everything. Just being able to name it is very powerful. Right. Right.
18:19Keith Winstein:So if I can make sure I understand, when you say a name, it means there's a piece of code that's running that's producing output. We're going to give it – it's probably going to be a long string of letters and numbers. It's going to not be a name that any of us would think of as a name. It'd be just like in Git. But the key thing is it will be controlled. I don't know if it will be blockchain or it will be some very secure bookkeeping mechanism that will then allow you to say that's code that was run to produce my result. and now you say, and now there's an allegation that that code was not so honest.
18:51Keith Winstein:And then through the process of law and stuff, you could uncover that. You could know that you're looking at the actual code that was actually run and say, hey, you made up that 99 % bid. The highest bid you got was really only 80%. You did something bad. And now social mechanisms are going to be applied to kind of right this wrong. That is not possible right now is my presumption. Yes, you're right. I mean, there are all these lawsuits against Google and all the other companies for all their various alleged sins. And, you know, I have a colleague at Harvard who's become like one of the leading expert witnesses against Silicon Valley.
19:24And, you know, he gets to see the super secret auction code in a highly locked down room in Washington, D.C. But, you know, you have to trust in the legal system. And it's not routine.
19:34Keith Winstein:No, it's not routine. And it's very expensive. But how do you know that that is what produced, you know, that that is the computation? We don't have a way to, you know, if we just talk about computation is like time on a computer. We're lacking that language. So that's a thing that my group and I are spending a lot of time on. This is The Future of Everything with Russ Altman. We'll have more with Keith Winstein next.
20:02Keith Winstein:Welcome back to The Future of Everything. This is Russ Altman. I'm speaking with Keith Winstein from Stanford University. In the last segment, Keith told us about his work and his recent focus on computational truth, the ability to track computations in great detail to understand what they do, how they do it, and to have an audit trail that is pretty much perfect. In the next segment, we're going to move to a different topic, which is how Keith and his colleagues have created ways for live performances, especially of music, and how that works. He'll also tell us about a new class where he's trying to introduce playfulness by having a xylophone, a child's xylophone, be the object of an entire class on computer science and electrical engineering.
Read the full transcript
20:45Keith Winstein:Don't forget, at the end of this segment, I will have the future in a minute segment with Keith while I'll ask him some quick questions and he'll give us, to the best of his ability, some quick answers. Keith, I know you've done some really interesting thing on performance over networks. And when I say performance, I mean things like music. And during the pandemic, I tried to sing a song with somebody on Zoom. What a simple idea. It does not work or it did not work. And it seemed to be a network problem. So can you tell me, what have you done in this area? You know, a lot of the work that we do now is kind of, we've all become biologists.
21:25You know, I used to be a medical reporter. I was at the Wall Street Journal. And for three years, I wrote about science and medicine. And I read every issue of the New England Journal of Medicine. And I wrote about a lot of these medical studies. And I don't envy that world. It's really hard to run an experiment, especially a medical experiment. You have to collect the patients. And it takes years to get the effect size that you're expecting and everything. And at the end, you're using these extraordinarily sophisticated statistics to try and see, does Lipitor help or not help? And even those are the big studies.
21:59And somehow that, you know, the thing about computer science is that we are fueled by a motivation that comes from a confidence that the mystery is always solvable. You know, we're like Columbo. We're always going to find it. Because we have incredible tools in computer science on the problems that we choose to address. Because, you know, for example, in computer science, any mystery you have, we can inspect any part of a computational system without screwing it up. You know, this is not a privilege the biologists have. You can't dissect the frog and, like, keep the frog alive. And it's, you know, it's not a privilege the physicists have.
22:42You can't observe something, you know, and it's quantum mechanics. But it is a privilege we have because of something called Turing completeness. You know, you can always emulate this. This is a very deep result of Alan Turing, the founder of both computer science and arguably of AI, that you can always inspect the system without screwing it up. That gives incredible tools and then incredible confidence. And we can always rerun the system as many times as we want while investigating it. This is, again, not a privilege the astronomers have. You can't see an interesting supernova and say, oh, let's run it again, God.
23:15Keith Winstein:You don't get to reproduce it. So we have the most fun, I think, in this university, the computer scientists, because we have this incredible privilege of these tools on the problems that we address. And that gives incredible motivation. And that's, like, I think why most of us got into this. And you all, the statistics people, are like, we're getting this virus. where like suddenly we're having to become, you know, biologists and astronomers, where a lot of our work becomes more in essence, statistical and slow, where you do something for a long time. You know, I did this work with my students on video streaming, where, you know, this is like you're watching Netflix, and maybe it starts to rebuffer for a while.
23:55And, you know, can we make better algorithms for that? And, you know, so we have our own video streaming website here at Stanford, puffer.stanford.edu, where people watch television, and then we run various algorithms and, you know, but to do that kind of work, you have to run it for a year and collect a lot of data and then analyze it. And maybe it doesn't, and this is just not, it's not that fun. You know, it's not the playfulness and the interactivity and the confidence of being able to play with it and see the result that I think made me happy to be a computer scientist. And so, you know, we had done this work about sort of video and audio over the internet.
24:28And then during the pandemic, I got contacted by this, you know, connected with this colleague, Michael Rao, former guest on this podcast, who's a genius theater person. I mean, you. Yes. You know.
24:39Keith Winstein:Super fun to talk to. Yes. I mean, the humanities faculty at any academic institution have to, there's like a million people applying for one job. So the privilege of being here is like, you know, your colleagues are amazing. And this guy is incredible. And so, you know, he's like, look, I'm trying to teach theater during the pandemic to these students who are trying to do a play over Zoom. And it's like horrible, you know, like there's the delay. They can't hear each other very well. They can't do overlapping dialogue. They can't sing, you know, in unison. as I guess as you discovered, you know, and he says, well, I've seen you've had research on this.
25:07Can we use your research? And I had to explain, sort of embarrassing, that, you know, there's a thing we call research code, which is like code that is not really, it's only written so that you can write the paper. It's not like code that really even works per se, you know, or that anyone else would ever want to use. But, you know, we decided with my doctoral student, then doctoral student, Sajad Filotti, we decided to try and really do it with him and try and build like a bespoke system for actors and musicians to collaborate during the pandemic. So we taught this class in the fall of 2020 for undergrads and grad students about building new kinds of video conferencing systems.
25:46And then we actually did it. Michael and I, it was the main stage production in, I think, March of 2021. We had five actors, Stanford students, and then we have these three New York musicians who were very famous people. But, you know, during the pandemic, they weren't working. So it was an incredible privilege that they were like willing to work with this academic research group. So, you know, they did songs over our system and they, you know, it was a lot of fun to be back in this world where you're the mystery is inside a box and you know that you can solve it. And, you know, a lot of the problems with the Zoom and that kind of thing are not for any interesting academic reason.
26:22It's just kind of like they have a business and they're trying to be on millions of people's computers. And, you know, the Zoom guy, you know, he's a friend of our of us. I mean, I've never met him, but he's I think he's come to our networking class before I used to teach it. And, you know, he's been very candid. He's like, look, we just didn't prioritize kind of software quality. You know, you may remember like Zoom. They were so bad.
26:42Keith Winstein:Yeah, they had a moment. They had a moment and it was an unexpected moment. Remember when they screwed up so badly that Apple had to push an emergency update to macOS to delete Zoom from everyone's computer? Do you remember that? Yeah, this rings a bell, yes. There are a lot of sort of plumbing reasons why the delay in these systems is much, much larger than it needs to be. And to fix that, you really don't have to be a genius. You just kind of have to be a plumber and really get your hands dirty and find wherever the delays are coming from and squeeze that out. And so we did that in this StageCast system, and it was really nice.
27:15I mean, the musicians were telling us, you know, like, oh, my God, like, this is my craft is, you know, performing with people. And I haven't done it for, you know, by that point a year. And now I finally feel like I'm in this. I'm actually part of an ensemble. And the students, they asked us to turn on the system so they could have their party. You know, that was very rewarding. So that was a lot of fun to do. And I learned that we're not really teaching our students how to do this kind of engineering. You know, a lot of it is kind of like you write some code. maybe it's going to train some machine learning classifier and it runs for a while.
27:47And then eventually you look at it and then, I mean, I have this in my own work. You look at it and you sort of squint and like, well, can we say that this worked? And that I think is just less fun. And so I've been trying to...
28:00Keith Winstein:Before you go on, this is so interesting. I just want to ask a couple of things. So somebody might think, okay, if you wanted to have a live performance with musicians in New York, especially famous ones. It's a matter of getting a super duper fast, fat wire that connects. And it's very expensive, but you do it because like it's this unbelievable demonstration. But my understanding is you didn't get a super duper fat, dedicated wire. You were just using the same old internet that all of us use. And can you give us just a little bit more on like what was the magic idea that takes away what we refer to as latency, the delay from when I sing a C and when somebody in New York sings a G so that we can make part of a C chord.
28:44Yeah. So, you know, what you're talking about is the delay between when I sing something and you hear it and when you sing something and I hear it. And that is unrelated to the fatness of the wire. The fatness of the wire controls what we call throughput or data rate or what people sometimes call bandwidth. I mean, everyone calls it bandwidth. Anyway, throughput or data rate. So that's kind of like if I'm at home plate, you know, and I'm throwing something to you. You know, if I throw a bowling ball, that's going to, you know, that's a lot. And if I throw like a, you know, a baseball, yeah, you know, the bowling ball is like fatter, but, you know, they're probably going to get there at the same speed.
29:18Certainly if you like drop them, they're going to get there at the same speed. Right. So having a fatter pipe, more megabits per second does not change the delay. But the other thing you have to understand is that the network is not the problem here. everyone benefits when you blame the network if you are having a bad experience on youtube or zoom or whatever if you say oh man you know verizon is terrible or xfinity is terrible you have to understand everyone wants you to think that way xfinity would love for you to think that way if it means you're going to upgrade your xfinity if you blame them and zoom or chrome any of these companies would be very happy for you not to blame them but in practice it's not really Xfinity's fault.
30:01The delay is probably the same. You know, the delay is mostly for something like Xfinity, like a wired connection. And the delay is mostly just about the speed of light through the wires and that kind of thing. Okay. And so it doesn't, you know, and the speed of light through the wires, it's very fast, you know, like from New York to someone else in New York, you know, we're talking like, you know, it's like the same distance of if you and I were 15 feet apart in a room and just talking to each other, you know, that's the actual communications latency. But what you hear on Zoom is more like 10 times that.
30:33It's more like being like almost half of a football field away. And the reason for that is, I don't know what you want to say. It's bureaucracy.
30:43Keith Winstein:So did you cut through bureaucracy? I think there was elements, because I did read a little bit about it, a little bit of element of kind of predictiveness where you said, I know enough about music and performance that I can kind of guess what the next notes may be? Was there an element of that? That's a follow on. We didn't do that with the musicians. I mean, the truth is that if you look at the way a system like Chrome and Google Meet or Zoom work, there's a Zoom piece of software and it's getting packets in from over the network and they contain audio. And then it puts them into what we call a buffer because it doesn't want to run out of audio to play.
31:18If it starts playing the audio as soon as the packet arrives, then that audio is going to finish maybe before the next packet arrives. And that's going to sound like the robot voice. You've heard that on Zoom.
31:29Keith Winstein:Right. So they don't want that to happen. So they don't play the audio as soon as it arrives. They put it in a receiver side buffer that adds a lot of delay. And then when it gets out of that buffer, it goes into something called the rubber band buffer, the thing that adjusts the time. because if they have too much data in the buffer, they want to play it faster so that they can catch up. That's when you hear that. And we've all heard that too, yes. But that's a separate software component that they license from a different company, and so it needs its own buffer. Then from there, it goes into the operating system's play-out buffer in the sound device, the operating system.
32:03And then from there, it goes into the hardware device buffer. So you end up with everyone. It's different companies making every part of this, and they all add delay, and that's how you end up with 200 milliseconds. seconds. You know, that's like, it's like, you know, a significant fraction of a second. And so if you do it with a bunch of Stanford students and you just build it, you know, to do one thing and, you know, not, we're not trying to have it work on Mac and Windows and, you know, we're trying to do one thing. Right, right, right, right. Then you just have one buffer and every piece of software is on that one buffer.
32:34So you can get, you know, you can get literally quarter millisecond intrinsic latency if you just do it in a good engineering sense.
32:41Keith Winstein:Thank you. That really does answer my question. So you literally – and you said it before but I didn't know what you meant. You said we avoided all the middlemen. I think you said something like that. So you just built up a spoke piece of software that went to the lowest level of the network or some very low level of the network where you had control and you could make a lot of these buffers unnecessary. We had one trick which is maybe interesting which is that Zoom is trying to pick one tradeoff between delay and quality. So if you watch something on Netflix, the delay is huge. job. You know, they filmed that TV show six months ago or whatever, and it's spent a minute in your television before you're actually playing it.
33:17But the audio is perfect. And if you're on Zoom, you know, it's a much smaller delay. The audio is a little bit glitchy. And on a cell phone, you know, it's maybe even more glitchy. So there is a trade-off between how glitchy it's going to be and what the delay is going to be. And so we were able to set that trade-off differently in different situations without sending more packets. So the musicians, for example, are incredibly sensitive to delay. Like we would come on, I mean, these are professional musicians, but we would come on like, and we'd say, try out the new version of the software. It's going to be great.
33:46And they'd play for a little bit and they'd say, no, no, no, no, no. Go back to the git commit you had two weeks ago. It's like, how do you even remember? It was better then. So for them, we gave them the glitchiest audio, but it was absolutely real time. And then for the actors, we gave them, you know, less glitchy audio, but still good enough for them to say the overlapping dialogue. And then the audience, of course, got the perfect audio. And then, you know, in the middle, we had people that were adjusting the levels and the behind the scenes people, this kind of thing. So with the same stream of packets, we could pick different trade-offs between glitchiness and delay.
34:18And so that was the one academic trick.
34:20Keith Winstein:Thank you. That vignette and the idea that the three principals are having very different actual experiences, but all of them well matched to what they need to do their job of producing or listening. Very helpful. I want to make sure that I give you a chance to talk about this new class that you're teaching. Yes. Yeah. I mean, what I learned from this and then from some follow-on work is that, you know, we're not teaching our students this joyful part. The part that I think of as like so central to computer science is the playfulness of it. I mean, computer science is about reasoning about the consequences of procedural reasoning and computation.
34:55And the fact that you can design an automaton in your head and then see it play out at, you know, billions of times per second. I mean, that's fascinating to see so quickly the consequences of a thought. And I don't think we're teaching. I mean, you teach here. I think that's not the kind of playfulness that we are teaching. It's much more about like I'm going to train this thing and it's going to run for a while and I'm going to test it. You know, it's not so interactive. And so I would like to anyway, I'm with some, you know, a bunch of people. I'm starting a new, trying to start a new freshman introduction to computer science and electrical engineering that emphasizes the playfulness and the joy and the interactivity of computation.
35:34And so the idea of the class, it's a CSE class. The idea of the class is about real-time interaction with the real world. And everyone's going to get one of these like toddler xylophones. You've seen these things.
35:43Keith Winstein:I know it so well. Okay, you got kids? Yes. I have grandkids. I've had two or three generations, I've had three generations because I used one, my kids used one, my grandchildren used one. Well, no judgment. Maybe just you like, you know, it could be anyone. They're fun. So, you know, we're going to give everyone one of these xylophones and we're going to talk about, you know, what is sound? You know, it's a continuous pressure wave. It's a continuous function of time. And, you know, why is it these fundamental frequency of these notes? I mean, isn't it amazing that the ancient Greeks and the ancient Chinese came up with basically the same scale?
36:13How do these two ancient societies thousands of miles apart derive the same relationships? And then how would you reason about this information, this audio, in a computer? You might think that, well, it's a continuous wave. It has an infinite amount of information. There's a point at every time. It has a different amplitude, different air pressure. But it was discovered only 100 years ago. After relativity, after quantum mechanics, they discovered that, no, it's possible to take a finite number of samples per second and perfectly capture all the information in this continuous wave, that's pretty mind-blowing.
36:49That's called the Nyquist-Tartley theorem, I think. And so when you have that information in a computer, I want the students to write programs very live, very interactively, that understand the sound and manipulate it. So can you write a program that understands, and these are for freshmen, these are people with no background, can you write a program that understands what note of the xylophone did you just hit in real time? And can we come up with a code that maps kind of the letters of the alphabet to pairs of xylophone notes, you know, A, B, C, et cetera? Can I give you a sentence like, you know, the sky is blue outside and you play it and then your phone or your computer in real time prints out the sky is blue outside in real time, not sort of run it for a day and check and that kind of thing.
37:29You know, this idea that human language can be expressed in bits and talked about, you know, that was quite controversial. You know, Claude Shannon, who's the founder of information theory and hung out with all these Turing and those kinds of people. I don't know about Turing, but those people, you know, he wrote this famous paper in the 40s about information theory. And one of his chapters was about, you know, human language and the information content, the perplexity of human language. And when the famous Soviet mathematician Kolmogorov read that paper, he didn't get that chapter because it was censored by the Soviet translation.
38:03You know, the Russian translators believe that the idea that, you know, that even the human language is quantifiable or that you can talk about the information content of human language quantitatively. That was thought to be contrary to Marxist doctrine. So these are controversial topics, the idea that you can have computation about language and about thought. And so I would love to have this much more playful introduction, joyful introduction to computer science and electrical engineering through this sort of real-time interaction with the real world. And that came from this collaboration with Michael Rao that we did five years ago at this point at the theater.
38:34Keith Winstein:It's a fantastic way for us to end with this hopeful note, no pun intended, that this is the way we're going to introduce the next generation of computer science to their craft. And it's real time. It's playful. And it may be not what people are expecting at this time in the future of computer science. So it's great to hear. Before we end, I'm wondering if we can do the future in a minute segment where I ask you a few rapid fire questions and you give me as as is possible a short, sweet answer. I'll do my best. Here we go. What is one thing that gives you the most hope about the future? I mean, I think many of our students really do have an optimism about their ability to make a positive difference.
39:19And many of our students are just incredibly impressive in both their ability to get things done, but also the dreams that they have and the hope that they have about the future. And I think that's very fueling.
39:31Keith Winstein:What's one thing you want people to walk away from this episode remembering? I mean, I think that truth matters and that the computer scientists are trying at least to find a way to capture that. Aside from money, what is the one thing you need to succeed in your research? Oh, I mean, fantastic, you know, doctoral students. If all goes well, what does the future look like? You know, I mean, I think the things that I prize and I think things that are a core to computer science is this idea of independence of thought. So, you know, the idea that a college student in Finland can make the operating system that turns out to, you know, take over the world and a guy in Switzerland can make the thing that, you know, we all communicate over the World Wide Web and, you know, the two bike mechanics in Ohio can make the airplane.
40:12this independence of thought and distribution of where innovation comes from. I mean, most innovate, I know this podcast is just Stanford people, but most innovation, if you look at it, does not come from Stanford and MIT and Berkeley, right? Most of it comes from nobodies. Most of the most significant innovations in the world come from not where it was supposed to come from. And for that to remain possible, there needs to be this distribution of people near the frontiers of innovation, the bike mechanics or the research programmers, you know, all over the place so that some people can take the step, you know, and it's never who you think it's going to be to innovate.
40:46Keith Winstein:And finally, if you were starting over again and you needed to get your certification or your degree in a different discipline, what would it be? I always wanted to be one of those people that was fluent in Latin. Very, you know, if you read like the secret history, I was very jealous of that world. Thanks to Keith Winstein. That was the future of network systems. Thank you for listening to the future of everything. Don't forget, We have a huge catalog of back episodes and you can listen to the future of just about anything. Also, please rate and review the podcast. Your ratings and reviews, we read them, we respond to them, and they help us grow the community.
41:20Keith Winstein:So please do it. If we deserve a five, give it to us. Otherwise, give us whatever we deserve. Thanks very much. You can follow me on many social media apps such as LinkedIn, Threads, Blue Sky and Mastodon, where I'm at Russ B. Altman or at R.B. Altman. You can also follow the Stanford School of Engineering at Stanford School of Engineering or at Stanford ENG.
41:48Keith Winstein:If you'd like to ask a question about this episode or a previous episode, please email us a written question or a voice memo question. We might feature it in a future episode. You can send it to thefutureofeverything at stanford.edu. All one word, thefutureofeverything. No spaces, no underscores, no dashes. Thefutureofeverything at stanford.edu. Thanks again for tuning in. We hope you're enjoying the podcast.
From the publisher
Computer scientist Keith Winstein is an expert in how computers communicate. Computer networks create what he calls shared fictions – abstract realities, like a website or a Zoom call, that exist only because the computers on either end agree to act as if they are real. Unfortunately, today’s networks lack a shared notion of a “computation,” which hurts market efficiency in cloud computing and frustrates efforts to hold tech companies accountable for the results of their algorithms. As computational power becomes concentrated in a smaller number of companies, Winstein advocates for a shared language of “computational truths,” defining computations precisely so results are reproducible and auditable. His research group hopes this will lead to greater transparency and accountability in the cloud and, ultimately, to greater confidence in the computations that companies do every day on our behalf. The truth matters, Winstein tells host Russ Altman on this episode of Stanford Engineering’s The Future of Everything podcast.
Have a question for Russ? Send it our way in writing or via voice memo, and it might be featured on an upcoming episode. Please introduce yourself, let us know where you're listening from, and share your question. You can send questions to thefutureofeverything@stanford.edu.
Episode Reference Links:
- Stanford Profile: Keith Winstein
Connect With Us:
- Episode Transcripts >>> The Future of Everything Website
- Connect with Russ >>> Threads / Bluesky / Mastodon
- Connect with School of Engineering >>> Twitter/X / Instagram / LinkedIn / Facebook
Chapters:
(00:00:00) Introduction
Russ Altman introduces guest Keith Winstein, a professor of computer science and electrical engineering at Stanford University
(00:02:56) Why Choose Networking
The appeal of the shared digital “fictions” created by connected computers.
(00:04:22) The Internet’s Impact
The broader societal implications of networking technologies.
(00:05:35) Computational Truth
The concept of tracking how data is produced and verified.
(00:09:18) Misaligned Cloud Computing
How “pay for effort” models create inefficiencies in cloud systems.
(00:13:51) Determining Computational Truth
The need for verifiable computation that produces consistent results.
(00:18:19) Computations & Accountability
How identifying computations could improve trust in systems.
(00:20:56) Collaborating Online
Why latency challenges make online performance collaboration difficult.
(00:24:38) Real-Time Performance Systems
Creating a custom system for musicians to perform together online.
(00:28:00) Latency vs. Bandwidth
Why faster internet speeds don’t necessarily reduce delay.
(00:30:43) Eliminating Latency
How buffering layers in software create unnecessary delay.
(00:32:41) Balancing Audio Quality & Delay
The different trade-offs for musicians, actors, and audiences.
(00:34:20) Rethinking Computer Science Education
The need to bring playfulness and interactivity back into learning.
(00:35:46) The Xylophone-Based Class
Teaching computation through real-time sound and music.
(00:38:34) Future In a Minute
Rapid-fire Q&A: optimism, truth in computing, and innovation.
(00:41:01) Conclusion
Connect With Us:
Episode Transcripts >>> The Future of Everything Website
Connect with Russ >>> Threads / Bluesky / Mastodon
Connect with School of Engineering >>>Twitter/X / Instagram / LinkedIn / Facebook
Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.




