Archive for March, 2011

My Love Letter to Linux

March 31, 2011 Leave a comment

Note: what follows is the lengthiest Facebook message I’ve ever written, in response to a friend‘s query about whether to wipe Windows off her bloated laptop and install Linux.

I use Ubuntu, which is the Linux distribution with by far the most non-commercial (i.e. laptops instead of servers) users. Ubuntu has a lot of users because it was designed to be less arcane than the other distributions. It isn’t perfect, but it’s better.

As a function of that, as well, there are a lot of people out there who have posted questions about almost any problem I run in to, making troubleshooting easier. It can still be pretty arcane, but it’s better than the kernel nerds who tell you to “Use the source, Luke“.

I use Linux because it makes my software development work a lot easier, and I’ve been using the command prompt long enough that it’s actually easier to do most things in it these days. To give you a sense of the length of the path of mastery, I started using Linux in 2006, and I probably wouldn’t have preferred the command line until 2009 or so. However, it is a skill to be mastered like guitar or martial arts or programming: the more you dabble and “practice”, the faster you will gain mastery.

Anyway, as for gaming, I actually find that WINE, which lets you run most Windows programs, is a beautiful hack. I’m sure the internals are a gory mess, but it works most of the time. I find WoW runs better on my laptop in Linux under Wine than it did under Windows 7. Wine can reliably run any game older than, say, 2 or 3 years. My laptop can’t do nearly that, so Wine is good enough.

I’m glad I picked up and worked with Linux. It’s made me a better programmer and a smarter computer user: it doesn’t hide nearly as much from me. There have been, and are today, struggles. Sometimes it won’t play a DVD right. Sometimes when I put my laptop to sleep, it shuts off the screen never goes to sleep.

On the other hand, a lot of shit just works. When I wanted to develop for my Android phone, I didn’t have to install any drivers. When I want to tether my phone to my laptop, it does it automatically and without drivers. The window manager is miles ahead of Windows. Things like being able to resize windows to fit a grid so you can have multiple windows share your screen perfectly (each time the window resizes, that’s one keypress). Or the ability to zoom in on things on your desktop so they fill the whole screen, instead of trying to fiddle with increasing the size of the window.

I can watch Hulu on my laptop “fullscreen” (so the picture takes up the whole screen) by zooming in on the video. The full-screen button in Flash makes the video chug and screen-tear, even on my gaming desktop.

So, that’s the tradeoff: you’ll have to work to get it to work sometimes, but the rewards are, in my opinion, worth it. And the “having to work at it” part is why Linux spreads socially. The only way people stick with it is if they have someone to ask when they run in to problems. That’s why there are Linux User Groups with mailing lists and meetings to talk about cool Linux stuff and hard Linux problems. NCSU has a LUG (I’m the treasurer >.>), and so does The Triangle (it meets on Centennial, at the corporate HQ of Red Hat, the biggest commercial Linux vendor in the world).

I wouldn’t give up Linux on my laptop, and I’m trying to switch my computer at work from WinXP to Linux because it helps me get shit done. It’s worth it, to me, to learn, and I’m definitely here to help if you have any problems.

If you manage to load all your critical files on a thumbdrive or Dropbox or something, I’d definitely recommend just blowing away Windows and installing Linux. Keep all your files portable (thumbdrive, Dropbox) in case you need to go back, but at the same time, really commit to using it and I think you’ll like it.

P.S. Ubuntu comes out with new releases and new features every six months. How long are we going to be waiting for The Next Big Damn Windows Release?

Additional note: I tried to avoid this kind of rhetoric in my note because it seemed like it might be discouraging to a beginner, but learning to really use Linux is a process of mastery. (So is learning to use Windows, for that matter, but it’s a mastery that we gain a basic proficiency in as a cost of being a member of modern society.) I use the word mastery very deliberately, because George Leonard’s book Mastery has profoundly evolved my thinking on the topic. Particularly in the fact that mastery is something you gain, not achieve; that is, you never learn everything and “finish”.

Likewise, Leonard stresses that mastery requires regular practice, in particular of kata which are the same from the day you enter the dojo until the day you leave. The set of Linux/Unix command-line kata is fairly small, but by practicing and learning them separately, you gain mastery and the ability to use them together to do very powerful things.

Categories: Uncategorized