newsfilter.io
Interview, Fireside Chat

Brendan Eich: JavaScript, Firefox, Mozilla, and Brave | Lex Fridman Podcast #160

  • On Theory vs. Execution: Eich posits that while good ideas are abundant, good execution is rare and essential; success requires a mix of good timing, a good idea, and execution, which he views more as an art than a science.
  • On Physics and Modeling: Eich argues that modern physics and economics have erred by prioritizing elegant models over experimental reality, suggesting a need to "do experiments" rather than rely on untestable inductive theories.
  • On JavaScript's Origin: JavaScript was created in April 1995 at Netscape in a 10-day sprint by Eich, who was originally recruited to implement Scheme in the browser but pivoted due to a strategic partnership with Sun Microsystems.
  • Strategic Pivot to "JavaScript": The language's name was a marketing decision ("JavaScript") to leverage Java's popularity, despite Eich's preference for "Mocha," serving as a "sidekick" language to glue components written in compiled Java.
  • Design Philosophy: The language was designed with first-class functions and a single-threaded event loop to accommodate the browser environment, prioritizing developer adoption over theoretical purity.
  • Sloppy Equality Operator: Eich regrets the decision to implement implicit type coercion in the == operator to please early adopters, a design choice that broke the equivalence relation and created long-standing technical debt.
  • Memory Management Evolution: Initial versions lacked garbage collection, relying on reference counting which introduced memory safety vulnerabilities; this was subsequently fixed in the shipped release of Netscape 2.0.
  • The "Worse is Better" Principle: Eich asserts that JavaScript's survival is attributed to the "Worse is Better" philosophy, where rapid deployment and getting market distribution (first-mover advantage) outweighed architectural perfection.
  • Browser Wars and Distribution: Internet Explorer's dominance was driven primarily by Microsoft's monopoly distribution through Windows bundling rather than technical superiority, a tactic Eich describes as "distribution matters more than anything."
  • Mozilla's Genesis: Following Netscape's acquisition by AOL and its subsequent decline, the open-source "Mozilla" project was launched in 1998 to create a "greenfield" browser engine, eventually evolving into Firefox in 2004.
  • Firefox vs. Chrome: Firefox peaked in 2011 but subsequently lost market share to Google Chrome, which leveraged process isolation for tabs and the V8 JavaScript engine to achieve superior performance and security.
  • On HTML5 and Flash: Steve Jobs' decision to exclude Flash from the iPhone accelerated the transition to HTML5, which eventually replaced Flash as the standard for rich web content, though JavaScript remained the core execution language.
  • Performance Evolution: JavaScript engine performance was revolutionized by Just-In-Time (JIT) compilation techniques, tracing JITs (TraceMonkey), and later Asm.js, which allowed low-level C++ code to run efficiently in the browser.
  • WebAssembly: Asm.js served as a precursor to WebAssembly (2015), a binary format that allows compiled languages like C++ and Rust to run near-native speed in browsers, replacing the need for plugins like Flash or Java.
  • Privacy and Tracking: Eich identifies the original implementation of HTTP cookies and third-party scripts as accidental tracking mechanisms that evolved into a dominant, opaque surveillance economy.
  • Brave Browser Principles: Brave was founded to block third-party tracking and ads by default, using local machine learning to filter content while preserving user privacy.
  • Basic Attention Token (BAT): Brave introduced a new ad model where advertisers pay directly to the browser; the system distributes 70% of gross ad revenue to users and a portion to content creators, bypassing traditional ad-tech intermediaries who typically take 70% of revenue.
  • Local Machine Learning: Brave's ad-matching system performs machine learning (e.g., Naive Bayes, SVMs) locally within the user's browser to select ads from a daily catalog without sharing personal browsing history with advertisers.
  • Regulatory Challenges: The BAT model faces regulatory hurdles from FinCEN and OFAC regarding money laundering and Know Your Customer (KYC) requirements, which currently complicate direct peer-to-peer revenue splits without identity verification.
  • Social Network Ownership: Eich envisions a future where the browser could act as a unified interface for social graphs, allowing users to own their friend lists and content relationships across different platforms, mitigating platform censorship.
  • Oligarchy and Antitrust: Eich views the current tech landscape as an oligarchy that requires active counter-force, citing the Wall Street Bets event and antitrust lawsuits as necessary checks on centralized corporate power.
  • Silicon Valley Migration: Eich attributes the exodus from Silicon Valley to high taxes, housing costs, corruption, and wildfires, predicting a shift toward distributed work and the emergence of new innovation hubs in lower-cost locations.
  • Legacy: Eich identifies JavaScript, web standards, and the philosophy of the "stubborn minority" (lead users) driving market change as his primary legacy, emphasizing that small groups can overturn entrenched monopolies.