Laziness is a Desirable Trait

I use open source because I’m lazy.

Not in that I don’t want to work, or in that I cut corners. I’m talking about the kind of laziness that breeds efficiency. You know what I’m talking about if you’ve ever ordered take-out while moving into a home or apartment, or worked as part of a study group — it just makes sense to do it that way.

It turns out that it’s not all that uncommon a trait in programmers, developers, sysadmins, and geeks in general. It’s the reason why services such as SSH and VNC were written (why walk across the building or drive across town every time you wanted to modify a server setting?). It’s why we have modern object-oriented programming languages, and why every modern language used in software development has a shared library of common functions and data structures: C++ has the Standard Template Library, Perl has CPAN, PHP has PEAR, and so on. It’s common sense, really — there’s really no sense in building your own wheel if you already have one available to you.

The geek-minded laziness I refer to above also does another interesting thing: it inspires community. Hence, open-source software. If I want to put up a website with good, secure, well-written code that I can build on and maintain easily, chances are that I’m not the only person who wants to do the same thing. And if, instead of building our own content-management system or blogging software from scratch for every website that we ever create, we pool our resources and build some software for all of us to use, it becomes incredibly easy to set up, customize, and maintain our websites. When we contribute our changes and fixes and methods back to the community of people that want this software, the entire process becomes even easier.

We reap mutual benefit from not trying to reinvent the wheel (CMS software, in this case) over and over again, so we work together to build and mass-produce a bunch of really nice, really well-built wheels. And by making the plans for the wheels available (source code), we make it easy to modify, customize, and improve those wheels. It’s not just limited to wheels, either — it turns out you can build a lot of tools this way.

That’s why you see software like WordPress and Drupal used all over the place, and more modular add-ons for both of those than anyone could have ever imagined. That’s why I balk at building a custom PHP-driven online storefront when I know that Drupal and its e-commerce module can do the job better, if not just as well. And it’s the reason that when I find a bug in a Drupal module or a WordPress plugin, I always try to fix it and post the patch on the appropriate forum: so that when I encounter the problem again, I don’t have to retrace the steps, and neither does anyone else.

It actually turns out to work pretty well for everybody this way. Imagine that you’re my client. Would you rather have me build you a site entirely from scratch for $5,000 and have to come back to me every time you wanted to add a feature or fix a broken page, or have me build a site using one of the software suites above for $1,200 and go to whomever you want when it come time to upgrade or fix something (or even better, do it yourself for free!)?

It means that I have to work much more to make a decent living, but it makes life much simpler for everyone else in the long run — myself included. Every website, server, desktop, handheld device, cell phone, and toaster that’s built on open-source software is simply easier to work with and maintain, which means that it costs less to work with and maintain.

Which means I can keep being lazy. 🙂

The best computer tip you’ll ever get from me.

You don’t have to pay for software anymore.

In fact, I’ve decided that I’m not going to pay for software ever again unless it’s absolutely necessary.

Now, I’m not talking about the software piracy that everyone makes a big deal about. In fact, everything I’m talking about is completely legal, and it has been for years.

I’m talking about free and open-source software. Free as in freedom, often free as in beer, and open in that you get the entirety of the source code to look at, tinker with, and improve.

What, exactly, is open-source software? Open-source software is software developed by a community of people who believe that more benefit is derived from letting people modify and change the software as they see fit, rather than restricting modification or changes to the original developer. It allows people to fill a need quickly, and then improve on the original solution by letting anyone return their changes to the community at large. An excellent example of this is the Mozilla Firefox web browser. Firefox has rapidly developed over the past 10 years to be a fast, efficient, secure web browser that people can use on any computer. Most of the development these days is done by programmers funded through donations or by companies like Google, but over a quarter of its development is still driven by volunteer programmers, and its source code is still freely downloadable.

Free and open-source software has actually been around for quite some time. The Free Software Foundation was founded in 1985 to foster the development and use of open-source software. The latest version of the most commonly-used open-source license, the GNU Public License, has been around in its current form since 1991. The movement only really began to take off with the advent of the GPL-licensed Linux kernel in 1994 and the growing ubiquity of fast internet connections. Now, there are thousands upon thousands of open-source software projects under a multitude of different licenses, such as Mozilla Firefox, OpenOffice.org, and numerous different distributions of GNU/Linux. It’s also become a very profitable business model as relates to the Internet itself.

