phil wilson :: a geek commodity

8:47 PM

permanent link to post  

Sunday, December 21, 2003

I’ve come home to Bristol for Christmas (wonder if I’ll see any of the ILRT folks like Libby Miller or Dan Brickley doing their Christmas shopping?), and what do I find? I find that not only has my Mum bought a new computer (a 2.2GHz Dell with half a gig of RAM!), but that it connects to the Internet via the 802.11g wifi router sitting in my bedroom! Bloody hell, I wish my house was like this! Talk about way to make a boy feel jealous!

5:17 PM

permanent link to post  

Friday, December 19, 2003

We all know that the BBC has had RSS autodiscovery links on their main pages for ages now (for example, on http://news.bbc.co.uk/) but the BBC Magazine section has an FAQ which contains this:

Is there an RSS feed for Magazine?

Yes. It’s available at this page

RSS! Mentioned on one of the main pages of the BBC website! Astonishing!

10:30 AM

permanent link to post  

Thursday, December 18, 2003

It’s probably about to make its merry way around the blogiverse anyway, but the Internet Explorer Accessibility Toolbar really is excellent. It features most of the tools available on the Mozilla Web Developer Toolbar and a few other ones (such as links to an online version of Tidy as well as sites for checking what your page looks like to users with different types of vision impairments, and links to accessibility guidelines, view page metadata and so on and so on. Excellent stuff, especially for those developers who refuse to use anything but IE (although hey – they probably don’t care about accessibility and standards anyway ;).

10:10 AM

permanent link to post  

This may be violating the license agreement, but I now have FeedDemon working using the Gecko rendering engine instead of IE’s. It works surprising wel

I've known about the Mozilla ActiveX project for ages (genuinely one of the best and most useful things anyone could be doing with Mozilla), but never got around to trying it at all. But it's this easy to replace the IE component embedded in apps with Gecko? Wow. Bring it on!

2:35 PM

permanent link to post  

Wednesday, December 17, 2003

Interestingly Local News (“your worldwide local newspaper”, as it calls itself) has a “gossip” page powered by Localfeeds. Select your location, hit the “gossip” tab and you get what they call “News from local bloggers…”.

News? From bloggers? More like inane prattle. This may be taking the “blogging as journalism” meme a bit too seriously.

8:48 PM

permanent link to post  

Tuesday, December 16, 2003

LinkMachineGo has already linked to it and that’s good enough for me. So here’s the best of everything in 2003.

8:16 PM

permanent link to post  

Monday, December 15, 2003

Interesting looking at Erik’s news today to see several Java bulletin-board type things covered.

In a totally unrelated, but nevertheless coincidental move, I rewrote some of the Xurble frontpage over the weekend, and hope to get a clean version up over the next few days.

Unlike the ones Erik links to (which seem to be well-planned out, carefully architected etc.), lots of the Xurble code grew organically, and, FWIW, works very nicely thankyouverymuch. Not to mention that it supports just about anything you can think of. ;)

Oh, and Xurble is now years old. :)

8:27 PM

permanent link to post  

Sunday, December 14, 2003

I’ve no idea how long it’s been there, which implies “forever”, but nevertheless, the true London Underground map.

Oxford Circus (not a real circus and nowhere near Oxford)
4:57 PM

permanent link to post  

Wednesday, December 10, 2003

It turns out I was just repeating myself (March 2002!).

10:15 AM

permanent link to post  

Tuesday, December 09, 2003

JAlbum is what I used to make my online gallery of the photos I took when in Rome, and it uses JSP-based skins to generate the index and individual pages. This means, of course, that with a simple RDF-skin you can provide an XML description of your gallery. Below is the skin I used to generate mine (I’ve not finished writing all the comments yet!) - for it to work well it requires you to do two things: 1) add a comment (which will get stored in the JPEG header) to each image in the "edit" tab as shown in this screenshot (click to enlarge)

2) add some custom variables as shown below with these names in the "advanced" tab (click to enlarge)

Do a publish and voila! Not only will you have an online gallery, but an RSS 1.0 file describing it, and each photo in it! All that’s missing is somewhere to stick FOAF codepiction data, and whilst JAlbum is closed source, it has a documented API so it should be easy enough to knock up a simple GUI along the lines of KimDaBa which lets you add people, locations and keywords to images (KimDaBa looks like an excellent app in its own right, btw, and definitely one to check out if you’re in Linux!)

