Signals and Threads

Signals and Threads

Download on the App Store

Signals and Threads episodes

  • Learning Goals and the Goals of Learning: Teaching in the Age of AI with Aaron Bauer

    Aaron Bauer is a software engineer and one of Jane Street's few developer educators—a role that splits his time between writing code and teaching other people how to write it. Before joining the firm, he taught computer science at Carleton College, including four straight terms online during the pandemic. In this episode, Ron and Aaron discuss what it takes to teach engineering inside a company with its own language, its own version control, and its own editors, and what changes when an LLM can do the exercise for you. Along the way, they consider the underrated power of a live lecture; why the text editor is still the software engineer's home base; using editor telemetry to find out how AI is actually changing developer workflows; and how Jane Street rebuilt its intern curriculum around testing, design, and code review now that producing the code is the easy part.

    You can find the transcript for this episode on our website.

    Some links to topics that came up in the discussion:

    • Foldit and AlphaFold
    • Carleton College Computer Science
    • Flipped classroom, active learning, mastery learning, and cognitive load
    • "The Pen Is Mightier Than the Keyboard" — Mueller & Oppenheimer on handwritten vs. typed notes
    • Merlin and ocaml-lsp
    • ecaml — writing Emacs extensions in OCaml
    • Bonsai — Jane Street's OCaml web UI library
    • OxCaml
    • Claude Code output styles — the "learning" mode Aaron describes (note: Anthropic has since moved this to a plugin)
    • Jane Street's tech internship
    1 hr 37 min
  • Wrestling the world into rows with Eric Mannes

    "Alternative data" is Wall Street's name for information that comes from non-traditional sources: satellite photos of parking lots, credit card panels, weather forecasts. Eric Mannes has spent over a decade at Jane Street, first as a commodities trader and now helping lead the firm's alternative data team. In this episode, Eric and Ron talk about what it takes to turn messy external data into datasets a trading strategy can rely on. Along the way, they cover the day oil futures settled at a negative price and the systems that broke as a result; the years when the commodities desk's risk system was one very large Excel spreadsheet; the hard question of what a company even is; and why better ML models raise the value of careful data engineering.

    You can find the transcript for this episode on our website.

    Some links to topics that came up in the discussion:

    • Figgie
    • Adverse selection
    • 2020 Russia–Saudi Arabia oil price war
    • Dual-listed company
    • "LAMBDA: The ultimate Excel worksheet function"
    • Trino
    • The Bitter Lesson
    • Learn more about Jane Street’s internship program.
    • Apply for Data Engineering roles at Jane Street
    1 hr 25 min
  • Building a data warehouse from scratch with Jacob Baskin

    In university Jacob Baskin studied at the intersection of computer science and economics, thinking about systems that incentivize people to express their true preferences. He put those ideas into practice at Google, where he worked on ad serving, before joining Jane Street’s database infrastructure team. In this episode, Ron and Jacob discuss Superstore, a distributed columnar database now central to Jane Street’s tech stack that Jacob began building practically the day he started. How do you support wide-ranging analytical queries while transactional writes stream in at the speed of trading systems? And what’s it like when your first design doc leads to an eight-figure hardware purchase? After building Superstore Jacob has since gone back to his roots, thinking about schemes for bidding on compute time as he works to optimize usage of the Hive, Jane Street’s massive compute cluster for research.

    You can find the transcript for this episode on our website.

    Some links to topics that came up in the discussion:

    • Mechanism design, second-price auction
    • MapReduce, BigTable, Google File System
    • Vertica
    • Apache Parquet
    • CockroachDB
    • Paxos
    • BitTorrent
    • 1 hr 35 min
    • The Network as a Program with Nate Foster

      Nate Foster is a professor at EPFL in Switzerland in the Networked Systems Abstractions Lab, and a visiting researcher at Jane Street on the Networking team. In this episode, he and Ron consider what happens when you bring a software mindset to network engineering. Can you use programming language theory and formal methods to realize the dream of software-defined networks? Along the way, they discuss how hyperscalers have shaped networking hardware; the return (or not) of multicast; the ways ML workloads are reshaping the networking layer; and the success Jane Street has had using an early Internet protocol, BGP, together with a more declarative high-level specification language.

      You can find the transcript for this episode on our website.

      Some links to topics that came up in the discussion:

      • P4 (Programming language
      • Lenses (bidirectional transformation)
      • OpenFlow
      • Kleene algebra with tests
      • NetKAT
      • End-to-end principle
      • Border Gateway Protocol
      • “Stable Internet routing without Global Coordination,” aka the Gao-Rexford conditions
      • Unison file synchronizer
      • Barefoot Networks
      • 1 hr 35 min
      • Why Testing is Hard and How to Fix it with Will Wilson

        Will Wilson is the founder and CEO of Antithesis, which is trying to change how people test software. The idea is that you run your application inside a special hypervisor environment that intelligently (and deterministically) explores the program’s state space, allowing you to pinpoint and replay the events leading to crashes, bugs, and violations of invariants. In this episode, he and Ron take a broad view of testing, considering not just “the unreasonable effectiveness of example-based tests” but also property-based testing, fuzzing, chaos testing, type systems, and formal methods. How do you blend these techniques to find the subtle, show-stopper bugs that will otherwise wake you up at 3am? As Will has discovered, making testing less painful is actually a tour of some of computer science’s most vexing and interesting problems.

        You can find the transcript for this episode on our website.

        Some links to topics that came up in the discussion:

        • Antithesis, Will’s company
        • FoundationDB’s deterministic simulation framework
        • QuickCheck — the original Haskell property-based testing library, by Koen Claessen and John Hughes
        • Hypothesis — property-based testing for Python, created by David MacIver
        • QuviQ — John Hughes’ company commercializing QuickCheck, including automotive testing work
        • Netflix Chaos Monkey
        • Goodhart’s law — “When a measure becomes a target, it ceases to be a good measure”
        • CAP theorem — the impossibility result for distributed systems that FoundationDB claims to have in some sense violated.
        • Paxos — the consensus algorithm FoundationDB reimplemented from scratch
        • Large cardinals, an area Will studied before abandoning mathematics
        • Lyapunov exponent — measure of chaotic divergence
        • Chesterton’s fence
        • The Story of the Flash Fill Feature in Excel
        • Building a C compiler with a team of parallel Claudes
        • Barak Richman, “How Community Institutions Create Economic Advantage: Jewish Diamond Merchants in New York”
        • 1 hr 49 min
        • Why ML Needs a New Programming Language with Chris Lattner

          Chris Lattner is the creator of LLVM and led the development of the Swift language at Apple. With Mojo, he’s taking another big swing: How do you make the process of getting the full power out of modern GPUs productive and fun? In this episode, Ron and Chris discuss how to design a language that’s easy to use while still providing the level of control required to write state of the art kernels. A key idea is to ask programmers to fully reckon with the details of the hardware, but making that work manageable and shareable via a form of type-safe metaprogramming. The aim is to support both specialization to the computation in question as well as to the hardware platform. “Somebody has to do this work,” Chris says, “if we ever want to get to an ecosystem where one vendor doesn’t control everything.”

          You can find the transcript for this episode on our website.

          Some links to topics that came up in the discussion:

          • Democratizing AI compute (an 11-part series)
          • Modular AI
          • Mojo
          • MLIR
          • Swift
          1 hr 13 min
        • The Thermodynamics of Trading with Daniel Pontecorvo

          Daniel Pontecorvo runs the “physical engineering” team at Jane Street. This group blends architecture, mechanical engineering, electrical engineering, and construction management to build functional physical spaces. In this episode, Ron and Dan go deep on the challenge of heat exchange in a datacenter, especially in the face of increasingly dense power demands—and the analogous problem of keeping traders cool at their desks. Along the way they discuss the way ML is changing the physical constraints of computing; the benefits of having physical engineering expertise in-house; the importance of monitoring; and whether you really need Apollo-style CO2 scrubbers to ensure your office gets fresh air.

          You can find the transcript for this episode on our website.

          Some links to topics that came up in the discussion:

          • ASHRAE (American Society of Heating, Refrigerating and Air-Conditioning Engineers)
          • Some research on CO2’s effects on human performance, which motivated us to look into CO2 Scrubbers
          • The Open Compute Project
          • Rail-Optimized and Rail-only network topologies.
          • Immersion cooling, where you submerge a machine in a dielectric fluid!
          59 min
        • Building Tools for Traders with Ian Henry

          Ian Henry started his career at Warby Parker and Trello, building consumer apps for millions of users. Now he writes high-performance tools for a small set of experts on Jane Street’s options desk. In this episode, Ron and Ian explore what it’s like writing code at a company that has been “on its own parallel universe software adventure for the last twenty years.” Along the way, they go on a tour of Ian’s whimsical and sophisticated side projects—like Bauble, a playground for rendering trippy 3D shapes using signed distance functions—that have gone on to inform his work: writing typesafe frontend code for users who measure time in microseconds and prefer their UIs to be “six pixels high.”

          You can find the transcript for this episode on our website.

          Some links to topics that came up in the discussion:

          • Bauble studio
          • Janet for Mortals, by Ian Henry
          • What if writing tests was a joyful experience? 
          1 hr 20 min
        • Finding Signal in the Noise with In Young Cho

          In Young Cho thought she was going to be a doctor but fell into a trading internship at Jane Street. Now she helps lead the research group’s efforts in machine learning. In this episode, In Young and Ron touch on the porous boundaries between trading, research, and software engineering, which require different sensibilities but are often blended in a single person. They discuss the tension between flexible research tools and robust production systems; the challenges of ML in a low-data, high-noise environment subject to frequent regime changes; and the shift from simple linear models to deep neural networks.

          You can find the transcript for this episode on our website.

          1 hr
        • The Uncertain Art of Accelerating ML Models with Sylvain Gugger

          Sylvain Gugger is a former math teacher who fell into machine learning via a MOOC and became an expert in the low-level performance details of neural networks. He’s now on the ML infrastructure team at Jane Street, where he helps traders speed up their models. In this episode, Sylvain and Ron go deep on learning rate schedules; the subtle performance bugs PyTorch lets you write; how to keep a hungry GPU well-fed; and lots more, including the foremost importance of reproducibility in training runs. They also discuss some of the unique challenges of doing ML in the world of trading, like the unusual size and shape of market data and the need to do inference at shockingly low latencies.

          You can find the transcript for this episode  on our website.

          Some links to topics that came up in the discussion:

          • “Practical Deep Learning for Coders,” a FastAI MOOC by Jeremy Howard, and the book, of which Sylvain is a co-author.
          • The Stanford DAWNBench competition that Sylvain participated in.
          • HuggingFace, and the Accelerate library that Sylvain wrote there.
          • Some of the languages/systems for expression ML models that were discussed: PyTorch, TensorFlow, Jax, Mojo, and Triton
          • CUDA graphs and streams
          • Hogwild concurrency
          1 hr 7 min

        About Signals and Threads

        From the publisher's feed

        Listen in on Jane Street’s Ron Minsky as he has conversations with engineers who are working on everything from clock synchronization to reliable multicast, build systems to reconfigurable hardware.…

        More shows like Signals and Threads

        Top Traders Unplugged by Niels Kaastrup-Larsen

        Top Traders Unplugged

        589 Listeners

        Odd Lots by Bloomberg

        Odd Lots

        1,975 Listeners

        Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

        Software Engineering Radio - the podcast for professional software developers

        275 Listeners

        Conversations with Tyler by Mercatus Center at George Mason University

        Conversations with Tyler

        2,447 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        622 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        581 Listeners

        CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

        CoRecursive: Coding Stories

        188 Listeners

        Flirting with Models by Corey Hoffstein

        Flirting with Models

        229 Listeners

        Alpha Exchange by Dean Curnutt

        Alpha Exchange

        81 Listeners

        Dwarkesh Podcast by Dwarkesh Patel

        Dwarkesh Podcast

        554 Listeners

        Oxide and Friends by Oxide Computer Company

        Oxide and Friends

        66 Listeners

        Latent Space: The AI Engineer Podcast by Latent.Space

        Latent Space: The AI Engineer Podcast

        103 Listeners

        Money Stuff: The Podcast by Bloomberg

        Money Stuff: The Podcast

        403 Listeners

        Complex Systems with Patrick McKenzie (patio11) by Patrick McKenzie

        Complex Systems with Patrick McKenzie (patio11)

        143 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        74 Listeners