Windows? We Don’t Need No Stinkin’ Windows!!!

I just read this article on Phoronix on the Phoenix HyperSpace quick boot Linux. So a quick boot Linux partition installed side-by-side with Windows is nothing new. It happened early last year.

Rather what this article shows is the increased awareness of Linux in the vendor space. It also shows that vendors will ditch their loyalty toward Microsoft and the Windows platform, if it suits the vendor. And Phoenix is not a sole rogue vendor. Nokia does it with Maemo on its internet tablets. Dell on select machines and its Mini 9 netbook. Asus and Acer, again two Linux netbook vendors. And a number of other vendors do the side-by-side install too.

Microsoft should be worried. The Vista debacle caused more than just users to get upset for a slow, bloated OS. Vendors got upset, when Microsoft promised a feature and then didn’t deliver half of what they promised. And vendors trying to stay ahead of the curve got burned when a vital feature didn’t appear. Don’t be surprised that vendors will happily pull a Julius Caesar on Microsoft.

Vendors and user both got tired of Microsoft telling them how they should do their computing. The basic beauty of computing is the flexibility and freedom of workflow that it allows for. Imposing limits of the technology for “historical” and business reason is folly in the long run. Also today’s state of the art technology is past the desktop. The desktop has to interact seamlessly mobile handhelds, web applications and cloud computing offerings. Making everything into a desktop paradigm as Microsoft sees things, doesn’t work. It doesn’t cut it anymore. And vendors know this.

Vendors now look to Linux and free/libre/open source software (FLOSS) as a way to simplify development, cut costs and ultimately as a way to go forward. That is the beauty of FLOSS, you have the freedom to take technology where you want it to go. The only constraints on computing technology should be the laws physical universe and your own imagination.

Why Ubuntu is Important for Me…

So Jono Bacon, Ubuntu community leader (and mister communitizing the community using community tools 😀 )  asks why Ubuntu is important to me.  In my case this would be why is Kubuntu important to me, but then we will be arguing over semantics.

Yes, the freedom Ubuntu brings into my life is one reason why Ubuntu is important to me.  In general I value things free in nature: free will, free markets, freedom of speech, freedom of association, et cetera.  Ubuntu brings me freedom in the software that I use.  The obvious freedoms stem from the free software that makes the Ubuntu ecosystem: the freedom to use as I see fit, the freedom to study and enhance my knowledge of computing, the freedom to modify to my needs, and the freedom to distribute my modifications.  But heck almost every Linux distribution gives me the same freedoms.

What differentiates Ubuntu Linux from other Linux distributions, are the more subtle freedoms.  I have the freedom to setup technology to work the way I want it to work.  Yet I also have the freedom of having the technology actually work.  I have the freedom to choose between free and *gasp* non-free software.  I have the freedom to access and install applications from one of the largest package repositories, aside from Debian.  I have the freedom to choose where I get excellent support, from the community or from Canonical.  I have the freedom of which architecture I want to run on.  In essence, I have the freedom to use my computing resources as I see fit.  You can’t get this on a Windows PC or a Mac.

The other reason Ubuntu is important is the reason why Ubuntu is so successful: the people involved.  Without the strong, friendly community, the responsive developers and enlightened leaders in and around Ubuntu, this distribution would not exist.  So thank you, all of you involved with Ubuntu.  Thank you for your time, your effort, your contributions and your sense of humanity.

BBLUG in Review

Ok, so I didn’t expect BBLUG to go off without a hitch.  However it doesn’t seem like a Linux or BSD-only tech group is all that interesting.  I’m still debating whether or not to continue this LUG experiment.  Maybe we can start a computer group, but that is really not my interest nor do I have a ton of spare time for organizing a general group.  I blame it partially on my lack of advertising.  But also maybe the FOSS environment is not as exciting to others as I thought.  KDE 4, Compiz, Maemo, Linux are all interesting technologies, and is interesting to see the how FOSS newcomers react to seeing alternative computing ecosystems.  However computing is at the end of the day an enabling technology.  The technology itself while interesting, doesn’t look as interesting as what you can do with it.

Still… thanks to Rudy and Ryan who came out yesterday.  I’m glad I wasn’t the only person at the meeting.  Next time, lets just go out somewhere to chill.

Open Source Gamer Goes to Ontario Linux Fest 2008

