It is hard to remember the early days of Linux. A time when the greatest struggle was finding applications that did what we could do in Windows, applications like Office, AutoCAD, Outlook, etc...
I remember, with fondness, looking at very powerful tools like SIAG or PINE, that could do what I wanted to. While easy enough for a novice like me, the learning curve was long. But it was long because it had such depth and power, at each step the skills I learned seemed to make my mind sharper and my processes simpler. But there were still some very easy tasks I wanted to do that were out of my reach. How do I collaborate? Do they need learn what I've learned just to work with me in these tools? How do I just do (said task) by clicking on this?
Sure, OpenOffice came around and back then it was StarOffice, an app that was so phobic of the X interface that it encapsulated itself within its own desktop. Its gotten much better since then, but at some point I abandoned it for TexMacs, which produced cleaner and more beautiful results that, once again, worked into very simple processes to be productive. TexMacs can hook into many scientific programs that I found very useful, and it published within structured templates that I expected when I wanted to write something (for the most part).
Then an amazing thing happened. I could say it was just Google, but really it was the cloud. Google was just one of the first that realized that if they could get everyone to use their servers, they could collaborate with each other much more easily. The world if ease expanded with RSS feeds, labels which allowed a multidimensional way of categorizing emails beyond the folders I was used to. Its search function was so efficient that I found I didn't need to even categorize and organize most of what I had. Amazon and Ebay seemed to catch on to the same trick, if everyone used their servers they could provide each other's products in ways which were much more convenient for sellers to find. Amazon soon packaged up the proprietary data center management as the Cloud so others could have the same results. It was, in essence collaboration in a simple and easy to use maner. It was social networking, facilitated through central computers who seemed to know everyone and everything around them.
And as far as those applications go, the Cloud is still an exciting and glorious place. In fact the Cloud can be seen as the necessary infrastructure to enable the advent as smart-phones. I see smart phones as nothing more than handy personal interfaces to the vastness of the Cloud.
Perhaps now that I have satisfied the need collaborate, with all the vast sums of knowledge it keeps me connected to with a screen I can fit into my pocket, I'm finding that for personal productivity nothing beats the command line. I'm giving up on using Google and web interfaces to do the things I need to do, and going back to the power of the command line.
Case in point, Personal Finance Software. Its a killer app that I've never found anything that I was satisfied with. I've tried Cloud, Linux and Windows list of usual suspects. I've observed that there are many contenders for simplified finance managers based on many different paradigms (like YNAB). But in the end, I've found "Ledger" and I'm quite happy with the ability to use VI or Emacs, or even sed, to keep my ledger in my own way as a simple text file, while the 'ledger' command line program understands it and simply gives me stats and reports. I've even found ofx.py, a little script to download my banking information which ledger also understands. Now I finally feel like I have a long learning curve again. And once again I have that feeling of conquest, that at every step of the way I'm getting sharper, smarter, and more able to handle and process more information in successively easier ways.
But that isn't all. Since smart phones have all the graphical and UI candy I might ever need, I found myself pairing back my laptop's desktop. I've found myself drawn to the philosophy of a site called "suckless.org", which offers very simple tools to do very simple tasks. Only I divert from their tools in two instances, I use EvilWM and UZBL instead of their very fine alternatives. But that is neither here nor there.
The real jewel that expresses the new ease of desktop management through the CLI is 'dmenu', which is a cross between beagle and a dock but is usable in so many more situations. For instance, UZBL uses it to do URL completion based on what is in your browser history. Sure, my laptop has power to spare to run Beagle, Cairo-Dock, and such. But dmenu's simplicity is really its value, and especially how many times I find myself needing to use it for things like Ledger to do automated completion of all the accounts I use -- within vi. Cairo-Dock in particular does its job well, but dmenu has a certain simplicty to it which makes it useful to do the same job in so many different instances.
And that, right there, is probably the best way I can describe why I'm trending towards the CLI in my life. Because after some time in the field, I get it. I get why it works. And it is all about personal productivity, or if you will, process productivity.