Weekly Head Voices #151: We are pleased to meet you.

The Weekly Head Voices number 151 are trying to tell you something about the week from Monday July 30 to Sunday August 5.

Prepare yourself for a slightly stranger than usual post. I have: two short programming ideas, a bad review of an outdoor security passive infrared sensor, using Jupyter Notebook for (GPU-accelerated) numerical computation when you only have a browser, computing device input latency, and an utterly unexpected bit of backyard philosophy from the gut.

Two random micro side-project ideas

I would like to start with two hobby / maker ideas that popped up in my head this week. There’s a high probability I will not get around to them, but perhaps they help you to spawn a new set of hopefully more worthwhile ideas.

Chrome or Firefox plugin to convert Spotify playlists to Apple Music using the new MusicKit JS API

I seem to see many more Spotify playlists shared than Apple Music playlists. For example, at this moment I’m listening to the official Lowlands 2018 playlist.

This is not ideal, as I am an Apple Music subscriber, but not a Spotify subscriber.

It turns out there are paid apps to convert Spotify playlists to Apple music playlists.

However, it also turns out that Apple has a new thing (still in beta) called MusicKit JS.

I briefly dissected the Spotify Playlist website.

It would be straight-forward for a Chrome or Firefox plugin (WebExtension, so same code. I’ve done this before) to go through this playlist, search for each track using the MusicKit JS API, and then recreate the playlist in the user’s Apple Music account.

This solution would be much cleaner and simpler than the current app-based ones.

An Emacs package for displaying your RescueTime productivity metric right on the mode line

I scanned the RescueTime API documentation.

I was just about to start working on it, when I came up with the bright idea to name the package ironic.el, and so I stopped.

On that topic: The struggle for practically sustainable focus is real, and it never seems to stop.

The Head Voices REVIEW(tm) the Optex HX-80 outdoor passive infrared security detector: AVOID AT ALL COSTS

From the Optex HX-80 outdoor passive infrared security detector’s web-page we have the following:

The most important element in reliable outdoor detector is accuracy to distinguish a human from a small animal. … In addition, the HX-80N’s dual PIR’s and 20 detection zones utilize the ‘AND’ detection pattern technology … This technology helps to prevent false alarms caused by a pet or small animal.

Well, I had two of these installed by trained professionals.

(There are of course interesting discussions to be had about the necessity of devices such as the HX-80, or its mythical actually working counterpart, down here.)

I can confirm that they excel at one fairly specific function: Triggering the alarm, and thus automatically calling my security company, at the most ungodly hours of the night, whenever a certain small grey cat, looking exceptionally unlike a human, decides to take a stroll outside of our house.

Oh yes, the cat is not even ours, but belongs to our neighbour.

The installation and subsequent repeated fine-tuning of our Optex HX-80 have only had the result of me having to punch in an additional key-sequence every evening to bypass the two ‘AND’-detection-pattern-technology-equipped HX-80 devices.

You will understand that the only reasonable Head Voices REVIEW(tm) of the Optex HX-80 is:


Image result for just don't meme

Some more odd but perhaps useful bits

Google Colaboratory for Numerical Computation when all you have is a browser.

I’m late to the party (again), but Google Colab is really great if you need a Jupyter Notebook with some GPU power behind it.

It comes with tensorflow pre-installed (being Google and all), but getting the GPU-accelerated PyTorch 0.4.1 (latest version of the most amazing deep learning tool at the time of writing) going was a cinch.

To repeat this experiment, create new notebook with File | New Python 3 Notebook, then change Edit | Notebook Settings | Hardware accelerator to GPU.

You can then install the correct version of PyTorch by executing

!pip install http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-linux_x86_64.whl

in a notebook cell.

What a time to be alive!

P.S. Remember, under normal (non-Colab) circumstances we keep our Notebooks as empty as possible. Prefer as much as possible of your code in Python modules. The notebooks are only there to act as glue, for visualization and sometimes for long-running jobs.

Dan Luu’s computer and mobile device input latency research

This most amazing work was recently brought to my attention by WHV reader Matthew Brecher in the comments under my 2017 Android vs iPhone performance post.

In it, Dan Luu measured the input latency of various devices, using the 240fps camera on his iPhone SE, or with the 1000 fps  Sony RX100 V camera if the device was too fast.

For the computers in his study, input latency was defined as the time between keypress and character appearing on the display. For the mobile devices, it was defined as the time between finger movement and display scrolling starting.

