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
    B

    Bill Mill

    billmill.org · Personal blog · on HN since 2007

    Bill Mill, a programmer, writes tutorials and experiments on Python, HTML canvas games, D3, and data structures like Bloom filters.

    Visit blogHN submissions
    ProgrammingWeb DevelopmentData & Visualization
    What HN says

    HN commenters link his canvas tutorial as a way to learn JavaScript through graphics and games.

    Stats for nerds
    31HN people shared it
    36linked in comments
    646story points
    Nov 2023last shared
    2009people per year2023

    Top posts on HN

    1. 1
      Bloom Filters by example
      4 people · 170 points · first shared 2012 · 61 comments on HN
    2. 2
      What are the "worst" spelling bee pangrams?
      1 person · 104 points · first shared 2024 · 85 comments on HN
    3. 3
      Radial NCAA Bracket in D3.js
      1 person · 70 points · first shared 2014 · 18 comments on HN
    4. 4
      Modern Unix Tool List
      1 person · 61 points · first shared 2024 · 11 comments on HN
    5. 5
      Serving a billion web requests with boring code
      2 people · 56 points · first shared 2024 · 13 comments on HN
    6. 6
      Multi-Line Lambdas in Python Using the With Statement
      3 people · 44 points · first shared 2009 · 11 comments on HN
    7. 7
      How I use Git worktrees (2024)
      5 people · 40 points · first shared 2024 · 2 comments on HN
    8. 8
      What Gladwell is Missing: Institutional Memory
      1 person · 31 points · first shared 2009 · 15 comments on HN
    9. 9
      Pong in 30 Lines
      2 people · 19 points · first shared 2008 · 7 comments on HN
    10. 10
      Html canvas playground
      4 people · 7 points · first shared 2008 · Discussion on HN

    What HN people wrote when they linked it

    • bad_userMar 2010

      Actually you could say that functions in C# have been first-class since version 2.0.

      We of course need to define what first-class is ... if it's the ability to have higher-order functions, than 2.0 fits.
      C# 3.0 only adds a light-weight syntax for anonymous delegates plus the really kick-ass ability to get a syntax tree of that method instead of the method's reference (on which Linq is based) ... and I really wish other languages add this capability (it was possible in Ruby 1.8.x, but it's not anymore in Ruby 2.0).

      Python kicks ass in regard to first-class functions ... and it leverages that ability with decorators. People using other languages go through great pain to have AOP capabilities (for example), but in Python it only takes like 10 minutes to add a couple of utilities to do whatever you want.

      The only frustration I have with it is the lack of multi-line anonymous blocks, but Python is so flexible you can add that using "with" block hacks, like described here ... http://billmill.org/multi_line_lambdas.html

      Also, once you understand dynamic-scoping ... it's really not that big of a deal to deal with the situation described above. It's just different.

      I like the lexical-scoping in Perl as it prevents all kinds of errors ... but in Python I have real exception-handling, and a kick-ass debugger console just by adding "import ipdb; ipdb.set_trace()" anywhere I want.

    • TwisolJul 2010

      I don't know of any good Javascript learning platforms off the top of my head, but I think you'll want to aim for some form of immediate gratification.

      One thing you could do is whip up a sandbox page, like what w3schools does with its examples. Basically, create a page with three primary elements: a text box containing the Javascript, an Update button, and a section containing the actual content being messed with. You could come up with multiple "tutorials" or "activities" using this concept, and the Canvas tutorial below [1] is a neat example.

      [1] http://billmill.org/static/canvastutorial/

    • j1eloNov 2023

      Only tangential. I usually enjoy reading public notes of other people, so that's what I did here too.

      On https://notes.billmill.org/programming/json/jq.html the author says that

      > jq appears to be largely unmaintained at this point, which is sad

      They might be happy to learn that after several years of halted development and unreleased improvements & bugfixes, jq ownership got transferred from the original author to a new organization, which allowed to resume operations:

      https://github.com/jqlang/jq/releases/tag/jq-1.7

    • nimrodyDec 2009

      Might be easier to use Javascript for this purpose since it is available practically everywhere. And HTML Canvas support makes writing graphics/games very easy.

      See http://billmill.org/static/canvastutorial/index.html for example.

    • llimllibApr 2023

      Obsidian, and I export it to https://notes.billmill.org via https://github.com/llimllib/obsidian_notes

    Related

    Edward Z. Yangblog.ezyang.com165 people

    PyTorch Internals: Ezyang's Blog

    Edward Z. Yang
    Personal · last shared 2026
    The Orange Ducktheorangeduck.com74 people

    Machine Learning, Kolmogorov Complexity, and Squishy Bunnies (2019)

    The Orange Duck
    Personal · last shared 2026
    Dev Geniusmedium.com/dev-genius36 people

    A principled approach to GraphQL query cost analysis

    Dev Genius
    Publication · last shared 2026
    SoftwareMill Blogsoftwaremill.com55 people

    Hiring Developers in a Remote and Distributed Company

    SoftwareMill Blog
    Company · last shared 2026
    Bob Nystromjournal.stuffwithstuff.com392 people

    The Hardest Program I've Ever Written – How a code formatter works (2015)

    Bob Nystrom
    Personal · last shared 2026
    Mike Bostockbost.ocks.org167 people

    Visualizing Algorithms

    Mike Bostock
    Personal · last shared 2026
    Ginger Billgingerbill.org54 people

    The upcoming iterator design for Go 1.23

    Ginger Bill
    Personal · last shared 2026
    Stitch Fix Multithreadedmultithreaded.stitchfix.com87 people

    Engineers Shouldn’t Write ETL

    Stitch Fix Multithreaded
    Company · last shared 2025