AI-assisted summary of reddit.com Interviews Peter Norvig — original source. Check the original for full context.
Source published:
Key ideas
- Machine learning with linear separators proved unexpectedly powerful by projecting complex datasets into higher-dimensional polynomial feature spaces, demonstrating that pushing simple representations can outperform overly complex models. (0:04)
- Programming language choice matters far less at scale than developer ability and social communication overhead, explaining why Google relies on C++ and mainstream languages rather than Lisp. (3:01)
- Google mitigates many-core hardware bottlenecks by treating entire data centers as the fundamental computational unit, using functional programming abstractions like MapReduce rather than manual thread-and-lock orchestration. (14:14)
- Research and production pipelines are integrated at Google because massive data sizes force researchers to build prototypes against production datacenter APIs from day one, avoiding the need to rewrite code from scratch. (24:13)
Detailed notes
## Background Published by Reddit on YouTube on February 25, 2010, this video features Peter Norvig responding to the top-voted questions submitted by the site's community. According to the video description, Norvig was serving as Google's Director of Research (formerly Director of Search Quality) and co-author of the landmark textbook Artificial Intelligence: A Modern Approach.
## TL;DR In this wide-ranging Q&A, Peter Norvig reflects on breakthroughs and stalled frontiers in artificial intelligence, contrasting the unexpected power of linear separators against the persistent challenges of inductive logic programming. He details Google's engineering philosophy, explaining why organizational communication and existing toolchains favored C++ over Lisp, and how distributed data center architectures necessitate declarative functional abstractions like MapReduce. Norvig also defends software engineering's track record against civil engineering benchmarks, demystifies AGI through an analogy to space flight components, and outlines how Google embeds researchers directly alongside production engineers. He wraps up the session with a playful lightning round covering books and frisbee before questioning whether Reddit's voting system truly surfaces what users want.
## Atmosphere & style The interview has an unpretentious, contemplative, and intellectually generous feel, anchored by Norvig's calm, measured cadence and dry humor. Rather than indulging in corporate polish or lofty theoretical hype, he demystifies complex topics with everyday analogies—comparing computers thinking to submarines swimming, or NASA's modular thruster research to artificial general intelligence. The exchange flows naturally between rigorous computer science discourse and self-effacing admissions about problem-solving limits, making the viewer feel like they are sitting in on an informal, candid office-hours discussion with a master practitioner.
## Bulletin - [00:04](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=4s) Machine learning with linear separators proved unexpectedly powerful by projecting complex datasets into higher-dimensional polynomial feature spaces, demonstrating that pushing simple representations can outperform overly complex models. - [03:01](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=181s) Programming language choice matters far less at scale than developer ability and social communication overhead, explaining why Google relies on C++ and mainstream languages rather than Lisp. - [14:14](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=854s) Google mitigates many-core hardware bottlenecks by treating entire data centers as the fundamental computational unit, using functional programming abstractions like MapReduce rather than manual thread-and-lock orchestration. - [24:13](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1453s) Research and production pipelines are integrated at Google because massive data sizes force researchers to build prototypes against production datacenter APIs from day one, avoiding the need to rewrite code from scratch.
## Key takeaways - [00:04](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=4s) Linear separators surpassed early expectations because mapping raw inputs into polynomial feature spaces enables simple linear models to isolate non-linear boundaries. - [01:41](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=101s) Inductive logic programming has stalled relative to statistical machine learning because learning arbitrary computer programs over expressive languages is far harder than estimating parameters for simple equations. - [03:01](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=181s) Lisp fell out of favor for large-scale enterprise development as modern languages reached feature parity and the engineering bottleneck shifted from rapid individual refactoring to coordinating cross-team communication among hundreds of developers. - [05:38](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=338s) Educational search requires an entirely different technical paradigm than transactional search engines, demanding continuous learning models that span semesters and tools to synthesize disparate materials into full courses. - [07:25](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=445s) The metaphysical debate between weak and strong AI is secondary to practical engineering; artificial general intelligence should be approached like space travel by mastering prerequisite modular components first. - [10:47](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=647s) Software engineering is fundamentally harder than civil engineering because bridge builders construct tailored solutions for single, pre-measured sites, while software engineers deploy single binaries to hundreds of millions of unpredictable, shifting runtime environments. - [14:14](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=854s) Managing parallel computation across massive data centers necessitates functional abstractions that express commutativity and associativity, rather than fragile thread locking. - [17:13](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1033s) The benefits of ingesting additional training data eventually asymptote, signaling engineers to either identify orthogonal types of data or fundamentally rethink their algorithmic architecture. - [18:25](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1105s) Google internal workplace satisfaction surveys revealed a paradox: an engineer's favorite perk is brilliant colleagues, yet their biggest daily frustration is being interrupted by colleagues asking questions. - [21:55](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1315s) Adopting checklists in software engineering, analogous to medical protocols described in 'The Checklist Manifesto,' can dramatically reduce routine errors and improve test discipline. - [24:13](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1453s) Google bridges the gap between research and production by having researchers write code directly against datacenter-scale APIs and embedding production engineers within research units to maintain live products like Google Translate and Speech Recognition. - [26:59](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1619s) Norvig questions whether basic upvoting and downvoting mechanisms on community platforms like Reddit cast an appropriate net or require updated algorithmic rules to deliver what users truly want.
## Detailed walkthrough ### [00:04](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=4s) Machine Learning: The Surprising Power of Linear Separators
Peter Norvig opens by greeting the Reddit community and expressing his appreciation for the extensive list of submitted questions. The first question, asked by user Khun John, inquires which field of artificial intelligence has most surpassed his expectations and surprised him. Norvig points directly to machine learning via linear separators, noting that years prior, researchers dismissed linear separation as an overly simplistic technique, only for it to prove remarkably potent.
Gesturing toward a board on set that the Reddit crew had scribbled on, Norvig illustrates what linear separators actually do in practice. When classifying data plotted on an $x$-$y$ axis into positive and negative examples—represented visually as X's and O's—the most straightforward method is to draw a straight line separating the two classes, placing all X's on one side and all O's on the other. While that approach initially seems too primitive for complex datasets where points are intermingled, Norvig explains the breakthrough insight: while an elliptical boundary cannot be drawn as a straight line in raw $x$ and $y$ coordinates, mapping the data into polynomial feature spaces (such as $x^2$, $x$, and $y^2$) transforms the problem, allowing linear separators to isolate non-linear boundaries. Summarizing the broader takeaway from this development, Peter Norvig observes: “And so that was surprising to me and I think that the overall lesson is if you keep with a simple representation and push it hard you can go farther than you thought.”
[01:41](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=101s) Disappointments and Inductive Logic Programming
Turning to the opposing perspective, a user asks what Norvig considers an AI failure or an area that should have progressed much further than it has. While hesitant to label any single endeavor an outright failure, Norvig points to inductive logic programming (ILP) as the area that has stalled the most. He notes a clear bibliographical indicator from his own work: when comparing the second and third editions of his textbook *Artificial Intelligence: A Modern Approach* (co-authored with Stuart Russell), the chapter on inductive logic programming remained the least changed.
Norvig explains the fundamental contrast between standard statistical machine learning and inductive logic programming: in linear separation, a function is modeled simply as $y = mx + b$, requiring the algorithm merely to estimate the parameters $m$ and $b$. In inductive logic programming, however, $y$ is treated as an arbitrary function of $x$ that can be represented by any full computer program written in an expressive programming language. Formulating representations this broad has proven extremely difficult to automate. He jokes that this difficulty might be comforting to professional software engineers because it proves their work is hard for machines to learn automatically. Nonetheless, Norvig maintains that inductive logic programming remains an essential field that deserves renewed effort, emphasizing: “The simple representation seems to have done better but I think it's important field and I think we should be doing more with it it definitely has been some advances in recent years and I've been trying to follow that but that's something we should push harder.”
[03:01](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=181s) Why Google Doesn't Extensively Use Lisp
Users cerebrum and alexandros ask why Lisp—a language Norvig famously championed—is not used extensively at Google. Norvig frames the issue primarily around developer productivity, engineering culture, and corporate inertia. When Google was founded, the earliest core engineers were already deeply proficient in C++, were exceptionally productive in it, and built an engineering culture around that momentum.
To illustrate why language dogmatism can be misleading, Norvig cites the experience of Erann Gat, an early Googler who had previously been a dedicated Lisp programmer at NASA's Jet Propulsion Laboratory (JPL). Gat had consistently outperformed colleagues at JPL and credited his edge to Lisp; however, upon joining Google, Gat was stunned to discover C++ programmers who were significantly more productive than he was, eventually concluding that raw developer capability often matters far more than language choice. Norvig adds several reasons why the programming landscape has shifted: - **Feature parity**: Twenty years prior, mainstream programming languages were relatively impoverished compared to Lisp, but modern languages have largely absorbed its most compelling features. - **Team scale and social communication**: Lisp excels when an individual or small team conducts exploratory development or executes a weekend refactoring. Once an organization scales to hundreds or thousands of engineers, the bottleneck is no longer how quickly a programmer can alter code, but the social challenge of communicating cross-cutting changes across the organization. - **Ecosystem and libraries**: Lisp developed web protocol implementations and external libraries far more slowly than rival languages, naturally pulling developers toward richer ecosystems.
Reflecting on language decisions across large organizations, Peter Norvig argues: “I think we're getting to a point where language choice is less important 20 years ago I think it was more important because they were languages we're more were impoverished and list pet quite an advantage now the features are tending to even out and I guess the other aspect is I think Lisp is really optimized for optimized for a small group a single program or a small group of programmers doing exploratory work and that's great and if you want to refactor something in a weekend I'd rather be doing it in lisp than anything else but by the time you get up to hundreds of programmers the problem of doing a complete refactor ization is not so much that the language is stopping you from making the changes the problems are more social of how do you communicate with the other 100 or 200 or 2000 programmers and say I want to make this change does that change affect you and so again a kind of language choice becomes less important.”
[05:38](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=338s) Current Personal Projects and Daily Life at Google
Responding to a question from lizard regarding his active projects and a typical workday as Google's Director of Research, Norvig describes his personal technical focus: search and discovery systems for educational materials. Having recently wrapped up the latest edition of his textbook, he has become fascinated by how search technology can improve education across multiple domains, including university courses, K-12 schooling, and informal self-directed learning for makers and hobbyists.
Norvig emphasizes that educational search demands an entirely different paradigm from standard search engine mechanics. Instead of resolving isolated, episodic queries where a user seeks a fast, transactional answer, education requires models that support continuous learning spanning entire semesters, months, or years. His work explores finding disparate pedagogical assets across the web, building organizational tools so authors and educators can aggregate those resources into cohesive courses, and adapting search interactions to protracted educational journeys. Regarding his daily routine, Norvig explains that his time is divided between hands-on work on this educational project, attending reviews with research teams he oversees to connect complementary efforts, and clearing an endless stream of email.
```mermaid flowchart TD accTitle: Educational Search Framework accDescr: Pipeline showing how disparate educational materials are found, structured, and delivered over extended timeframes.
subgraph Discovery["1. Discovery & Content Ingestion"] A["Raw Web Educational Content\n(College, K-12, Hobbyist/Maker)"] B["Discovery & Search Algorithms"] A --> B end
subgraph Structuring["2. Course Composition Tools"] C["Curator / Teacher Tooling"] D["Integrated Course Modules"] B --> C C --> D end
subgraph Experience["3. Long-Term Engagement Model"] E["Semester-Long Learning Journeys\n(Extended Multi-Month Search)"] D --> E end ```
[07:25](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=445s) Strong AI, General Intelligence, and the Space Travel Analogy
In response to crypto_z's inquiry about whether Google is working on "strong AI," Norvig clarifies what the terminology historically meant versus how it is used today. Philosopher John Searle (whom Norvig encountered at UC Berkeley) originally framed the distinction: weak AI refers to machines that merely act or appear intelligent, conscious, or thinking, whereas strong AI asserts that the machine actually possesses genuine consciousness and understanding. Norvig dismisses that philosophical debate as irrelevant to practical engineering, quoting computer scientist Edsger Dijkstra's famous dictum that asking whether a computer can think is like asking whether a submarine can swim. Just as a naval engineer cares only that a submarine maneuvers through water, an AI practitioner cares about functionality rather than metaphysical validation.
Norvig notes that the community has since repurposed "strong AI" to denote Artificial General Intelligence (AGI)—the capacity to solve any general intellectual task at human level, rather than narrow tasks like playing chess or recognizing faces in photographs. While Norvig finds AGI research valuable, he argues the field still lacks the foundational understanding required to achieve it directly. To illustrate the state of the discipline, he draws an analogy to space exploration: asking whether an organization is building general AI is like asking whether NASA is working on interplanetary travel. While NASA has no immediate interplanetary expeditions launched, it actively builds the prerequisite modular components, such as ion thrusters and solar sails. Norvig states that AI is in the exact same phase: researchers must focus on mastering the underlying building blocks before anyone can meaningfully assemble them into a complete general intelligence.
[10:00](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=600s) Tackling Difficult Programming Problems
Addressing a question from p_estrada on how he approaches challenging software engineering problems, Norvig gives a candid, self-deprecating response: “How do you approach a difficult programming problem and the answer is I don't know yeah you just go ahead and do it and hope that you get the answer.”
He explains that problem solving relies on a flexible repertoire of heuristics rather than a rigid formula: - **Prior art**: Investigating whether a similar problem has already been solved by someone else or encountered in his own past work. - **Decomposition and simplification**: Isolating a smaller, simpler piece of the problem, solving it first, and using the resulting insights to tackle the larger challenge. - **Generalization**: Paradoxically attempting an even harder, generalized version of the problem to see if proving properties about the general case reveals an attack vector for the specific instance. - **Collaboration**: Brainstorming with peers to gather alternative perspectives and technical ideas.
[10:47](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=647s) Problem-Solving Heuristics and Why Software Engineering Is Harder Than Bridge Building
Peter Norvig wraps up his thoughts on problem-solving strategies when developers hit a wall. He notes that when you are stuck, there are several viable maneuvers: you can gather more data to simplify the problem or make it vanish entirely, finesse the situation by delegating, or build a social community to handle the portions you cannot accomplish alone. He reflects that many of these mindset-shifting tactics mirror George Pólya's classic book *How to Solve It*—which, although written about mathematics rather than programming, directly tackles what to do to jog your mind and explore an entirely new angle when stuck. He concedes that the industry still lacks a definitive answer for the single best way to achieve that breakthrough.
Turning to a question submitted by Reddit user "obsessed with ammas" asking why the industry remains so bad at software development, Norvig politely pushes back against the premise. In his view, software developers are actually quite skilled, but the underlying challenge is uniquely difficult. Evaluating success requires choosing a benchmark; people often draw comparisons to civil engineering and point out that bridges rarely collapse while software programs crash constantly. Norvig explains that bridge builders operate under far simpler customized constraints: they construct a single bridge in one physical location, measuring the exact water current, wind speeds, and subterranean soil dynamics beforehand. By contrast, a software engineer creates a single system and distributes it to a hundred million users across completely unseen, varying runtime environments.
In real-world deployment, software faces conflicting DLLs or silently breaks years down the road when an external networking standard evolves. Norvig maintains that no other discipline handles that scale of variability better because they tackle simpler, isolated domains. If software could match civil engineering reliability, it would need the proactive adaptability of an on-site engineer: the software would assess its deployment environment, identify shifting conditions or delicate local interactions, and autonomously reconfigure itself to eliminate the friction without demanding individualized human tailoring.
As Norvig sums up the comparison: > “I think we're actually pretty good at software development and I think it's just really hard so to know if we're good or bad you have to compare it to something and you know one thing we commonly gets compared to civil engineering and bridges don't fall down that often but they sometimes do programs seem to crash a lot more than bridges do but but if you look at the relative efforts and the customization then the bridge designers have it a lot easier because they're building one bridge at a time in a specific place and they know exactly how much current is going by and how much wind and what the soil is like underneath and so on and they build that one solution whereas software engineers we build a solution and then we ship it to a hundred million people and they're all in slightly different environments that we don't get to look at ahead of time…”
```mermaid flowchart TD accTitle: Comparison of Engineering Disciplines accDescr: Civil engineering solves a bespoke problem for a single known site, whereas software engineering distributes a single binary to 100 million unknown environments.
subgraph CivilEng["Civil Engineering Model"] CE_Site["Specific Site Assessment<br/>(Wind, Current, Soil)"] --> CE_Build["Bespoke Single Solution"] CE_Build --> CE_Result["High Reliability at Single Site"] end
subgraph SoftwareEng["Software Engineering Model"] SE_Build["Single Static Solution"] --> SE_Deploy["Deploy to 100M+ Users"] SE_Deploy --> SE_Issues["Diverse Runtime Contexts<br/>(DLL Conflicts, Network Shifts)"] SE_Issues --> SE_Goal["Ideal Future State:<br/>Proactive Self-Reconfiguration"] end ```
[14:14](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=854s) Scaling Beyond Many-Core: From Data Centers to Functional Abstractions
User "run time" asks how programming languages will adapt to many-core processors and whether existing paradigms—such as manual thread locking, Software Transactional Memory (STM), pure functional programming, the actor model, or SIMD GPU parallelism—will scale to meet the challenge. Norvig responds by shifting the framing entirely. For engineers working at Google's scale, multi-core chips do not represent the primary architectural crisis because the foundational computational unit is already an entire data center housing thousands of machines. Whether an individual motherboard holds a single CPU core, 8 cores, or 128 cores does not fundamentally alter the complexity envelope; the system must already be distributed and parallel across a massive fleet.
While physical distance matters at every tier—a local cache miss, a jump to an adjacent core on the same die, crossing to another board on the rack, or traversing network switches to reach a different rack altogether—Norvig treats them as instances of the same overarching challenge governed by different latency constants. Because manual thread and lock orchestration collapses when coordinating computations across hundreds of thousands of parallel workers, the solution points back toward functional programming paradigms built around high-level abstractions.
Norvig points to Google's MapReduce framework as a prime example of this philosophy. When Google originally introduced MapReduce, the team viewed it as merely the first among perhaps a dozen functional primitives designed to split problems into distributed chunks and assemble the results back together. Although MapReduce proved surprisingly versatile and succeeded far beyond initial internal expectations, Norvig argues it is time for the field to develop the remaining abstractions. Developers need declarative constructs that capture the commutativity and associativity of problems, giving the execution runtime the semantic clarity needed to partition and recombine workloads efficiently across massive clusters.
Addressing the scaling limit of traditional multithreading, Norvig remarks: > “And certainly if you're thinking at the level of the thousands or hundreds of thousands of parallel computations then probably this manual keeping track of threads with locks is not going to scale very well so what we really need is closer to the functional type approach something where we have the right abstractions to make this all work…”
- **Google MapReduce expectation vs. reality:** The engineering team initially assumed MapReduce would be one of roughly a dozen parallel patterns; it ended up carrying far more computational weight across Google than originally anticipated. - **Latency hierarchy:** System design must factor in cache misses, intra-board core hops, inter-board rack hops, and multi-switch inter-rack hops as varying distance constants within the same parallel model. - **Declarative algebra:** The next generation of distributed primitives must express commutativity and associativity so runtimes can automate splitting and recombining data pipelines. - **Domain limitation:** The MapReduce approach excels for web-scale workloads running identical transformations across vast data sets before summarizing; other computation domains will necessitate alternative core abstractions.
[17:13](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1033s) Diminishing Returns on Big Data vs. Smarter Algorithms
Reddit user "Khafre" asks about Google's famous philosophy prioritizing vast data over algorithmic complexity: is there an observable point of diminishing returns where accumulating additional data stops helping, making it worthwhile to focus once again on engineering clever algorithms, and how does one detect that tipping point?
Norvig notes that diagnosing this limit is straightforward in practice: you simply plot system performance against the volume of training data collected. Initially, ingesting more data drives steep performance gains. Eventually, the learning curve asymptotes into a flat plateau. Once performance flattens out, continuing to feed the exact same kind of data yields negligible benefits while adding unnecessary processing overhead that slows the pipeline down.
When that asymptote arrives, an engineer faces two distinct choices: 1. Search for new, orthogonal types of data that the system currently lacks—which Norvig notes is functionally equivalent to inventing a new algorithmic representation. 2. Step back and question the fundamental premises of the model to determine whether a radically different algorithmic architecture is required to break through the ceiling.
Regarding the moment data stops driving progress, Norvig observes: > “And at some point it begins to asymptote out and then you say well probably I don't want any more of the same kind of data it's just starting to slow me down and not gaining me much…”
[18:25](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1105s) Engineering Environments: Hardware, Cubicles, and Team Dynamics
User "gesharm" asks what Google’s internal research reveals about creating an ideal programming work environment: whether open cubicles match closed private offices, whether an ultraportable 10-inch netbook can rival a high-end multi-core Mac Pro driving triple 30-inch displays in the hands of an experienced developer, and whether tech firms should invest more heavily in elite physical working conditions and top-tier equipment.
Norvig finds the topic critical and expresses personal enthusiasm for running empirical, in-house studies on developer environments, noting that tech companies now employ enough engineers to gather robust data. He laments that computer science has historically conducted far too few scientific studies evaluating workplace productivity, leaving companies to rely on subjective employee preferences instead of rigorous evidence. While external research does suggest that expansive screen real estate boosts developer productivity, Norvig jokingly questions whether those findings might have been sponsored by monitor manufacturers, adding that he prefers seeing independent replications before treating them as definitive truth.
On office layouts, Norvig observes that traditional workplaces usually end up with a mix of cubicles and offices, but Google framed the problem through the lens of team sizing. While companies like Microsoft historically gave every engineer a private closed office prioritizing deep, solitary concentration, Google deliberately prioritized communication by grouping whole engineering pods of two, three, or four people into shared rooms. The goal is that ambient overhearing keeps every developer plugged into relevant technical discussions without feeling like a jarring interruption.
Norvig recounts an internal annual Google satisfaction survey that polled employees on everything from cafeteria food quality and ergonomic chairs to compiler build speeds. The resulting data revealed a humorous human paradox: the single highest-rated perk across the entire company was the brilliant quality of one's colleagues, while the single most aggravating daily annoyance was being interrupted by a colleague asking a question.
Reflecting on the contradictory desires of software engineers, Norvig quips: > “So we've determined that the perfect place is one where I can ask a question of anybody else but nobody can ask a question of me but we haven't quite figured out how to implement that yet…”
In lieu of an impossible physical layout that satisfies that contradiction, Norvig notes that teams rely on pragmatic social protocols—such as putting on headphones—to clearly signal to nearby teammates when someone needs unbroken focus and quiet.
[21:27](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1287s) Office Privacy, Headphones, and Workspace Tradeoffs
Discussing how engineers balance collaboration and concentration in open office setups, Peter Norvig observes that workers have adapted practical coping mechanisms. People put on headphones when they want to signal that they should not be interrupted, or they pick up their laptops and walk off to a private area when they need secluded focus. Similarly, when two colleagues want an in-depth one-on-one conversation, they simply grab each other and go sit somewhere else. Despite these informal adaptations, Norvig highlights that workplace dynamics remain unresolved: “I think we need a lot more research to know how you trade these things off.”
---
[21:55](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1315s) The "Human Check" Lightning Round: Reading, Frisbee, and Google Wave
The interviewer shifts to a rapid-fire series of Reddit questions presented playfully as a "human check" to confirm Norvig is an actual person and not an artificial intelligence bot. The first question asks whether he still plays frisbee golf and what his typical score is. Norvig admits that while he used to compete seriously, he sadly no longer plays competitively, though he still enjoys going out into the backyard to throw discs around.
```mermaid flowchart TD accTitle: Peter Norvig Reading and Software Development Parallels accDescr: Flowchart illustrating how Atul Gawande's surgical checklist concepts inform software testing and engineering practices. subgraph Medicine["Medical Example (The Checklist Manifesto)"] M1["Doctors forget basic hand-washing"] --> M2["Introduce simple surgical checklists"] M2 --> M3["Infection rates drop dramatically"] end subgraph Software["Application to Software Engineering"] S1["Complex development environments"] --> S2["Implement structured checklists & tests"] S2 --> S3["Reduce bugs and improve release reliability"] end Medicine -.->|"Informs"| Software ```
Asked what magazines and books he reads, Norvig jokes that the prescribed answer is usually "all of them," before explaining that he primarily gravitates toward nonfiction and science periodicals like *Science*, *Science News*, *Discover*, and *New Scientist*. His most recent book at the time was *The Checklist Manifesto* by Atul Gawande, which investigates how implementing straightforward surgical checklists prevents post-operative infections simply by reminding doctors to wash their hands. Norvig reflects on how that idea applies to writing code: “And so it's interesting to sort of apply that are there simple things we can do in software development where we can learn from that and for the most part I think we do a good job we're probably better at doing tests than most people but that's something to look at.”
Turning to current technology, Norvig is asked if he has discovered a good use for Google Wave. He notes that while he has experimented with it, its biggest current friction is that not enough people are on it yet to make widespread communication seamless. However, he sees a major silver lining in adopting new platforms: “I think one of the killer apps for Google Wave is to discard all the legacy mailing lists that you're on that are no good anymore so anytime you move to a new platform you could just throw away all the old stuff and start over again so I think that's great and it's exciting to move to something new.”
To round out the rapid verification questions, Norvig confirms that ultimate frisbee remains his all-time favorite game, even if he cannot play as frequently as in the past, and answers the final mood check with a cheerful, “I feel good.”
- **Recent reading:** Atul Gawande's *The Checklist Manifesto*; regular reading includes *Science*, *Science News*, *Discover*, and *New Scientist*. - **Google Wave utility:** Acts as a fresh slate to prune outdated, cluttered legacy email threads and distribution lists. - **Favorite sport/game:** Ultimate Frisbee.
---
[24:13](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1453s) Bridging the Gap: Research and Production Code at Google
Addressing a question from user "no_theory" about how research projects transition into live production code, Norvig explains that Google approaches research very differently from traditional corporations that enforce strict walls between researchers and software engineers. Despite having grown massively, Google retains the operational culture of a startup. Rather than segregating PhDs into an isolated corporate laboratory building, researchers and engineers work side by side, pitching in on whatever tasks need to be completed without jurisdictional friction.
A critical factor that prevents research from languishing on a shelf is the scale of Google's data infrastructure. In academia or conventional research labs, an investigator typically hacks together a prototype on a personal laptop, resulting in code that must be completely discarded and rewritten from scratch before it can handle production loads. At Google, researchers cannot use that workflow because the datasets simply do not fit on a single machine:
> “At Google part of the point of being here is that there is all this data available and in order to take advantage of it you can't load it onto your laptop it wouldn't fit so right from the start the researchers are writing code that use our main APIs that are using the data that everybody else uses if you want some web pages you use the full copy of the web if you want some link data you use the full link graph and so on and you use it in the data centers and so that makes it a lot easier to go from there to launch something.”
Even though a research prototype might initially run ten times too slowly to be deployed and demands significant re-engineering to reach production speed, building against the real APIs and datacenter backends ensures it is already substantially closer to launch.
```mermaid flowchart LR accTitle: Research to Production Pipeline at Google accDescr: Pipeline showing how Google researchers build on live cluster infrastructure and retain production ownership within the research team. subgraph Traditional["Traditional Lab Model"] T1["Prototype on Laptop"] --> T2["Hand off to Eng"] T2 --> T3["Complete Rewrite from Scratch"] end subgraph Google["Google Startup Model"] G1["Code against Main APIs & Full Web Graph"] --> G2["Re-engineer Prototype for Speed in Data Centers"] G2 --> G3["Integrate Production Engineers directly into Research"] G3 --> G4["Maintain Live System while Building Next-Gen"] end ```
Furthermore, Norvig highlights that Google often retains whole production systems within the research organization itself rather than handing them off to an external engineering team. Both Speech Recognition and Google Translate originated as research initiatives and remained inside the research division after launch. To support this model, Google embeds production engineers directly within the research teams. This prevents splitting the team into two disconnected factions—one maintaining the current live system while the other designs the next generation—allowing them to simultaneously keep the production service operational and build future capabilities together.
---
[26:59](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=1619s) Turning the Question Back on Reddit's Community
As the interview concludes, Norvig takes the opportunity to flip the dynamic and pose a question back to the Reddit community itself. He asks whether the site's fundamental upvoting and downvoting mechanism is truly delivering what the community hopes to achieve:
> “As a community do you feel that Reddit is getting what you want so is this experiment of saying we're just going to vote things up is this finding what you want is it getting you the things that are appropriate for you is it casting a net that's wide enough or too wide and if not is there a way to change the rules to make it better?”
## Notable quotes > [00:04](https://www.youtube.com/watch?v=hE7k0_9k0VA&t=4s) I think that the overall lesson is if you keep with a simple representation and push it hard you can go farther than you thought. — Peter Norvig
## Mentioned Peter Norvig, Stuart Russell, Artificial Intelligence: A Modern Approach, Erann Gat, John Searle, Edsger Dijkstra, George Pólya, Atul Gawande, The Checklist Manifesto, Google, Reddit, NASA, Jet Propulsion Laboratory (JPL), Microsoft, MapReduce, Google Wave, Google Translate, Speech Recognition, Lisp, C++
## Video description Peter Norvig answers the top questions from reddit.com.
See questions: http://bit.ly/9Hb3A5
Peter Norvig is currently the Director of Research (formerly Director of Search Quality) at Google. He is also the author with Stuart Russell of Artificial Intelligence: A Modern Approach - 3rd Edition.
Opening music taken from "Plume" by Silence http://www.jamendo.com/en/artist/silence
Creative Commons License Attribution-Noncommercial 3.0 United States
[Source](https://www.youtube.com/watch?v=hE7k0_9k0VA)