Archive for April, 2008

The enigma of open source sociology

It\'s all about the freedom, man!A work colleague and I got into a discussion recently about online communities; the common threads or characteristics that occur amongst them and what key differences exist; and particularly whether there are recurring and crucial elements that, when present, make certain communities succeed, and when absent, make others fail.

Of particular relevance to my recent indulgence into Ubuntu is the epiphany I came to during the course of the discussion: The greatest examples of passionate online collaboration and vibrant community interaction I’ve seen occur in the open source and free software movements.

The more I think and read about it the more it seems like a common sense conclusion I should have come to long ago but hadn’t.  Open source projects existed long before the explosion of the Internet, communicating most notably through Usenet groups, but it was the advent of the Internet that enabled the sorts of mass collaboration we see today in open source to truly proliferate.

I wonder to what degree then you could argue that much of the contemporary social software and so-called Web 2.0 technologies saw their inception from the open source community.  Rest assured this is something I plan on looking into.

The significance of all this is in the widespread success of open source community efforts to create engaging self-sustaining entities in support of a shared vision, often times in the absence of any formalised structures.  Many similar endeavors have been attempted under different circumstances since then and failed; what is it about open source that’s different?

In open source we’ve seen the emergence of Apache, GNU, Linux, GNOME, Drupal, Ubuntu, Mandriva, Firefox, and countless others; all of which are founded, in large part, on the crucial activities and contributions of volunteers.  In a sense they are paid nothing for their contributions above and beyond the software they help produce, and yet are willing to devote hours, days, even years of their time in a passionate embrace of the community’s vision.

Outside of open source I can think of more isolated examples at the level of specific demographics or websites - such as Wikipedia - but not one that is so prevalent across the board and so comprehensive.  I’m at such a loss for another example that I’m starting to wonder whether the passion and collaborative contributions you see in open source are largely limited to that specific movement.

What is it that drives people to give freely of themselves for hours per day in some cases, and sustain this over long periods of time.  Certainly a belief in the fundamental value and shared idealism of the community, but would that alone be enough to compel this degree of dedication?  I’m not sure I think so.

Certainly these two factors are paramount, but I believe there is more to it than that; and I’d like to find out what.  Not just for my own interest and belief in the value and idealism of open source, but in the hopes that more fundamental factors will precipitate out that could, in turn, be applied to other projects and thus ensure their success as well.

If you have thoughts, insight or experience into these questions I’m all ears.  The sociology and philosophy of the open source and free software communities are an absolutely fascinating example of extraodinary productivity and cooperation occuring in the absence of traditional market structures.  It is a unique example that deserves adequate examination and I plan on doing just that.

Wednesday, April 30th, 2008

Windows XP Service Pack 3

Ever the curious sort, I’ve just finished downloading and installing Windows XP Service Pack 3. I’d hoped to find some dramatic new features - or in fact any noticeable changes - however based on what I’ve seen so far this isn’t going to prove the case.

First off, there seems to be a fair amount of confusion as to whether SP3 has been formally released yet, and near as I can tell it hasn’t.

As covered in ZDNet (”UPDATED - XP SP3 available for download from Microsoft“) the release appears to have been delayed, with Microsoft indiating they have “uncovered a compatibility issue between Microsoft Dynamics Retail Management System (RMS) and Windows XP SP3 and Windows Vista Service Pack 1 (SP1).”

For now this means XP users will not be prompted to download and install SP3 through the automatic updates, nor is there a landing page for downloading the service pack from the Microsoft website.

That said, ZDNet blogger Adrian Kingsley-Hughes has provided a direct link to a download file for SP3, saying:

“XP SP3 is now available for download from the Microsoft website. Note that this is a direct link to the executable file and contains no information about the download. If you are uncomfortable with such things, don’t download this update and wait for the update to be officially released.

I’ve decided to take the plunge and experiment with the installation, however as a precaution I’ve opted to start with the virtual instance of XP I’ve got running on my MacBook. That way if something explodes (figuratively, not literally) I can restore the snapshot of XP SP2 without losing anything.

