Back to Thoughts

Falling in love with the CLI

by matsjfunke

NVIM Dashboard

When I was young I used to dislike interacting software (all the clicking felt tedious),

Googling and wikipedia deep dives brought me great joy as it enabled me to get a lot of infromation quickly but all the clicking annoyed me.

Then in early highschool I was allowed to use an iPad and it immediately clicked for me (I mean I was still clicking, but with my hand) no latent mouse but my own fingers where able to interact and get me what I want, I loved it.

And that's why I didn't bother to try to optimize, but when my college studies started I knew it was time to grow up so I transitioned to a laptop now clicking away on a trackpad...

But than I fell in love with software as I realised that software had the lowest barrier to building stuff, only no heavy maschines or expensive materials, just my laptop & a problem to solve. So I started hacking in VS-Code, it was a horrible experience, buttons everywhere, I felt like I had no control and no clue why stuff was / wasn't working.

Then I got my first programming job and my lead was your typical arch linux, vim, split keyboard chad and he always empathised how removing abstractions made him a better developer because it allowed him to get an holistic understanding of what was going on. He didn't force me to use VIM he just stressed how important it is to get good & understand the tools you are using.

Working with him I amazed by how he could always explain every single command or operation a computer could do, that was it I was hooked people who know me know that I'm lazy and driven by the need to understand the world around me.

And when I realised no tedious clicking was needed to unleash even potentciate the power of a computer I wanted to get good at this. The CLI / Terminal allows me to understand, learn and it gives me the power to control I know what’s going on, I can not be lied to by a fancy UI, it makes me the master of this maschine no fooling around I hold all the ropes now!

If something works its my fault and if it doesn’t I can certainly figure it out.

Getting familiar with the Terminal I noticed that it is really your world you can customize it to perfectly suit your needs -- similar to how good carftsman build their on tools good software engineers should too.

And thats how my obsession with configuring software started, there is always something that can be more efficient or less of a hassle the DRY principle ("do not repeat yourself") really resonated with me and still does I think developing is fun and it should stay that way!

So I started customizing my terminal, configuring neovim, and discovering cli utilities.

You can watch my obsession unfold in my .dotfiles repo on github, maybe you can steal some stuff or have some recomendations for me, I'm happy to chat about software you enjoy :)