Last, last weekend (October 25) I attended my first conference, Ontario Linux Fest 2008. And what an awesome event it was! The event turned out be a somewhat low key event. Not a huge number of exhibitor booths, but the Eclipse, Fedora, FOSSology, FSF, OpenStreetMap and Drupal people had setup shop there. The event featured 4 tracks, and a number of great speakers. Got to meet Jorge Castro from Canonical, Ross Turk and Daniel Hinojosa from SourceForge, Jon “maddog” Hall, Jeremy Allison from Samba, Ian Darwin and Bradley Kuhn from the Software Freedom Law Centre (SFLC). It is always an amazing thing to meet the people “in the flesh”, who make a difference in the FOSS community, and read from blogs. The seminars were fantastic and inspire me to further my own open source/free software involvement.

One of the organizers, Richard Weait tried to convince me to start up a Brampton LUG. I might try it out, once I have a little bit more time. Nothing fancy mind you, just one night a month at the Coffee Culture, a few ads and a mailing list. We will see how it will go.

Also I got to go out to dinner with Bradley, the Red Hat and FoSSology folks. And thanks to Google for providing yet another free service in life, in the form of free drinks at the reception/ after-party.

So thanks guys for the awesome time. Sorry for not blogging earlier. Life keeps me busy as always. And lets make the 2009 event even larger!

Experimental Web Application Branch

Yesterday I started upon moving justCheckers into a web application. I didn’t want to pollute the trunk of the subversion repository. So I created the webappbranch. You can grab it by running:

svn checkout

My next major task to tackle is updating the documentation on the wiki and in the source code. After that I just need to create a few JSPs, and link up the code properly.

Technorati Tags:

I’m Hating it!

Humanity has a love-hate relationship with technology. Geeks like to take it to the extreme. Take the recent hub-bub in the blogosphere about the aptly named: Linux Hater’s Blog. In that blog, the anonymous blogger (or bloggers) rants about how BAD Linux is. Its entertaining and educational! Entertaining because rants and rabble-raising is fun… in a perverse sort of fashion.

This is not just a simply a rehash of Microsoftian propaganda; a machination of an ingenious marketing machine feeding FUD to an ignorant public. Rather the Linux Hater’s Blog (LHB) looks at the issues that Linux suffers from. Just like the Unix Hater’s Guide (thanks LH) before it, LHB satires the attitudes of the community, developers and companies in the Linux landscape. And hopeful as satire has done before, maybe better the Linux, Open Source and Software Libre ecosystem as a whole. Don’t be fooled. The Linux Hater is most likely an experience developer in the Linux world, and knows damn well what he is talking err… ranting about. And deep down inside he loves it.

I read both of the Linux Hater’s Blog and Unix Hater’s Guide in their entirety. It changed my perspective. Linux and UNIX are not perfect. The design and implementation of both of them aren’t the shining gems of computer science. And for historical reasons, and laziness on the part of Linux/FOSS developers, just doesn’t cut it anymore.

I admit it. I still prefer Linux. I’ll continue using Linux with all its wrinkles and weirdness because it’s still the best OS out there. I’ll still think freedom in software is paramount. I’ll still advocate open source as the most ethical and efficient way of doing business in the software industry. And I’ll still write in C, C++ and its spawn Java. Cause Lisp is way too hard to do in my head.

Thanks Linux Hater.

Symlink Mirror – A Useful Python Script

Just wanted to share a useful little python script I crafted. I creates symlinks from the top level directories in a specified source folder to a target folder. Its a neat little tool for linking between two distant directories under UNIX. Share and enjoy!

#! /usr/bin/env python
"""    Symlink Mirror -----------------------------------------------------------
       Author: Dorian Pula    Version: 0.1    Date: 2008 May 29
       Creates symlinks in the current directory to the top level folders inside
       a specified directory.  Its a great utility for linking a user's home
       directory with a directory holding files shared between users on the same

       Usage: python [source of links] [target for links]
       This program is free software: you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published by
       the Free Software Foundation, either version 3 of the License, or
       (at your option) any later version.

       This program is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       GNU General Public License for more details.

      You should have received a copy of the GNU General Public License
      along with this program.  If not, see <>"""

import re, os, sys, stat

verbose = "True"

def main():
    """ The main function of the program. """

    'Check if there are enough arguments supplied.'
    if checkNumberOfArgs():
         'Make the path directories.'
         sourceDir = os.path.abspath(sys.argv[1])
         targetDir = os.path.abspath(sys.argv[2])

         'Get all the names of the directories.
         sourceEntries = os.listdir(sourceDir)

         for toLink in sourceEntries:
             source = os.path.join(sourceDir, toLink)
             target = os.path.join(targetDir, toLink)
             dirCheck = os.path.isdir(source)

             if((os.path.isdir(source)) and not (os.path.islink(source)) and not (os.path.exists(target))):
                  os.symlink(source, target)
                  if(verbose == "True"):
                        print "Linking " + source + " to " + target + "."

