Hisham Muhammad
hisham.hm · Personal blog · on HN since 2011
Hisham Muhammad, creator of htop, writes about programming languages, tools, and software design.
What HN saysHN links it mainly for htop, which commenters strongly recommend over ps and top; he also discusses his domain name and URL display.
53HN people shared it
26linked it in comments
36stories submitted
1.7Kstory points
3 months agolast shared
2011people per year2026
Most-shared posts
- 1Show HN: Htop 2.0 released, now cross-platform15 people · 615 points · first shared 2014 · 153 comments on HN
- 2Userland: Integrated Dataflow Environment5 people · 4 points · first shared 2020 · discussion on HN
- 3Dynamic type systems aren’t even simpler4 people · 36 points · first shared 2020 · 25 comments on HN
- 4Again on 0-based vs. 1-based indexing3 people · 223 points · first shared 2021 · 504 comments on HN
- 5The Lua community needs to learn to move on3 people · 7 points · first shared 2026 · discussion on HN
- 6Smart Tech – Smart for Whom?3 people · 4 points · first shared 2021 · discussion on HN
- 7When listing repeated things, make pyramids3 people · 4 points · first shared 2018 · discussion on HN
- 8Homepage3 people · first shared 2013
- 9A love letter to bands, in music and code2 people · 14 points · first shared 2021 · 3 comments on HN
- 10Understanding, at last, the Y combinator2 people · 12 points · first shared 2011 · discussion on HN
- 11I almost added Tetris to htop2 people · 8 points · first shared 2024 · 1 comments on HN
- 12The Algorithm Did It2 people · 2 points · first shared 2021 · discussion on HN
- 13Dit2 people · first shared 2016
- 14Remembering Windows 3.1 themes and user empowerment1 people · 379 points · first shared 2021 · 323 comments on HN
- 15User power, not power users: htop and its design philosophy1 people · 290 points · first shared 2021 · 97 comments on HN
What HN people wrote when they linked it
jihadjihad · 2019-07-19
I've been using htop for a while now, it is pretty great: https://hisham.hm/htop/
aub3bhat · 2016-10-05
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
semi-extrinsic · 2016-08-26
For interactive use, I strongly recommend htop if you're still doing stuff like "ps aux | grep" and then "kill 84728". Htop is top on steroids: ncurses-based and very fast, has colors, threaded or flat process view, sorting by different criteria like cpu or ram use, searching for substring match in process name, interface to killing/signalling to selected process, etc.
http://hisham.hm/htop/
clinta · 2016-01-31
What looks less technical and more user friendly on a business card?
http://hisham.hm or www.hisham.hm
Personally, I think www is. And it's shorter.
hisham_hm · 2016-01-31
My domain is not immediately obvious as an URL: hisham.hm (also my username in many places, or variants of it, like @hisham_hm). Sometimes I do need to make it more obvious that it's an URL (e.g. when printed, or on presentation slides). In those cases I write it as http://hisham.hm
fuzzythinker · 2014-10-07
Wow, didn't know he also authored htop.
After visiting his site[1], discovered gobolinux[2] too!
1. http://hisham.hm/
2. http://www.gobolinux.org/
TheAceOfHearts · 2017-05-23
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]…
ufo · 2026-04-06
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/
cben · 2024-07-07
Some projects in a similar space: https://hisham.hm/userland/ https://arcan-fe.com/2021/04/12/introducing-pipeworld/ http://conal.net/papers/Eros/
dan-robertson · 2021-04-13
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/
effie · 2021-02-14
Userland has something like this.
https://hisham.hm/userland/
type0 · 2021-01-22
Ipad isn't general computing device, it's a smart gadget, same as Smart TV same as IoT lightbulb.
This article explains it well:
https://hisham.hm/2020/12/10/smart-tech-%e2%80%94-smart-for-whom/
afraca · 2019-02-26
Slightly offtopic: the author says the background of https://hisham.hm/htop/ shows live statistics, that's not the case as far as I can tell, just 4 pre-recorded images shown successively.
Ontopic: Quite impressive setup. For me it would be too strictly regulated for a comfortable use, though technically I like it. To each it's own.
daurnimator · 2018-08-23
Lua also corrects things. See https://hisham.hm/2015/04/18/a-small-practical-example-where-luas-beha…
catwell · 2018-08-11
I don't know in their case, but I know it's the style used by Hisham Muhammad (author of htop and LuaRocks among other things), and he explained why here: https://hisham.hm/2018/06/16/when-listing-repeated-things-make-pyramid…
digi_owl · 2017-03-09
Dunno about pr process, but i could have sworn that graphs where a option in htop.
http://hisham.hm/htop/index.php?page=screenshots
Some of them show both 1.0 graphs and the new, unicode based ones from 2.0.
git-pull · 2017-03-03
For those who don't know, that thing with meters on it is htop(1). http://hisham.hm/htop/
stevedonovan · 2016-04-18
Another text-based editor from hisham.hm (author of htop2) http://hisham.hm/dit/.
I totally agree, nano is due for a replacement.
brndn · 2016-02-11
For others interested in donating: http://hisham.hm/htop/index.php?page=donate
GamblersFallacy · 2015-06-21
I just use terminator terminal, multi-terminal grid. One terminal per server showing htop via ssh.
http://gnometerminator.blogspot.com.au/p/introduction.html
http://hisham.hm/htop/
bearlikelion · 2014-03-21
The only other top I know of is htop http://hisham.hm/htop/ but I don't think that's what you're looking for
mrmondo · 2017-03-10
htop - http://hisham.hm/htop/
dflock · 2017-03-09
_ao789 · 2016-02-11
Copied from the main site at http://hisham.hm/htop/ ?
pmlnr · 2018-11-19
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.
jwilk · 2017-10-09
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.