If you have any interest in this sort of technology and also in-depth technology journalism, the full article is definitely worth your time.

I wanted to mention two interesting points:

  1. The 1983 Apple 2e, with a CPU running at 1MHz, had significantly lower input latency (30ms between button press and character display) than any modern multi-GHz system. The comparison is of course not completely fair, but it’s still nice to see.
  2. Amongst the mobile devices, Apple dominates the fast / low latency end of the spectrum. Their devices, in terms of input lag, are ALL faster than all of the Android devices tested, including for example the 2017 Google Pixel 2XL.
    • Yes, this is me eating my hat, and some more of that yummy humble pie.
    • Android 9, code-name Pie, has just been (will soon be… err) released and has an amazing list of features. I still hope they manage they also manage to catch up with regards to some of the basics like input latency.

Yet another reason to eat more fibre

There are an estimated 100 trillion (10 to the power of 14; 100 with 12 zeroes) bacterial cells housed in each of our bodies.

Each adult human consists of on average only 37 trillion human cells, meaning there are on average almost 3 alien cells for every 1 of your own cells.

I find this a beautiful realisation: All aspects of our lives depend on this multitude of foreign visitors.

They help us digest our food, and, as it has been turning out more recently, they play a crucial role in our mood,  our behaviour and our thinking.

We (or at least the clever people) now talk about the microbiome-gut-brain axis, further underlining the importance that our bacterial visitors play in our lives.

Taking a few more steps back, thinking about the relationship between the 37 trillion human cells, and the 100 trillion visiting cells,  I ask the question:

Who am I really? Who exactly is thinking this?

I, or perhaps rather “we”, find this truly fascinating.

What I was initially planning to mention before going off on this tangent, was a recent paper accepted for publication in the Journal of Physiology, with the title Short-Chain Fatty Acids: Microbial Metabolites That Alleviate Stress-induced Brain-Gut Axis Alterations (click for PDF fulltext).

The Physiological Society press release is more digestibly (I had to) titled “Eat high fibre foods to reduce effects of stress on gut and behaviour“.

In short, fibre stimulates gut bacteria to produce short-chain fatty acids (SCFA), which, besides being the main source of nutrition for cells in this region of the body, also decrease levels of stress and anxiety, at the very least in mice.

The end

Thank you for sticking around friends!

I hope that you found something of value, even if not directly from this post.

I’ll see you next time! Until then, remember to eat your vegetables.


Weekly Head Voices #114: So you know what I did last summer.


It’s definitely time to get out a Weekly Head Voices, so that we can all feel nicely up to date. This post covers the period from Monday December 5, 2016 to Sunday January 15, 2017, which is ever so slightly *cough* later than average.

My excuse is: SUMMER HOLIDAY.

If you have not yet read my 2016 to 2017 transition post, this is a gentle reminder to make some time to do so. There’s some backyard philosophy in that post that you might find useful.

(The main reason for writing this post is to satisfy my NO-GAPS-BETWEEN-WEEKLY-HEAD-VOICES-DAMNIT OCD. I’ve added pretty pictures to help us get through it.

Godspeed fellow traveller!)

The holiday starts

Below is a photo I have quite surprisingly titled “A scene with a beach, the sea and some fluffy clouds in the brilliant blue sky”. The photo was taken on the beach at Boggomsbaai, a really small sea-side village on the East coast where we spent the first few days of our holiday.

Up ahead you can see the bustling metropole (well, it has one really expensive minimarket and an impressive gate) of Vleesbaai.

Boggomsbaai beach. Vleesbaai in the distance. This is a really lovely run.

Head Voices Review. SURPRISE!

After the truly disappointing final death of my Awei bluetooth headphones whilst running on that very beach, I acquired the Samsung Level Link, a tiny bluetooth transceiver which can turn any old set of cheap wired earphones into bluetooth earphones! It looks like this:

After five or six runs with this device of trouble-free music listening whilst running (Flume’s Skin was the business until recently, but I’ve just switched to the Tron Legacy soundtrack by Daft Punk which I’m enjoying, although I’m missing some of the Underworld-esque dancing in the summer afternoon sunset feels; THEM FEELS), the Head Voices Review (we’re baaaa-aaaaack!) is currently considering the following initial review:

  • Samsung Level Link: AWESOME.


Shortly before Christmas, some of our Dutch besties arrived for a good old fashioned swap-the-Dutch-winter-for-some-guilt-free-South-African-summer shenanigans.