I’m happy to report that everything has gone according to plan so far; however as I said, at least on the surface there are no major new feature additions to be seen anywhere. Almost certainly these are being saved for Vista.

As stated by Microsoft in a whitepaper titled simply “Overview of Windows XP Service Pack 3“, SP3 is seen as a new baseline for XP users, which:

“…includes previously released Windows XP updates, including security updates and hotfixes. It also includes select out-of-band releases, and a small number of new enhancements, which do not significantly change customers’ experience with the operating system.”

Notably the document refers to XP as “nearing its end-of-sales period”, perhaps pointing to the logic behind why few new features have been included in the release.

Interestingly, Internet Explorer version 7 is NOT included in SP3.

References:

Wednesday, April 30th, 2008

Linux Workspaces

I just had a major ah-ha moment with regards to the utility of Linux workspaces.  If you’re not familiar with workspaces, here’s a background.  Workspaces are a way to preserve your valuable monitor space through the use of a series of different concurrent desktops.  When you have multiple applications open, you have the opportunity to allocate one or more of them to a unique workspace and quickly switch between the two using CTL + ALT + Left/Right Arrow keys.

Up until now I’d seen this as a potentially useful feature, but one that I didn’t have an immediate need for.  However having spent a great deal of time tinkering with virtual machines through the fabulous VirtualBox over the last few days, I’ve just discovered a real use for workspaces.

In VirtualBox you have the option of going full screen to maximise the screenspace of the virtual machine.  However in doing this it poses an immediate conflict with the prospect of trying to run other applications natively in the same workspace at the same time.

By using multiple workspaces and the quick switch key shortcuts  you’re able to capitalise on the full-screen mode of the virtual machine while continuing to use native applications.

Sunday, April 27th, 2008

VirtualBox Runs on Hardy Heron

I just ran a quick test of the existing instance of Windows XP I had set up using Virtual Box to see if the software would run in Hardy Heron.

Initially Win XP wouldn’t load and I got an error indicating:

“VirtualBox kernal driver not installed.  The vboxdrv kernal moducle was either not loaded or /dev/vboxdrv was not created for some reason.  Re-setup the kernal module by executing ‘/etc/init.d/vboxdrv setup’ as root.”

However once I ran the command referenced by the error message I found I could boot up the virtual Windows XP OS just fine.

Looks like my fears that VirtualBox wouldn’t run on Hardy Heron yet have been proven unfounded.  I’m happy to be wrong.  (Apologies for the audio/video sync problems in the following clip.)

