Quake 3 Arena – on the Nokia N900 ?

Wow, this is pretty impressive, there is a WIP port of Q3A to the Nokia N900 using the accelerometers to control movement and there are some videos up to see using the TV-out on the phone:

Someone even video’d a multi-player demo at the Maemo summit.. 😉

It’s not publicly available (for the moment at least) from what I can tell, a comment on YouTube says:

Currently not (“yet” I’d guess) – but remember that this is just a work in progress / feasability study – this is only a developer version that got distributed over the weekend during the Maemo Summit 2009 in Amsterdam.

Still, looks fun! 🙂

Lazyweb Questions After Reading the N900 Manual (updated)

Update: the document linked to below has either been removed or moved on the Nokia site, the link has gone 404. 🙁

OK, so I spotted that the PDF manual for the Nokia N900 was online and so I grabbed a copy of it to read through. Of course, like all user manuals, it talks about lots of bits and pieces but doesn’t go into the technical details for some decisions, so as a result I’m puzzling over a couple of points. They are:

  1. Can you charge the phone whilst it is off ? Might sound like a silly question but the Neo Freerunner has to be on to charge.
  2. Is the Offline mode the N900’s version of Flight Mode or Airplane Mode ? The manual says that you can’t make or receive calls, no wifi, etc. But it goes on to say that “Calls may still be possible to the official emergency number programmed into your device”. I’m guessing that means that if you try that it’ll power up the GSM modem for that call, but it’s just a guess. (Page 33)
  3. Why can’t the A-GPS service use Wifi ? The manual says that only “a packet data Internet access point can be used.”. (Page 77)
  4. Whilst saying that most updates can be installed using the N900 itself the manual also says that “an update using the Nokia Software Updater may sometimes be necessary”. This is Windows only software – any chance of a Linux version, or can something like dfu-util be used instead ? (Page 85)
  5. Does the N900 automatic time update use NTP, GPS or the GSM time information some carriers provide (or some combination) ? (Page 97)

If you’ve any ideas or inside knowledge on any of those points I’d love to know!

Response to Greg Black on ZFS & FUSE

Catching up on PLOA I noticed a posting from Greg Black bemoaning the lack of ZFS in Linux so I thought I should make a couple of quick points in response to it.

  1. The CDDL/GPL thing is just down to the fact that their requirements are incompatible (Sun based the CDDL the MPL), so you can’t mix that code. Just have to live with that.
  2. A major issue with ZFS is that there is ongoing patent litigation in the US between Sun and NetApp over it – it’ll be interesting to see what Oracle do when they finally take over Sun (assuming Sun doesn’t expire before the EU regulators comes to a decision on the takeover)
  3. ZFS-FUSE isn’t dead! Whilst Ricardo has stopped work another group has taken up the challenge and there is a new home page for it – http://rudd-o.com/new-projects/zfs – complete with Git repository (no more Mercurial, huzzah!).
  4. The ZFS-FUSE mailing list is active too, if you want to learn more.

Nominum Ignorant of Own Security History

Oh dear, so Nominum crop up on ZDNet decrying “freeware” (by which they probably mean open source) as bad and closed source as being good by saying:

Nominum software was written 100 percent from the ground up, and by having software with source code that is not open for everybody to look at, it is inherently more secure.

Because, of course, that security through obscurity approach works so well for people like Microsoft (have you patched the SMB2 remote admin attack on your Windows boxes yet?). They go on to justify this by saying that you should look at all the security patches that get applied to BIND et. al and contrast that with their own software.

Nominum has not had a single known vulnerability in its software.

Which would be almost impressive, if it were actually true, which it isn’t. That quote is from 22nd September 2009, but over a year earlier they had to release a security patch for their software (PDF document), because:

Cache poisoning allows an attacker to selectively control destination web sites for users accessing a compromised DNS. For example, if a cache entry for Google is poisoned, a user typing in www.google.com would not get the Google website but rather a site controlled by the attacker.

In fact it wasn’t just one piece of software they wrote that had a bug, it was two..

This vulnerability affects all customers using versions of CNS and Vantio released before June 4th, 2008 regardless of what features are being used.

So perhaps people in (smoked) glass houses shouldn’t try and throw stones…

Ext4 fall down go boom

After a reboot today whilst installing KDE 4.3.1 I noticed the following messages in my kernel (2.6.31-rc8) logs (courtesy of the KDE file watcher that was following /var/log/kern.log):

