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
    E

    Eric Chiang

    ericchiang.github.io · Personal blog · on HN since 2015

    Eric Chiang writes engineering tutorials on containers, Go, Rust shared libraries, TLS, and the Trusted Platform Module.

    Visit blogHN submissions
    Systems & PerformanceOpen Source & LinuxProgramming
    What HN says

    Commenters repeatedly point to "Containers from Scratch" as a detailed, hands-on walkthrough of how Linux containers work using namespaces and chroot.

    Stats for nerds
    16HN people shared it
    19linked in comments
    172story points
    Mar 2025last shared
    2017people per year2025

    Top posts on HN

    1. 1
      Analyzing Spotify Stream History
      1 person · 123 points · first shared 2024 · 21 comments on HN
    2. 2
      Containers from Scratch
      13 people · 23 points · first shared 2017 · 4 comments on HN
    3. 3
      Writing Shared Libraries in Rust
      2 people · 8 points · first shared 2024 · Discussion on HN
    4. 4
      Intro to TLS with Go
      2 people · 8 points · first shared 2015 · Discussion on HN
    5. 5
      Calling C from Go
      2 people · 2 points · first shared 2024 · Discussion on HN
    6. 6
      Go Testing With Docker
      1 person · 2 points · first shared 2015 · Discussion on HN
    7. 7
      Protobuf Generators for Fun and Profit
      1 person · 2 points · first shared 2025 · Discussion on HN
    8. 8
      The Trusted Platform Module Key Hierarchy
      1 person · 2 points · first shared 2022 · Discussion on HN
    9. 9
      Confidential Compute and GPUs
      1 person · 1 points · first shared 2025 · Discussion on HN
    10. 10
      A Primer on User Namespaces
      1 person · 1 points · first shared 2019 · Discussion on HN

    What HN people wrote when they linked it

    • aheppMar 2024

      If this struck your interest, but you want more nitty gritty examples and details, you may find the following article interesting: https://ericchiang.github.io/post/containers-from-scratch/

      If I'm remembering correctly from when I ran through the instructions at home, it was written for the original cgroup sysfs interface rather than the more modern cgroup2 [0]. You can figure out which you're running with

      > mount | grep cgroup > cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)

      which turns the examples is a nice "check your understanding"

      [0]: https://docs.kernel.org/admin-guide/cgroup-v2.html#basic-operations

    • lloekiSep 2023

      > How does this work?

      Essentially, like this:

      https://ericchiang.github.io/post/containers-from-scratch/

      https://earthly.dev/blog/chroot/

      > The way Docker Desktop (and podman.io) implement "containers on macOS" is a bit of a cop-out

      It's not, it's a requirement for running Linux containers: https://news.ycombinator.com/item?id=37656401

      DfM is more like running the CLI locally to a remote Linux machine, and all it does is conveniently expose /Users in the same place through the VM folder share so that you have the convenient illusion that it happens locally.

      If Darwin had process namespacing features it would not make it magically able to run Linux processes.

    • btdmasterMay 2021

      I find plain Linux namespaces as sufficient for many things, for example:

      unshare --map-root-user chroot ~/rootfs /bin/sh

      Sure, it might not be able to clone the rootfs for you, but you don't need snapd to install it and it comes as part of util-linux, essentially being part of almost all Linux systems. (https://ilearnedhowto.wordpress.com/tag/unshare/ is a nice introduction.)

      Edit: https://ericchiang.github.io/post/containers-from-scratch/ is also interesting.

    • chatmastaDec 2017

      Start with namespaces and cgroups. Once you realize that docker is basically a management interface over those, everything will click.

      I’m trying to find a really good blog from years ago but having trouble. This looks good though: https://ericchiang.github.io/post/containers-from-scratch/

    • asicspMar 2025

      See also:

      * https://ericchiang.github.io/post/containers-from-scratch/

      * https://indradhanush.github.io/blog/life-of-a-container/

    • mitnkNov 2022

      Also:

      - https://github.com/saschagrunert/demystifying-containers

      - https://ericchiang.github.io/post/containers-from-scratch/

    Related

    Ivan Velichkoiximiuz.com53 people

    Container networking is simple (2020)

    Ivan Velichko
    Personal · last shared 2026
    Eric Kiddrandomhacks.net65 people

    Rust lifetimes: Getting away with things that would be reckless in C++

    Eric Kidd
    Personal · last shared 2026
    Shuttle Blogshuttle.rs34 people

    Infrastructure From Code

    Shuttle Blog
    Company · last shared 2024
    Graham Jenkinsdarkcoding.net44 people

    Facebook’s code quality problem (2015)

    Graham Jenkins
    Personal · last shared 2025
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026
    Dustyclouddustycloud.org72 people

    Racket Is an Acceptable Python

    Dustycloud
    Personal · last shared 2026
    Educated Guessworkeducatedguesswork.org48 people

    How to hide your IP address

    Educated Guesswork
    Personal · last shared 2026
    Nick Cameronncameron.org65 people

    Rust in 2022

    Nick Cameron
    Personal · last shared 2026