It’s a treat being able to show visitors from our other home around our old and now new again home. This often makes me do things which I should have done a long time ago but kept on postponing due to less important matters getting in the way.

One such thing is taking surfing lessons.

Funny thing is, there’s a brilliant surfing school (Son in Strand, in case you were wondering) which is just a 15 minute drive away.

Our instructor was fabulous, and we are now all surfers as you can see:

You can see by my hands doing a strange mix of sign of the horns and the shaka sign that I still have too much metal in me. Faces of the innocent have been evil-ised. Windowlicker. Respect it.

Getting high

Another favourite local pastime is getting high with friends. Below is a picture of one such occasion. We were only moderately high, in preparation for another planned expedition described further down, but the views were beautiful nonetheless.

Gordon Rock as seen from the middle part of Bretagne Rock in Paarl. The black blob in the middle is GOU#1 practising her weird stealth mutation.

At this point I feel it is mention-worthy that a lion ate my hat later that day. Literally.

That other planned expedition I mentioned was an absolutely brilliant hike to the top of Table Mountain via Platteklip Gorge, also known as Platties around these parts.

Platties is the steepest (and probably quickest, if you’re fit enough) walking route up Table Mountain. We were at the starting point before 8 AM in the morning to avoid the morning heat, but it was already quite hot (probably about 25+, it was 30+ later).

The walk was exhilarating (I could almost hear my mitochondria gnashing their teeth), and the views from the top textbook-spectacular:

The view from the top of Table Mountain, photo by cpbotha.net.

Shortly after having arrived at the top, I saw a man wearing only shorts who had sort of just ran up the mountain barefoot.

He did not rest, instead choosing to circle around a bush at the top and going straight down again.

Still barefoot.

Slap-slap-slap, I could hear his feet hit the rocks.

The Beach

Taking a trip along the photogenic coast-hugging Clarence Drive, we stopped to pay a visit to Dappat se Gat, a sort-of-secret beach.