Sep 6 13:53:10 quad kernel: [ 142.842723] EXT4-fs error (device dm-7): ext4_mb_generate_buddy: EXT4-fs: group 287: 5812 blocks in bitmap, 5418 in gd
Sep 6 13:53:11 quad kernel: [ 143.452041] JBD: Spotted dirty metadata buffer (dev = dm-7, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
Sep 6 13:53:11 quad kernel: [ 143.486915] JBD: Spotted dirty metadata buffer (dev = dm-7, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
Sep 6 13:53:11 quad kernel: [ 143.486942] JBD: Spotted dirty metadata buffer (dev = dm-7, blocknr = 0). There's a risk of filesystem corruption in case of system crash.

That didn’t look too good, so I immediately did a “git pull” and happily found 2.6.31-rc9 was out so built that and then did a dual backup, rsync’ing to my local ZFS-FUSE drive (which takes snapshots so I can go backwards in time) and also an rsnapshot to a USB external disk. Then with trepidation I rebooted and found myself looking at an fsck error on /home due to shared blocks between an image and part of my local clone of Linus’s kernel git tree (d’oh!). Whilst the fsck got the filesystem mountable again it did result in not being able to view the kernel git tree due to missing files so I decided it was far safer to just revert to my latest backup, which worked like a charm (phew!).

Moral of the story – keeping backups is good – keeping lots of backups is even better, especially when running with release candidate kernels! 😉

Kubuntu Users – Shave a Few Seconds Off Your Boot Time

If you’re a KDE Ubuntu user (Kubuntu) you might not know that the standard readahead package (which attempts to speed up boot by preloading the kernel file cache by efficiently reading them in advance) is tuned for the Gnome version of Ubuntu and so will be trying to read a bunch of libraries that are probably not installed on your system. So it’s unlikely to do much for your average KDE user!

However, if when you boot you go into the Grub boot loader and add the “profile” option to the end of your command line (after “quiet” for instance) then it will profile the files used during the startup and create new files in /etc/readahead so that next time you start you’ll actually be preloading the files that will be used on your system. I’ve found it’s shaved over 2.5 seconds off my boot time as recorded by bootchart.

There is a bug in Launchpad for this, it’s 369506 but it hasn’t had a lot of love. 🙁

Android on my FreeRunner

So it’s just over two weeks since I started with Android on my FreeRunner and it’s time for an update. First of all I’m no longer using the Koolu images, they lack echo suppression support and as soon as I found that Michael Trimarchi’s Panicking port of Android does do echo suppression I switched. The added benefit of changing was that Michaels port has fixed the go-slow feel of the Koolu version and feels responsive and usable in most situations (though the soft keyboard is still a little slow).

Good points:

  1. Calls work flawlessly.
  2. SMS works flawlessly (and has a nice interface)
  3. Contacts can be added as shortcuts on the desktop
  4. Wifi works (though WPA2 Enterprise networks need some text file magic)
  5. GPS works nicely (I used GPS-status to see how many satellites it can see)
  6. Bluetooth works – or at least finds devices when scanning – not gone any further with that
  7. Web browser works nicely, even supports Google Gears

Bad points:

  1. NO ACCESS TO THE ANDROID MARKET – the Android Market application is not open source (a decision by Google) so you can’t access any applications hosted there. Whilst there are alternative sources they only have a fraction of the applications so this does limit things.
  2. The phone seems to stop being able to suspend if you define a APN for GPRS/MMS access. Resetting the APN to the defaults (none) fixes it though.
  3. I don’t seem to be able to download MMS/PXT’s – I suspect this is related to the APN issues and I may just not have the right info
  4. Accelerometers don’t appear to work – or at least the marble game I had didn’t react to me tilting the phone.
  5. Battery life doesn’t seem to be quite as good as Qtopia/Qt-Extended/QtMoko – I have to charge every 24 hours at present. That said the later kernels don’t seem to give me quite as long a lifetime as the 2.6.24 based ones so that may not be Androids fault..

But all in all I’m really quite happy with Android on FreeRunner, it easily outshines my previous favourite of Qtopia/Qt-Extended/QtMoko in terms of overall polish and usefulness as a phone! Thanks to all involved in the porting effort, and especially Michael.

i4i Says XML Patent Doesn’t Affect OpenOffice.org!

Here’s some interesting news from Government Computing (via Groklaw) on the patent that has caused all the worry about Microsoft Word and XML:

i4i said it has looked at OpenOffice and found it doesn’t infringe on its patents.

Which is good news for ODF, but still demonstrates what an utter minefield software patents are. The sooner they’re gone the better.

Puzzled Why You Can’t Enable “atime” in 2.6.30+ ?

If, like Tim Connors, you’re puzzled about why the kernel isn’t honouring your “norelatime” or “atime” options and is keeping the default “relatime” mount option then be reassured it’s not a kernel bug, it’s a bug in the mount command instead. 😉

Basically to enable the POSIX “atime” behaviour again (for those few cases which require it) the mount command needs to pass the MS_STRICTATIME option to the mount(2) syscall, but it appears that the version in the mainstream distributions is too old to do this. There is already a Fedora bug to backport this, and Tim has just reassigned his existing one to mount.

Microsoft Word Falls Foul of XML Patent

Uh oh, this sounds really bad! LWN is reporting that:

Here is a press release from legal firm McKool Smith, which is quite proud at having gotten a US court to rule that Word violates patent #5,787,499. “Today’s permanent injunction prohibits Microsoft from selling or importing to the United States any Microsoft Word products that have the capability of opening .XML, .DOCX or DOCM files (XML files) containing custom XML.” The text of this patent is quite vague; if it stands it could almost certainly be used to make life difficult for free software as well.

Microsoft taking a beating for this is not something to celebrate, this is yet another example of how software patents are really bad for all the players in computing.