Linux release of DojoBuilder beta

The first Linux release of DojoBuilder beta has been released, after my epic effort at getting Ubuntu 6.10 installed on my Thinkpad. DojoBuilder is an Eclipse RCP based tool for generating customised builds of the Dojo Ajax toolkit. It provides a number of useful utilities for working with Dojo, including checking out the source code from source control (Subversion), configuring the build, and running the build. For information on what it can do, check out my first post on the subject.

The following downloads are available:

These previous posts explain further about the capabilities of DojoBuilder.

Ubuntu on Thinkpad X41 – Installing the Beryl Window Manager

Table of Contents | Prev Post | Next Post

This is one of a number of posts detailing how to install Ubuntu 6.10 (codename Edgy) on a Thinkpad X41.

This post explains how to install the Beryl window manager on Ubuntu Edgy. Beryl is a very impressive window manager for Linux that adds many extremely cool effects and themes to the desktop. These include things like a 3D cube workspace switcher, a tab switcher with window preview, many minimize/maximize animations, and much much more. Watch this video to see Beryl in action.

Source link –

To install Beryl:

  1. First the Beryl repository must be added. Open a terminal by clicking Applications->Accessories->Terminal
  2. Type sudo gedit /etc/apt/sources.list
  3. Add the two lines
  4. deb edgy main
    deb-src edgy main

    Note: If you are installing Ubuntu Feisty (version 7.04), replace the ‘edgy‘ with ‘feisty‘ in the lines above.

  5. Save the file and close gedit.
  6. To ensure that the packages are correct, type:
  7. sudo wget -O- | sudo apt-key add –

  8. Update the package list before installing by typing:
    sudo apt-get update
  9. Enable AIGLX and configure the X server by typing:
    1. sudo gedit /etc/X11/xorg.conf
    2. In the “Module” section, make sure that these three lines are included:
    3. Load “dri”
      Load “dbe”
      Load “glx”

    4. In the “Device” section (for the graphics card), add the line: Option “XAANoOffscreenPixmaps”
    5. Search for the section “DRI” and make sure it looks like below, if not then add it:
    6. Section “DRI”
      Mode 0666

    7. Close gedit and restart the X server by typing the line below. This might freeze, and if so, restart Ubuntu, using the power button if necessary:
    8. sudo /etc/init.d/gdm restart

  10. Install Beryl by typing:
  11. sudo apt-get install beryl

  12. Make Beryl start automatically.
    1. Save the file to /usr/bin
    2. Make the script executable by typing
    3. sudo chmod a+x /usr/bin/

  13. For safety’s sake, so that Beryl can be disabled easily later if it turns out to be buggy, create a new Session. Save the file to /usr/share/xsessions
  14. When Ubuntu next starts up, you will have the option to use Beryl. To do this, in the log in screen
    1. Click Options->Select Session
    2. Choose Beryl
    3. Click Change Session
  15. To play around with Beryl settings, once logged in click the red diamond icon in the top right corner task bar.
  16. To see the cool cube effect, press Ctrl-Alt-Left and Ctrl-Alt-Right keys. you may only have one workspace open, so add more by right clicking on the Workspace switcher at the bottom right of the screen, choosing “Preferences” and setting the number of workspaces.
  17. To edit or change themes, open System->Preferences->Emerald Theme Manager and play around.
  18. To make double clicking on title bars maximise the window, which on my laptop changed this behaviour to the irritating “collapse window” effect, open System->Preferences->Emerald Theme Manager->Emerald Settings->Titlebar Double-Click-Action->Maximise/Restore

Ubuntu on Thinkpad X41 – Installing Utility Programs

Table of Contents | Prev Post | Next Post

This is one of a number of posts detailing how to install Ubuntu 6.10 (codename Edgy) on a Thinkpad X41.

This post explains how to install some programming tools on Ubuntu. Since I am a Java developer these days, and also participate in open source projects, I’ll be showing you how to install the Java runtime, the Eclipse IDE and Subversion for working with remote repositories. I also describe installing a tool for uploading to the Flickr photo sharing site, jEdit, my text editor of choice, and WLAssistant, a utility for working with Wireless networks.


