Starts with the explanation of terms that won't mean much to outsiders, but then covers other countries having the Queen on their money and lots of islands. Amusing.

In the doghouse: Kineto Wireless

In the doghouse: Kineto Wireless for excessive peeing in the pool

Like many computer systems, Android applications can log information as they run. In Android's case there is a single shared log across all applications with each entry having a program/library supplied tag, a level (debug, warning, info, error etc) and the message itself. A developer can see the log by running adb logcat when you have the ADK installed - regular users will never see the log.

The folks at Kineto thought it would be wise to log signal strength information at error level every second or two, taking several messages to do so each time. You also get messages from their other components with a similar profligacy. Even if you disable their software there is still a fair amount of logging happening. (Just how much battery is wasted by all this?) And you can't uninstall it unless your phone is rooted.

This makes developing on a phone with their software very annoying since their messages drown out messages from your own code and other components you talk to. It also illustrates that their own developers don't look at how much stuff they are spewing since they would surely note it as excessive.

I did contact support who didn't answer. They did a release since then and if anything it got worse.

If you are a developer, this is one of those attention to detail things. Learn from their fail.


Apparently everyone in Santa Cruz decided to go surfing this afternoon. First photo is a small sampling - it was like that for several hundred metres to the right. Second photo shows some waves. If only the water wasn't the same temperature as the North Sea.

Ubuntu Oneiric

I've been using Ubuntu Oneiric for 48 hours now. It will be released in a few days time so I expect my experience to be representative. Verdict: Avoid for as long as possible.

I encountered a heck of a lot of bugs mostly in the shape of programs crashing. It was a bug in natty that pushed me into upgrading early and fortunately that is fixed, but oneiric comes with a lot of different new ones. Yes I reported almost all of them, with about half being known issues affecting others, some for many months. (Do any bugs ever get fixed in Ubuntu?)

There is now a sea change going through the industry for the presentation and interaction of the "user experience". Never before have we had so many different form factors from tiny little phone screens all the way through large multi-monitor setups, using one or more fingers, tablets, mice etc. Microsoft, Apple, Gnome and Canonical are all trying to figure out how to address that. You the unlucky user are the one being experimented on.

If you upgrade to oneiric then you have no choice but to be part of these experiments as the prior desktop environment is not available. I kept cycling through Unity, Gnome Shell and the Gnome Panel fallback trying to find one that works for me. (Yes I know about KDE and XFCE, no I have no intention of using them.)

Gnome Panel has far too many problems. Huge titlebars, clocks cunningly using a dark grey font on a black background so you can't read them and many other issues.

I really don't like Unity. It comes bundled with the menubar at the top of one of your screens (all justified by Fitts' Law) which is unusable if you use focus follows mouse. Lots of niggly other annoyances.

So I am resigned to using Gnome Shell as the least worst. I really wish Canonical had put their effort into it instead of their childish behaviour and NIH attitudes.

Fortunately there are various extensions you can get that make it more usable. Sadly most haven't been adapted to Gnome 3.2 yet. But I've learned that I really need a taskbar because it uses text to distinguish programs instead of little thumbnail windows or icons that all look the same.

No matter which of these environments you choose you lose the applets you used to rely on. I used to have system monitors, cpu frequency scaling, disk mounters, quick launchers, battery time remaining and numerous other frequently used tools across the top bar of my screen. Now you pretty much have nothing. The vendor experiments meant that the plumbing underneath had to be changed significantly hence all those things that used to work no longer being present.

Now I know how fruit flies feel.

Clue sticks

There are many programmers who really need to be beaten with a clue stick. Error messages are not okay. Sure in the dark ages we had trivial amounts of memory, cpu and disk and every byte mattered. What distinguished the good programmers from the bad was how efficient they were.

But now we have effectively unlimited memory, cpu and disk. Our units of measurement are in the billions. It is also virtually certain that the programmer who writes the code to generate a message knows more about the situation than the user who is going to be receiving the message. So why throw your hands up with some terse mumbo jumbo instead of doing something about it? Feel free to use those billions of units of memory, cpu and disk that are mostly unused at any moment. Good programmers now are ones whose code meets the users' goals. (Hint: approximately zero users have a goal of having to copy a message into Google and then wading through pages of results until an obscure solution appears to work.)

Here is a case study on trying to install a package:

(Reading database ... 90%dpkg: unrecoverable fatal error, aborting:
files list file for package `libc6' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install.  Trying to recover:

How many users of dpkg went out and created a package with an empty filename? Zero is a good answer. Anyone getting this message is not the cause of the problem so why are they being told. How about ignoring the empty filename? Or how about automatically running a tool that rebuilds whatever database it is, omitting the empty filename that is such a source of grief to the dpkg programmer? Heck there are many good solutions, but none of them involve what happened there.

Fun site

Fun site. This one in particular gets me, as does the American penchant for not calling toilets toilets. In houses they are a half bathroom. Restaurants have restrooms (a room you do not rest in) or bathrooms (a room that has no bath).

Making space

I have one of the panes of my Android phone launcher filled with icons for Google products. Finally getting on + meant I had to delete one to make space for the Google+ app icon.

It ultimately turned out to be an easy decision - I dumped Voice Search in the bin. Voice recognition, be it Google's or the ones companies use for their phone systems always seem to be an elaborate practical joke to me with their accuracy indistinguishable from picking random words. It never saves time or interaction. Everyone I ask says substantially the same thing, yet they must work for someone somewhere else why bother?