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

    Peteris Krumins

    catonmat.net · Personal blog · on HN since 2007

    Peteris Krumins writes about Unix tools, Vim, bit hacks and programming, and also runs Browserling and its online tools.

    Visit blogHN submissions
    ProgrammingOpen Source & Linux
    What HN says

    Commenters call the blog excellent and like his comics, though one finds the spammy 'Top Posts' links and the online tools sites odd.

    Stats for nerds
    316HN people shared it
    335linked in comments
    15Kstory points
    Jan 2026last shared
    2010people per year2026

    Top posts on HN

    1. 1
      Low Level Bit Hacks You Absolutely Must Know
      7 people · 657 points · first shared 2009 · 171 comments on HN
    2. 2
      Good at programming competitions does not equal good on the job [video]
      7 people · 577 points · first shared 2015 · 166 comments on HN
    3. 3
      Browserling goes viral with cheap phone users trying to use WhatsApp
      6 people · 492 points · first shared 2017 · 222 comments on HN
    4. 4
      Here is why vim uses the hjkl keys as arrow keys
      11 people · 480 points · first shared 2012 · 98 comments on HN
    5. 5
      Using Fibonacci numbers to convert from miles to kilometers and vice versa
      1 person · 362 points · first shared 2024 · 129 comments on HN
    6. 6
      I am doing a startup (putting virtual machines on the web)
      2 people · 299 points · first shared 2010 · 103 comments on HN
    7. 7
      A Unix Utility You Should Know About: Netcat (2009)
      2 people · 286 points · first shared 2009 · 36 comments on HN
    8. 8
      A Unix Utility to Know About: lsof (2009)
      2 people · 279 points · first shared 2009 · 53 comments on HN
    9. 9
      We open-sourced 90 node.js modules at Browserling
      2 people · 277 points · first shared 2011 · 32 comments on HN
    10. 10
      My favorite regex of all time
      3 people · 274 points · first shared 2012 · 111 comments on HN

    What HN people wrote when they linked it

    • rubyn00bieAug 2020

      Two things that helped me more than anything with "learning" vim and or ever wanting to use it:

      1. Remap your "capslock" key to "escape." Vi was written using an ADM-3A terminal and its keyboard, which you can see here: https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys has the escape-key in a sane place. On modern keyboards, if you can, remap "capslock" to "escape" when pressed alone, and "ctrl" when pressed with another key.

      2. Make your leader key something easy like the comma character "," E.g. to make a horizontal split, I press (not including quotation marks) ",h" or ",v" to make a vertical one.

      Once I did those two things it all made so much more sense... It's also great because most editors these days support vim bindings, so even if you don't want to use vim you can still benefit from its really-awsome-once-you-figure-it-out UX.

    • ryanobjcMay 2014

      On the partition side of things... not really. Usually you end up with coordinated failures of various types.

      For example, lets say you run redundant networks. Are the physical paths diverse? What happens if someone trips on BOTH network cables? What happens if the redundant network is on the SAME switch hardware? What happens if yes you use two network switches, but they are hooked up to the same UPS? Or both UPSs are on the same circuit breaker?

      The classic reference on this is from google: http://www.catonmat.net/blog/wp-content/uploads/2008/11/thatcouldnthappentous.pdf

      There are a number of theoretical issues with these approaches, starting with the FLP result.

      Also realistically, eventually all practical solutions fail, often due to user error.

    • briandollDec 2012

      Here's another list, sans product hype:

      Unix command-line tools like awk and grep. Set operation commands are essential too (http://www.catonmat.net/blog/set-operations-in-unix-shell/)

      Ruby/Python/Perl for more complex massaging and wrangling

      Excel (yes, really) for quick stats and graphs, great 1st step in understanding what you have

      D3.js for visualization

      I've used R in the past, but I found I was trying to squeeze data into R models. D3 is pretty hard to grasp initially (I'm very much still learning) but I'm finding that it's helping me think through how to visualize the data I have, rather than just forcing it into one of a few standard charts.

    • harperleeApr 2015

      Great visualization (as the rest from http://setosa.io , go have a look)!!

      I wonder, though: I learnt OLS as standard math / symbolic logic; but, if kids and students learnt from these visualization, would they be better off, or worse off?

      Because, at least for me, it is difficult to reason about this and other visual math examples (whereas there are others that are great as demonstrations, as the integer proof in http://www.catonmat.net/blog/visual-math-friday/ , this one, regarding OLS, confuses me).

      It probably depends a lot on each person. Out of curiosity, does this particular example give you insights? Which ones? How?

    • TwisellJan 2021

      Well I think the nice point of doing excercise in a web browser is that you can quickly switch to another tab and search for daring questions such as " by the way why on earth does this monstrosity want me to use hjkl? That don't make any sense!!!!"

      https://catonmat.net/why-vim-uses-hjkl-as-arrow-keys

      For a mostly data/SQL guy wanting to learn more about coding it still don't make much sense but at least I know why and I can move on. When I was trying vimtutor in a CLI interface I was less curious and more WTF F... this is pure madness kind of mood.

      Dunno if I'll subscribe but nice first experience through this demo.

    • kace91Oct 2019

      I think there could be a huge market for a ux effort that brings the somewhat forgotten goodies of old modal editors into the modern world, combining them with new advances like fuzzy searching. I love vim, but it's appalling that we have so many historical baggage creating a gap for the users...

      It's so obvious how vim's ergonomics are made for the [adm 3a keyboard](https://catonmat.net/images/why-vim-uses-hjkl/lsi-adm3a-full-keyboard.jpg) (location of esc, control, arrow keys, etc) and yet we keep making layers of customization or force ourselves to the standard instead of doing the very needed reboot.

    Related

    Andreas Klingawesomekling.github.io60 people

    I quit my job to focus on SerenityOS full time

    Andreas Kling
    Personal · last shared 2025
    Capsule8 Blogcapsule8.com21 people

    Millions of Binaries Later: A Look into Linux Hardening in the Wild

    Capsule8 Blog
    Company · last shared 2021
    Peter-Paul Kochquirksmode.org266 people

    Web vs. native: let’s concede defeat

    Peter-Paul Koch
    Personal · last shared 2026
    Sanctum (Tom Ryder)sanctum.geek.nz49 people

    Vim Anti-Patterns

    Sanctum (Tom Ryder)
    Personal · last shared 2026
    All That Is Wrongallthatiswrong.wordpress.com18 people

    OS X – Safe, yet horribly insecure

    All That Is Wrong
    Personal · last shared 2021
    Herb Suttergotw.ca84 people

    Ritchie, Stroustrup, and Gosling interview

    Herb Sutter
    Personal · last shared 2026
    Moyixmoyix.blogspot.com27 people

    Someone’s Been Messing with My Subnormals

    Moyix
    Personal · last shared 2025
    Stavros Korokithakisstavros.io81 people

    Open Letter to Mozilla: Bring Back Persona

    Stavros Korokithakis
    Personal · last shared 2026