To install Sun Java 5.0 and Eclipse 3.2:

  1. Click Application->Add/Remove & search for “Java”
  2. Check the “Sun Java 5.0 Plugin”, “Sun Java 5.0 Runtime” and “Eclipse” plug-ins.
  3. Click “OK”.
  4. If the download fails, try going to System->Administration->Software Sources and changing the Server, and repeat steps 1 to 3.


Subversion is a source control program used by many open source projects. It does not come as standard with Ubuntu Edgy, which is strange enough, but it also seems to have disappeared from most of the software repositories, which is even stranger. To install it:

  1. Open a Terminal by clicking Applications->Accessories->Terminal
  2. Type sudo apt-get install subversion
  3. If this doesn’t work, it means that subversion is not in your selected software repository, and you need to change the list of software sources.
  4. Type sudo gedit /etc/apt/sources.list
  5. Find the URL with “main” after it, and remove the first two characters, e.g.… becomes
  6. Save and close the file.
  7. Click System->Administration->Software Sources and change the “Download From” dropdown box to use the “Main” server.
  8. Repeat steps one and two.


For a good text editor, with many available plug ins, download jEdit from for the stable version,
for the latest development version (at time of posting) as a Debian package. Whichever file you download, double click on it and run it.

Rar Utilities

To be able to extract RAR archives,open a terminal and type sudo apt-get install rar unrar

Wireless Assistant

Wireless networking support in Ubuntu Edgy is pretty terrible – essentially, there is no wireless network browser to show you what wireless networks are available provided by default. However, there is a utility, called “wlassistant”, that you can install that provides similar functionality to the wireless connection tool in Windows.

To install it: [source link]

  1. Open a Terminal by clicking Applications->Accessories->Terminal
  2. Type sudo apt-get install wlassistant
  3. To run it, type sudo wlassistant. You can also run it by clicking Applications->Internet->Wireless Assistant, but the application requires root permission to run, which you don’t get unless you launch it from the command line.
  4. To run Wireless Assistant from the menu with super-user permissions, click System->Preferences->Menu Layout.
  5. In the left menu, choose the Internet button.
  6. Right click on the Wireless Assistant button in the right menu and choose Properties.
  7. Change the execution command from wlassistant to sudo wlassistant. That should do it! You’ll be prompted for the super-user password when executing it from the menu from now on.


To install Synergy, a useful program for sharing a mouse and keyboard among multiple computers:

  1. Click Applications->Add/Remove
  2. Search for QuickSynergy and click OK
  3. See for usage instructions

Ubuntu on Thinkpad X41 – Enabling Thinkpad specific components

Table of Contents | Prev Post | Next Post

This is one of a number of posts detailing how to install Ubuntu 6.10 (codename Edgy) on a Thinkpad X41.

The Thinkpad X41 Tablet has some very cool features that unfortunately Ubuntu Edgy doesn’t support out of the box. This post details how to get them working.

To get the Tablet Pen working (source link):

  1. You may need your Ubuntu CD, so connect your external CD/DVD drive and insert the CD.
  2. Type: sudo apt-get install wacom-kernel-source xserver-xorg-input-wacom wacom-tools
  3. Restart your computer and log back in.
  4. Next check if /dev/wacom exists using
    ls -al /dev | grep wacom
  5. If it does exist:
    1. type sudo gedit /etc/X11/xorg.conf
    2. Check the file to see if InputDevice elements exist with the Identifiers stylus, eraser and cursor. If not, then add the following text to the bottom of the file. Note that pasting this text or editing it directly in gEdit may introduce invalid characters into your xorg.conf file, causing Ubuntu to fail on startup. So you’re better off typing in the text (I know, there’s a lot of it).
    3. Section "InputDevice"
      Driver "wacom"
      Identifier "stylus"
      Option "Device" "/dev/wacom"
      Option "Type" "stylus"
      Option "ForceDevice" "ISDV4"

      Section "InputDevice"
      Driver "wacom"
      Identifier "eraser"
      Option "Device" "/dev/wacom"
      Option "Type" "eraser"
      Option "ForceDevice" "ISDV4"

      Section "InputDevice"
      Driver "wacom"
      Identifier "cursor"
      Option "Device" "/dev/wacom"
      Option "Type" "cursor"
      Option "ForceDevice" "ISDV4"

    4. Find the “ServerLayout” section and add
    5. InputDevice "stylus" "SendCoreEvents"
      InputDevice "cursor" "SendCoreEvents"
      InputDevice "eraser" "SendCoreEvents"

    6. Every suspend/resume cycle drops the wacom, so save the file to /etc/acpi/resume.d/
    7. Run the following command:
    8. sudo chmod +x /etc/acpi/resume.d/

    9. If the stylus still does not work after suspending (even after applying the fix above) try replacing all the “/dev/wacom“‘s in your xorg to “/dev/ttyS0“, and restart Ubuntu.

