Minimalist Computing Philosophy?
An IRC and BBS buddy named Tim (aka: ratcheer, aka: randomcharacter) brought up a subject on minimalist computing. Everyone was quick to chime in about how the idea of what this means can vary greatly from person to person.
This got me thinking a bit about how I personally make decisions about my environment, because as I’ve previously stated, I do it because I find it highly efficient and not because I have a hardware-imposed need.
I can clearly think of a recent example of something that I did that outlines my thought process very well. While I’m working on something, I like music. I often switch back and forth between multiple computers, so having a bit of stability in my listening is nice. I had previously been pulling and saving playlist urls from soma.fm and opening them with moc (music on console…great program, and very useful if you have tons of music to manage.) A friend of mine put up a nice screenshot of using mpg123 playing a stream directly. While I knew that you could do this, it was his shot that finally made it ‘click’ that I had created an abstraction that wasn’t necessary and was slower than it needed to be.
So, I sat down and took the 5 stations that I actually listen to regularly, wrote out a very crude bash script using case/switch that would take an argument and slapped some stream urls using this format as one-liners at each switch. I made it simpler after getting the station number I wanted wrong a couple of times, so that when I ran the script, it would list each station’s name by a number, then read my selection, and start the stream. Using a bit of inspiration from someone else, I had now managed to remove the need for a piece of software that was consistent across all of my installs, and the new method was a better fit for what I was using it for. I’m sure that if you have multiple directories of stored music, or are using a network drive for music storage, that this would be different. I personally, though, am not. I had in a very short time taken something that I do regularly and made it a faster process.
Another example that’s very fresh on my mind is something that’s incredibly simple, and is actually an added abstraction that I consider totally worth it. I use zsh. In my config, I have a pretty elaborate set of aliases, but a few that come immediately to mind are:
alias gcm='git commit -m' alias gpom='git push origin master'
While this isn’t exactly complicated, consider the fact that I pushed 32 commits earlier today. Saving around 30 keystrokes per commit in the midst of everything else can make a huge difference over the course of a project. There are some things that are simply worth the “bloat” to me, and my personal approach to workflow is determined by what I find to work for and with me. If doing something in a more “minimal” fashion interferes with my groove, I won’t use it. I’m all for trying the untried, but there needs to be some kind of goal in mind to weigh both the positives and negatives of the decisions made regarding your work environment. I personally see “minimal computing” as a constant refinement of your regular environment for the sake of simplicity in design and use.
The most minimal computing environment is one that doesn’t exist at all.
*Special credit to Pidsley for inspiring the mpg123 script idea, and all of the guys at the linuxbbq for being a constant source of refinement and creativity.