Leaving The Comfort Zone

raph @ 2012-09-16 19:43

This post was migrated from my old blog which used to be hosted on Blogger. As a result, some links might be broken.

Yeah, what a “blah” title. But I’m in a hurry now. As all the internets have undoubtedly noticed, I haven’t blogged in a while. I’ve been busy with shit, and to break out of it I’m dumping out a quick post. In fact, future posts will probably be a bit shorter, just to get anything out.

What’s been happening

One of my more recent posts (read: months old) mentioned that I was once again attempting to move my computing life into Linux. Well, the good news is, I succeeded. I’ve spent about 98% (pretty random gut-feeling number) of my time on Crunchbang in the past months, and there’s no looking back so far.

I wish I could blame my laziness with regards to blogging on a missing driver for The Internet or something. But really I’ve seen only a minor driver issue with my built-in webcam’s mic, which I have also resolved - so Linux has been working great on my laptop. Yet I’ve always been a Windows guy, and switching to Linux had one big challenge in particular: coding.

I had to make pretty serious changes to my usual workflow to get coding on Linux. I wanted to leave the MS world I am used to behind and go as native as possible, Which was pretty much the definition of what all those “leave your comfort zone” mantras are about.

Going hardcore

Determined to embrace the command-line world which is Linux, I decided to go the whole length and use Emacs as my (sort of) IDE. And the learning curve was a lot easier than I expected - you hear a lot of bullshit about how hard it is and whatever. It wasn’t. Yes, you need to learn some shortcuts, big deal. It’s just a powerful text editor with a bunch of plugins. From day one I’ve been running it in console mode (-nw), and it not only looks like straight out of a cliche hacker movie, it’s also really lightweight and fast. Loving it.

Language was trickier - I’m mainly a .NET guy, and I have played with Mono before, but I again wanted to go as “non-Windows” as possible. And I wanted to use the opportunity to learn new languages. So I played around with clojure for a while - and I might write a bit on it separately, but long story short: I’m not impressed. It’s essentially yet another abstraction above of where I’ve spent the last years (C#, which is Java-ish). But contrary to common opinion, I don’t think imperative programming is necessarily evil, and I’ve found myself leaning toward the more low-level side of things again.

Coding in Go

To cut to the chase, I discovered Go, which is like C on steroids, and it immediately felt like what I need. I’ve gone from zero to productive in a few days, and I’m pretty happy so far. Again, I’ll be posting on this later. I have a little side-project going which I will write about on this here blog soon.

To summarize: I barely use Windows at all, just for the occasional game, so very rarely .I feel at home on Linux now, and I’m coding happily in Go on Emacs with some help of Go’s great command line tools. I’d say this attempt at moving to Linux was finally a success, and I’ve not only left my comfort zone, I pretty much inverted it - and it’s been a great ride so far.

hugs and kisses xoxox lol