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
    H

    Hisham Muhammad

    hisham.hm · Personal blog · on HN since 2011

    Hisham Muhammad, creator of htop, writes about programming languages, tools, and software design.

    Visit blogRSSHN submissions
    Open Source & LinuxProgrammingLanguages & Compilers
    What HN says

    HN links it mainly for htop, which commenters strongly recommend over ps and top; he also discusses his domain name and URL display.

    Stats for nerds
    53HN people shared it
    36linked in comments
    1.7Kstory points
    Apr 2026last shared
    2014people per year2026

    Top posts on HN

    1. 1
      Show HN: Htop 2.0 released, now cross-platform
      15 people · 615 points · first shared 2014 · 153 comments on HN
    2. 2
      Remembering Windows 3.1 themes and user empowerment
      1 person · 379 points · first shared 2021 · 323 comments on HN
    3. 3
      User power, not power users: htop and its design philosophy
      1 person · 290 points · first shared 2021 · 97 comments on HN
    4. 4
      Again on 0-based vs. 1-based indexing
      3 people · 223 points · first shared 2021 · 504 comments on HN
    5. 5
      Turns out GCC has imperative argument handling
      1 person · 64 points · first shared 2022 · 36 comments on HN
    6. 6
      Dynamic type systems aren’t even simpler
      4 people · 36 points · first shared 2020 · 25 comments on HN
    7. 7
      A love letter to bands, in music and code
      2 people · 14 points · first shared 2021 · 3 comments on HN
    8. 8
      Understanding, at last, the Y combinator
      2 people · 12 points · first shared 2011 · Discussion on HN
    9. 9
      I almost added Tetris to htop
      2 people · 8 points · first shared 2024 · 1 comments on HN
    10. 10
      The Lua community needs to learn to move on
      3 people · 7 points · first shared 2026 · Discussion on HN

    What HN people wrote when they linked it

    • TheAceOfHeartsMay 2017

      The first tool that came to mind for me was htop [0] with ncurses. It's a friendly alternative to top.

      I've previously used ncmpcpp [1] without any major complaints, although it's been a few years since then. It's an mpd [2] client written with ncurses.

      On my personal servers I use goaccess [3] to analyze access logs. I remember being able to pick it up pretty quickly on my first try.

      Only tangentially related, but you may find it useful to read the "Utility Conventions" [4] entry of The Open Group Base Specifications. I'd also suggest reading through the relevant entries under the "Program Behavior for All Programs" [5] section of GNU Coding Standards [6]. By following existing conventions (or even being aware they exist) you can sometimes make it easier for others to learn how to use your tool.

      If you know JavaScript, you may consider writing your program with node. The blessed [7] library is a JavaScript reimplementation of ncurses, and there's even a react renderer [8]. This makes building the UI much easier than many of the alternatives I know. When you're ready to release, you can generate an executable [9] for easy deployment or publication. The biggest benefits of taking this approach are that it makes it very easy to achieve cross-platform support, and the barrier of entry is lower than many alternatives. The biggest caveats are that it'll be slower and much larger than if it had been written with C.

      [0] http://hisham.hm/htop/

      [1]…

    • aub3bhatOct 2016

      This is a great post, recently I have been trying to re-learn and understand linux (specifically) ubuntu using monitoring tools.
      In my opinion htop and Facebook osquery are the two best available tools for understanding how an operating systems and processes work. The osquery approach of recording all OS data in form relational tables (with PIDs as keys etc.) is very useful.

      https://hisham.hm/htop/

      https://osquery.io/

      The osquery query packs are especially useful: https://osquery.io/docs/packs/

      Here is an incomplete draft about a similar post:
      https://github.com/AKSHAYUBHAT/TopDownGuideToLinux

    • dan-robertsonApr 2021

      I think emacs is a good example of a terminal program (not really command line) that made a good success out of becoming more gui and I think it shows a lot of the limitations of the terminal emulators. In a gui you easily get all the colours and not many weird duplicate keyboard shortcuts (exceptions are eg TAB vs C-i and M- vs ESC). You can have images and clicking and middle click paste and multiple fonts and some OS integration. But the interface still remains a fundamentally mutable text-based thing.

      For something completely different: https://hisham.hm/userland/

    • pmlnrNov 2018

      daily-ish drivers of mine:

      - autossh - https://linux.die.net/man/1/autossh

      - sshfs - https://github.com/libfuse/sshfs

      - pandoc - https://pandoc.org/installing.html

      - exiftool - https://www.sno.phy.queensu.ca/~phil/exiftool/

      - htop - https://hisham.hm/htop/

      - tmux - https://github.com/tmux/tmux/wiki

      - rsync - https://rsync.samba.org/

      - midnight commander - https://midnight-commander.org/ (faster, than loop ing ls, cd .., ls)

      Still trying to think about the others.

    • ufoApr 2026

      That EWD is one if my pet peeves. Dijkstra makes an unfair comparison because he lists plenty of examples where 0-based indexing is more convenient but ignores the equally numerous situations where 1-based is more convenient. For example, iterating backwards over an array is much better in an 1-based world.

      I like the argument that 1-based is better for indexing and 0-based is better for offsets:
      https://hisham.hm/2021/01/18/again-on-0-based-vs-1-based-indexing/

    • jwilkOct 2017

      These are thrid-party programs that are unlikely to be installed on a Linux system by default:

      http://guichaz.free.fr/iotop/

      https://01.org/powertop/

      https://github.com/raboof/nethogs

      https://github.com/tmux/tmux/wiki

      http://mama.indstate.edu/users/ice/tree/

      http://hisham.hm/htop/

      http://invisible-island.net/dialog/dialog.html

      Also, you should prefer "pgrep" to "pidof"; the former is available also on BSDs.

    Related

    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Hillel Waynehillelwayne.com294 people

    1/0 = 0

    Hillel Wayne
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Poul-Henning Kampphk.freebsd.dk63 people

    You're doing it wrong: B-heap 10x faster than binary heap (2010)

    Poul-Henning Kamp
    Personal · last shared 2026
    Karl Ruppkarlrupp.net16 people

    40 Years of Microprocessor Trend Data (2015)

    Karl Rupp
    Personal · last shared 2025
    Futhark Blogfuthark-lang.org87 people

    Designing a Programming Language for the Desert

    Futhark Blog
    Company · last shared 2026
    Baron Schwartzxaprb.com77 people

    Immutability, MVCC, and garbage collection

    Baron Schwartz
    Personal · last shared 2022
    Josh Habermanblog.reverberate.org105 people

    Parsing Protobuf at 2+GB/S: How I Learned to Love Tail Calls in C

    Josh Haberman
    Personal · last shared 2026