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

    Mark Dominus

    blog.plover.com · Personal blog · on HN since 2007

    Mark Dominus writes The Universe of Discourse, covering math, programming, languages, and miscellaneous curiosities since 2006.

    Visit blogRSSHN submissions
    ProgrammingMathWriting & Thinking
    What HN says

    HN commenters recommend it as a blog consistently worth reading, describing it as about one-third math and the rest everything else, often reaching the front page.

    Stats for nerds
    326HN people shared it
    451linked in comments
    18Kstory points
    Aug 2026last shared
    2008people per year2026

    Top posts on HN

    1. 1
      The shittiest project I ever worked on (2013)
      3 people · 1.2K points · first shared 2013 · 296 comments on HN
    2. 2
      Surnames from nicknames nobody has any more
      1 person · 993 points · first shared 2025 · 449 comments on HN
    3. 3
      Fuckin' user interface design, I swear
      2 people · 814 points · first shared 2021 · 498 comments on HN
    4. 4
      “Design Patterns” Aren't (2002)
      8 people · 563 points · first shared 2008 · 122 comments on HN
    5. 5
      It’s an age of marvels
      2 people · 449 points · first shared 2024 · 409 comments on HN
    6. 6
      Why I like Java
      9 people · 443 points · first shared 2014 · 425 comments on HN
    7. 7
      I would like a job writing Haskell
      1 person · 405 points · first shared 2022 · 492 comments on HN
    8. 8
      “It is never a compiler error”
      3 people · 396 points · first shared 2017 · 272 comments on HN
    9. 9
      Why my book can be downloaded for free (2014)
      2 people · 394 points · first shared 2014 · 134 comments on HN
    10. 10
      Weirdos in the depression
      1 person · 389 points · first shared 2020 · 308 comments on HN

    What HN people wrote when they linked it

    • LukeShuJan 2019

      I agree with sjburt when he says "I think once you understand the graph, then looking at what the graph looks like and what you want it to look like usually leads you to being able to figure out what operation you want." When I was first getting in to Git ~10 years ago, I remember that I found the PeepCode "Git Internals" book[1] very helpful for getting that understanding of the graph.

      Once you have the better understanding of the graph, it's hard to find resources on how to improve from there; most resources focus on beginner stuff, or function more as a technical reference without really talking about use-cases. I've found following Mark Dominus' blog[2] for his posts about Git to be the single best thing to "level up" my Git usage once already being at a high-level.

      [1]: At the time, I had to pay money for the eBook, now they have the whole thing on GitHub: https://github.com/pluralsight/git-internals-pdf

      [2]: https://blog.plover.com/

    • n4r9Jul 2024

      It's a weird example, but what about

      a 1 b 101 ?

      It is neither prefix-free nor suffix-free. Yet every occurrence of 0 corresponds to an occurrence of b.

      However, this is obviously inefficient. So I guess the question is whether there's an optimal code which is neither prefix-free nor suffix-free.

      --------------

      EDIT

      I did some googling and found this webpage https://blog.plover.com/CS/udcodes.html where the author gives the following example of a uniquely decodable code:

      a 0011 b 011 c 11 d 1110 I guess this is "almost" prefix-free since the only prefix is c of d. If a message starts wiht 1, you could find the first 0 and then look at whether there's an odd or even number of 1's. So I think I can see how it's uniquely decodable. However, my crypto knowledge is too rusty to remember how to show whether this is an optimal code for some probability distribution.

    • 10renApr 2009

      Perl, like other scripting and late-binding languages, is very flexible ("duct tape of the internet"). Amazon is reputedly a Perl shop and it gives them agility to quickly experiment with new retailing ideas. But the knowledge they gained, and the site they built, wasn't due to Perl - it was due to them working on problems they found.

      Here's someone else who solves problems: http://blog.plover.com (and who wrote Higher Order Perl).

      All learning is commendable, including learning from a language. But to think that knowledge comes only from existing languages is to constrain one's knowledge, and for oneself to be defined by one's tools. Languages aren't the source of intellectual nutrition; they are a conduit to it (or how could they be created in the first place?). The source is creating solutions to problems.

    • tristrambAug 2026

      "Principia Mathematica is an odd book, worth looking into from a historical point of view as well as a mathematical one. It was written around 1910, and mathematical logic was still then in its infancy, fresh from the transformation worked on it by Peano and Frege. The notation is somewhat obscure, because mathematical notation has evolved substantially since then. And many of the simple techniques that we now take for granted are absent. Like a poorly-written computer program, a lot of Principia Mathematica's bulk is repeated code, separate sections that say essentially the same things, because the authors haven't yet learned the techniques that would allow the sections to be combined into one."

      - Mark Dominus (https://blog.plover.com/math/PM.html)

    • gmfawcettFeb 2024

      Whenever someone mentions building a billing system, I feel compelled to share Mark Dominus' delightful article, "Moonpig: a billing system that doesn't suck":

      > Sometimes I see other people fuck up a project over and over, and I say “I could do that better”, and then I get a chance to try, and I discover it was a lot harder than I thought, I realize that those people who tried before are not as stupid as as I believed. That did not happen this time. Moonpig is a really good billing system. It is not that hard to get right. Those other guys really were as stupid as I thought they were.

      https://blog.plover.com/prog/Moonpig.html

    • tomrodDec 2024

      If this is new, then you're one of today's luck 10,000![2] Serious logical foundations take a lot of time and exposition to start from fundamentals. Dismissing them as non-serious because GP's argument failed to consider them is misguided, IMHO.

      [0] The classic reference: https://en.wikipedia.org/wiki/Principia_Mathematica -- over 1,000 pages, Betrand Russell

      [1] https://cmartinez.web.wesleyan.edu/documents/FP.pdf -- a bit more modern, relying on other mathematics under the hood (like DRY reduces the base count), 11 pages

      [2] https://xkcd.com/1053/

      [3] Some reasonable review https://blog.plover.com/math/PM.html

    Related

    Daring Fireballdaringfireball.net1.8k people

    Facebook is an attack on the open web

    Daring Fireball
    Personal · last shared 2026
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Hillel Waynehillelwayne.com294 people

    1/0 = 0

    Hillel Wayne
    Personal · last shared 2026
    Ignore the Codeignorethecode.net112 people

    Oberon (2009)

    Ignore the Code
    Personal · last shared 2026
    Idle Wordsidlewords.com670 people

    The Website Obesity Crisis

    Idle Words
    Personal · last shared 2026
    programming is terribleprogrammingisterrible.com124 people

    Write code that is easy to delete, not easy to extend

    programming is terrible
    Personal · last shared 2026
    Steven Wittensacko.net287 people

    TermKit - a graphical terminal replacement

    Steven Wittens
    Personal · last shared 2026
    Giles Bowkettgilesbowkett.blogspot.com138 people

    Went Off The Rails: Why I'm Rebuilding Archaeopteryx In CoffeeScript

    Giles Bowkett
    Personal · last shared 2018