<?xml version="1.0" encoding="iso-8859-1"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
            xmlns:dc="http://purl.org/dc/elements/1.1/" 
            xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="$location">
<title>$title</title>
<link>$location</link>
<description>$description</description>
<dc:creator>$creator</dc:creator>

<items>
  <rdf:Seq>
    <ja:rowiterator>
      <ja:coliterator>
        <rdf:li rdf:resource="$location$fileName" />
      </ja:coliterator>
    </ja:rowiterator>
  </rdf:Seq>
</items>

</channel>

<ja:rowiterator>
  <ja:coliterator>
    <item rdf:about="$location$fileName">
      <title>$label</title>
      <ja:if exists="comment">
        <description>$comment</description>
      </ja:if>
      <link>$location$fileName</link>
    </item>
  </ja:coliterator>
</ja:rowiterator>

</rdf:RDF>

Link to the index.rdf file now fixed!

Modification to template to only display <description> element when there's content to display

9:52 AM

permanent link to post  

My girlfriend’s just received some SMS spam (this one in fact), and came to show it to me not because she was going to call it, but because the “sent” date is approximately five hours in the future.

Of course, a quick google of the contents retrieved the page on Grumbletext I linked to above, which tells of people who even called the number and were charged £11 for the privilege. Honestly, it’s almost as bad as this woman.

Anyway, for all those receiving SMS spam in the UK, here's what the GrumbleText guys recommend:

Our advice: 1) report it to ICSITS on 0800 500212 and 2) delete it - you should only consider attempting to 'unsusbscibe' if you start getting loads of the same text - services tend to send out in batches over a period of a few days so be patient and see if they die off.. Oh, and the last main way that we know they use to get hold of your number is: if you call one of these so called 090-type 'prize' numbers, you will often be asked - in order to be able to 'claim' your 'prize'- to input using the phone keypad a friend's mobile number. If you make one up, as many people must do, well, it may turn out its yours, and that's why you started suddenly getting a stream of junk!

In addition, despite our harsh spam filters at work, I’ve just started getting a couple of spam mails a week arriving in my Inbox which is pretty surprising seeing as it’s not given out to anyone outside the company ever. I suppose it must have just popped up on the brute force “possibly valid email”-ometer.

10:50 PM

permanent link to post  

Monday, December 08, 2003

Not waving but drawing.

Or some other bad pun.

GeoURL is becoming more and more useless to me as it gets clogged up with more and more deviantART home pages.

Take any random search in the UK, for example, and in the top 100, I’ll guarantee at least 50 are pointless deviantART home pages.

For example: here I am and a quick grep reveals no fewer than FIFTY-ONE in the top 100.

Centred on my home city of Bristol there are also 51.

I’m all for art, but for God’s sake! Some kind of filter! Please! I know there’s an xml feed, and if I wanted I could implement something on that, but as the site gets clogged with more and more of these effectively useless pages, its efficacy and entire reason for existing comes into question.

10:41 PM

permanent link to post  

Just say NO to Microsoft (via Cheah Chu Yeow) is a site listing alternatives to MS software for all (as far as I can tell) of the domains they have a product in: from OS to word processor; WebTV to Exchange. It’s nice to have a list that you can point people at when they ask “well, just what else *is* there?”. It’s a shame (but unsurprising when you consider the breadth) that some of the alternatives pages are lacking in detail due to limited author experience.

Perhaps people who’ve used packages which are, for example, alternatives to Visio could give the author some details?

4:37 PM

permanent link to post  

Thunderbird 0.4 is out, and I’ve been using it for the past 24 hours or so, and it’s definitely an improvement over 0.3.

Lots of little bugs have been fixed (hopefully as well as some larger ones ;), and the default icon set is a lot more professional than the previous one. Sadly, the default icon for the application still looks like a new piece of mail, which could do with changing – taskbar confusion ahoy!

I also owe an apology to Hotmail Popper which I dissed slightly in a comment on one of Simon Willison’s posts.

I said that it didn’t delete messages from your Hotmail Inbox when you deleted them in Thunderbird – it does, of course, but only once you’ve removed them from your Trash folder.

However, messages don’t seem to have the “unread” flag unset in Hotmail once you’ve read them in Thunderbird, so as soon as you use the web interface, Outlook Express or whatever, it lists “50 new messages” or whatever. Annoying, but bearable, currently.

11:36 PM

permanent link to post  

Thursday, December 04, 2003