Once you wade through all the trash from the side of the road :( and cross over a bunch of rocks back in the direction of Gordon’s bay, you find yourself on a beautiful secluded beach with a cave or two.

One of the photos I took came out with suitably interesting shading:

It was hard to ignore the extreme hipness of the young people lounging and playing on the beach as we tried but failed to blend in.

After a short hike (with the little ‘uns) up Leopard’s Kloof in Betty’s Bay a few days later, we were rewarded by scenes of the Disa Uniflora, an orchid which is exceptionally exclusive to our little corner of the planet.

By the power of the internets, I present you with new, more grainy photos of this pretty flower growing peacefully right next to a waterfall:

In sharp contrast to last year when I welcomed the new year from the comfort of my bed and a book (hey man, some of us were gestating!), this year a significant number of us entered 2017 in Light Party Mode.

In fact, as the clock struck 00:00, we found ourselves on a rock formation in the sea, in the dark, with waves crashing around us. Pretty neat now that I think about it.

That reminds me, I did see for the first time fully bioluminescent waves! As each wave broke, the foam had a distinct green light. The fact that we were not able to film this (not enough photons) only served to make it more magical.

During the day we were able to try out them new-fangled smartphone high speed video functions, yielding pretty slow motion captures of crashing waves, such as this one:

The holiday ends

For the last few work weeks of 2016, I could not help but notice that it was time for a vacation. I had to apply substantial amounts of raw will power (that is, buckling down, hard) every day to maintain my usual levels of production.

This vacation has been wonderful in the sense of causing total brain switch-off from day one. The surroundings definitely played a role in this, but for a large part I think it was due to the active holiday programme we pursued with our friends.

This, and previous experiences, further strengthen the observation that true rest and mental refreshment can be better accomplished by running up and down mountains, swimming in the sea and being generally really busy taking part in new experiences, rather than, you know, actually resting.

However, even after this holiday’s mental rejuvenation and renewed energy, I was still not completely happy with the (admittedly less than before the vacation) amount of will power that was required during the first days of work.

I remembered this to have been much easier in the old days.

Serendipitously, I read and more or less immediately absorbed Cal Newport’s Deep Work into my atoms after my first week at work.

After two weeks of weaving more deepness into my work, it seems that this was indeed the missing piece of the will power puzzle.

Have fun friends! I hope to see you sooner rather than later.



The Bluedio Ci3 bluetooth earphones will probably not fit your ears either.

This is just a quick warning to anyone else considering buying the Bluedio Ci3 bluetooth in-ear earphones:

Due to their size and design, the Bluedio Ci3 bluetooth in-ear earphones will probably not fit your ears.

If you’re considering to buy them, make sure that you are either able to return them if they don’t fit, or that you’re able to test them out beforehand.

To illustrate the problem, here is a photo of the the right earphone, along with the supplied silicone cover and t-light tip (the large version), with a Microsoft Sculpt Ergonomic keyboard as the background so that you can get a feeling for the size of the earphone:

The Bluedio Ci3 earphones are quite big. They rely on the t-light tips to stay in your ears.
The Bluedio Ci3 earphones are quite big. They rely on the t-light tips to stay in your ears.

The idea behind this design is that the so-called t-light tip (the wing-like bit of the silicone cover) anchors the whole mechanism in your ear, so that the spout-shaped bit in the silicone cover guides the sound into your ear-canal.

However, I tried all three the supplied cover sizes, but the earphones keep falling out. I am able to fit the t-light tip correctly into my ear, but the driver part is so far from my ear-canal that the music loses all form of bass and sounds incredibly tinny. Even worse, the whole earphone eventually starts to fall out due to its heaviness. (I am 1.9m, that is 6’3″, with ears to match.)

Looking at the Amazon customer reviews of the Bluedio Ci3, it seems I am not the only one with this problem. Let me know in the comments what your experience was.

(Compliments to takealot.com down here in South Africa, who are doing an absolutely fantastic job both with delivering goodies to your doorstop, but also with handling the odd return now and then.)

Google Drive: Not reliable yet, but potential.

I’ve been a Dropbox Pro (50G) user for more than two years now, and in this time it has never let me down, not even by a little bit. Still, when Google announced its new Google Drive syncing service, I had to take it for a spin.

For those of you with short attention spans, my conclusion is: Google Drive has great promise due to its price-point, Google’s great infrastructure and the integration with Google Docs, but you shouldn’t yet trust this service with your critical files.

To summarise: Google Drive is Google’s answer to Dropbox (and 50 other inferior syncing services). You install a small app on your Windows or Mac (no Linux yet, although it has been promised), and then it’ll keep a folder of your choosing in sync with Google Drive in the cloud. You can access your files via the website drive.google.com (google docs, but slightly updated), any computer with the Google Drive software, or via the Google Drive mobile apps.  You can also share files through authorizing the relevant google accounts, or via URL. Google Drive has a number of built-in viewers, meaning that users will not have to install PowerPoint to view your PowerPoint presentation for example.

Things start to deviate from Dropbox when we look at the storage plans and prices the big G is offering:

You get 5G for free. For a measly $2.49 per month, you get 25G of storage, and 30G of GMail storage as a bonus, and for $5 per month you get 100G! Compare this with the $10 / month Dropbox wants for 50G. This, together with the fact that you could go up to 16 TERABYTES if you would want to, makes you at least think for a bit.

I installed the client on this Windows laptop. For you screenshot-freaks, here’s the context menu for the systray icon:

Google Drive systray context menu.

Note that because I pay a measly $5 / year for 25G of extra GMail space, I’ve been grandfathered into 25G of Google Drive space. Heh, I also only just learnt the term grandfathered. It means I could get this because of my previous price plan that doesn’t exist anymore.

Here’s the preferences dialog, nothing special really, unless you have a screenshot fetish:

Google Drive preferences dialog.

For me also an important functionality: You can easily recover deleted files. If you delete a file on your client computer, it gets synced to the trash folder on the google drive website, from where undeletion is an easy click on the “Recover” button away. Under the File | Manage Revisions you can retrieve file versions up to 30 days ago, or 100 revisions, whichever comes earlier.

Another important difference is that Google Drive, as far as I could find out, does not do something similar to Dropbox’s LAN sync, a pretty cool function that will grab files from the computers on the local LAN if they’re available, instead of from the cloud.

So I set out to do some tests. Before I could really get started, I ran into the first problems. I created a text file in my Google Drive folder with Vim (yes, I use Vim. deal.), as I wanted to test the file revisions. As you know, when Vim saves a file, it first writes to a temporary file, then deletes the original file and finally renames the new file to the original file. This confused Google Drive to no end. For each save, Google Drive created a new file with exactly the same name in the web interface, whilst on the client side, there was only one file.

I then proceeded to delete the text file on the client, leaving me with the following situation, even after Google Drive was done syncing:

Huh?! You call this syncing?

As you can see, on the server is my text file, on the client nothing. I expect of a syncing solution to actually, uhm, synchronise my files. I did notice a sync error message in the systray context menu. After clicking, I got this dialog:

Informative error message. NOT.

Yes, thank you Google Drive, you have an unknown issue. That’s just great.

So, in spite of the really attractive offering, this type of wonkiness (multiple files due to stupid create-new-rename saves, sync errors soon after), even after a few minutes of playing around, does not instil confidence or trust. If there’s one thing a good sync service should do, it’s instil confidence and trust. Dropbox has never failed me, and I’ve thrown some pretty strange things at it. Until Google Drive is able to do the same, I’ll continue coughing up 10 bucks a month for Dropbox.

a critical look at ubuntu feisty beta on an hp nc8430 laptop

I’ve been running Linux since 1993 (kernel 0.99-pl13 if I remember correctly) on most of my workstations and servers. I’ve had my idiot-zealot phase (“nothing but Linux is good enough”), but fortunately have left that far behind me. Now I like teasing idiot-zealots with comments about that shareware Loonix thing.

So for the past few laptops, I’ve been running Windows XP, mostly because this Just Works(tm) on modern laptop hardware. Linux really didn’t cut it when compared to XP: yes, you could install it without too much trouble, but getting 100% out of your laptop (suspend/resume, good power management, full support for modern GPUs, etc) is a different story.

Because XP is getting more scary by the day (WGA things, licensing issues) and Vista promises to be even more scary (binding itself to your motherboard) and because I’ve been hearing many good things about Ubuntu Feisty (the soon-to-be-released 7.04), I decided to give this a shot on my HP NC8430 laptop (Core Duo 2GHz, ATI X1600, 2G RAM, etc.). Initially I was determined to do this like a “normal” user, i.e. no tweaking config files and especially no script writing. I wanted to see how far your average user could get with a state of the art Linux installation on a laptop.


This was quite impressive: I defragmented my NTFS filesystem, booted from the Ubuntu Feisty live CD and did the install. Without getting all cocky about it, the installer resized my NTFS partition, created a new EXT3 partition and installed itself. Colour me impressed.

General configuration

After the first boot, I was greeted with a VESA-driven x.org and an incorrect resolution. My laptop screen supports 1680 x 1050. The Gnome Preferences | Screen Resolution applet couldn’t go higher than 1280 x 1024. I had to break my first rule and edit the x.org configuration file to add the higher resolution. Why is this still necessary? A novice user shouldn’t need to have to do this!

I also installed the Ubuntu packaged fglrx ATI drivers with the Synaptic package management software, as I depend on good 3D graphics support for my work. The new Restricted Driver Manager helps one to complete this configuration in a user-friendly fashion.

By running “aticonfig –set-powerstate 1”, the GPU can be set to a lower-power mode, leading to a cooler-running laptop, meaning the fans don’t spin up as often. This command can be added to the gnome startup by adding it to System | Preferences | Sessions. With “aticonfig –lsp” one can query the available powerstates. One can only change the powerstate if a single display is active.

I removed “quiet” (but left “splash”) from the GRUB config for the default kernel in order to be able to see boot-up messages. These are helpful, especially when things take longer than they should.

Wireless networking support

This is the part that really impressed me: With Ubuntu 6.10 (Edgy Eft), I had to jump through all kinds of very user-unfriendly hoops to connect to my WPA wireless network. Feisty Beta simply popped up a pretty dialog box showing me the detected wireless networks and prompted me for the network key when I selected my WPA access point. I was online… colour me even more impressed!

Power management

This is when my jaw dropped ever so slightly (I’ll get to the “critical” part of this look a bit later): I selected suspend to RAM, which the laptop promptly did. When I pressed the power button to resume, I expected the typical black-screen-crashed-laptop syndrome. Instead, my desktop came back and I could continue working. This is a quantum leap in user-friendly Linux!

However, I soon saw that at every third resume (on average) all my keyboards would be dead.

It turns out something similar to this bug applies to my laptop. By adding the necessary suspend/resume hooks as documented in the bug report (so that the i8042 module is removed before suspend and re-installed after resume), the problem seems to have been solved.

Often after resume, my laptop gets stuck in the text console. I have to switch manually to X with Alt-F7. Another suspend/resume glitch is that the CPU Frequency Scaling Monitor gnome applet is stuck on 2GHz for my second core, although the core is running at half that most of the time. In general, things get a bit flaky after resume; often I need to restart X to get back to normal. I could potentially deal with this.

Another disappointing issue is the terrible battery life under Ubuntu Feisty. On Windows, I get more than 4 hours of battery life with average use (wireless network, web browsing, text editing). With Feisty, even after enabling LAPTOP_MODE in /etc/default/acpi-support and putting the GPU in low-power mode as explained above, I get only 2 hours and 40 minutes. This is almost a show stopper.

Out of the box ACPI monitoring support is well-done. With just a few clicks, I could various temperatures and fan speeds on my panel. See the panel at the top of the screen in the screenshot below:


This also shows the Deskbar applet in action.

Dynamic multi-monitor support SUCKS

My laptop has a docking station with an external LCD monitor, resolution 1280 x 1024. The laptop is 1680 x 1050, as I’ve mentioned. With Windows, (hot) docking / undocking always Just Works. It automatically activates the correct resolution without me having to configure anything. So whenever I resume, I have a working display.

Feisty does not quite get this yet. In fact, Feisty needs some serious clue-bat-based attention… When I dock or undock and then resume, I have no display, and no way of getting my display back, besides power-cycling the laptop at every dock / undock. I ended up writing this Python script and binding it to Alt-F5 (for example) so that I would always have a way of activating the next display in the list of connected displays. Oh jeez, even assigning an arbitrary shell command to a global hot key in Gnome is not straight-forward. You have to use gconf as explained on this page. You can query connected and enabled displays with “aticonfig –query-monitor” and activate any subset with “aticonfig –enable-monitor=name1,name2,…,nameN”.

Desktop effects with XGL and Beryl

Wobbly Windows, you know, these are immensely useful and result in a more productive computing experience. NOT!

They are really very nice though. Most of the desktop effects are more nice to look at than actually useful, except for one: The Exposé-like functionality, called “Scale” by Beryl, scales and fits all windows on the current screen so that one can select the window that one wants to select easily.

Because fglrx doesn’t support the XComposite extension, I could not install AIGLX (Ubuntu default) and had to go for XGL and Beryl. After following this guide and making sure to use the external Beryl package repository as explained here (the Ubuntu packages won’t work in this case, they don’t have XGL support), I got the whole shebang to work. MAN this is pretty! Check out the screenshot below for Scale in action (there are non-desktop-effect ways of doing this, e.g. kompose or skippy, but none of them are as slick as the desktop effects version):


As with most other things in Ubuntu, this functionality is not without its caveats. This is even more flaky with suspending and resuming: after resuming, logging out and in will give you a garbled display. I have to restart X at the GDM login screen to get XGL to work again. There are also some focus issues, especially with the Gnome Deskbar (very useful utility, by the way): pressing the hotkey activates the deskbar, but you can’t begin to type, as the current window still has the focus. I managed to fix this by setting the Beryl “Level of Focus Stealing Prevention” (under general settings) to None. Changing to a higher resolution with the “Display Resolution” applet whilst running XGL+Beryl, results in only part of the screen being usable.

Miscellaneous issues

  • Palm Pilot synchronisation seems to work out of the box with my Tungsten C, but hangs forever on ToDo synchronisation. Seems it’s due to this bug.
  • The built-in Texas Instruments SD card reader works out of the box, but does not automount like other removable media. This is either due to the fact that it’s not seen as removable, or that the driver forgets to assign its parent bus. See this mail thread. I ended up applying this workaround, involving adding rules to the udev system to pmount the SD card.
  • Gimp doesn’t understand SMB: URIs, whereas the Gnome Image Viewer does, and gthumb pretends to but doesn’t.


All in all, I’m positive but not quite convinced yet. The Ubuntu people have done a marvellous job, but Feisty Beta (up to date as of 2007-04-10) doesn’t quite Just Work(tm) on the HP NC8430. I had to break my rule of editing config files or writing scripts more than once to get it to work to my satisfaction, and still there are problems that would make it difficult to work in Ubuntu full-time: the miserable battery life, the flaky suspend/resume and the really bad dynamic multi-monitor support. That being said, things like the user-friendly WPA support and the flawless install on an NTFS partition are going in the right direction.


  • This post has been linked by OSNews! You can also follow some of the discussion over there.
  • It’s also on digg (should I say that it’s been dugg?).  See here.
  • Fixed aticonfig lsp/lsb typo, thanks lampshade!
  • My domain has been migrated to a more stable server, some comments may have been lost in the process. If your comment has not appeared yet, please re-submit it.


Please comment away, but keep it civilised. I’ll update the post as we go along, and give credit where credit’s due.