How good is your memory?

Or, how observant were you and how absorbant was your mind?

Think hard, what’s the furthest back you can remember?

I can remember being at nursery watching TV. Only because the ‘Thames TV‘ logo had a distinctive sound. I can also remember having to go to bed during the middle of the day at nursery, which I used to think was a really stupid idea. We had toast, then we went to bed. I was fine with the toast bit, but the going to sleep? Why? There was still so much Lego to play with!

I can also remember wondering why TV programs said ‘MCMLXXXIV’ at the end of them.

I don’t remember my first day at school though. I remember the day the smelly kid came to school, he cried a lot and we did about the Romans and their under-floor heating.

More Detailed N810 Thoughts

I took my N810 for a walk to test its GPS capabilities. It’s been raining quite hard and I was hoping the river would be up and interesting to look at. Unfortunately the river was low, but my N810 worked very well. Having a built in GPS is very useful.

I have Maemo-Mapper installed, and because it was raining I sealed my N810 inside an Ortleib map case. I found this a really good combination, the map case being totally waterproof and yet flexible enough to allow the touchscreen to be used.

Locking onto satellites is something often commented on with the N810, with reports of it taking five minutes or more to achieve an accurate lock. While it did take a few minutes to find the satellites it wasn’t any great inconvenience – if I were driving and wanting to use my N810 for navigation a few extra minutes wouldn’t really be an issue; I mostly use GPS navigation for long journeys.

Once locked I noticed a strange thing. The GPS always thinks its moving at a speed between 0.1 and 0.3MPh. This is probably part of the way GPS works, but it’s quite odd watching the track drawn by Maemo Mapper. The track ends up looking like a random walk algorithm, centred around a midpoint.

This randomness doesn’t impede normal operation though, I followed a path and the track drawn in Maemo Mapper accurately followed where I was walking, right down to the junction of the path and a main road, and a canal. I followed the same route home and the return track was fairly close to the first.

The other new feature of the N810 is its slide-out keypad. Having experienced the amazing convenience of Skype and Google Chat from anywhere in my house on my N800, making these two things work on my N810 was the second thing I did. Skype text using the onscreen keyboard is just awful, its impossible to get any decent typing rhythm going. The slide out keypad of my N810 has sorted this, I can now tap away at a respectable rate, knowing the device is keeping up. I know you can pair bluetooth keyboards with the N800, but that isn’t half as convenient as having a permanent keyboard attached. OS2008 even has keyboard shortcuts too.

The screen’s “sunlight readable” (that’s transflective TFT to techies) screen really helps when trying to use the N810 outside. Often when driving it was very difficult to follow the map because even a dreary UK day could wash the screen of my old N800 out.

Originally I moaned that I’d have to bin all my memory cards and buy yet more, but in a different format. While this probably will happen, it’s not a complete negative point. Already I can buy a 4GB card for less than what I paid for a 2GB card last year. And since the N810 comes with 2GB internally (of which I have 1.5GB available – my Maemo-mapper cache and a swap file taking up the rest) I’ve not yet needed to buy a memory card. I found it hard choosing 2GB of music to take with me before.

Computers are too clever for their own good sometimes

I have a 1gig microSD card that goes in my Nokia 800. It goes in an SD card converter, and because of the design it’s really easy to pull the card out of its converter, leaving that inside the SD slot. Today while removing the card to fill it with music I did just this.

This seems to do really bad things. Either my Nokia was still trying to unmount the card, or by pulling it out in this way the card got corrupted. Either way, after that the card just stopped working. I put it in my PC running Linux and it denied its existence – it even went and turned off the card reader, claiming it was malfunctioning. Putting it in to my Windows PC gave the old “this card is not formatted” message, a “Delayed write failure” message and then half of Windows locking up.

It wasn’t until I pushed the card into my digital camera that I got any sense out of it. My camera bleeped and said the card was unformatted, would I like to format it? Yes, I most definitely would! And it did, no hassle, no errors. It also then quite happily took two pictures.
Then it crashed. Yes, my digital camera crashed. It’s like the card was spreading some sort of card reader virus around. I took the card out the camera and poked it back into my PC. Evidently something good happened because my computer wanted to show me the photos on the memory card.

