Skip to content
HomeVideosBooksBlogsPodcasts
EpisodesShowsTopics

HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Artwork for Software Engineering Radio - the podcast for professional software developers

    Software Engineering Radio - the podcast for professional software developers

    team@se-radio.net (SE-Radio Team)

    Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. SE Radio covers all topics software engineering. Episodes are either tutorials on a specific topic, or an interview with a well-known character from the software engineering world. All SE Radio episodes are original content — we do not record…

    RSSWebsite

    Episodes HN recommended

    • SE Radio 570: Stanisław Barzowski on the jsonnet Language

      Jun 27, 2023 • 39 min
    • SE Radio 563: David Cramer on Error Tracking

      May 10, 2023 • 1 h 14 min
    • SE Radio 562: Bastian Gruber on Rust Web Development

      May 3, 2023 • 1 h 08 min
    • SE Radio 559: Ross Anderson on Software Obsolescence

      Apr 12, 2023 • 58 min
    • SE Radio 533: Eddie Aftandilian on GitHub Copilot

      Oct 11, 2022 • 44 min
    • SE Radio 520: John Ousterhout on A Philosophy of Software Design

      Jul 12, 2022 • 1 h 05 min
    • SE Radio 511: Ant Wilson on Supabase (Postgres as a Service)

      May 10, 2022 • 54 min
    • SE Radio 486: Bob Nystrom on Dart

      Nov 17, 2021 • 1 h 02 min
    • SE Radio 483: Alexander Pugh on Robotic Process Automation

      Oct 27, 2021 • 1 h 08 min
    • SE Radio 469: Dhruba Borthakur on Embedding Real-time Analytics in Applications

      Jul 22, 2021 • 1 h 11 min
    • SE Radio 462: Felienne on the Programmers Brain

      Jun 2, 2021 • 1 h 10 min
    • SE Radio 460: Evan Weaver on FaunaDB

      May 18, 2021 • 57 min
    • SE Radio 452: Scott Hanselman on .NET

      Mar 23, 2021 • 55 min
    • SE Radio 447: Michael Perry on Immutable Architecture

      Feb 18, 2021 • 59 min
    • SE Radio 442: Arin Bhowmick on UX Design for Enterprise Applications

      Jan 14, 2021 • 1 h 03 min
    • Episode 437: Tim Sneath on the Architecture of Flutter

      Dec 8, 2020 • 1 h 14 min
    • Episode 418: Vladimir Khorikov on Functional Programming in Enterprise Applications

      Jul 22, 2020 • 1 h 07 min
    • 416: Adam Shostack on Threat Modeling

      Jul 9, 2020 • 1 h 18 min
    • Episode 413: Spencer Kimball on CockroachDB

      Jun 16, 2020 • 55 min
    • Episode 412: Sam Gavis Hughson on Technical Interviews

      Jun 9, 2020 • 1 h 02 min
    • Episode 410: Sara Leen on Localizing and Porting Japanese Games

      May 19, 2020 • 1 h 12 min
    • Episode 402: Rich Harris on the Svelte JavaScript Framework

      Mar 12, 2020 • 57 min
    • Episode 392: Stephen Wolfram on Mathematica

      Dec 13, 2019 • 1 h 02 min
    • Episode 389: Ryan Singer on Basecamp's Software Development Process

      Nov 18, 2019 • 1 h 08 min
    • Episode 388: Bob Kepford on Decoupled Content Management Systems

      Nov 12, 2019 • 50 min
    • Episode 384: Boris Cherny on TypeScript

      Oct 16, 2019 • 50 min
    • Episode 376: Justin Richer On API Security with OAuth 2

      Aug 13, 2019 • 1 h 14 min
    • 365: Thorsten Ball on Building an Interpreter

      May 7, 2019 • 1 h 04 min
    • SE Radio 354: Avi Kivity on ScyllaDB.mp3

      Feb 1, 2019 • 1 h 01 min
    • SE Radio 346: Stephan Ewen on Streaming Architecture

      Nov 14, 2018 • 1 h 03 min
    • SE Radio 324: Marc Hoffmann on Code Test Coverage Analysis and Tools

      May 21, 2018 • 51 min
    • SE Radio 315: Jeroen Janssens on Tools for Data Science

      Jan 23, 2018 • 53 min
    • SE Radio 313: Conor Delanbanque on Hiring and Retaining DevOps

      Dec 18, 2017 • 1 h 13 min
    • SE Radio 306: Ron Lichty on Managing Programmers

      Oct 16, 2017 • 1 h 02 min
    • SE Radio 298: Moshe Vardi on P versus NP

      Jul 25, 2017 • 51 min
    • SE Radio 295: Michael Feathers on Legacy Code

      Jun 27, 2017 • 58 min
    • SE Radio 285: James Cowling on Dropbox's Distributed Storage System

      Mar 14, 2017 • 46 min
    • SE Radio 278: Peter Hilton on Naming

      Dec 20, 2016 • 49 min
    • SE Radio 276: Björn Rabenstein on Site Reliability Engineering

      Dec 6, 2016 • 57 min
    • SE Radio 275: Josh Doody on Salary Negotiation for Software Engineers

      Nov 22, 2016 • 1 h 05 min
    • SE Radio 261: David Heinemeier-Hansson on the State of Rails Monoliths and More

      Jun 28, 2016 • 1 h 03 min
    • SE Radio 260: Haoyuan Li on Alluxio

      Jun 14, 2016 • 44 min
    • SE Radio 254: Mike Barker on the LMAX Architecture

      Apr 11, 2016 • 1 h 00 min
    • SE Radio 253: Fred George on Developer Anarchy

      Mar 23, 2016 • 56 min
    • SE Radio 250: Jürgen Laartz and Alexander Budzier on Why Large IT Projects Fail

      Feb 22, 2016 • 43 min
    • SE Radio 246: John Wilkes on Borg and Kubernetes

      Jan 7, 2016 • 57 min
    • SE Radio 243: RethinkDB with Slava Akhmechet

      Nov 20, 2015 • 57 min
    • SE Radio 241: Kyle Kingsbury on Consensus in Distributed Systems

      Nov 3, 2015 • 1 h 01 min
    • SE Radio 230: Shubhra Khar on NodeJS

      Jun 26, 2015 • 57 min
    • SE Radio 227: Eric Brewer: The CAP Theorem Then and Now

      May 27, 2015 • 46 min
    • SE Radio 225: Brendan Gregg on Systems Performance

      Apr 14, 2015 • 1 h 01 min
    • SE Radio 224: Sven Johann and Eberhard Wolff on Technical Debt

      Mar 31, 2015 • 57 min
    • SE Radio 221: Jez Humble on Continuous Delivery

      Feb 24, 2015 • 1 h 06 min
    • SE Radio 219: Apache Kafka with Jun Rao

      Feb 9, 2015 • 1 h 03 min
    • SE Radio 217: James Turnbull on Docker

      Jan 7, 2015 • 1 h 02 min
    • SE Radio 216: Adrian Cockcroft on the Modern Cloud-based Platform

      Dec 9, 2014 • 1 h 09 min
    • SE Radio 214: Grant Ingersoll on his book, Taming Text

      Nov 11, 2014 • 1 h 04 min
    • SE Radio 206: Ken Collier on Agile Analytics

      Jul 18, 2014 • 1 h 03 min
    • SE Radio 204: Anil Madhavapeddy on the Mirage Cloud Operating System and the OCaml Language

      May 30, 2014 • 1 h 05 min
    • SE Radio 203: Leslie Lamport on Distributed Systems

      Apr 29, 2014 • 49 min
    • Episode 201: Martin Thompson on Mechanical Sympathy

      Feb 19, 2014 • 53 min
    • Episode 199: Michael Stonebraker on Current Developments in Databases

      Dec 5, 2013 • 1 h 08 min
    • SE Radio 186: Martin Fowler and Pramod Sadalage on Agile Database Development

      Jun 1, 2012 • 48 min
    • Episode 184: The Mainframe with Jeff Frey

      Mar 14, 2012 • 1 h 25 min
    • Episode 181: Distributed Scrum with Rini van Solingen

      Dec 7, 2011 • 56 min
    • Episode 171: Scala Update with Martin Odersky

      Feb 2, 2011 • 53 min
    • Episode 167: The History of JUnit and the Future of Testing with Kent Beck

      Sep 26, 2010 • 51 min
    • Episode 158: Rich Hickey on Clojure

      Mar 22, 2010 • 58 min
    • Episode 154: Ola Bini on Ioke

      Jan 25, 2010 • 59 min
    • Episode 151: Intentional Software with Shane Clifford

      Dec 14, 2009 • 1 h 03 min
    • Episode 148: Software Archaeology with Dave Thomas

      Nov 2, 2009 • 59 min
    • Episode 141: Second Life and Mono with Jim Purbrick

      Jul 27, 2009 • 42 min
    • SE Radio 140: Newspeak and Pluggable Types with Gilad Bracha

      Jul 13, 2009 • 44 min
    • Episode 139: Fearless Change with Linda Rising

      Jun 29, 2009 • 1 h 08 min
    • Episode 109: eBay's Architecture Principles with Randy Shoup

      Sep 8, 2008 • 1 h 00 min
    • Episode 108: Simon Peyton Jones on Functional Programming and Haskell

      Aug 29, 2008 • 51 min
    • Episode 105: Retrospectives with Linda Rising

      Jul 30, 2008 • 1 h 14 min
    • Episode 98: Stefan Tilkov on REST

      May 23, 2008 • 56 min
    • Episode 97: Interview Anders Hejlsberg

      May 16, 2008 • 48 min
    • Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

      May 1, 2008 • 44 min
    • Episode 89: Joe Armstrong on Erlang

      Mar 12, 2008 • 53 min
    • Episode 84: Dick Gabriel on Lisp

      Jan 22, 2008 • 1 h 00 min
    • Episode 57: Compile-Time Metaprogramming with Laurence Tratt

      May 27, 2007 • 45 min
    • Episode 40: Interview Werner Vogels

      Dec 16, 2006 • 41 min
    • Episode 38: Interview James Noble

      Nov 26, 2006 • 21 min
    • Episode 36: Interview Guy Steele

      Nov 10, 2006 • 28 min
    • Episode 8: Interview Eric Evans

      Mar 8, 2006 • 39 min

    Recent episodes

    • SE Radio 744: Danilo Krummrich on Rust in the Linux Kernel

      Oct 29, 2026 • 54 min
    • SE Radio 743: Sowjanya Pandruju on Managing Agent State

      Oct 21, 2026 • 1 h 09 min
    • SE Radio 742: Tim Varelmann on Mathematical Optimization for Software Engineers

      Oct 14, 2026 • 48 min
    • SE Radio 741: Sahil Walia on Schema Changes and Data Migrations

      Oct 7, 2026 • 47 min
    • SE Radio 740: Raju Dandigam on Building Production AI Agents

      Sep 30, 2026 • 58 min
    • SE Radio 739: Erin Catto on Video Game Physics Engines

      Sep 23, 2026 • 57 min
    • SE Radio 738: Milan Milanovic on the Laws of Software Engineering

      Sep 16, 2026 • 47 min
    • SE Radio 737: Owen McGirr on Software Accessibility

      Sep 9, 2026 • 51 min
    • SE Radio 736: Sahil Walia on Apache Iceberg

      Sep 3, 2026 • 51 min
    • SE Radio 735: Vivek Yadav on Regression Testing Microservices

      Aug 26, 2026 • 59 min
    • SE Radio 734: Sathiesh Veera on Engineering Data-Protection Guardrails with LLMs

      Aug 19, 2026 • 43 min
    • SE Radio 733: Max Corbridge on Securing AI Agents

      Aug 13, 2026 • 1 h 00 min
    • SE Radio 732: Jason Gorman on The Effective Use of AI For Software Development

      Aug 5, 2026 • 58 min
    • SE Radio 731: Sonali Varde on AI and the Engineering Manager Role

      Jul 29, 2026 • 51 min
    • SE Radio 730: Birgitta Boeckeler on Harness Engineering for AI Agents

      Jul 22, 2026 • 54 min
    • SE Radio 729: Garth Mollett on AI Supply Chain Security

      Jul 15, 2026 • 48 min
    • SE Radio 728: Clare Liguori on AWS Strands SDK for AI Agents

      Jul 8, 2026 • 1 h 09 min
    • SE Radio 727: Jeroen Janssens and Thijs Nieuwdorp on Using Polars

      Jul 2, 2026 • 1 h 02 min
    • SE Radio 726: Scott Kingsley on the Swagger Ecosystem

      Jun 24, 2026 • 53 min
    • SE Radio 725: Danny Yang and Sam Goldman on the Pyrefly Type Checker

      Jun 18, 2026 • 55 min
    • SE Radio 724: Jure Leskovec on Relational Graph and Foundational Models

      Jun 10, 2026 • 1 h 02 min
    • SE Radio 723: Dave Airlie on Linux Kernel Maintenance

      Jun 3, 2026 • 1 h 09 min
    • SE Radio 722: Dwayne McDaniel on the Engineering Challenges of Secrets Management

      May 27, 2026 • 52 min
    • SE Radio 721: Rob Moffat on Risk-First Software Development

      May 20, 2026 • 53 min
    • SE Radio 720: Martin Dilger on Understanding Eventsourcing

      May 13, 2026 • 56 min
    • SE Radio 719: Birol Yildiz on Building an Agentic AI SRE

      May 6, 2026 • 54 min
    • SE Radio 718: Will Sentance on JS Modernization

      Apr 29, 2026 • 59 min
    • SE Radio 717: Eric Tschetter on Decoupling Observability

      Apr 23, 2026 • 1 h 00 min
    • SE Radio 716: Martin Kleppmann Local-First Software

      Apr 15, 2026 • 55 min
    • SE Radio 715: Sahaj Garg on Designing for Ambiguity in Human Input

      Apr 8, 2026 • 48 min

    What HN said

    • doorhammerMar 2014
      Code Complete 2 [1] was one of the first coding books I've read. As with anything else, it's good to look around (HN is a good place) for people who have problems with the book. I think I learn as much reading the commentary people make about books like that as I do from the book itself.

      I think I've listened to every podcast on software engineering radio a few times [2]. The older ones are especially nice because they usually pick a specific topic and cover the high points. I liked that I could listen to it while I was driving, or otherwise not in front of a computer.

      It's specific, but Javascript: The Good Parts is probably the most used book I have on my shelf. It has such a perfect amount of usable information in it. It's pretty great. Again, it's definitely worth looking up critiques and counterpoints.

      I've also got Introduction to Algorithms, which I use as a reference, sometimes. I switched over to The Algorithm Design Manual [5] after I saw it referenced in an older Steve Yegge post [6]. I read through the intro and it seemed like a book that would be more appropriate from an autodidactic standpoint. I really have no idea if that's going to pan out, since I'm not that far into it, but we'll see, for sure. Doesn't kill me to have an extra algorithms book laying about, though, and I've always got intro to algorithms for cross reference. I've found that I really need to have as many sources available as possible when I'm learning alone. Usually I don't get something until the fifth person describes it from the tenth different angle.

      That's most of what I can think of off hand. I really enjoyed The Joy of Clojure [7], though haven't checked out the newer version. Programming Collective Intelligence [8] is a fun book, and is what made me want to go back down the maths route to get more into machine learning.

      And of course habitually reading hacker news for an hour or three every night :)

      So that's my totally inexpert list of random stuff that I enjoy

      [1] http://www.amazon.com/Code-Complete-Practical-Handbook-Const... [2] http://www.se-radio.net/ [3] http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockfor... [4] http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme... [5] http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/... [6] http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... [7] http://www.amazon.com/Joy-Clojure-Michael-Fogus/dp/161729141... [8] http://www.amazon.com/Programming-Collective-Intelligence-Bu...

    • bredrenNov 2022
      I was a relatively early Tabnine user and suggested this time two years ago that people were “sleeping” on AI code completion. [1]

      I read about and tried evaluating Kite at the time and it seemed like it was in some kind of private invite stage. I remember thinking it must have been acquired and wasn’t taking new users. This must have been an incorrect take.

      I’m surprised Tabnine is not mentioned in this thread at all, though because that was acquired and afaik is still operating.

      Before copilot came along, Tabnine, not Kite, seemed like the ai took to beat.

      I also remember a Python dev relations person from Jetbrains going on a podcast and clowning on AI code completion. That was in April of 2021. [2] A month later copilot dropped.

      The very strange thing about that was Jetbrains described efforts to build an ML-based code completion plug-in in 2016! [3] It obviously failed to follow through on that.

      I still think G Co pilot represents a threat to jetbrains IDEs overall. Even the packaged autocomplete can’t compete on basic stuff copilot does now.

      I disagree with the idea that AI code completion is not good enough yet. I see that said all the time and yet it can masterfully fill in boiler plate today.

      It can be way better, particularly in languages outside JavaScript and Python, but it’s usable now and maybe even profitable as a service if the business is not leveraged by VC capital.

      If you listen to the September interview with Eddie Aftandilian of Github Copilot you would realize how early it still is for that product, as how to measure success in code completion is something still requiring behavioral patterns that are still being recorded.

      Here’s the episode, listen 20 mins in: https://www.se-radio.net/2022/10/episode-533-eddie-aftandili...

      [1] https://news.ycombinator.com/item?id=25074393

      [2] https://twitter.com/jetsetter/status/1379438096232587265

      [3] https://blog.jetbrains.com/idea/2016/09/share-your-stats-to-...

    • michaellperry71May 2022
      There are many technical solutions to this problem, as others have pointed out. What I would add is that data at the edge should be considered immutable.

      If records are allowed to change, then you end up in situations where changes don't converge. But if you instead collect a history of unchanging events, then you can untangle these scenarios.

      Event Sourcing is the most popular implementation of a history of immutable events. But I have found that a different model works better for data at the edge. An event store tends to be centrally localized within your architecture. That is necessary because the event store determines the one true order of events. But if you relax that constraint and allow events to be partially ordered, then you can have a history at the edge. If you follow a few simple rules, then those histories are guaranteed to converge.

      Rule number 1: A record is immutable. It cannot be modified or deleted.

      Rule number 2: A record refers to its predecessors. If the order between events matters, then it is made explicit with this predecessor relationship. If there is no predecessor relationship, then the order doesn't matter. No timestamps.

      Rule number 3: A record is identified only by its type, contents, and set of predecessors. If two records have the same stuff in them, then they are the same record. No surrogate keys.

      Following these rules, analyze your problem domain and build up a model. The immutable records in that model form a directed acyclic graph, with arrows pointing toward the predecessors. Send those records to the edge nodes and let them make those millisecond decisions based only on the records that they have on hand. Record their decisions as new records in this graph, and send those records back.

      Jeff Doolittle and I talk about this system on a recent episode of Software Engineering Radio: https://www.se-radio.net/2021/02/episode-447-michael-perry-o...

      No matter how you store it, treat data at the edge as if you could not update or delete records. Instead, accrue new records over time. Make decisions at the edge with autonomy, knowing that they will be honored within the growing partially-ordered history.

    • uDontKnowMeJul 2021
      I like:

      Defn: https://podtail.com/en/podcast/defn/

      The REPL: https://www.therepl.net/episodes/ (Seems to have gone quiet)

      ClojureScript Podcast: https://clojurescriptpodcast.com/

      Functional Design in Clojure: https://clojuredesign.club/ (Also seems to have gone quiet since December)

      LispCast by Eric Normand: https://lispcast.com/

      Cognitect, the company behind Clojure also has their own podcast but I haven't found it to be that interesting most of the time, at least yet: https://www.cognitect.com/cognicast/index.html

      Not specifically Clojure-related but has discussed a few times including wit Rich Hickey (as well as other unrelated great conversations!): CaSe https://www.case-podcast.org/

      Completely not at all about Clojure but great software podcasts:

      Go Time: Even though I hardly ever write Go, I find their conversations to be really great and having lessons beyond Go. It helps that I am interested in the language though: https://changelog.com/gotime

      Web Development and Development in general - The Bike Shed: https://www.bikeshed.fm/

      Software Engineering Radio: https://www.se-radio.net/

      CoRecursive: https://corecursive.com/

      Inside Java: https://inside.java/

    • recvonlineJun 2023
      I am the author of “Rust Web Development” (Manning) [1] and I am using Rust now at my third job full time for “web development” (which is: for backend services).

      What I like about Rust, and where it makes the biggest difference to my previous jobs, is the type system and the compiler.

      I am using it currently to build distributed systems, using gRPC, adding GraphQL services etc. So there is enough there to take you started without having to rewrite everything yourself.

      The community is great to get answers, even many crates have active GitHub discussions or Discord servers.

      Sure, there are differences in axum, actix and others. But to be honest, will this impact your productivity all that much?

      For some cases, the tooling could be more mature, but the language itself makes you more productive and you are having more fun with it. I also talk about it on the Software Engineering Radio podcast episode. [2]

      So I can’t speak for frontend apps, or if you come from Go etc. But I have fun using it for my side projects, and in my day to day life for 3-4 years now, Rust had a substantial impact on the productivity of teams I am working at.

      Rough edges are there, yes. Async is maybe not as easy as in Go, and you have to think about memory management more. But these tradeoffs are worth it for me.

      [1]: https://www.manning.com/books/rust-web-development [2]: https://www.se-radio.net/2023/05/se-radio-562-bastian-gruber...

    • gavinpcJul 2016
      So "demand side" means industrial efficiencies? I always thought of it as, you know, less end-usage.

      Yes it's a small share of the total, and no I don't believe it's a matter of policy. It's cultural. Whose job do we think it is to "spend within our means" energy-wise? Everyone's? Or is it industry's job to just "make it work" so that we can keep black-boxing power, as we do water.

      Example: I was at an airport café this morning and I noticed that the menu was displayed on three big display monitors. They were probably 42-inch screens, all showing the same static image. There were like 6 menu items, all minor variants on a cup of coffee. They were all clearly visible from every possible angle. The same job could have been done undistinguishably well by any single one of them—not to speak of a printed board.

      I know, it's an airport for crying out loud. The energy used by those screens is too small to measure. What concerns me is that we (Americans at least) live in a society where someone—I would say thinks this is okay, but really just doesn't think about it at all.

      So I completely agree about where our priorities should be, but I think that those levers would be easier to pull if we as a culture had a little more "mechanical sympathy."[0]

      [0] http://www.se-radio.net/2014/02/episode-201-martin-thompson-... (Where I first heard of it, anyway.)

    More shows

    • Software Engineering DailySoftware Engineering Daily
    • The Changelog: Software Development, Open SourceChangelog Media
    • Latent Space: The AI Engineer PodcastLatent.Space
    • CoRecursive: Coding StoriesAdam Gordon Bell - Software Developer
    • The Stack Overflow PodcastThe Stack Overflow Podcast
    • Hanselminutes with Scott HanselmanScott Hanselman
    • Talk Python To MeMichael Kennedy
    • Dwarkesh PodcastDwarkesh Patel