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.

What HN saysCommenters recommend its Vim and Zsh guides as useful, though one criticizes a different linked article for historical inaccuracies about teletypes and mainframes.
34HN people shared it
11linked it in comments
47stories submitted
1.0Kstory points
2 years agolast shared
2020people per year2026

Most-shared posts

  1. 1
    The Art of Learning for Software Developers
    4 people · 11 points · first shared 2020 · discussion on HN
  2. 2
    Cognitive Biases in Software Development
    4 people · 8 points · first shared 2020 · discussion on HN
  3. 3
    A Vim Guide for Intermediate Users
    4 people · 8 points · first shared 2020 · discussion on HN
  4. 4
    A Guide to Zsh Expansion with Examples
    3 people · 10 points · first shared 2021 · discussion on HN
  5. 5
    The Expert Blind Spot in Software Development
    3 people · 6 points · first shared 2020 · discussion on HN
  6. 6
    A Vim Guide for Advanced Users
    2 people · 606 points · first shared 2021 · 172 comments on HN
  7. 7
    Burnout in Software Development Demystified
    2 people · 10 points · first shared 2020 · discussion on HN
  8. 8
    A Vim Guide for Veteran Users
    2 people · 7 points · first shared 2021 · discussion on HN
  9. 9
    A Guide to the Zsh Line Editor
    2 people · 3 points · first shared 2022 · discussion on HN
  10. 10
    A Guide to the Terminal, Console, and Shell
    2 people · 2 points · first shared 2022 · discussion on HN
  11. 11
    Is Inheritance That Evil?
    2 people · 2 points · first shared 2021 · discussion on HN
  12. 12
    The Single Responsibility Principle Revisited
    2 people · 1 points · first shared 2020 · discussion on HN
  13. 13
    Vim Search, find, and replace: a detailed guide
    2 people · 1 points · first shared 2020 · discussion on HN
  14. 14
    The Art of Debating for Software Developers
    1 people · 114 points · first shared 2020 · 113 comments on HN
  15. 15
    Type Systems Explained with Examples
    1 people · 114 points · first shared 2020 · 31 comments on HN

What HN people wrote when they linked it

crosser · 2023-01-11
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/
asicsp · 2021-12-07
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/)
aeadio · 2024-03-08
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…
rramadass · 2024-06-04
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
jiripospisil · 2023-03-12
I had no idea Zsh could do that. I'm currently reading this article which explains a lot of this wizardry. https://thevaluable.dev/zsh-expansion-guide-example/
informalo · 2022-11-29
Similar resource for zle which is used by zsh instead of readline [1]. [1] https://thevaluable.dev/zsh-line-editor-configuration-mouseless/
john-tells-all · 2022-06-04
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.
scns · 2021-08-15
The experts blind spot comes to mind: https://thevaluable.dev/expert-blind-spot-software-development/ https://nscblog.com/continual-learning/understanding-understanding-the… Dropping the judgements, assuming positive intent and trying to see the situation might help.
hpfr · 2021-02-27
The author does mention this in an in-depth article on search: https://thevaluable.dev/vim-search-find-replace/ It's pretty comprehensive. Personally I'd just install Doom Emacs though :)
Smaug123 · 2021-02-27
"Split screen" as in make a new window? Sure - `:vs` ("vertical split"), or `:vs filename.txt`. Or there's the "Windows" section on https://thevaluable.dev/vim-intermediate/ .
Kuzutsukake · 2020-12-07
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/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close