def checkNumberOfArgs():
    Checks if there are enough arguments to work on.  There should be two
    arguments, the directory from which we generate the links from, and
    the directory in which the links appear. """

    argNum = len(sys.argv)
    if argNum < 1:
        print("I need a source directory to mirror.")

    elif argNum < 2:
        print("I need the directory to store the created symlinks.")

    if argNum < 2:
        print("python [source of links] [target for links]n")
        return False

        return True

if __name__ == "__main__": main()

Task Oriented Architecture

As neotechnophiliac (a.k.a. person crazy enough to run alpha releases of software), I love to experiment with different technology. And these tests are often for the pursuit of pointless knowledge and killing time. Technology and engineering are a lifestyle for me.

Most people don’t see technology that way. Technology comes in two flavours: toys and tools. Developing a tool is a challenge of engineering. However users don’t care about tools. (How many people care about carpentry tools?) Users want tasks done. The challenge of usability design is to create task-oriented user interfaces.

Simplicity is important in UIs. The Palm OS (IMHO) designers created one of the best UIs out there. Practically everyone (except Microsoft) in the smartphone, handheld and ultraportable market copied their design. The Zen of Palm, as a primary “pamphlet” for Palm programmers, emphasizes the importance of using a simple UI for getting a particular task done. Compare that with the desktop world, with applications looking like something out of configuration and accessibility hell. The cockpit of a jetliner often looks less daunting than a desktop office suite.

Efficient and reusable workflow helps users greatly getting their work done. A UI that lets you perform a task with 3 interactions works better than one with 5. Burning a CD under Nero, requires you either to click-through 8 screens on a wizard or navigate a massively clustered UI. Under K3B it takes a drap and drop, clicking the “Burn” button, throwing in a CD and you’re done. Neither you have to crawl through a wizard ever time. Nor do you have to deal with a clustered, non-trivial UI.

Remarkably, the most usable UI I’ve worked with, originated in the software libre world. Thats because the end-users of the programs, built those programs. Also open source, allows people to “fork” software. Forking let you take a software libre application that doesn’t meet your requirements, and built something that does from the same code base. In such an environment, software components such as UIs evolve much faster than in the proprietary world.

With my own life, I prefer using open source applications because they give me more freedom, and hence work better for me. Its amazing how much simpler, streamlined and usable most free software is. And it only gets better. I like my KDE 3 applications, but the KDE 4 applications once stablized will work even better for me. Thats because usability designers such as Celeste Lyn Paul work with the KDE developers on making better task-oriented UIs. A big thank you to all the KDE 4 developers, designers and contributers.

Blogging the Busy Life

Its funny actually. I imagined that with work, I’d have more money and time to do the things I want. Money is not the issue after all. Time on the other hand, is the ultimate scarce resource. Hence I blog less than I want to.

Fortunately as I fall into the rhythm of work, free time seems to increase slowly again. However, somethings may fall to the wayside. Like gaming. Unfortunate, but necessary. Then again I always considered gaming as a philosophy and as a thing-to-do in case of everyone else in the world being too busy.

Its funny actually. The name of this blog… I hoped to examine the seamy underbelly of open source gaming. Yet, while my blogging schedule is unreliable as most readers know, I consistently do not talk about open source gaming. One of those inside jokes, that the great machine of the universe plays on us. Or rather that the maker of said machinery, enriches our lives with.

Its funny actually. I feel that I possess more freedom to do see friends. But that too many reveal itself an illusion. Perhaps. Perhaps…

OK. Must stop slacking off and get back to doing productive… err… stuff.

(And the answer is yes. I am trying to out-do one of my blogging friends, with all this stream of consciousness. Was I successful?)

No Recent Grad Open Source Jobs for Non-Rockstars

As I continue my job search, I realized the difficulty of finding open source jobs for recent graduates. Especially if you aren’t a rockstar programmer. Unless people know you, and you worked on a high profile open source project, there seems no real way of working in the open source business.

Open source businesses have started to rock the software industry. Software companies either want to convert to open source or want to stomp it out completely. Apparently companies want to protect themselves from the downturn of the economy, by hiring recent graduates who are cheaper to erm… maintain pay-wise. I don’t see lots of people wanting to hire lots of recent CS graduates with open source experience. Unless they are rockstars in the open source world already.

In my case, maybe its just that Toronto is oblivious to open source in general. Or maybe its my bad luck. But looks like my only way of getting hired on open source, if I can work at Red Hat, IBM or Sun Microsystems. That doesn’t look likely though.

I don’t have the time right now to rise to rockstar FOSS programmer status right now. I need a job sooner than later.

Is there any hope of a FOSS career for someone like me?