Two years ago, I was mad on mobile technology, I had just about every SDK and emulator available. I coded Java games for fun, written in MIDP 1.0 and god, whatever else there was around at the time. I enjoyed myself. Until I started to actually move the work I’d been doing onto actual phones.

Then it all stopped working.

I was pretty disheartened, but persevered for a while until I realised that not only was the technology only getting better at an absolute snail’s pace, but the emulators still weren’t reflecting what was actually going on. Some more time passed and I realised that not only was I disappointed by the poor level of support given to developers but also that as newer phones came out I wasn’t going to be able to try out my new code on them (I was only a student, and whilst this gave me plenty of time for writing code, it gave me no money to buy the gadgets to run it on!).

So I stopped. Completely. I didn’t see the point.

Fast-forward to now. Phones are probably at about the level I wanted them to be two years ago. Emulators have improved a lot, and advanced phones (especially with Java support) are starting to become a lot more common; but I just don’t have the time any more. Not to re-learn the APIs, learn all the new features of MIDP 2.0 (which according to Sendo still isn’t stable enough to use) and certainly not anywhere near enough time to write new apps, let alone rewrite all my old ones.

But all of this is likely to be moot.

This Christmas I’m likely to be receiving an iPaq. Specifically an iPaq 1940 running PocketPC. It’s only a lowly model (although more than enough for my needs!), and so I can’t put Linux on it (the Familiar distribution, from handhelds.org). Originally, I’d wanted a Zaurus, but they’re just too pricy, and I wanted something with Bluetooth built-in.

So, from originally doing some small development for phones, I’m hoping that developing for PocketPC will be a lot easier. Ideally of course, I’d like whatever I do to be easily portable, so maybe something based on Qt would be good, although I strongly suspect that there’s not going to be anything available. In the meantime, I’ll keep on looking for tools and hope that my experience is going to be a lot better than it was with phones.

1:24 PM

permanent link to post  

To match Through the eye of a Mac is Through the eye of Konqueror which does almost exactly the same thing, but for the linux browser Konqueror.

It looks as though it’s not getting many hits at the moment, although if they do, they may want to implement some kind of visible queueing system as on “Through the eye of a Mac”, or one of two things will happen:

  • a) their machine will explode in flames
  • b) people will wonder why the process time is so long, and leave in a huff, damning them for a shitty service.

As far as I know, both Safari and Konqueror use KHTML as their core rendering engine, so they should both render in pretty much the same way, but there are also Safari-specific additions Apple have made to their rendering engine which won't make it into KDE for quite a while yet (for example, the rendering of the XUL box model) which you can keep up with on Dave Hyatt's blog.

9:32 PM

permanent link to post  

Wednesday, December 03, 2003

The Abyss Web Server is tiny, fast, and pretty goddamn amazing. The Windows installer is 144k, and sets itself up, providing a web interface to all of its configuration.

Despite its tiny footprint (for example, the executable file size of the Windows version is less than 112 KB); it supports HTTP/1.1, dynamic content generation through CGI/1.1 scripts, Server Side Includes (SSI), custom error pages, and user access control (HTTP authentication/password protected files).

It also supports Perl, PHP, Python and ASP. From download to seeing the phpinfo() screen was about five minutes, and most of that was locating and following the documentation to get PHP working (I already had PHP installed).

It’s rare that software really impresses me, but this (free!) web server really is amazing. There’s no .htaccess, no virtual hosts, and (probably) no gzip compression, but if you’re using Apache for a small, simple site or you’re a beginner and you’re not using these features, this would suit you down to the ground. It’s amazingly simple. Really, really amazingly simple.

12:14 PM

permanent link to post  

It strikes me as somewhat ironic that every day last week I intended to bring in my camera to take some pictures of Ilkley (the very picturesque town I work in), but either forgot it, couldn’t find it or just didn’t have the time.

On Monday I remembered, and it didn’t stopped pissing it down between 8am and 8pm. Since then, Ilkley has been wrapped in a mist just thick enough to obscure every notable landmark and classic scene that I wanted to take a picture of.

I felt I should take some photos of Ilkley because I’m generally fairly harsh on the north of England (and specifically Sheffield, where I live), which is dark, miserable, poor, dirty and just pretty overall horrible; in comparison, Ilkley is like a beacon of civilisation. It’s clean, pleasant, properous and generally the kind of town you’d be pleased to have built if you were playing Sim City (unless you have a penchant for regularly destroying your city with Godzilla-like monsters and typhoons, in which case, this doesn’t apply to you). Bill Bryson even visited it and wrote about it glowingly in “Notes from a Small Island”, the quote escapes me at the moment, and Google is blank on the matter, so you’ll have to concoct your own Bryson-esque description of green hills, rolling valleys and the famous moor (of course, it’s probably not too hard to think of it positively when you’ve just come from Bradford).

