Tuesday, October 30, 2007

Social Networking

Some of you may have noticed the icon above appearing next to posts -- this is the 'socialiser' icon, which is like a meta-index of all the social networking sites that you could submit articles to.

It seems easier than trying to add icons for each site (furl, digg, stumbleupon, slashdot, etc) -- just click the one link to submit the particular post you are interested in to whatever sites you have accounts on.

So, if you're into that sort of thing, click away :)

Sunday, October 21, 2007

VMWare 6.x with Ubuntu 7.10

I've just spent a good hour wrestling with VMWare 6.0 in my new Ubuntu 7.10 installation -- there would seem to be an issue with the vmware-any-any-update113, that thinks it's building the vmmon module for VMWare 2.x, not 6.x.

After installing the update (see: http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update113.tar.gz) and running the script, everything seems to build successfully -- but attempting to run VMWare gives you:


Eventually, I was able to work around this issue by:

  • Extracting the vmmon.tar file from the update.
  • Editing the getversion.pl script with a text editor and changing line 66:
--- print 'VME_V4';

+++ print 'VME_V6';
  • Save the file and tar up the directory.
  • Re-run the runme.pl file -- which should rebuild the kernel modules correctly and allow you to start VMWare correctly.

Monday, October 8, 2007

Apache2, SSL and Ubuntu 6.06

Recently, I had to configure a dedicated SSL certificate with Apache2 on a Virtual Host -- and proceeded to use a combination of information from Verisign & the Ubuntu Documentation Project.

After tweaking the install, I ran foul of the infamous "error -12263" in my browser.

My configuration consisted of:

* cp'ing the original vhost configuration to 'secure' in /etc/apache2/sites-available/ and symlinking them to /etc/apache2/sites-enabled/

* adding "Listen 443" followed by a newline to /etc/apache2/ports.conf

* Changing /etc/apache2/sites-available/secure to read:

--- <virtualhost>*:80</virtualhost>
+++ <virtualhost>*:443</virtualhost>

* and beneath the 'ServerAdmin' line -- Adding:

+++ SSLCertificateFile /etc/ssl/certs/server.crt
+++ SSLCertificateKeyFile /etc/ssl/private/server.key
+++ SSLCACertificateFile /etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority.pem

At this point, Apache starts normally & listens on both the HTTP and HTTPS ports, as referenced by the change in /var/log/apache2/error_log


[notice] Apache/2.0.55 (Ubuntu) PHP/5.1.2 configured -- resuming normal operations


[notice] Apache/2.0.55 (Ubuntu) PHP/5.1.2 mod_ssl/2.0.55 OpenSSL/0.9.8a configured -- resuming normal operations

However, when you try and https:// address, browsers error out.

Worse still, Apache doesn't actually log anything about this request by default -- but we know the site works because using a standard http:// request works fine.

Actually, that's not quite true -- it does log a cryptic error message that looks similar to: - - [04/Aug/2007:23:38:58 +1000] "\x80\x8c\x01\x03\x01" 200 16564 "-" "-"

Some googling later, this seems to indicate that port 443 is serving non-SSL requests to clients.

Luckily, you can use OpenSSL to confirm this behaviour:


openssl s_client -connect localhost:443


7431:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567:

Instead of your key.

The trick, of course -- turns out to be remarkably simple, open /etc/apache2/sites-available/secure -- and add:

+++ SSLEngine on

So your configuration becomes:

SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCACertificateFile /etc/ssl/certs/Verisign_Class_3_Public_Primary_Certification_Authority.pem

Save the file and restart Apache, then run the OpenSSL command line again:

openssl s_client -connect localhost:443

It should now return your key information properly -- now fire up your browser and use https:// to your hearts content.

Tuesday, October 2, 2007

Ubuntu and The iPod Nano

My iPod (Mini, 3rd-Generation, 4G Green) died last week -- used it every day for the four years i've owned it, so it's had a fairly good run.

So, I upgraded to a new, shiny iPod Nano.

Or so went the plan.

Long & Short -- I bought, under some sufferance (ie. in AUD -- it worked out cheaper to buy a full iPod than getting replacement parts for the old one) a 8G Nano.

After looking at Will's Backdot Page & GTKPod's subversion repository -- I set about putting packages together for anyone that's using Ubuntu's latest beta (Gutsy Gibbon) -- that should be nice drop-in replacements for your old ones.

Currently, these are hosted: here (and are based around revision 1710, for those keeping score at home) and they'll be updated for any new revisions that appear in the near future.

edit: There's also updated Rhythmbox packages from GNOME SVN now -- which fix a number of irks (cross-fading crashers, slow database read times on +1000 song libraries and they also include the patch for #411634 -- which should stop duplicated tracks appearing on your device)

edit ii: Updated to include the first pass coverart support as well as adding the ipod-read-sysinfo-extended code to automate the discovery of your iPod -- thanks teuf.

edit iii: As teuf points out in the comments, the libgpod2 package contains a small binary that allows the iPod to find and write the Extended Information file that one needs to make their iPod work -- getting this to work is a three step process:

  1. You first need to enable (if you haven't already) the 'universe' repository via 'System -> Administration -> Software Sources'.
  2. Plug in your iPod.
  3. Open a terminal window.
  4. sudo to root.
  5. Run /usr/bin/ipod-read-sysinfo-extended /dev/sd[abcde] /media/IPOD (where sd[abcde] is the device name of your iPod -- use the df command if you're unsure)
Packages for other distributions might be considered too -- comment if you're interested.

Monday, October 1, 2007

As the technical world turns ...

First came the incident. (1996-1999)
Then came cipherfunk. (2000-2006)

Now comes blogger.

A place for random technical bits, pointers to workarounds & general notifications of stuff i'm working on, for anyone that cares.

Any questions, that's what the comment function is for.