You may be wondering what any of this has to do with a pricetag. Well, the open-source business model is such that most open source-based companies give away their software and then either sell advertising or charge for long-term dedicated support. Many smaller projects also get along quite well by taking voluntary donations. The benefit is that software becomes a commodity, much like steel, cotton, or other bulk goods, and the cost drops to essentially zero, while the economic base shifts toward people who know how to make the commodity good useful.

An excellent example of this is the open-source database engine MySQL. MySQL AB, a European company, gives their software away, and makes quite a tidy profit charging large companies for technical support and administration help related to running tens of thousands of databases on the MySQL engine. The software is free to use, free to modify, and incredibly well-written in and of itself, and the internet community benefits as a whole from having a fast, free database server. At the same time, the developers as the software make a living from doing something they’re good at.

Now, how does this relate to you, humble computer user? Well, let’s say you bought a computer two years ago, and you feel like it’s getting “long in the tooth”. You don’t want to buy a new computer, and you don’t want to spend $300 on a copy of Windows Vista that you can actually do things with, but you’re tired of all the anti-virus software and anti-spyware utilities you have to purchase and run. How does open-source benefit you?

You could backup your files, download a copy of Ubuntu Linux, install it in place of Windows, and get a decent performance increase from your computer. Ubuntu is geared toward the everyday computer user, so it won’t take you too long to get used to it, and because the Ubuntu software base is designed with security in mind and is patched on a regular basis, you benefit from not having to worry about anti-virus software and anti-spyware utilities. You can open all of your Microsoft Office documents in OpenOffice.org, a free office suite, and import your old Quicken files into GnuCash. While you’re balancing your checkbook, you can listen to all of your music in Amarok, a free iTunes-style music player. Your videos will play in VLC Player, and you can browse the web using Mozilla Firefox. You can IM your friends using Gaim or any of a number of instant-messaging clients, and you can check your email using any of a number of email clients. You can even edit video from your digital video camera using Kino, a popular Linux-based video editing suite. There’s also a version of Solitaire for those of you who feel so inclined.

The beauty of this is that every single piece of software I mentioned in the last paragraph doesn’t cost a single thing. If you need support, you can pay your friendly local computer geeks to help you. The downside is that you can’t easily run your old Windows programs, but there’s even a way around that. A number of those software suites, such as Firefox, OpenOffice, VLC, and GnuCash, have been released for Windows as well, so you can try them before you take the big step of moving to a new operating system.

I’m not really going to get into the tangled question of why this hasn’t caught on sooner. Part of it has to do with ease of use, part of it has to do with the availability of broadband internet for downloading big files, and a large part of it is that Microsoft has a really good, really effective sales and marketing department. There are a number of other reasons that I’ll be happy to discuss with you over a cup of coffee if you stop by our office. The important thing to know is that having an open, peer-reviewable means of developing software is going to do wonderful things for computer users everywhere, and  it won’t cost you a dime if (and when) you choose to adopt it.

amazing

today is a rare day.

it is a rare day because i’ve never wanted to destroy someone’s career before today.

but it’s probably because i’ve never met someone so grossly incompetent and arrogant that they don’t even bother to do any research or ask any questions before starting something in which they have absolutely no experience.

what a fucking idiot.

define: pwn

From Wikipedia:

The verb to pwn (past tense: pwned, pwnd, pwn’d, pwnt, pooned) as used by the Internet gaming subculture, means to beat or dominate an opponent. While it probably originated as a typing error of the word own, it is now used intentionally by many members of the subculture. The term has become so ubiquitous in Internet circles that it is often used outside of gaming contexts; for example, “He just got pwned in that debate” or “The hunters pwned that bear.”

Or:

This. This would also be considered pwnage in my book.

Hah.

fun with iTunes

here’s a tip for those of you who like podcasts, use an iPod shuffle (like i do) when working out, or just want an easier way to sort music.

when i purchased my shuffle, i intended to use it mostly for listening to podcasts while i worked out. when i discovered that there was no way to automatically upload podcasts to it, i was disappointed. i was able to find a simple workaround, however.

iTunes has this nifty feature called a smart playlist that allows you to define playlists by song characteristics, such as length, artist, genre, and so forth. i was able to transfer the contents of a smart playlist to the iPod shuffle by dragging and dropping. so, i created a smart playlist that only grabs songs of the genre “Podcast”. when i want to put podcasts on my shuffle, i simply drag and drop the smart playlist onto my iPod’s icon in iTunes.
another neat feature of the iPod shuffle is that it updates the play count of each song on it when it’s synchronized with iTunes. to ensure that i get podcasts that i haven’t heard before, i modified the smart playlist to only grab podcasts that have a play count of 0.

and that’s my neat tip.