[youtube=http://youtube.com/watch?v=BzZIF0KOfBo]

Screenshots:

Friday, April 25th, 2008

Upgrading to Ubuntu Hardy Heron

I’m currently in the process of upgrading Ubuntu on my primary machine from Gutsy Gibbon to Hardy Heron and thought I’d chime in with some upgrade commentary while the 2 hour download process is underway.

So far thanks to the upgrade tool the process has been extremely straightforward. By selecting System –> Administration –> Update Manager and then Check For Updates I was informed that a new version of the distro was available and by clicking upgrade I was taken to the upgrade tool.

Beginning with some general information (not shown here) I was able to read through the basics of what I was getting myself into, as well as locate support resources should they become necessary. After a quick perusal of the release notes I was fairly confident nothing in the upgrade would pose an adverse impact on my existing configuration. The only potential exception seems to be VirtualBox, which has no version for Hardy Heron yet; so I’m not sure what will happen once the upgrade is complete. (More on my experiences with VirtualBox here.)

The upgrade process is divided into 6 main stages:

  1. Preparing to upgrade
  2. Setting new software channels
  3. Getting new packages
  4. Installing the upgrades
  5. Cleaning up
  6. Restarting the computer

As of right now (12:30 am) I am in the middle of stage 3, when the upgrade tool needs to download 800MB worth of new files - totally 1158 files in the installation. This process will ultimately take 2.5 hours or so on my connection, which is 1500 kbps.

This represents the bulk of the process. Realistically you could start the download and walk away for a while, but in my case I’ve opted to stick around for the bulk of it to watch what’s happening and capture screen shots to properly document the process.

Given this is an upgrade that is making fundamental changes to my system it’s wise to keep an eye on everything you’re prompted to read. For example between Stage 2 and Stage 3 a screen appears (shown here) that outlines exactly what will change on your system. In my case this read:

“68 packages are going to be removed. 201 new packages are going to be installed. 957 packages are going to be upgraded.

You have to download a total of 813M. This download will take about 2 hours 46 minutes with your connection.

Fetching and installing the upgrade can take several hours. Once the download has finished the process cannot be cancelled.

To prevent data loss close all open applications and documents.

Following this notice was a long list of every file that will be effected by the upgrade, including what is removed, added and updated. Start Upgrade begins the download.

I’ll update more as the process progresses.

Update (8:30 am): Wow it’s been over 8 hours now and my download still hasn’t finished yet!  I’m interpreting this as a sign of tremendous interest by the community and a lot of concurrent downloads.  From the perspective of Linux and Ubuntu specifically this is a great sign; from my perspective it’s prolonging the installation dramatically.  Oh well, the best things come to those who wait.

Update (8:00 pm): After taking the entire night to download - presumably due to massive download traffic from other Ubuntu fans - the download process finally completed at around 10 am this morning.  As expected, this constituted the bulk of the upgrade process - by far.  Had the new version not only just launched the same day it would have taken a fraction of the time to download that it had.

Once the download completed it immediately began the installation process, and began to apply the changes.  This portion of the upgrade took approximately 45 minutes and had a few important prompts regarding what to do with existing configuration files.  I imagine this may differ between Ubuntu instances depending on what customisation has been done.

In my case I was asked whether I wanted to do with smb.conf, apache2.conf, and php.ini.  There were several options available here, and to be honest I don’t remember what they all said; however in all cases I chose “keep the local version currently installed.”

Finally after a brief clean-up process which included the option to remove obsolete packages the machine restarted and the process was complete.

All in all I give the process a solid A for ease and simplicity, with a few points (but not many) deducted for the length of the download process - but as I said that’s as much a sign of the distro’s popularity as anything else.

Screenshots:

References:

Friday, April 25th, 2008

Setting up a self-hosted Wordpress blog

This is a how-to guide for setting up a self-hosted WordPress on your own webserver.

Having performed this process on several different operating systems I have personally found that the process is easiest on a Linux distro - in my case I used Ubuntu Gutsy Gibbon. My personal philosophy is that open source software runs best on open source systems.

As a basic overview of what we’ll be doing, we are going to go through the process of taking a standard Linux disto and turning it into a web server that will run WordPress. This will require a few phases which involve the installation and configuration of the various components.

Ultimately you will have what is known as a LAMP stack installed on your system.

As Wikipedia explains ["LAMP (software bundle)"]:

“The acronym LAMP refers to a solution stack of software, usually free and open source software, used to run dynamic Web sites or servers. The original expansion is as follows:

The combination of these technologies is used primarily to define a web server infrastructure, define a programming paradigm of developing software, and establish a software distribution package.

Though the originators of these open source programs did not design them all to work specifically with each other, the combination has become popular because of its low acquisition cost and because of the ubiquity of its components (which come bundled with most current Linux distributions). When used in combination they represent a solution stack of technologies that support application servers.”

The ingredients:

Now there may be ways to tackle these phases through more graphical means, however I’ve personally found use of the terminal to be the fastest, and in some cases the easiest.

Step Zero: Update the list of available packages

Start by updating the list of available packages. This is done by opening a terminal window and typing ’sudo apt-get update’. You will be asked to provide a password at which point the terminal will ensure your packages are up to date.

As explained by Debian.org (”APT HOWTO“):

“The packaging system uses a private database to keep track of which packages are installed, which are not installed and which are available for installation. The apt-get program uses this database to find out how to install packages requested by the user and to find out which additional packages are needed in order for a selected package to work properly.

To update this list, you would use the command apt-get update. This command looks for the package lists in the archives found in /etc/apt/sources.list; see The /etc/apt/sources.list file, Section 2.1 for more information about this file.

It’s a good idea to run this command regularly to keep yourself and your system informed about possible package updates, particularly security updates.”

Step One: Download and Configure Apache2

Once this process has been completed it’s time to download and install the Apache2 web server software. Once again open a terminal window and enter:

sudo apt-get install apache2 libapache2-mod-php5 php5-gd

You will be told that a certain number of megabytes worth of archives must be downloaded - in my case this number was 5030kB - and asked to confirm. Type “Y” and enter and the download and installation process will begin. At the end of this process you will be returned to the prompt.

By default Apache uses Port 80, which is the standard HTTP port. If you have no other web servers in your network you can proceed to the next step. Otherwise if you have another web server using Port 80 you will need to update the PORTS.CONF file and designate another port.

To do this open a terminal window and type

sudo gedit /etc/apache2/ports.conf

After confirming the SU password the file will load and you will see only a few lines of code. The first line reads Listen 80. Change this number to another port that isn’t being used by another web server, click save and then close the document.

Once this has been done you’ll need to restart the web server by entering the following command in a terminal window:

sudo /etc/init.d/apache2 restart

Providing the server restarts correctly, if you go to http://youripaddress/apache2-default/ you should see a message on screen saying “It works!”

Step Two: Install MySQL and Create New Database

Now it’s time to install mySQL, which will provide the database for your blog. Once again, open a terminal window and type:

sudo apt-get install mysql-server php5-mysql

You will be told something to the effect of ‘Need to get 34.5 MB of archives.’ and asked to confirm the action. Type “Y” and click enter.

At this stage it’s time to create a database for your blog. Open a terminal window and enter

mysql -u root -p

and you will be prompted to enter your password. If you do not already have a password you can create one by opening a terminal window and typing

mysqladmin –u root password NewRootDatabasePassword

Here ‘NewRootDatabasePassword’ should be replaced by the password you wish to use.

Having done this type mysql -u root -p, enter your password and complete the following commands.

mysql> create database yourdbname;
Query OK, 1 row affected (0.02 sec)

mysql> grant create, select, insert, update, delete, drop, alter, lock tables on yourdbname.* to ‘yourdbusername’@'localhost’ identified by ‘yourpassword’;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> \q
Bye

Step Three: Install and Configure WordPress

Now go to Wordpress.org, download the most recent software from the download page, and copy it to a new folder in the www root (/var/www/). Personally, I download everything to my desktop as an extra step, and then copy the folder to the webroot using the following terminal command:

sudo cp -R /home/mike/Desktop/wordpress /var/www/wpsandpit

Note: the file pathing in the above command references the user “mike”; your folder pathing will be different so be sure to confirm the location and not just copy-paste the command from here.

Once you’ve done this you’re just about finished and it’s just a matter of entering the details of the database you created in Step Two above and entering them into the wp-config.php file.

To open this file open a terminal window and type

sudo gedit /var/www/yourWPfolderName/wp-config.php

If this file comes up blank it more than likely means that the file doesn’t exist. In this case it’s easiest to copy the wp-config-sample.php file, rename it as wp-config.php, and then change the details.

WordPress.org goes into more detail about editing this file here, however the basics information needed appears at the very top of the page:

define(’DB_NAME’, ‘yourDBname’); // The name of the database
define(’DB_USER’, ‘yourDBuser’); // Your MySQL username
define(’DB_PASSWORD’, ‘yourDBpassword’); // …and password

Step Four: Create Blog

The last step in the setup process is to go to http://yourIPaddress/yourwordpressfoldername, at which point you should see a page asking for your Blog Title and email address.

File in these details and click Install WordPress and you should then see a page giving you a username and password.

It is very important that you remember this information as there is no easy way to change the admin password. When you’ve written down this information click login and then enter the same admin username and password to enter the Dashboard.

NB: If for some reason when trying to access WordPress to complete this section you receive an error message saying “Your PHP installation appears to be missing the MySQL extension which is required” there is one additional step to complete.

Open a terminal window and type the following command:

sudo gedit /etc/php5/apache2/php.ini

In the document that follows do a text search for “Dynamic Extensions”. In this section add a line that says:

extension=mysql.so

Save and close the document and then restart Apache2 by typing /etc/init.d/apache2 restart, and you should find you can continue the process.

References:

Monday, April 21st, 2008

YouTube Declunkifies Info Management Tools

My Videos Beta View

Via The YouTube Blog (”Beta Launch For YouTube Feature Updates“)

“We just launched beta versions of three new feature updates to improve overall management of your messages, contacts and videos. These tests are already being served to a small percentage of randomly selected users, but anyone can choose to opt in and test them out. Once logged in to your account, click the following links to start using the beta versions of the new Inbox, My Contacts and My Videos features.”

I’m increasingly turning to YouTube these days for a variety of purposes and welcome these changes with open arms. I’ve had a YouTube account for quite some time now, but have always avoided the information management tools like the plague; because let’s face it, they were painfully clunky to use. The beta changes to the Inbox, My Contacts, and My Videos tools greatly minimise the onscreen content to what is relevant, thereby making the tool far more enjoyable to use than their predecessors. I’ve found the page load times to be extraordinarily fast as well.

I’m so impressed with the improvements YouTube has made here that I can easily see myself turning to the tools for more regular communication. Now all I need are some contacts and comments…

Along those lines, I’ve begun to explore the realm of video blogging and would also like to experiment with topical asynchronous group video discussions to see what unexpected results emerge. If you are a YouTube user - especially with a vested interest in emerging technology or education - and would like to participate in this research project please let me know through the Contact Form of this blog, or through the YouTube messaging tool.

References:

Monday, April 21st, 2008

Videos: Discussion on open source technologies

In a post on his new webcast blog, duncanriley.tv, Duncan Riley sent out a call for input on subject matter for his videos, saying:

“Franky B suggested to me on Skype today that one way of doing video was to open up the floor to questions, so fire away. What would you like me to talk about? Ask me a question and I’ll even do some homework on getting the answer right”

Not being one to pass up an opportunity like this I was happy to oblige his request and sent through a series of questions regarding open source software.

The Questions:

First off, what is you opinion on open source?

Secondly, do you think the increasing usability we’re seeing in desktop Linux distros like Ubuntu will translate to more movement away from Windows to Linux, are disgruntled Windows users more likely to go to Mac, or will we see a relatively even amount of both?

Finally, what developments will be needed in open source - be they technical/usability related, business process related, or otherwise - before open source will become more a more viable option to the general public? Or do you think this is starting to happen already?

Opensource

[youtube=http://youtube.com/watch?v=7raPQ32OYMU]

Linux on the Desktop

[youtube=http://youtube.com/watch?v=OqHAFtqbQO4]

Following on this I decided it was worthwhile for me to respond to the exact same questions.

Opensource: Challenges and Opportunities

[youtube=http://www.youtube.com/watch?v=p8db8C1mG4s]

Linux on the Desktop

[youtube=http://www.youtube.com/watch?v=DchHUXm-OWU]

References:

Friday, April 18th, 2008

YouTube: Oh baby, it’s a wild world

While online video had existed previously, the inception of YouTube has made it commonplace, easily accessible, and has propelled user generated content into an entirely new sphere of delivery.  This has provided people with a new means of communication that goes a long way to injecting a dynamic sense of human presence into a realm previously dominated by images and text.  It is extraordinarily powerful and offers users a tremendous opportunity to reach out to others.

But having said that, there’s no doubt about it; YouTube can be harsh territory for content creators - especially new ones.

This stark reality seems to result from two key elements that serve to place YouTube in a quasi-reality where traditional norms are not as pronounced or adhered to.  These are: an uninhibited crowd-mentality inspired by YouTube’s massive userbase, and the sense of virtual anonymity afforded by the Internet.

Factored together, these two elements seem to alter or empower individuals’ perceptions of themselves to the point where they behave differently than they would in more traditional social settings.  This is visible both in the sorts of attention-seeking videos that are constantly being uploaded - be they confessional, provocative, or just plain odd - as well as some of the text comments left by viewers.

It’s the text comments that seem to be the harshest.  A poorly produced video or bumbling speaker can find their videos inundated by toxic comments and low ratings.

While seasoned YouTube veterans may have developed a thicker skin through exposure over time, for new users these sorts of comments can be debilitating and even lead them to abandon the application all together.   I’ve experienced this on two different occasions.

The first instance was as a new user and was a turning point in how I perceived YouTube and online video in general.  I had initially turned to YouTube as an experiment to see how things worked.  I’d uploaded some clips of myself playing guitar and singing, and surprisingly they had been met with fairly positive responses.  I hadn’t set out to attract attention, and yet people still watched and in some cases exhibited a vested interest in the clips.  It seemed very odd at the time.

Then I made the ill-fated mistake of doing an unscripted piece to camera and it got panned, badly.  In hindsight the comment wasn’t that big of a deal - something along the lines of “I’ve watched your other clips and was quite impressed.  This is crap.” - but at the time the criticism affected me deeply to the point where I removed the clip and didn’t upload anything new for nearly a year.

In my case this was a lesson that taught me the importance of preparation before hitting record, and it’s not something I’ve forgotten.  In a twisted way I suppose I should be grateful to the person who left me the comment, because most likely I wouldn’t have come to that conclusion otherwise.

Significantly part of the preparation for me is recognising the underlying purposes or objectives for recording and uploading the clip in the first place.  In other words, asking: “What is this meant to achieve?  What purpose does it serve?”

Once your objectives are clear in mind you are much better equipped to ignore the negative comments that come through.  The focus is on how best to achieve your objective; and ultimately assessing why this may or may not have happened.  The good and the bad comments that arise outside of it are largely irrelevant.

The other important realisation I had about YouTube came over time, and that was not everybody is a dickhead.  For every one harsh comment that comes through you tend to receive several nicer ones - or at least more politely worded.  Even more than that though, often times a harsh comment will be knocked back or criticised by subsequent viewers to the extent that some of the really popular video clips will have lengthy threads and arguments between viewers.  In that sense YouTube is developing into a sort of self-governing body in which Yin and Yang equalise over time.

In the context of my most recent contribution to my work-related YouTube account, the fact the only user feedback I’ve received has been negative is irrelevant.  (To date there have been 2 negative comments and a 1-star rating).

My purpose was to answer Duncan Riley’s call for input on what to broadcast about, and I’ve done that to the best of my ability.  The fact somebody payed more attention to the pile of laundry in the background than what I was saying was not nice to hear, but it is just one user’s opinion.  The fact Duncan added the clip to his favourites on the other hand implies my message reached its intended recipient and in that sense served its purpose.

I know I’m not good on camera and in most cases am better served by presenting my thoughts in text, but in this case I had something I wanted to say through YouTube and that was motivation and justification enough.

As one of my uni professors was fond of saying: “Once you know what to think, you’ll know how to act.”

References:

Wednesday, April 16th, 2008

Web Cameras on Ubuntu: Woe is me

With few exceptions Ubuntu has proven to be far less overwhelming territory than I had initially anticipated. The work the community has put into developing an open source operating system that is accessible to the general public has been extraordinarily successful, as is shown by its increasing profile amongst non-techies.

Several of the tasks I had expected to be ominous proved to be anything but. Getting a printer set up for example was nearly as simple as a PC; in fact it was more so because Ubuntu never asked for a driver disk. I merely went to System -> Admin -> Printing -> Add New, it recognised the existence of a network printer and then prompted me to finalise the process. It was positively beautiful.

On the other hand, the process of getting a USB web camera and microphone working has proven to been an absolute pain in the arse. I’ve spent days trying to get this working and have only achieved partial success.

As it stands now I’ve managed to get the web camera recognised by Skype in the options area, however the situation with the audio remains a dog’s breakfast. At best the quality is poor, with low, echo-laden sound punctuated by snaps and clipping.

Furthermore it would seem that Skype is far more flexible with things than some of the other applications in the OS, because in all other cases I’m met with an error message indicating no device is found.

Ultimately the solution seems to involve a project at berliOS, which seeks to:

“…provide all necessary software components to fully support UVC compliant devices in Linux. This include a V4L2 kernel device driver and patches for user-space tools.”

I’m still at the beginning of this process, so if you have experience in getting this working PLEASE impart your knowledge in the comments area.

References:

Tuesday, April 15th, 2008