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
    M

    Michael Hansson

    tech.davis-hansson.com · Personal blog · on HN since 2019

    Michael Hansson writes about software engineering, covering GNU Make, CI, databases and backups, plus essays comparing Congress to a stack machine.

    Visit blogRSSHN submissions
    ProgrammingDevOps & CloudOpen Source & Linux
    What HN says

    HN commenters repeatedly point to his opinionated GNU Make guide as a good way to use make, and also cite his post on CI infrastructure.

    Stats for nerds
    15HN people shared it
    13linked in comments
    868story points
    Nov 2025last shared
    2020people per year2025

    Top posts on HN

    1. 1
      An opinionated approach to GNU Make
      9 people · 612 points · first shared 2019 · 194 comments on HN
    2. 2
      The logging framework isn't a bottleneck, and other lies your laptop tells you
      1 person · 237 points · first shared 2020 · 157 comments on HN
    3. 3
      I gave commit rights to someone I didn't know, guess what happened next (2016)
      4 people · 8 points · first shared 2019 · Discussion on HN
    4. 4
      Adwords is being used to spoof news headlines
      1 person · 3 points · first shared 2022 · 1 comments on HN
    5. 5
      The Senate is a stack machine, the filibuster a halting problem
      1 person · 3 points · first shared 2021 · Discussion on HN
    6. 6
      The United States Congress is an elegant stack machine
      1 person · 3 points · first shared 2019 · Discussion on HN
    7. 7
      When are full database backups faster than incremental backups?
      1 person · 2 points · first shared 2020 · Discussion on HN
    8. 8
      Price wars
      1 person · first shared 2022
    9. 9
      Ci offgrid
      1 person · first shared 2025

    What HN people wrote when they linked it

    • charlesdanielsJun 2020

      * AWK - I read "The Awk Programming Language"[0] cover to cover. It's a very well written text, and it not all that long. The examples are very impressive. In terms of bang-for-the-buck of learning tools, AWK has definitely given me the most mileage. I probably use it at least a dozen times a day just for little things. However, you can wield it to write some very powerful scripts in very short amounts of time.

      * Make - I use Make for almost every project I write, even if the rules are just .PHONY shortcuts. Make solves a huge set of problems relating to the order in which things need to be run/built very well. There are arguable better tools, but Make is widely deployed, widely used, widely understood, and solve the problem well enough for a lot of small to medium projects (and some large ones too!). I got asked about it enough that I wrote an introductory guide for it[1] (disclaimer: self promotion of my own site, but I don't have any ads or make any money). If you feel like Make has a lot of legacy crust built up over the years, you should read[2].

      * Graphviz[3] - a huge number of ad-hoc data structures that you will build for your projects can be hard to visualize, Graphviz makes it easier. One tactic I've found useful is to loop over nested structs using their memory address as the identifier in Graphviz, struct fields as text annotations, and nested struct pointers as outgoing links. This might sound fancy, but you can probably write an export_to_graphviz() function…

    • hardwaresoftonSep 2022

      Hey HN,

      I built randomneo.city since people didn't like my comment on the randomgeo.city post[0]. Clearly I don't take downvotes well.

      That said, the code is powered by SvelteKit, SQLite and open source:

      https://gitlab.com/mrman/randomneocity

      I have to say, I'm really starting to like building everything with SvelteKit -- I'm a huge 3-tier architecture fan, and it just doesn't make sense these days to add an API repo for most small projects now. Node + TS + SvelteKit does most (to be fair, so would Nuxt or Next). It's been a fantastically productive stack for me.

      Things I still need to do:

      - Add automatic scraping of neocities' sites so the site can stay up to date

      - Filter out sites which aren't done (they all have the same text)

      - Add chat/social features (???)

      This was also a great chance to try out Just[1] which strives to replace make[2] -- it's been nice!

      In classic distracted style I use just[3], make with good defaults[4][5] and my usual flavor of makefile[6][7] in the repo.

      [0]: https://news.ycombinator.com/item?id=32305300

      [1]: https://github.com/casey/just

      [2]: https://www.gnu.org/software/make/

      [3]: https://gitlab.com/mrman/randomneocity/-/blob/main/Justfile

      [4]: https://tech.davis-hansson.com/p/make/

      [5]: https://gitlab.com/mrman/randomneocity/-/blob/main/infra/Makefile

      [6]: https://vadosware.io/post/setting-up-mailtrain-on-k8s/#step-1-figure-out-how-to-integrate-kustomize-for-templating-with-the-makeinfra-pattern

      [7]:…

    • h4lAug 2022

      I've found these guidelines for Makefiles make for a pretty good experience using make: https://tech.davis-hansson.com/p/make/

      The advice on output sentinel files for rules creating multiple files helps keep rebuilding dependencies reliable. Avoiding most of the cryptic make variables also helps Makefiles to remain easily understandable when you're not frequently working on them. And using .ONESHELL to allow multi-line statements (e.g. loops, conditional etc) is great. No need to contort things into one line. or escape line breaks.

      Seems like you could even use a more serious programming language instead of sh/bash by setting SHELL to Python or similar. That may be a road to madness though...

    • jakewinsNov 2025

      Yeah agreed, CI infra provides tons of value.

      Ended up expanding this little quip into a blogpost to refer to in the future, feedback welcome! https://tech.davis-hansson.com/p/ci-offgrid/

    • jchwSep 2022

      There's lots of different opinions on how to use Make, but here's one. https://tech.davis-hansson.com/p/make/

    Related

    Davin McCalldavmac.wordpress.com16 people

    Why do we keep building rotten foundations?

    Davin McCall
    Personal · last shared 2023
    Rudd-Orudd-o.com17 people

    How ZFS continues to be better than Btrfs.

    Rudd-O
    Personal · last shared 2026
    DHHworld.hey.com/dhh654 people

    The Framework Desktop is a beast

    DHH
    Personal · last shared 2026
    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Chris Wellonsnullprogram.com295 people

    Why Aren't There C Conferences?

    Chris Wellons
    Personal · last shared 2026
    Nibble Stewnibblestew.blogspot.com74 people

    Apple of 2019 is the Linux of 2000

    Nibble Stew
    Personal · last shared 2026
    Aphyraphyr.com551 people

    Hexing the technical interview (2017)

    Aphyr
    Personal · last shared 2026
    Rachel Krollrachelbythebay.com493 people

    fork() can fail

    Rachel Kroll
    Personal · last shared 2026