The Evolution of My Dev Setup

As with everybody, my development setup has gone through many changes over the years and will inevitabley continue to change.

The Beginning

My first computer that was mine and mine alone was a IBM Thinkpad Type-2647 from my grandfather. It had Windows XP when I got it, but I remember that it just crawled along. This is when GNU/Linux entered my life. I was pointed to Damn Small Linux as a way to improve the performance, and instantly fell in love. Somewhere around middle school I found Ubuntu and used that distro until college (More on that later).

This laptop still powers some stuff around my house this very day, and served as my daily driver all through middle school and high school. This is when I started programming on a computer instead of on my graphing calculator. I took some C++ classes at the local university and fell in love with the ordered, rational way of thinking through problems. I also started using Vim around this time. I was unaware that other text editors than vi and Vim existed.

The Dark Ages

In college, just like everybody else, I experimented. I got a MacBook Pro as a high school graduation gift, and spent all of college dual-booting Mac OS X and Ubuntu. In retrospect, I refer to these years as “The Dark Ages” because I guzzled the Apple kool-aid. I was the biggest Mac fanboy in my circle of friends. I wrote AppleScripts for fun (One randomized my MAC Address so that I didn’t keep getting kicked off of the university’s network for excessive use) and expounded the virtues of XQuartz on every street corner. During this time, my programming projects were still in C/C++, MatLab, Maple, and Mathematica. I lived in IDE’s and hated being in a terminal. I was also still a Vim person during this time, although I used a GUI version of Vim.

The Early Professional Years

Right after college, I got a job doing iOS development. Still drunk on the Apple Kool-aid, I dove in head first. I now spent 16 hours a day in Xcode and forgot about Vim. I got an iPhone and an iPad, and thought that my technical life was complete – all of my devices synced together, I had a continuous user experience across multiple devices – life was good. At the tail end of this period, I started using GNU/Linux exclusively at home. I started with Ubuntu (as most do) and then moved to Fedora. It was at this point that I discovered the Free Software Foundation and their mission. I started to see cracks in what I thought was a perfect technological existence. I found Emacs, and never looked back. Then I found other GNU/Linux distros that were more “freedom oriented.”

The Modern Day

I started using gNewSense because of its philosophy. I had many many pain points, but I kept using gNewSense because I wanted to use only FOSS software. At some point the pain points were too numerous, and I switched back to Fedora. I spent 18 months trying various distros for 1-2 months at a time until I found something that I liked. I tried Ubuntu, Fedora, Arch, gNewSense (again), Parabola, and finally landed at Trisquel. Now here was a distro for me; an active community, a philosophy that I agreed with, and reliable/stable software that I could use for my day job (doing web development). I used Trisquel exclusively, both at home and at work, for ~8 months. Then again, I started to see the cracks in my world. The community was becoming more and more poisonous – countless email/forum threads of trolling and personal attacks. I had technological needs that couldn’t be met by a 32bit system. I distro-hopped once more to Arch.

Today’s Arch Setup

Today, I am using Arch Linux on my home and work machines. While I am uneasy with using the “straight” Linux kernel due to it containing non-free parts, I have yet to spend the time to switch to using a libre kernel. I still make sure that I am using and installing free-as-in-freedom software. I refer to my system as “a free system, built upon a mostly free base.” While this isn’t a perfect solution, this setup works for me and allows me to get my work done with minimal interference. I live inside of Emacs all day at work; I use it for editing, irc, jabber, email, and as a terminal emulator. I couldn’t be happier – however, I am sure that someday I will see some cracks once more, and hop away to some other distro and its promised wonderland.