To get the trackpoint scrolling working, type:

  1. sudo gedit /etc/X11/xorg.conf
  2. Find the “Input Device” section whose “Identifier” is “Configured Mouse”, and add the following two lines to the section:
    Option “EmulateWheel” “true”
    Option “EmulateWheelButton” “2”

To get the auto-rotate of the screen working, where the screen switches to portrait mode when in tablet mode, do the following (this is copied more or less directly from here):

  1. Open a terminal and type acpi_listen. This should give the following result:
  2. ibm/hotkey HKEY 00000080 00005009
    ibm/hotkey HKEY 00000080 0000500a

  3. If the results are different, make sure to substitute your values for the values I use here.
  4. Save these two files to the /etc/acpi folder
  5. Execute the following code
  6. sudo chown root.root /etc/acpi/
    sudo chmod 755 /etc/acpi/
    sudo chown root.root /etc/acpi/
    sudo chmod 755 /etc/acpi/

  7. The previous steps define what to do when the laptop screen being closed or opened fires a particular event. Now we must register these scripts to be fired when that event is triggered. Copy the following two files to /etc/acpi/events.
  8. Now restart the daemon that listens for these events. Type:
    sudo /etc/init.d/acpid force-reload
    sudo /etc/init.d/acpid restart
  9. If you would like a virtual keyboard to appear on the screen when you swivel down the screen, type:
  10. sudo apt-get install xvkbd

  11. Swivel your laptop screen to make sure it works, and you’re done!

Ubuntu on Thinkpad X41 – Installing Multimedia Components

Table of Contents | Prev Post | Next Post

This is one of a number of posts detailing how to install Ubuntu 6.10 (codename Edgy) on a Thinkpad X41. This post focuses on installing multimedia components.

Out of the box, Ubuntu Edgy has problems playing MP3s and some video codecs, due to the fact that it cannot ship non-open sourced software, while most codecs are free, they are not open source. For this reason, you have to download them yourself.

To get MP3s to play:

  1. Click Applications->Add/Remove, choose to show “All Available Applications and search for GStreamer
  2. Check the “GStreamer extra plugins” box and click “Apply

To get extra movie codecs:

  1. Click System->Administration->Synaptic Package Manager->Settings->Repositories
  2. Check the “Software restricted by copyright or legal issues” box.
  3. Click OK. If downloading fails, change the server to “Main Server” and try again.
  4. Open a Terminal by clicking Applications->Accessories->Terminal and type
    sudo apt-get install gstreamer0.10-pitfdll gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gxine libxine-main1 libxine-extracodecs ogle ogle-gui
  5. When asked if you want to continue, type “Y” and hit Enter.

To play DVDs:

  1. download
  2. When Firefox promts you about how to handle the file, choose to open it with the default, which should be “Gdebi Package Installer

To install RealPlayer:

  1. Download the RealPlayer installation package from
  2. Firefox should prompt you to open with the package installer, but if not, double click on the downloaded file and install it.
  3. To make RealPlayer work inside Firefox you have to delete the Totem plugins that tell Firefox to play RealMedia files with the open source program Totem. Source Link. Type:
    cd /usr/lib/mozilla-firefox/plugins/
    sudo rm libtotem-complex-plugin.*

To install the best mp3 player ever created by man, woman or beast, Amarok, see my follow up post at

Ubuntu on Thinkpad X41 – Basic Installation Instructions

Table of Contents | Next Post

This is one of a number of posts detailing how to install Ubuntu 6.10 (codename Edgy) on a Thinkpad X41.

