Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
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
    D

    David Beazley

    dabeaz.com · Personal blog · on HN since 2008

    David Beazley, a Python author and teacher, publishes talks, tutorials, and courses on Python internals, generators, and compilers.

    Visit blogHN submissions
    ProgrammingLanguages & Compilers
    What HN says

    Commenters strongly recommend his courses, such as writing a compiler, and praise his clear talks that build ideas up from nothing.

    Stats for nerds
    162HN people shared it
    75linked in comments
    1.5Kstory points
    Feb 2025last shared
    2010people per year2025

    Top posts on HN

    1. 1
      (Python) Generator Tricks For Systems Programmer (pdf)
      9 people · 362 points · first shared 2008 · 24 comments on HN
    2. 2
      Python Generator Tricks for Systems Programmers
      16 people · 187 points · first shared 2008 · 13 comments on HN
    3. 3
      Python co-routines: follow-up to Python generators presentation [pdf]
      9 people · 171 points · first shared 2009 · 14 comments on HN
    4. 4
      The Python GIL Visualized
      2 people · 117 points · first shared 2010 · 35 comments on HN
    5. 5
      Using Python to Encode Cassette Recordings for my Superboard II
      2 people · 100 points · first shared 2010 · 6 comments on HN
    6. 6
      Write a Compiler in Python - The Experiment Begins
      1 person · 99 points · first shared 2012 · 7 comments on HN
    7. 7
      An Inside Look at the (Python) GIL Removal Patch of Lore
      8 people · 90 points · first shared 2011 · 17 comments on HN
    8. 8
      Presentation on the new Python GIL
      1 person · 77 points · first shared 2010 · 27 comments on HN
    9. 9
      Understanding the Python GIL (Pycon 2010 Slides)
      4 people · 36 points · first shared 2010 · 12 comments on HN
    10. 10
      The Python GIL Visualized
      3 people · 24 points · first shared 2010 · 8 comments on HN

    What HN people wrote when they linked it

    • upghostJun 2023

      Fck school dude, you good. I mean, unless you like it. My only regret from college is that I spent it studying instead of doing a lot of drugs. If you’re doing computer stuff, the grades don’t mean anything. There are so many paths to get in. You should only stress about the grades if you wanted to go on to be an academic— but if you aren’t enjoying the setting then you probably don’t want to go the academic route anyway.

      Here’s the best most beautiful part about coding:

      ### ain’t no one can stop you ###

      You don’t need* a degree to do it. School is not the gatekeeper. The information is yours for the taking.

      Check it out: https://www.udacity.com/course/design-of-computer-programs--cs212

      You do NOT need to pay money for that course, I know they really try to get you to sign up for a nanodegree but click around till you can take the course.

      If you can understand and replicate even 30% of the material in that course you are a certified badass.

      Can you load data from a file, manipulate it, and save it to another file? Congrats you are able to get a job with some effort.

      If you have an opportunity to take any courses, even the video courses, from Dave Beazley, do it: https://dabeaz.com/ (assuming Python is your thing). You will know more about Python than all of your professors and anyone interviewing you.

      Last bit of “stick it to the man” advice, you have one major advantage over more experienced developers that often goes overlooked: the ability to go deep on a…

    • masklinnJun 2011

      > Is it to make currently-unsafe Python code automatically correct? Or is it to keep the GIL semantics, but make it faster?

      Neither. It's to improve concurrency in the interpreter (there currently is none whatsoever due to the GIL), so that multithreaded software can scale on multiple cores performing Python bytecode execution.

      Currently, the GIL means the Python interpreter can only execute Python code in a single OS thread at a time (C extensions such as I/O systems can release the GIL). The result is that, even with a number of (OS) threads spawned in the interpreter, you don't get much parallelism benefits. And even if only one thread performs computation and the rest does I/O, there are churning issues with the GIL (I recommend checking David Beazley's research and presentations on the subject[0]).

      [0] http://dabeaz.com/blog.html section "The GIL"

    • spicemongerDec 2023

      I've taken 2 of David Beazley's courses.[1] And, I highly recommend them. If you haven't seen some of his talks, he's very good at explaining things by building them from nothing.

      I took 2 courses: "Rafting Trip" and "Write a Compiler". Both were awesome. The Rafting Trip took us through implementing the Raft consensus algorithm from scratch. And the "Write a Compiler" course had us build a small language using LLVM.

      Both courses (but especially the Rafting trip one) were definitely for experienced programmers. In the courses I took, people generally had at least 5 years of professional work. And even still, there were a few people that really struggled to stay on pace in the course.

      But at the end, most people had a (kinda) working Raft library or compiler!

      [1] https://dabeaz.com/

    • tbatteriiMay 2012

      sweet, I was wondering when someone was going to mention the GIL, now the fun can start.

      http://dabeaz.blogspot.com/2012/03/pycon-2012-followup.html

      "In any case, the performance of threads is highly specific to the application at hand. You can't just take some benchmark from one of my GIL talks and extrapolate that out to a general statement about all Python thread programming. Personally, I find that Python threads have worked pretty well for most of the problems where I've used them. Of course your mileage might vary."

      So.... maybe, it depends on what you are doing.

      Personally I would have been happy to see ProcessingActor in pykka, maybe with 0mq for the ipc. That would be cool, but this looks useful nonetheless.

    • manifoldgeoApr 2022

      If you're looking for a refresher that outlines Python language fundamentals, I recommend "Introducing Python, 2nd Edition" (2019) by Bill Lubanovic [0].

      Another really cool introduction that's filled with intermediate tricks is "Python Distilled" by Dave Beazley [1] (2021).

      A couple of nice intermediate books:

      "Intuitive Python - Productive Development for Projects that Last" by David Muller [2] (2021).

      "Serious Python" by Julien Danjou [3] (2018).

      References:

      [0]: https://www.oreilly.com/library/view/introducing-python-2nd/9781492051374/

      [1]: http://www.dabeaz.com/python-distilled/

      [2]: https://pragprog.com/titles/dmpython/intuitive-python/

      [3]: https://nostarch.com/seriouspython

    • NicksilMay 2021

      David Beazley is a gem.

      There are 2 subsequent parts to this one, if anyone's interested, they can be found on the "Tutorials" page:

      https://www.dabeaz.com/tutorials.html

      Part 1) Generator Tricks for Systems Programmers (what this post links to)

      Part 2) A Curious Course on Coroutines and Concurrency

      Part 3) Generators: The Final Frontier

      Another tutorial I'd recommend -- among my personal favorite -- is "Python 3 Metaprogramming" (also at the URL I included above)

      Even if you're not interested in the Python programming language, I'd still recommend having a look at his tutorials and talks; the quality of his work, and especially his delivery, make it all enjoyable.

    Related

    Tenthousandmeterstenthousandmeters.com28 people

    How the Python import system works

    Tenthousandmeters
    Personal · last shared 2026
    Michael Foordvoidspace.org.uk32 people

    PyPy and Psyco

    Michael Foord
    Personal · last shared 2017
    David Goodgerpython.net/~goodger22 people

    Code Like a Pythonista: Idiomatic Python

    David Goodger
    Personal · last shared 2017
    Jesse Nollerjessenoller.com50 people

    A lot happens

    Jesse Noller
    Personal · last shared 2020
    Doug Hellmanndoughellmann.com44 people

    The Performance Impact of Using dict() Instead of {} in CPython 2.7

    Doug Hellmann
    Personal · last shared 2024
    Alexander Rushterrushter.com39 people

    Memory Management in Python

    Alexander Rushter
    Personal · last shared 2026
    Miguel Grinbergblog.miguelgrinberg.com94 people

    Python 3.14 is here. How fast is it?

    Miguel Grinberg
    Personal · last shared 2026
    Quansight Labs Bloglabs.quansight.org31 people

    Free-threaded CPython is ready to experiment with

    Quansight Labs Blog
    Company · last shared 2026