10:33 AM

permanent link to post  

Buried in the comments of Mark Pilgrim’s latest post about aggregators and power laws is this little gem of a Bash script which, given the name of your RSS file and an apache access log will return a list of the number of different user-agents who have accessed your file, ordered by the number of user-agents

So for me:

grep /rssify.php /var/log/apache/access.log | cut -d " " -f 1,12- | sort | uniq | cut -d " " -f 2- | cut -d "/" -f 1 | sort |uniq -c | sort -gr | head -25

and you can swap grep for zgrep to search through the gzipped archives (i.e. grep /rssify.php /var/log/apache/access.log.1.gz etc.)

12:02 AM

permanent link to post  

Is Mozilla Development too hard? asks Ken Walker. Neil’s reaction is Not really, and points to the more than 100 extensions developed, but as the author of XUL Planet he’s also probably slightly biased. :) The real answer, of course, is “yes”.

I’m extraordinarily keen to develop applications with Mozilla. I would absolutely love to be able to write an application which used XUL as its front end, giving me a nice, cross-platform interface. I’ve put a lot of time and effort into various Java solutions: Swing, SWT, XWT, Thinlet, Jelly, but none have been completely satisfactory, always letting me down in some way or another.

As you can tell, my programming language of choice is Java, and for me RDF and XUL aren’t a problem, in fact I positively embrace both of them, but I have no idea at all of how to link a Java app to an XUL front end except by means of a web service which I can call from Javascript!

I have a vague idea that JNI exists and would probably be useful here (as, most likely, would XPIDL and XPCOM), but whilst I understand how to make calls between basic C++ and Java apps using JNI, I have absolutely no idea how this relates in the real world to Mozilla, or even would relate to a GRE or XRE.

I'm pretty sure that XPCOM is the crux of the thing, but even that has more than one front page on the Mozilla site: XPCOM the project, and XPCOM the architecture. In all fariness, the XPCOM architecture page looks great, and seems to link to some good resources, but I swear I'd not seen half of them before, and am going to put down this new discovery to the reworking of mozilla.org ;)

But regardless, there's too much text and not enough code. What I need is a simple example of how I can take input from the user in XUL, pass it back to my Java code which updates the user interface. If only Creating Applications with Mozilla told me! Newsmonster, for example, is written wholly in Java (AFAIK!) and so it’s clearly possbile, but god knows how it’s done – I certainly haven’t been able to find any examples of how to get started. I also know about the Blackwood project, the aim of which is: “Creating a bridge between the Java Platform and Mozilla”, but a quick look at the checkins shows nothing’s happened since Jan 2002!

All of which means that I’m sitting here, full of enthusiasm and verve, and I have no idea of how to even start.

Who can point me in the right direction?

11:17 PM

permanent link to post  

Tuesday, December 02, 2003

Another one of those somethings which I’d love to do but just don’t have time for (ping Lazyweb!):

What I’d like is a basic reminders system based around Jabber, probably using iCard-RDF (see also: RDF Calendar Workspace and other references on the iCard-RDF page) as the storage format.

A web front end should allow a user to either:
a) manually enter a time and date for a new event (entering new events via a Jabber component should also be allowed)
b) select an event from an iCal source to add to a user’s diary

a user also specifies how far in advance of each event they should be reminded about it.

Then, at the appointed time, ping they get a Jabber message reminding them.

There seems to be some work already going on for full PIM applications via Jabber (organising meetings, appointments, etc. etc.), but I just want a thin end of the wedge application, and this would suit my needs perfectly. I’d love for Jabber to be able to remind me when my favourite programs are on telly (via Ananove XMLTV -> iCard-RDF), or when I should be out buying birthday cards. Using Jabber would mean, for instance, that whilst at home I could set a reminder to do something in particular at lunchtime when at work the next day, or if I was out and about, on my (forthcoming) iPaq (with bluetooth and WiFi). No matter where I would be, so long as I was connected to Jabber (and I almost always am), I’d receive the reminder.

This seems easy enough to write the code for, but I just don’t have time! Anyone just willing to lend a hand, please get in touch!