My first dive into understanding computers began in 7th grade. I was on a Mac when I first started to learn to program. It wasn’t too long before I connected to the Internet and began to learn about Unix and Linux systems. I remember writing my first CGI script in C on a Solaris box.
One of the reasons I was such a computer person was a learning disability I had been diagnosed with. I was a slow writer. I wrote about 30 words a minute by hand. Compare that to the 70 words or so I can type per minute, and you have a compelling reason for me to invest in working on a keyboard instead of using a pen.
There is something great about working from the keyboard; the ultimate keyboard experience is the terminal. When Mac OS X came out with a built-in terminal, it was one of the coolest features I’ve ever seen. I was an early adopter.
Fast-forward to today and so much of our world is visual rather than textual. While webpages do have text, you navigate with your fingers on a screen or with a mouse. The terminal experience has been somewhat forgotten. Even git, the version control system, has tons of GUI front ends for the simple terminal text backend. When I see new developers working with Git, it is often through a GUI interface. I still do most of my commits from the command line. My favorite command is git add -p
which allows me to see all my changes in the terminal and add them one by one to a commit to ensure I’m not adding anything I don’t want.
The terminal has changed. I went from using the built-in Mac Terminal to iTerm2 and, more recently, to Warp. I want to check out other new terminals.
There are also cool libraries, some that have been around forever, like Ncurses and this new library I saw on Hacker News yesterday, TerminalTextEffects. These libraries inspire me to think about what terminal program I would write. The problem is that interest in terminal programs isn’t what it used to be.
Still, maybe I’ll write something with one of these libraries. I’ll let you know.