Touchpad Mod Upgrades – Bump to Cyanogenmod Alpha 2 and WebOS 3.0.4 while maintaining dual boot heaven (easy)

Note: I performed the below from Ubuntu 11.04 x64

After this process, you will be on CM7 a2 (newest Cyanogenmod – steps 1-2) and WebOS 3.0.4 (newest – steps 3).  Once you pull the WebOs update, moboot (what let you pick which OS to boot to) will no longer be the active bootloader.  But we have you covered (steps 4 – 7) – you will be booting via moboot in no time flat!  WOOT!


1) Download CM7 a2 update from here (
2) Upgrade to CM7 alpha 2 via clockworkmod Clockworkmod using the file obtained from step 1
3) After CM7 upgrade, reboot into web os and pull 3.0.4 OTA WebOs update
4) Connect Touchpad to PC and put in USB mode.
5) Create ‘cminstall’ folder on touchpad and then copy ‘’ to the folder (should have this file from when you installed CM7 a1).
6) Eject Touchpad and restart into USB Mode (Large White USB Icon) by  holding “Power + Volume Up”
7) Locate the ACMEInstaller that you originally loaded CM7a1 on your touchpad with and execute “novacom boot mem:// < ACMEInstaller” from terminal and let it do its magic…

You are up to date to date and dual booting again with the latest and greatest.


Disclaimer: Do this at your own peril.  I accept no responsibility for your clearly questionable judgement – an observation supported by your doing of random things that strangers on the Interwebs tell you to do to your expensive electronic devices for hopes of some supposed small technical gain… You have been warned of your insanity. This said, everything here worked perfectly for me 😀

Critical error on Couchapp push with Ubuntu

I am hoping that in posting this, someone is able to save a little time and frustration.

On my Ubuntu 10.10 machine with CouchDB 1.0.1 installed, I began experiencing the following error every time I attempted to ‘couchapp push’ my couchapp changes:

[CRITICAL] Expecting object: line 2 column 3 (char 4)

After a bit of noggin scratching (and perhaps a little mumbled cussing), I started thinking about the fact I had not upgraded my couchapp install since long before I last upgraded CouchDb.

Running the following cleared up all error and put me back in the happy land of  ‘couchapp push’:

“easy_install -U couchapp”

Yup… Just a version issue…  Hope this saves someone a few gray hairs…



Restarting Vino-Server from CLI

As is often the case, I am posting this here just as much for myself as I am for others Googling this problem…

Sometimes Vino-Server on Ubuntu can be flaky, preventing me from logging in, even though it is showing as running. I recently stumbled onto a helpful thread at UbuntuForums that assisted me…

Using the following, you should be able to get Vino back to behaving…

you@machine-name:~$ export DISPLAY=:0.0
you@machine-name:~$ /usr/lib/vino/vino-server &

I find this particularly useful when I am able to SSH in, but can’t VNC…

Hope this helps someone!


GRUB2 – Link worth mentioning

After countless wasted hours, I feel this link is one worth making note of : Grub2 Ubuntu Community Documentation.  The defacto since 9.10, things are a bit different from how things were handled in ‘just Grub’.  After years of learning the ins, outs and peculiarities of Grub, having readily available access to docs on Grub2 is a necessity when tacking installs of the latest and *cough*used loosely*cough* “greatest” distro releases.  After tacking with a mismanaged auto install of Ubuntu 10.04 (Lucid Lynx) on my P5n-e SLI based desktop (Raid, SATA+IDE, SLI and the works), I just thing that this link merits special mention…

It was likely some 100 threads before clicking through to this very link, so here it is – preserved for your and my reference!

Google’s Newest Toy – Installing Go in Ubuntu 9.10

Setting up Google Go in Ubuntu 9.10

Google Go

Google Go

Go is Google’s newest offering to the development community.  According to the project’s page, Go is an expressive, concurrent, garbage collected programming language that is simple, fast, safe, concurrent, fun and (best of all) open source. Touted as a cross between C/C++ and Python, Go seems to be generating a lot of buzz and hoards of seemingly early adopters despite having surfaced only earlier today (11.10.2009) .  Of course this is somewhat expected – what has Google ever released that didn’t generate it’s share of hype/buzz/excitement associated with it?

I bit.  I am guessing since you are reading this, you did too.

Getting Ready to Go

EDIT:  For more updated discussion on this, please head to my thread on Ubuntu Forums –

The following instructions detail the steps that I used to setup Go on my x64 Ubuntu 9.10 (Karmic Koala) box.

Standard disclaimer: Your mileage may vary.  For me everything was pretty much straight forward when following the maintainer’s provided setup instructions ( The only hiccup I encountered during setup was an error with a test during make – Error 2 in [net.test]. A quick bounce over to #go-nuts resolved that – friendly go-nut knowledge base, iant, advised me that there was an issue with this test on some machines in the release version and that I should pull an update. Update pulled, problem fixed.

For simplicity sake, I am working from the gnome-terminal. Access bash as you see fit.  When you see ‘$’, it denotes a command to enter in the CLI (Command Line Interface).  When you see ‘>’, it denotes and output line.

FYI – My Machine Info:

$uname -a
>2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 x86_64 GNU/Linux

Installing Required Tools

Install Python Setup Tools if not installed – Makes installing Mercurial in Ubuntu easy.

$sudo apt-get install python-setuptools

Install Mercurial (using your newly installed Python Setup Tools):

$sudo easy_install mercurial

Install GCC (to build Go):

$sudo apt-get install bison gcc libc6-dev

Setting Up Your Environment

1) Make ‘bin’ directory for go – You may have one – this will create it for you if you don’t:

$mkdir ~/bin

2) Setting up environmental variables:

Edit your Bash environment variables to include the Go required variables as well as making sure your bin folder is in the $PATH

$cp ~/.bashrc ~/.bashrc.bu
$gedit ~/.bashrc

Add following to your .bashrc:

#Google Go Vars
export GOROOT=~/go
export GOOS=linux
export GOARCH=amd64

Reload .bashrc

$source .bashrc

Note: You can close your terminal session and restart terminal instead. Up to you.

Check out Go ( to your Go root using Mercurial)

$hg clone -r release $GOROOT

Note: I had to pull an update due to errors during make (details below with build instructions):

$hg pull -u

Build Go

$cd $GOROOT/src

If successful, results should be:

>— cd ../test
>0 known bugs; 0 unexpected bugs

Note on make errors: Before pulling an update on the repository, make resulted in:

>make[1]: Leaving directory `/home/eznet/go/src/pkg/net’
>make: *** [net.test] Error 2

Updating via the ‘hg pull -u’ command above resolved this issue and allowed make to complete as desired.

GO play with Go


Ubuntu & Python Shell: Code Completion

OK, so I know this is an old one, but one I felt is worth mentioning none the less.

Ubuntu does not, by default, have the PYTHONSTARTUP variable set – furthermore, the pythonstartup file does not exist initially either.  Fortunately, both of these ‘issues’ are easily resolved.

From bash,

you:~$ gedit .pythonstartup

Now to fill in your pythonstartup config file:

# pythonstartup
import os
import readline
import rlcompleter
import atexit
#Bind ‘TAB’ to complete
#Set history file – ~.pythonhistory

histfile = os.path.join(os.environ[‘HOME’], ‘.pythonhistory’)
#Attempt read of histfile
except IOError:
#Write history file at shell exit
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter

Now set your PYTHONSTARTUP var:

you:~$ export PYTHONSTARTUP=~/.pythonstartup

Now you are good to enter the Python Interactive Shell with CODE COMPLETION AND HISTORY!

Stop your laptop from whining at you in Ubuntu…

If you are reading this, chances are you know exactly what I mean when I say “whining laptop”.  If you happened here by chance and are still curious, in short, certain Linux kernels will cause certain notebook hardware to emit a high-pitch whining noise – generally it is low in volume, but at times the frequency can be a tad irritating.

Although there are apparently multiple potential causes for this problem, both times I noticed the squeal, it turned out that the processor C-State was at the root of the problem – this is how I resolve this particular problem.  I re-installed and found myself scouring my notes to find the fix and figured I would be best served to document it here.

Open up your modprobe options file for editing:

ALT+F2, “gksudo gedit /etc/modprobe.d/options”

Add the following to the end of your “Options” file opened in the previous step:

“options processor max_cstate=2”

Save changes and exit.

Open up a terminal (Applications->Accessories->Terminal) and enter:

“sudo update-initramfs -u”

Reboot the PC and verify changes by entering the following into a terminal:

“cat /proc/acpi/processor/CPU0/power |grep max_cstate”

If your C-State was indeed the problem, as it has been with me, then you should notice a much quieter PC.

Gnome Do Goodness

Because of my extensive use of the tool as of late, I now feel compelled to write a small bit on “Gnome DO“. This launcher has really reduced my required keystrokes and mouse clicks to launch my applications and to load my documents. This nice little app is brought up by the “Super+Space” key combo (Windows Key + Space). Once in the foreground, simply begin typing what it is that you wish to have and GnomeDo begins dynamically displaying the launcher for the application or document that you wish to load – once the correct app is shown in the GnomeDo window, simply press enter and you have you app ready to go.

I know that this may not sound like much, but the amount of time saved by keeping my hands on the keyboard (without having to press Alt+F1+down, down, down, over, enter) is considerable – not to mention the preservation of the work flow and associated mental processes. Think – you are working in your text editor on a Python document, want to open up a terminal window to test it out – just press super+space, type term and hit enter. This is a small example, but there are thousands of uses.

To install GnomeDo in Ubuntu Hardy Heron is simple enough, though it is not in the standard Hardy repositories. To add the Do repos, simply add the following to your repository list (software sources) :

deb hardy main
deb-src hardy main

then either update your sources and search for ‘gnome do’ in Synaptic, or open up a terminal and enter:

sudo apt-get update && sudo apt-get install gnome-do

Once installed, I would recommend opening it up (Applications -> Accessories -> GnomeDo) and customizing it a bit. For starters, set it to start at log on and to hide the window at first launch. I am also partial to the Glass Frame theme as it matches my Emerald theme. Next head over to the plugins tab and make sure that all available plugins are listed. This tab is a virtual candy store where you select the tools to suit your usage the most – I am partial to Gnome Dictionary, files and folders, Gnome Terminal, Google Maps, Pidgin, and Tomboy – but you should definitely play with them and see what you like. The nice thing is that if you click ‘about’, you will often be taken to the Ubuntu Wiki on the plugin, which usually gives you some handy methods for using the tool.

Well, thats my little bit on GnomeDo – install it and check it out, or don’t, but don’t come complaining to me when you fingers are tired from all the excess key strokes.