All Blue

Finally done!

After some weeks of heavy development and testing I released Azure 1.0, codename for my port of the famous CyanogenMod 6.0.0 for the HTC Legend.

Bringing you Froyo faster than HTC with nearly all the features you might expect (except for FM radio of course) feels really amazing.

Baking Cakes

I’ve been doing web-development for quite a long time now. But honestly it was never nearly half as much fun as when I discovered CakePHP a year ago.

It took me not even six hours to write the Android ROMs section, a task I would have spend at least a week on before I knew CakePHP.

By the way, the fancy graph is done using the JavaScript InfoVis Toolkit (another great tool for web-developers).

Curing a Legend

Google’s Android platform is mostly great, but it does have a serious problem:

Manufacturers can’t keep their fingers off the interface.

This produces systems that do not even look like Android (and, as with Sony’s, annoy everyone), sometimes even worse than that.

Apart from awful Android skinning there is a new trend and light in the darkness for us purists: Android vanillaizing!

It’s software dermatologists devoting their precious nights and sleep to finding the cure to Android acne. In the case of the HTC Legend (comes with Sense) I was able to compile and tweak the Android Open Source project. Later I decided to start porting (and patching, where necessary) the famous CyanogenMod, which I’m using on my phone right now.

Beans, anyone?

Find first beta versions of my port called “Indigo Bean” and updates and bug reports on xda-developers.

Since we’ve got support by koush’ outstanding ROM-Manager the recommended method to install it (after rooting your phone) is getting this app via the Android market and downloading “Indigo Bean”. Just a few clicks (taps!) and you are set to enjoy.

Android, Signing and Proprietary Apps

Android phones are delivered with proprietary apps that greatly improve the user’s experience. Some might even say an Android device without Google apps is only half the fun.

For being accepted as valid packages, apps are signed. Moreover if an app wants special-1337-system privileges, it has to be signed with the platform key. This is to make sure apps behave correctly.

So if you come across a message that tells you the system just ignored a package (“Package xyz has no signatures that match those in shared user android.uid.system; ignoring!”), just resign it with your platform key. If you don’t have the platform key: Bad luck.

This is rather a note to myself (the sky just fell on my head):
Google apps that always need resigning are GoogleCheckin, GoogleSubscribedFeedsProvider and NetworkLocation.
Don’t ever dare to sign any other proprietary app, Google doesn’t like that and your Android system won’t allow you to use it.

Multiple Twitters

Ben Morrow contacted me some time ago asking me to look into some problems he had with my AJAXed Twitter plugin for WordPress.

AJAXed Twitter was never meant to be used with more than one account, so his request was not a bug, but a design flaw. Yesterday I took the chance and completely rewrote the plugin part, using WordPress’ great 2.8 API (piece of cake!).

Be sure to check it out.

Well, some sync today

After getting an Android phone and blogging about it’s lack of synchronisation options in Gnome I was finally able to make some progress.

The answer is GCALDaemon which can read Evolution’s .ics-files (even the locally cached ones from my university) and copy the events within to Google Calendar.

Combining it with my Notification Server you can use “bin/sync-now.sh” in a script and even get a nice notification after running it (for example a few minutes after logging in).

Not the best solution (I’d rather skip one step and write directly to my Legend), but usable nevertheless.

Android – No sync today…

Yesterday I got my first phone with Android, the HTC Legend. While I really love it so far, there is one big issue, that turned out to be a complete mess in Linux: Syncing it with Evolution.

Apparently there are no solutions at all that allow you to conveniently plug in the phone and push calendar events, contacts or notes.

After following some traces here’s my disappointed summary:

OpenSync

Complete mess in Debian (maybe Ubuntu as well). After checking out all the repositories and building libopensync1 from svn still no clue how to use it with Evolution.

SyncML

Android doesn’t understand it out of the box.
Funambol doesn’t sync anything besides contacts.
Synthesis costs money, but can be evaluated 30 days. Once I get a SyncML running here, I could give it a try.

HTC Sync

No idea which protocol it uses, but I can’t get SynCE for OpenSync (for blind trial and error) working here anyway. Some obscure python errors in OpenSync to blame.

 

Help, I need somebody, help…

Xorg and HAL (2)

As already mentioned in “Xorg and HAL” X-land is in state of “complete” redesign.

Today I read at Phoronix that Intel released their driver update 2.11.0. Curious as I tend to be I had to compile Xorg, Mesa and the driver once again to take a look at what’s going on myself.

Because support for setting properties via udev seems to have gone in favour of the shiny new “conf.d” features, my old post is definitely outdated.

Not that big of a deal though, to configure your touchpad/-stick you now have to create InputClass-Sections in *.conf-files in “/etc/X11/xorg.conf.d/” (99-trackstick.conf in this example).

Section "InputClass"
	Identifier			"dualpointstick"
	MatchProduct			"DualPoint Stick"

	Option "ButtonMapping"		"3 2 1 4 5"
	Option "EmulateWheel"		"true"
	Option "EmulateWheelButton"	"2"
	Option "EmulateWheelTimeout"	"400"
	Option "YAxisMapping"		"4 5"
EndSection

By the way: Subsequent rules seem to be overwritten, so copying “/usr/lib/X11/xorg.conf.d/05-evdev.conf” makes sure “normal” input devices use the evdev driver.

Ah, in case you might have wondered: Yes, contrary to mice I use touchpads and tracksticks with my left hand. Which other OS would allow me to configure input devices like that?