This post focuses on the initial steps to installing Ubuntu.

  1. Download an Ubuntu CD image from one of these links, depending on which is closer to you geographically: Ireland, United Kingdom, Germany, USA, Australia, Brazil, China, Japan, Singapore or Namibia. Alternatively, go here and choose a mirror to download from.
  2. Burn this CD image to a blank CD with the CD burning software of your choice. I used Nero.
  3. Create backup disks for Windows XP, in case something goes horribly wrong and you need to reinstall Windows. The Thinkpad X41 usually doesn’t come shipped with Windows XP on a disc (or at least mine didn’t), so you’ll need these disks if you ever want to reinstall Windows. To do this, click Start/.. tbc
  4. Connect your CD/DVD drive to your laptop, and place the Ubuntu CD in it. Restart your laptop and boot from the CD. If your system is not set to boot from CD (i.e. it always uses the hard drive), then when the laptop is starting to boot, hit the blue “Access IBM” button, and change the boot options to boot from CD before hard drive.
  5. Ubuntu should now load. You will see an icon labelled “Install” on the desktop. Double click on this, and click your way through the install wizard. The defaults are generally the right choice. The installations should take around twenty minutes, without a progress bar – don’t worry, it hasn’t hung, it’s working just fine.
  6. Restart the laptop, removing the CD from the drive.
  7. Since you’ve installed Ubuntu as a dual-boot partition alongside Windows, you will probably want to be able to access your Windows hard drive. The help document provided by Ubuntu at “Partitions and Booting/Make Windows Partitions available from Ubuntu” is out of date – there is no System->Administrators->Disks menu item, as it claims. Instead, open the Help system with System->Help->System Documentation, and click on “Working with your Desktop“. From the left menu, choose “Partitions and Booting/Make Windows Partitions automatically available“.By default, Ubuntu (as with pretty much all Linux distros) provides read-only access to NTFS partitions. To get read-write access, you have to install an extra package called ntfs-3g
    1. Click System->Administration->Synaptic Package Manager.
    2. Scroll down to ntfs-3g, check the box next to it and click Apply.
    3. Open a terminal with Applications->Accessories->Terminal and type:
    4. sudo mkdir /media/windows
      sudo cp /etc/fstab/ /etc/fstab_backup
      sudo gedit /etc/fstab

    5. You now have to find out the name of your Windows hard drive. type:
    6. cd /dev/disk/by-label

    7. This will list the disks available to you. See if you can recognise the name of your C drive in Windows – originally mine was called IBM_PRELOAD. Take note of it
    8. At the end of the fstab file we opened earlier append
      /dev/disks/by-label/IBM_PRELOAD /media/windows ntfs-3g locale=en_US.utf8 0 0
    9. Save and close the file, and type “sudo mount -a so the changes take effect. If you still can’t access the windows partition at /media/windows then restart Ubuntu to force the changes to take effect.
    10. On a personal side note, to speed up access to the drive, I created a soft link to it, called “C”, from my home folder. To this open a terminal and type
      ln -s /media/windows ~/C
  8. If you find your internet connection is slow, then it could be due to the IPv6 protocol interfering with you network requests. To fix this (source link):
    1. Open a terminal and type
      sudo gedit /etc/modprobe.d/aliases
    2. Locate “alias net-pf-10 ipv6″ and replace it with
    3. #alias net-pf-10 ipv6
      alias net-pf-10 off ipv6
      alias net-pf-10 off

    4. Save the file and exit gedit.
    5. Open Firefox and type into the address bar about:config.
    6. Find and set the following values in the list:
      1. Set network.dns.disableIPv6 to “true” by double clicking on it
      2. Set network.http.pipelining to “true”
      3. Set network.http.pipeining.maxrequests to 8
      4. Set network.http.proxy.pipelining to “true”
    7. Reboot your system.
  9. To share folders over a Windows network (through Samba) network, a couple of steps are required [source link]:
    1. Click System->Administration->Shared Folders
    2. Click Add and choose the folder you want to share.
    3. Next you must add a password for whatever users you want to be able to connect to your machine over the network. Open a terminal and type sudo smbpasswd -a myusername where ‘myusername’ is, of course, your user name.
    4. You will be prompted for a password twice.  Enter it, and you will then be able to connect to that share over a windows network.

Installing Ubuntu Edgy on a Thinkpad X41 Tablet

This is the first in a series of of posts detailing what is required in order to install the Linux distribution Ubuntu 6.10 (codename Edgy) on a Thinkpad X41 Tablet PC on a separate partition to Windows XP Tablet Edition. It is entirely based on my experiences, and I don’t claim it to be either an official nor all-encompassing list of required actions, merely what I had to do to get what I personally wanted on my laptop.