So you see, sometimes it’s good to have dumb devices that don’t really understand filesystems, FAT tables and other computer concepts.

I wonder how many of these “dead” memory cards and USB drives people own aren’t really dead, they’re just really really corrupt and need a load of zeroes writing across them to sort things out?

Returning from The Zone

For the past few weeks I’ve been re-reading Neuromancer, a bit here and there – sitting on the bog, before going to bed, etc. Pick the book up, read a page or two, put it down again.

Then tonight I just hoovered up 142 pages to finish the book. I remember starting at about 5pm, and now it’s somehow 7pm. Thing is, when I read a book, it’s not words on a page – that’s just how the story gets into my head. No, my brain fills out the world of the story in a way that plugging my brain into my computer would have a hard time beating. I don’t see words, I don’t see letters, a film-strip plays inside my head complete with audio. Time also seems to match the story.

… and that’s the bit that totally screws me up. For those two hours I [i]was[/i] the story. I wasn’t sat on my settee listening to The Chillies reading a book, I was in the story, running around the corridors of Straylight. Then the story ended and there was a large jarring sensation as reality took over, followed by a few minutes of slight confusion. A bit like being woken suddenly from a dream. For a few minutes your brain isn’t sure what’s going on.

And like in the story when the characters jack out, I’m hungry and need a pee 😉

Nokia N800 And Memory Cards

While trying to convince a corrupt memory card to work I discovered something interesting about the N800.

It’s got a small magnet on the back of the battery cover which pokes into the square hole next to the internal memory card. Opening the cover causes a kernel log message and the memory card to be unmounted.

There’s also a small switch in the flap that shuts off the other memory card slot when you open it. This one is quite obvious as the N800 only recognises new cards when you close the flap.

I did wonder how they made it so we could just remove memory cards without having to unmount them…

A Little Test…

I own an IBM Model M keyboard, and one of its main features (apart from the weight) is the way the keytops can be popped off and moved around. It was originally intended to let the keyboards have specific layouts for tills and specialist data-input systems.

I’ve (ab)used it for something else. I’m running a little test on a theory that we don’t really look at what’s written on our keyboards, we assume they all say “QWERTY” and rather than looking for the “Q” key, users instead look for the key at that location to avoid hitting gaps between keys.

So far, with my scrambled keyboard, I am totally unimpeded with my ability to type. I can’t touchtype, but can do a passable emulation. So long as I don’t look at the keys on my keyboard it doesn’t matter what’s written on them. Just before I begin typing I look at the keyboard – not to find the required keys, just to see where to put my hands to begin typing.

Let’s see how long it lasts before I have to revert the keyboard to normal.

Crashing kernels

Oops, I just made something bad happen in my Linux kernel…

