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

    Maizure

    maizure.org · Personal blog · on HN since 2017

    Maizure walks through the source code of well-known programs like GNU coreutils, top, printf, and Linux context switching.

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

    HN commenters say they learned a lot from the code walkthroughs and praise the visual style and the printf and context switch posts.

    Stats for nerds
    45HN people shared it
    32linked in comments
    1.8Kstory points
    Feb 2026last shared
    2019people per year2026

    Top posts on HN

    1. 1
      Decoded: GNU coreutils (2019)
      13 people · 548 points · first shared 2019 · 38 comments on HN
    2. 2
      Decoded: GNU Coreutils
      4 people · 416 points · first shared 2019 · 55 comments on HN
    3. 3
      Tearing apart printf()
      3 people · 383 points · first shared 2018 · 42 comments on HN
    4. 4
      Evolution of the x86 context switch in Linux (2018)
      4 people · 193 points · first shared 2019 · 34 comments on HN
    5. 5
      Let’s Make: Dangerous Dave
      3 people · 147 points · first shared 2019 · 12 comments on HN
    6. 6
      Evolution of the x86 context switch in Linux (2018)
      1 person · 46 points · first shared 2019 · 1 comments on HN
    7. 7
      Decoded: The 'Top' Utility (Procps)
      4 people · 8 points · first shared 2019 · Discussion on HN
    8. 8
      Decoded: Altair Basic
      2 people · 8 points · first shared 2025 · Discussion on HN
    9. 9
      Decoded Openttd
      2 people · 7 points · first shared 2019 · Discussion on HN
    10. 10
      Tearing Apart Printf()
      1 person · 4 points · first shared 2019 · Discussion on HN

    What HN people wrote when they linked it

    • westurnerFeb 2026

      From what was their victim software derived? How much time did it take to write the letter?

      Is this the one with Noah Wylie?

      XEROX Alto (PARC ), 86DOS, CPM DOS, BASIC,

      Xerox Alto (1973) https://en.wikipedia.org/wiki/Xerox_Alto

      The Altair 8800 has an Intel 8080 CPU:

      Altair 8800: https://en.wikipedia.org/wiki/Altair_8800

      Intel 8080 -> Intel 8088

      CP/M (1974) https://en.wikipedia.org/wiki/CP/M

      DOS > History: https://en.wikipedia.org/wiki/DOS#History

      86-DOS: https://en.wikipedia.org/wiki/86-DOS :

      > 86-DOS shared a few of its commands with other operating systems such as OS/8 and CP/M, which made it easy to port programs from the latter. Its application programming interface was very similar to that of CP/M. The system was licensed and then purchased by Microsoft and developed further as MS-DOS and PC DOS. [2]

      BASIC > History:
      https://en.wikipedia.org/wiki/BASIC_interpreter#History

      HP had BASIC on mainframes in the 1960s.

      This paper (ScholarlyArticle) was published in 1974:

      "A BASIC Language Interpreter for the Intel 8008 Microprocessor". ACM. (1974) from UIUC: University of Illinois Champagne-Urbana .. archive.org: https://archive.org/details/basiclanguageint658weav/page/n8/mode/1up .. scholar:
      https://scholar.google.com/scholar?hl=en&as_sdt=0%2C43&q=A+BASIC+Language+Interpreter+for+the+Intel+8008+Microprocessor&btnG=

      "What Bill Gates’ first commercial code (Altair BASIC) looks like under the hood" https://maizure.org/projects/decoded-altair-basic/index.html ..…

    • didizajaJan 2021

      Code Reading Club: https://codereading.club

      The idea of this project is to make a small, cozy kind of “book club for code” that enables club members to study and discuss the architecture/structure of open source code. I wanted it to be both a way to study others’ work as a means of developing more intuition about how to structure software, as well as a creative exploration and discussion of code as art.

      I know the UI is quite poor right now, and the information about the time of the first session needs to be updated. I’ve pivoted to working on another project (a CLI reader for HN that lets you navigate with a UI like that generated by pager utilities such as “more”) while I flesh out the idea for this one more, as I’m not sure if I can reconcile the two aims for the club I cited above. I have to think more carefully about what I want it to be, and who I want to reach/how I want to reach them.

      I really like the idea of doing this, but I just don’t have the mental/emotional bandwidth for it at the moment, which is why I’m working on other, more solitary projects instead. I think it’s important to have discipline and “grind” through things at times, but when I’m doing something in my free time for my own enjoyment and already feel a bit burned out from my other existing roles/responsibilities, I prefer not to add to it by actively building something that might create even more expectations from others. Instead, I try to get back to my first passion, which is just the joy of…

    • robocatMar 2021

      Your argument seems to imply that GNU was the progenitor of the utilities. A quick sample of the first 10 utilities from the first column of http://maizure.org/projects/decoded-gnu-coreutils/ on my machine showed 80% of the utilities were copied from existing sh utilities. Sure, GNU has added features, but there is nothing unseemly about creating new utilities using a different licence that are largely compatible - that is exactly how GNU coreutils came to life in the 90s.

      arch - GNU

      chgrp - Descended from chgrp introduced in Version 6 UNIX (1975)

      comm - Descended from comm in Version 2 UNIX (1972)

      dd - Descended from dd introduced in Version 5 UNIX (1974)

      du - Descended from du introduced in Version 1 UNIX (1971)

      factor - Descended from sort in Version 4 UNIX (1973)

      head - Descended from head included in System V (1985)

      join - Descended from join introduced in Version 7 UNIX (1979)

      ls - Spiritually linked with LISTF from CTSS (1963)

      mktemp - GNU

    • jlokierDec 2023

      > It's quite a complex feature and yet I'm not sure any OS ever used it.

      They did.

      Linux used x86 hardware task switching and TR (task register) for years. See "struct tss_struct" and "switch_to" in older kernels.

      Linux also allowed userspace processes to get hardware-managed access to individual I/O ports using the per-task x86 I/O port bitmap, and to local segments using the x86 LDT which were useful for running 16-bit code in a 32-bit task.

      The hardware task switching was eventually changed to software task switching. By that time, software switching was faster, and it was always more versatile. This change removed the hardware-imposed limit on the number of processes and threads Linux could support.

      Here's a nice article about the evolution of task switching in Linux. https://www.maizure.org/projects/evolution_x86_context_switch_linux/

    • Anthony-GJan 2022

      Thanks for sharing this perspective. A few years ago, I started learning C with the aim of contributing to GNU coreutils and other utilities that come with a GNU/Linux system. I read most of the K&R book and thought I had a decent grasp of the C language but when I cloned the coreutils source code, I couldn’t figure it out and gave up, thinking I’d need a lot more experience before I could understand production-quality code. It’s reassuring to find out it wasn’t just me that struggled with the complexity of the code base.

      Since then, I’ve discovered (thanks to Hacker News) Decoded: GNU coreutils¹, a “resource for novice programmers exploring the design of command-line utilities” but unfortunately, I no longer have the capacity or free time to spend on coding.

      ¹ https://www.maizure.org/projects/decoded-gnu-coreutils/index.html

    • asicspAug 2024

      I wrote a book focusing only on text processing commands (includes exercises as well): https://learnbyexample.github.io/cli_text_processing_coreutils/

      You can practice some of the exercises using this interactive TUI app: https://github.com/learnbyexample/TUI-apps/tree/main/CLI-Exercises

      See also: https://ratfactor.com/slackware/pkgblog/coreutils, https://maizure.org/projects/decoded-gnu-coreutils/ and https://www.pixelbeat.org/docs/coreutils-testing.html

    Related

    Pádraig Bradypixelbeat.org56 people

    How the GNU coreutils are tested

    Pádraig Brady
    Personal · last shared 2026
    mazzo.limazzo.li35 people

    How fast are Linux pipes anyway?

    mazzo.li
    Personal · last shared 2026
    Mikhail Shilkovmikhail.io23 people

    Serverless: Cold Start War

    Mikhail Shilkov
    Personal · last shared 2025
    fasterthanli.mefasterthanli.me236 people

    A half-hour to learn Rust

    fasterthanli.me
    Personal · last shared 2026
    Futhark Blogfuthark-lang.org87 people

    Designing a Programming Language for the Desert

    Futhark Blog
    Company · last shared 2026
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Manish Goregaokarmanishearth.github.io97 people

    Picking Apart the Crashing iOS String

    Manish Goregaokar
    Personal · last shared 2026
    Not a Monad Tutorialnotamonadtutorial.com40 people

    Weld: Accelerating numpy, scikit and pandas as much as 100x with Rust and LLVM

    Not a Monad Tutorial
    Publication · last shared 2023