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
    T

    The Valuable Dev

    thevaluable.dev · Personal blog · on HN since 2020

    The Valuable Dev publishes long guides for programmers on Vim, Zsh, learning, cognitive biases, and burnout.

    Visit blogHN submissions
    ProgrammingOpen Source & Linux
    What HN says

    Commenters recommend its Vim and Zsh guides as useful, though one criticizes a different linked article for historical inaccuracies about teletypes and mainframes.

    Stats for nerds
    34HN people shared it
    47linked in comments
    1Kstory points
    Jun 2024last shared
    2020people per year2024

    Top posts on HN

    1. 1
      A Vim Guide for Advanced Users
      2 people · 606 points · first shared 2021 · 172 comments on HN
    2. 2
      Type Systems Explained with Examples
      1 person · 114 points · first shared 2020 · 31 comments on HN
    3. 3
      The Art of Debating for Software Developers
      1 person · 114 points · first shared 2020 · 113 comments on HN
    4. 4
      Measuring Software Complexity: What Metrics to Use?
      1 person · 101 points · first shared 2021 · 80 comments on HN
    5. 5
      The Art of Learning for Software Developers
      4 people · 11 points · first shared 2020 · Discussion on HN
    6. 6
      A Guide to Zsh Expansion with Examples
      3 people · 10 points · first shared 2021 · Discussion on HN
    7. 7
      Burnout in Software Development Demystified
      2 people · 10 points · first shared 2020 · Discussion on HN
    8. 8
      Cognitive Biases in Software Development
      4 people · 8 points · first shared 2020 · Discussion on HN
    9. 9
      A Vim Guide for Intermediate Users
      4 people · 8 points · first shared 2020 · Discussion on HN
    10. 10
      A Vim Guide for Veteran Users
      2 people · 7 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • aeadioMar 2024

      Zsh is quite a bit nicer than Bash for scripting. For one, parameter expansion doesn't word-split by default, so you don't have to haphazardly quote everything. There's also some really powerful features, like the parameter expansion flags [1] and filename generation (globbing) flags [2] that can be combined to do very flexible things. [3]

      Zsh also bundles a ton of useful modules that can be used to do things pretty outside the box. Eg, there's a module for creating and controlling a hidden PTY. [4]

      Zsh also has some quite nice shorthands for basic grammar, like compact loops and conditionals. Eg, you can do:

      for foo in bar*; do_stuff # you don't need the do..done here for single-line for-loops Also, while Zsh diverges from POSIX sh in some areas (like word splitting), Zsh has sh- and Bash-compatible emulation modes, which can even be mixed together within single scripts (eg functions can set their emulation mode and shell options locally, or files can be sourced or commands run with different emulation modes prefixed). [5]

      Lastly, Zsh has this weird reputation for being slow, because the configuration frameworks like oh-my-zsh are absolute dogs. But it's actually among the faster shells, with very respectable script performance that's squarely ahead of Bash. [6] Interactive performance can also be fantastic if you use a less hungry framework or write your own config, and Zsh has many tools to improve speed further, like support for pre-compiling source files…

    • crosserJan 2023

      That article starts with too many inaccuracies to recommend it to anybody:
      - Teletypes were designed about a century before the era of mainframes.
      - Mechanical teletype did not have an "I/O driver" in it.
      - OS on Mainframe computers did not have a "Kernel", and neither "I/O driver", "Line discipline" or "TTY driver". This model was introduced with UNIX, the OS that ran on minicomputers.
      - Was ChatGPT used to write this article? ;)

      I've recently stumbled upon an article on the same topic, but containing competent and accurate information, I have a link because I recommended it to a friend: https://thevaluable.dev/guide-terminal-shell-console/

    • rramadassJun 2024

      Absolutely; the issue has to do with the "Cognitive Load" imposed on the programmer. Standardizing on a small set of languages/frameworks(ideally one) also has the advantage that developers can better communicate/interact with each other using a common language thus enabling better overall productivity.

      The Cognitive Load Theory in Software Development - https://thevaluable.dev/cognitive-load-theory-software-developer/

      Cognitive Loads in Programming - https://rpeszek.github.io/posts/2022-08-30-code-cognitiveload.html

      Cognitive load - https://en.wikipedia.org/wiki/Cognitive_load

    • KuzutsukakeDec 2020

      These articles are personal philosophies you might take up using the principles of CS. So while not technically rigorous, I think they are like chicken soup for the hackers soul...I found these two articles to be both interesting and inspiring:

      The Single Responsibility Principle Revisited -

      https://thevaluable.dev/single-responsibility-principle-revisited/

      Climbing the wrong hill -

      http://cdixon.org/2009/09/19/climbing-the-wrong-hill/

    • john-tells-allJun 2022

      Complexity is relatively easy. It's basically the number of loops and conditionals in a function :) https://thevaluable.dev/complexity_metrics_application/

      The testsuite overlay sounds wonderful. Or maybe "coverage multiplied by business value". Biz-important things like authorization or money = more coverage, random marketing things = less important for test coverage.

    • asicspDec 2021

      I have a list of resources here: https://learnbyexample.github.io/curated_resources/vim.html

      I'd recommend this SO answer (https://stackoverflow.com/a/1220118) and this series of articles "Vim from the ground up" (https://thevaluable.dev/vim-beginner/)

      I'm also writing a reference guide (https://learnbyexample.github.io/vim_reference/)

    Related

    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025
    swyxswyx.io120 people

    AWS is playing chess, Cloudflare is playing Go

    swyx
    Personal · last shared 2026
    Stack Overflow Blogstackoverflow.blog1.1k people

    How Dwarf Fortress is built

    Stack Overflow Blog
    Company · last shared 2026
    Dev Geniusmedium.com/dev-genius36 people

    A principled approach to GraphQL query cost analysis

    Dev Genius
    Publication · last shared 2026
    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    freeCodeCampmedium.freecodecamp.org582 people

    A hacker stole $31M of Ether – how it happened, and what it means for Ethereum

    freeCodeCamp
    Publication · last shared 2025
    Zwischenzugszwischenzugs.com66 people

    Things I Wish I'd Known About Bash

    Zwischenzugs
    Personal · last shared 2026
    #AltDevBlogADayaltdevblogaday.com163 people

    John Carmack on the importance of Static Code Analysis

    #AltDevBlogADay
    Publication · last shared 2023