All of the information contained in this series of posts is available elsewhere on the web, but it is fractured into sepearate wiki posts, blog posts, discussion forums and official documentation. With these other sources, many different options are often covered, e.g. Gnome & KDE, i386 and 64 bit architectures – my posts are just concerned with the Gnome edition of Ubuntu Edgy on i386, specifically as it applies the the Lenovo (IBM) Thinkpad X41.

As such, these articles will cover both generic issues, such as getting MP3s working, and also issues specific to the X41, e.g. getting the screen to rotate when in tablet mode and getting the tablet pen to work. Also, for the eye-candy junkies, I also install the Beryl window manager, which looks so damn pretty that Vista should be ashamed of itself.

Table of Contents

  1. Basic Installation instructions
  2. Installing Multimedia components
  3. Enabling Thinkpad specific components
  4. Installing utility programs, including Java-centric programming tools
  5. Installing the Beryl window manager
  6. Upgrading to version 7.04, Ubuntu Feisty Fawn
  7. Working with Amarok music player and Sony Ericsson w810i Walkman
  8. Upgrading Ubuntu Feisty (7.04) to Gutsy Gibbon (7.10)

Jack puts the screws to Ubuntu

Yesterday I got the notion that it would be a good idea to practice what I preach (woohoo for open source and boohoo for M$ Windows) and install Ubuntu Edgy (release 6.10) on my Thinkpad X41 tablet PC. While all the usual reasons for this decision apply (Linux = more stable, faster, not evil etc), I must confess to being extremely superficial and drooling over the Beryl desktop, which is simply the sexiest user interface I’ve ever seen.

I’ve avoided this for a long time because the Windows XP Tablet Edition that comes with the laptop is actually quite cool, with lots nifty little tools for use with the tablets pen. However, I find that I rarely use the pen for anything overly complex (an artist I most certainly am not), and I generally use it for browsing the web and reading books. After some long put-off research (I used to tell myself I could always procrastinate tomorrow), I found that a driver does in fact exist for the tablet pen on Ubuntu, and with that my last excuse (barring laziness) was used up.

So, last night I started the process, creating the recovery disks for Windows XP, downloading and burning Ubuntu. Then Jack Bauer got in the way, and much of the rest of the night was taken up with the compulsory viewing of episodes of 24. It seems not even the mightly Ubuntu is a match for Jack’s interrogation techniques (tonight he was about to kill his own brother after torturing him, what chance do an army of open source nerds have?), so I have indeed once again procrastinated.

However, I intend to document the entire process of installing Ubuntu 6.10 on the Lenovo Thinkpad X41 in a future post, as I could not find one anywhere else. Should be fun!

Until I do get around to writing it however, here is a nice generic guide to installing Ubuntu and getting the eye candy working on it.

Update: I did get around to documenting the Ubunty Edgy install process, you can find the first post here.

technorati tags:, , , , ,

A Web Server in Firefox for quick prototyping of Ajax apps

Ajaxian has posted an article about the Plain Old Webserver (POW), a web server that runs from inside Firefox. This is a strange idea at first look, but after trying it out it seems to work quite well.

The most applicable use that jumps out at me is for prototyping Ajax applications from your local file system without having to install Apache (or another web server). So, just click on a single link, restart Firefox, and you have a web server running on your system. You then drop files into it’s folder inside your user ( or ~ ) home folder, and they’re available for browsing in any web browser on your system, not just Firefox. You can also make the files available to other machines.

From an Ajax developers perspective, the main advantage to this over working directly from the file system is that you are testing in a more realistic envrionment, with the same security measures being applied as will be used when your application goes live. For example, IE7 will not let you do XHR requests if you are running from the local file system. Also, you don’t have to go to the trouble (ok so it’s not THAT much trouble) of installing Apache.

One issue I found with the server was when attempting to enable debugging on Dojo using the Firebug console, using the dojo.require(“dojo.debug.console”) command. It froze the browser, and I had to kill it.  However, all other remote XHR requests worked just perfectly.

All in all, this is a very cool concept, and I can definitely see myself using for quick prototyping of Ajax applications.  Well done David Kellog!