Quote: dmesg
==========================================
[ BUG: lock recursion deadlock detected! |
------------------------------------------

modprobe/19324 is trying to acquire this lock:
[d568ac78] {snd_card_bt_sco_probe}
.. held by:          modprobe:19324 [c6a8aa70, 118]
... acquired at:               ... trying at:                 ------------------------------
| showing all locks held by: |  (modprobe/19324 [c6a8aa70, 118]):
------------------------------

#001:             [d568ac78] {snd_card_bt_sco_probe}
... acquired at:

modprobe/19324's [current] stackdump:

[<c01337cb>]
[<c01338aa>]
[<e0993284>]
[<c0134036>]
[<e0993284>]
[<c02b2a82>]
[<e0993284>]
[<e0993284>]
[<e0993284>]
[<e0999df9>]
[<e09933db>]
[<c0138b44>]
[<c0102e55>]

Showing all blocking locks in the system:
S            init:    1 [c1535a70, 116] (not blocked on mutex)
S     migration/0:    2 [c1535030,   0] (not blocked on mutex)
S     ksoftirqd/0:    3 [c153da70, 134] (not blocked on mutex)
S      watchdog/0:    4 [c153d550,   0] (not blocked on mutex)
S     migration/1:    5 [c153d030,   0] (not blocked on mutex)
S     ksoftirqd/1:    6 [dffa5a70, 134] (not blocked on mutex)
S      watchdog/1:    7 [dffa5550,   0] (not blocked on mutex)
S        events/0:    8 [dffa5030, 110] (not blocked on mutex)
S        events/1:    9 [dfea8a70, 110] (not blocked on mutex)
S         khelper:   10 [dffa9a70, 110] (not blocked on mutex)
S         kthread:   11 [dfea8550, 111] (not blocked on mutex)
S       kblockd/0:   14 [dfe92550, 110] (not blocked on mutex)
S       kblockd/1:   15 [dffa9550, 110] (not blocked on mutex)
S          kacpid:   16 [dfe92030, 110] (not blocked on mutex)
S         pdflush:  124 [dfc4d550, 115] (not blocked on mutex)
S         pdflush:  125 [dfe2d030, 115] (not blocked on mutex)
S         kswapd0:  126 [dfc4d030, 115] (not blocked on mutex)
S           aio/0:  127 [dfe20a70, 111] (not blocked on mutex)
S           aio/1:  128 [dfc54a70, 110] (not blocked on mutex)
S         kseriod:  203 [c15d4550, 110] (not blocked on mutex)
S           kirqd:  245 [c15da550, 115] (not blocked on mutex)
S       kjournald:  247 [dfc2da70, 115] (not blocked on mutex)
S           udevd:  464 [dfe1ba70, 113] (not blocked on mutex)
S       kpsmoused: 1097 [dfe45a70, 112] (not blocked on mutex)
S           khubd: 1120 [dfc8da70, 110] (not blocked on mutex)
S       scsi_eh_0: 1611 [dedc3550, 111] (not blocked on mutex)
S     usb-storage: 1612 [dfc54030, 110] (not blocked on mutex)
R       syslog-ng: 4183 [dfe4aa70, 116] (not blocked on mutex)
S         pccardd: 4703 [dfc2d030, 115] (not blocked on mutex)
S         cardmgr: 4782 [c15cf550, 115] (not blocked on mutex)
S          mysqld: 5395 [dfe4f550, 116] (not blocked on mutex)
S          mysqld: 5400 [c15cfa70, 116] (not blocked on mutex)
S          mysqld: 5401 [c1580030, 120] (not blocked on mutex)
S          mysqld: 5402 [dfe1b550, 117] (not blocked on mutex)
S          mysqld: 5403 [dfc88550, 116] (not blocked on mutex)
S          mysqld: 5404 [c15daa70, 116] (not blocked on mutex)
S          mysqld: 5407 [dfc88030, 116] (not blocked on mutex)
S          mysqld: 5408 [dfe6ca70, 116] (not blocked on mutex)
S          mysqld: 5409 [dfe66a70, 116] (not blocked on mutex)
S          mysqld: 5410 [dfe05a70, 116] (not blocked on mutex)
S          mysqld: 5411 [dfca0030, 120] (not blocked on mutex)
S         apache2: 5483 [dedc3030, 116] (not blocked on mutex)
S   dbus-daemon-1: 5546 [dfe3f030, 116] (not blocked on mutex)
S            hald: 5670 [dfe70030, 116] (not blocked on mutex)
S         apache2: 5671 [dfe4f030, 116] (not blocked on mutex)
S hald-addon-acpi: 5676 [dfe0f550, 116] (not blocked on mutex)
?         apache2: 5677 [dfea8030, 118] (not blocked on mutex)
S         apache2: 5678 [dfe05550, 116] (not blocked on mutex)
?         apache2: 5679 [dfe34030, 119] (not blocked on mutex)
S         apache2: 5680 [dfe60a70, 116] (not blocked on mutex)
S         apache2: 5682 [dfe4a030, 116] (not blocked on mutex)
S         apache2: 5683 [dfe16550, 116] (not blocked on mutex)
S         apache2: 5685 [dfe70550, 116] (not blocked on mutex)
S         apache2: 5686 [dfc8d550, 116] (not blocked on mutex)
S         apache2: 5687 [c15d4a70, 115] (not blocked on mutex)
S         apache2: 5688 [dfe66550, 116] (not blocked on mutex)
S         apache2: 5689 [dfe0a030, 116] (not blocked on mutex)
S         apache2: 5690 [dfc92a70, 116] (not blocked on mutex)
S         apache2: 5691 [c15d4030, 116] (not blocked on mutex)
S         apache2: 5693 [dfe55a70, 116] (not blocked on mutex)
S         apache2: 5692 [dfc33030, 116] (not blocked on mutex)
S         apache2: 5694 [dfe34550, 116] (not blocked on mutex)
S         apache2: 5695 [dfe3a550, 115] (not blocked on mutex)
S         apache2: 5696 [c15da030, 116] (not blocked on mutex)
S         apache2: 5697 [dfe92a70, 116] (not blocked on mutex)
S         apache2: 5698 [dfc2d550, 116] (not blocked on mutex)
S         apache2: 5699 [dee70550, 116] (not blocked on mutex)
S         apache2: 5700 [dfc92030, 116] (not blocked on mutex)
S         apache2: 5701 [dfc4da70, 115] (not blocked on mutex)
S         apache2: 5702 [dfe66030, 116] (not blocked on mutex)
S         apache2: 5703 [dfe0f030, 116] (not blocked on mutex)
S         apache2: 5704 [dfc54550, 116] (not blocked on mutex)
S         apache2: 5706 [dfe34a70, 116] (not blocked on mutex)
S         apache2: 5705 [dfe55550, 115] (not blocked on mutex)
S         apache2: 5707 [dfe45030, 116] (not blocked on mutex)
S         apache2: 5708 [dfc92550, 116] (not blocked on mutex)
S         apache2: 5709 [dfe1b030, 116] (not blocked on mutex)
S         apache2: 5710 [dfe05030, 116] (not blocked on mutex)
S         apache2: 5711 [c15cf030, 116] (not blocked on mutex)
S         apache2: 5712 [dfe0fa70, 116] (not blocked on mutex)
S         apache2: 5714 [dfc33550, 116] (not blocked on mutex)
S         apache2: 5713 [dfca0550, 116] (not blocked on mutex)
S         apache2: 5716 [dfc33a70, 116] (not blocked on mutex)
S         apache2: 5715 [dfe70a70, 116] (not blocked on mutex)
S         apache2: 5717 [dfe16030, 115] (not blocked on mutex)
S         apache2: 5718 [dfe60030, 116] (not blocked on mutex)
S         apache2: 5719 [dfe5b550, 116] (not blocked on mutex)
S         apache2: 5720 [dfc98a70, 116] (not blocked on mutex)
S         apache2: 5721 [dfc8d030, 116] (not blocked on mutex)
S         apache2: 5722 [dfca0a70, 115] (not blocked on mutex)
S         apache2: 5724 [dfc88a70, 116] (not blocked on mutex)
S         apache2: 5723 [dfe0a550, 116] (not blocked on mutex)
S         apache2: 5726 [dfe20030, 115] (not blocked on mutex)
S         apache2: 5725 [dfe4a550, 116] (not blocked on mutex)
S         apache2: 5727 [dfc98030, 116] (not blocked on mutex)
S         apache2: 5728 [dfe3f550, 116] (not blocked on mutex)
S         apache2: 5729 [dfe6c550, 116] (not blocked on mutex)
S         apache2: 5730 [dee70030, 116] (not blocked on mutex)
S         apache2: 5731 [dfe0aa70, 116] (not blocked on mutex)
S         apache2: 5732 [c1580a70, 116] (not blocked on mutex)
S         apache2: 5733 [c1580550, 115] (not blocked on mutex)
S         apache2: 5734 [dfe3aa70, 116] (not blocked on mutex)
S hald-addon-stor: 5754 [dfc98550, 117] (not blocked on mutex)
S hald-addon-stor: 5756 [dfe45550, 117] (not blocked on mutex)
S hald-addon-stor: 5758 [dfe5ba70, 117] (not blocked on mutex)
S            cron: 5829 [db177a70, 115] (not blocked on mutex)
S          agetty: 6047 [db221030, 117] (not blocked on mutex)
S          agetty: 6049 [dfe4fa70, 117] (not blocked on mutex)
S          agetty: 6050 [dbfb5a70, 117] (not blocked on mutex)
S          agetty: 6052 [db2e3a70, 117] (not blocked on mutex)
S          agetty: 6053 [db177550, 117] (not blocked on mutex)
S          agetty: 6055 [dc101030, 116] (not blocked on mutex)
S             kdm: 6103 [dfe20550, 117] (not blocked on mutex)
R               X: 6106 [db8b0030, 115] (not blocked on mutex)
S             kdm: 6107 [db278550, 116] (not blocked on mutex)
S        startkde: 6137 [dbfb5030, 116] (not blocked on mutex)
S         kdeinit: 6175 [dfe3fa70, 116] (not blocked on mutex)
S      dcopserver: 6178 [dfe6c030, 115] (not blocked on mutex)
S       klauncher: 6180 [dfe2da70, 116] (not blocked on mutex)
S            kded: 6182 [dc101a70, 115] (not blocked on mutex)
S        kwrapper: 6187 [db221550, 116] (not blocked on mutex)
S       ksmserver: 6189 [dc101550, 116] (not blocked on mutex)
S            kwin: 6190 [dffa9030, 115] (not blocked on mutex)
S         knotify: 6192 [dfe3a030, 115] (not blocked on mutex)
S        kdesktop: 6194 [dfe55030, 115] (not blocked on mutex)
S          kicker: 6196 [db2e3030, 115] (not blocked on mutex)
S           artsd: 6207 [dbfb5550, 115] (not blocked on mutex)
S         kaccess: 6209 [dedc3a70, 115] (not blocked on mutex)
S            kgpg: 6216 [db177030, 116] (not blocked on mutex)
S            kget: 6218 [dfe2d550, 115] (not blocked on mutex)
S  kwalletmanager: 6220 [db278a70, 116] (not blocked on mutex)
S           kerry: 6222 [d362f030, 116] (not blocked on mutex)
S         konsole: 6223 [d44c7a70, 115] (not blocked on mutex)
S          knotes: 6234 [d362f550, 116] (not blocked on mutex)
S    kwifimanager: 6235 [db8b0550, 116] (not blocked on mutex)
S            bash: 6236 [d407f550, 116] (not blocked on mutex)
S            bash: 6239 [db278030, 116] (not blocked on mutex)
S            bash: 6242 [d44c7030, 116] (not blocked on mutex)
S           ksirc: 6256 [d0d5e550, 115] (not blocked on mutex)
S         kontact: 6258 [d0729a70, 116] (not blocked on mutex)
S            perl: 6259 [d44c7550, 115] (not blocked on mutex)
S            kate: 6260 [d0729550, 116] (not blocked on mutex)
S          kopete: 6263 [d0c18a70, 115] (not blocked on mutex)
S       konqueror: 6264 [dfe16a70, 115] (not blocked on mutex)
S       amarokapp: 6265 [d407f030, 115] (not blocked on mutex)
S         beagled: 6269 [d0c18030, 115] (not blocked on mutex)
S            mono: 6274 [ccd0ca70, 116] (not blocked on mutex)
S            mono: 6275 [d0d5ea70, 116] (not blocked on mutex)
S            mono: 6279 [ccd0c030, 115] (not blocked on mutex)
S     kbluetoothd: 6285 [cb85d550, 116] (not blocked on mutex)
S         klipper: 6289 [cb85da70, 116] (not blocked on mutex)
S          korgac: 6296 [caba0a70, 116] (not blocked on mutex)
S          kopete: 6297 [caba0550, 116] (not blocked on mutex)
S          kopete: 6307 [cfb35a70, 120] (not blocked on mutex)
S            mono: 6310 [cfb35550, 116] (not blocked on mutex)
S       amarokapp: 6327 [d0c18550, 116] (not blocked on mutex)
S          mysqld: 6329 [d7f31550, 115] (not blocked on mutex)
S       amarokapp: 6338 [ccad4030, 116] (not blocked on mutex)
S       amarokapp: 6339 [c6f39550, 115] (not blocked on mutex)
S       amarokapp: 6340 [c6f39a70, 115] (not blocked on mutex)
S       amarokapp: 6341 [c6f39030, 116] (not blocked on mutex)
S         kontact: 6342 [c4ac2a70, 116] (not blocked on mutex)
S         kontact: 6343 [c8e43550, 120] (not blocked on mutex)
S         kontact: 6344 [c8e43a70, 120] (not blocked on mutex)
S         kontact: 6345 [ccad4a70, 120] (not blocked on mutex)
S         kontact: 6346 [ccad4550, 120] (not blocked on mutex)
S            ruby: 6350 [c9fa3030, 115] (not blocked on mutex)
S          mysqld: 6371 [c2961a70, 116] (not blocked on mutex)
S            mono: 6380 [c2cee030, 116] (not blocked on mutex)
S            mono: 6381 [c2951550, 116] (not blocked on mutex)
S            mono: 6382 [c2961550, 115] (not blocked on mutex)
S        kio_pop3: 6483 [c1eac030, 115] (not blocked on mutex)
S        kio_pop3: 6484 [c2951030, 116] (not blocked on mutex)
X  beagled-helper: 6491 [de4d6030, 116] (not blocked on mutex)
S  beagled-helper:31755 [d407fa70, 115] (not blocked on mutex)
S            mono:31756 [c8e43030, 116] (not blocked on mutex)
S            mono:31757 [ccd0c550, 116] (not blocked on mutex)
S            mono:31758 [c21d5030, 115] (not blocked on mutex)
S            mono:31760 [cb85d030, 115] (not blocked on mutex)
S            mono:31762 [caba0030, 116] (not blocked on mutex)
S       scsi_eh_1:32033 [db8b0a70, 111] (not blocked on mutex)
S     usb-storage:32034 [de4d6550, 110] (not blocked on mutex)
S    kio_uiserver:32207 [d0729030, 116] (not blocked on mutex)
S       kjournald:32210 [c9fa3a70, 119] (not blocked on mutex)
S           artsd:32440 [c21caa70, 116] (not blocked on mutex)
S          kdesud:32456 [dfe5b030, 116] (not blocked on mutex)
S        kio_file:32549 [ccd6f550, 116] (not blocked on mutex)
S            kget: 3125 [c1eaca70, 116] (not blocked on mutex)
S           artsd: 4437 [c2cee550, 115] (not blocked on mutex)
S           artsd: 4439 [d7f31a70, 115] (not blocked on mutex)
S          mysqld: 4449 [c2961030, 116] (not blocked on mutex)
S           skype: 7704 [c1ece550, 121] (not blocked on mutex)
S       skype.bin: 7723 [ce2efa70, 115] (not blocked on mutex)
S       skype.bin: 7727 [c52dc030, 116] (not blocked on mutex)
S       skype.bin: 7750 [c6a8a030, 116] (not blocked on mutex)
S       skype.bin: 7751 [ce2ef030, 115] (not blocked on mutex)
S       skype.bin: 7752 [c2951a70, 116] (not blocked on mutex)
S            kget: 9216 [d362fa70, 118] (not blocked on mutex)
X            kget: 9217 [c1ece030, 119] (not blocked on mutex)
S            sdpd: 9219 [c21d5550, 116] (not blocked on mutex)
S            hcid: 9234 [c21d5a70, 116] (not blocked on mutex)
S        krfcommd: 9369 [ccd6fa70, 110] (not blocked on mutex)
S       skype.bin: 9403 [c9fa3550, 115] (not blocked on mutex)
S       amarokapp: 9530 [c8fd2a70, 115] (not blocked on mutex)
R        modprobe:19324 [c6a8aa70, 118] (not blocked on mutex)
S           udevd:19325 [ce2ef550, 118] (not blocked on mutex)
S udev_run_hotplu:19328 [db221a70, 117] (not blocked on mutex)
S           udevd:19329 [c21ca030, 118] (not blocked on mutex)
R udev_run_hotplu:19333 [de4d6a70, 119] (not blocked on mutex)
S udev_run_hotplu:19334 [c1ecea70, 118] (not blocked on mutex)
D 10-udev.hotplug:19335 [c2ceea70, 118] (not blocked on mutex)
R        modprobe:19332 [c8fd2030, 119] (not blocked on mutex)

---------------------------
| showing all locks held: |
---------------------------

#001:             [d568ac78] {snd_card_bt_sco_probe}
.. held by:          modprobe:19324 [c6a8aa70, 118]
... acquired at:
#002:             [d1a32154] {inode_init_once}
.. held by:   10-udev.hotplug:19335 [c2ceea70, 118]
... acquired at:
=============================================

[ turning off deadlock detection. Please report this. ]

snd-bt-sco: snd-bt-scod thread starting