. mombe.org
home of the mad cow
  Not A Blog

Tuesday, June 29, 2010

Hellenic School Magazine, 1989

I was rummaging through some stuff at my parents' house last week, and found a copy of Harare Hellenic School's first school magazine, circa 1989. It was produced by my grade 7 class, I think as a class exercise — I remember that we had a production line doing all the stapling, etc. I just had to scan it.

The original was produced in a banda machine on the recycled paper that was typical of Zimbabwe in the 1980s and early 90s. Unfortunately that means it hasn't aged well — the paper has yellowed and the pale blue ink has faded a lot. On my copy the first page is torn, and unfortunately the lower half is missing. I think there was also a (hand-drawn) school crest on a missing front cover page.

The scan I've made is about 30MB and is a greyscale PDF. It's partly an effort to preserve this document before it deteriorates any further, and partly so we can poke fun at ourselves 25 years on.

posted by guy at: 10:32 SAST | path: /general | permanent link

Friday, August 29, 2008

ATOM to KML converter

A friend of mine is currently on a research cruise and has been blogging along the way. Each time he blogs, he posts a position update in the form of a link to Google Maps.

It occurred to me that it'd be nice to have a real-time route map of where he'd been, and that a Google maps mashup would be a good way to do this. The problem was getting the data to create the mashup. His blog includes an Atom Syndication Format feed for syndication, so I figured that what I needed was a way to automatically convert this data into something Google maps could understand.

I've been playing a fair amount with Google's Keyhole Markup Language (KML) for work reasons — we use it to record GIS data about our network infrastructure for use in Google Earth. KML works nicely in Maps too, so it seemed that what I really needed was a way to take ATOM data from a blog and convert it to KML.

A little bit of PHP later and I had what I needed. A script that read the ATOM, extracted position information from it, and converted that into a KML script I could use in my mashup.

Figuring that this would probably be useful to someone else, I've tried to make my ATOM to KML converter as generic as possible. I knows nothing of the particular blog, and extracts everything it needs to know from the blog itself.

The result is available as atomtokml.php.

You'll need Apache and PHP (with the XML, PREG and cURL extensions), as well as the SimplePie ATOM PHP class. The latter is simplepie.inc and need to go somewhere in PHP's search path.

Configuration is easy or non-existent. There are a couple of variables at the top of the atomtokml.php script that you may need to set.

To use it, simply call it from a web browser. By default it'll probably open in in Google Earth. You can also use the GGeoXml function to load it in a Maps mashup.

The script understands a few parameters to make life easier. nocache=1 will disable SimplePie's ATOM cache and fetch the feed directly from source again — useful for forcing a reload. text=1 will display the resulting KML as text/plain rather than application/vnd.google-earth.kml+xml, which will probably make it display in your browser — useful for finding out why a post didn't make it into the KML. Finally, feed=URL will override the default feed URL and fetch a different ATOM feed — this'll let you use the same script for multiple blogs.

From a blogger's perspective, there are two ways to get a post into the KML. The first is to make sure your ATOM feed has the longitude & latitude fields set for each post. Realising that most blogging software doesn't support this, the second is to post links to Google Maps in entries you want to appear. The script can parse Google Maps' permalink format and extract longitude & latitude from the URL.

As usual, YMMMV.

UPDATE 2008/08/31: bug fixes
I've updated atomtokml.php to fix a few bugs in the KML output (it seems I didn't read the spec properly). The output now validates correctly in a couple of different KML validators. Unfortunately it seems that, having done this, Google Earth doesn't parse a KML 2.2. file properly :) It'll load fine, but if you turn verbose warnings on, you'll get warned about some of the imported elements.

posted by guy at: 07:55 SAST | path: /systems | permanent link

Monday, July 21, 2008

Building Mozilla Weave on FreeBSD

Mozilla Lab's Weave project provides bookmark and user data synchronisation between browsers. It's very useful, but doesn't currently support FreeBSD. Since I run Firefox 3.0 on FreeBSD, this is a little irritating to me ;) So, following the hints on Weave's wiki, I attempted to build Weave on my BSD box.

The script I came up with is a nasty hack. There *must* be a cleaner way to do this. Nevertheless, it successfully builds Weave 0.2.5 on FreeBSD 7.0-RELEASE against the Firefox 3.0.1 sources.

To build Weave, you'll need a working ports system that's reasonably up-to-date (has www/firefox3). You'll also need gmake and python installed.

Download the latest Weave sources and untar them. Then copy my script into the top-level source directory (weave-c8bce0724360 at time of writing). cd into this directory, and run the buildweave.sh script. You'll be left with an XPI installer ready to install.

For those who're lazy, here's my pre-compiled version of Weave 0.2.5 for FreeBSD 7.0.

UPDATE 2008/08/10: Weave 0.2.6 released
Weave's been updated, so here's a pre-compiled version of 0.2.6.

UPDATE 2008/10/20: Weave 0.2.7 released
Weave's been updated, so here's a pre-compiled version of 0.2.7.

posted by guy at: 18:22 SAST | path: /systems | permanent link

Bloxsom Powered

© 2002-2005, webmaster@mombe.org
RSS Valid XHTML 1.0!

Creative Commons License