<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Système D</title>
	<atom:link href="http://www.systemed.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.systemed.net/blog</link>
	<description>Church organ, maps, canals, cider.</description>
	<lastBuildDate>Thu, 03 Jun 2010 13:12:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The simplest possible OpenStreetMap server</title>
		<link>http://www.systemed.net/blog/?p=194</link>
		<comments>http://www.systemed.net/blog/?p=194#comments</comments>
		<pubDate>Thu, 03 Jun 2010 13:12:16 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[cartography]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=194</guid>
		<description><![CDATA[One of the aims of Halcyon, the rendering engine behind Potlatch 2, is to provide a fully stylable map applet for web pages. Just drop in the SWF, give it a stylesheet (in MapCSS), and job done.
The SWF will talk to an OpenStreetMap database server. In theory you could point it at the main OSM [...]]]></description>
			<content:encoded><![CDATA[<p>One of the aims of Halcyon, the rendering engine behind <a href="http://random.dev.openstreetmap.org/potlatch2/potlatch2.html">Potlatch 2</a>, is to provide a fully stylable map applet for web pages. Just drop in the SWF, give it a stylesheet (in <a href="http://wiki.openstreetmap.org/wiki/MapCSS">MapCSS</a>), and job done.</p>
<p>The SWF will talk to an OpenStreetMap database server. In theory you could point it at <a href="http://wiki.openstreetmap.org/wiki/API">the main OSM API</a>, but that’s primarily there for map editors, not as a free API for all-comers.</p>
<p>It would be friendlier to set up your own server. You can install the whole OSM ‘rails_port’ server stack for this, but it’s fairly complicated and involves a bunch of dependencies, so isn’t an option on your average shared host.</p>
<p>So I’ve written a little read-only API script for Halcyon use. You can <a href="http://svn.openstreetmap.org/applications/editors/potlatch2/resources/tinyamf.cgi">get it from the OSM subversion repository</a> in Potlatch 2/Halcyon’s resources directory.</p>
<p>It’s in Perl, comprises only one script, and has no dependencies (other than DBI for database access, obviously). It uses Flash’s AMF transport format, which is compact and fast. It needs only the current_ tables for nodes, ways, relations and tags, plus a nominal user 1 and changeset 1.</p>
<p>You might set it up as follows:</p>
<ol>
<li>Download some OSM data (e.g. a planet extract)
<li>Use Osmosis on your local machine to convert it to SQL and then upload the SQL dump to your remote host&#8230; or do it all on the remote host if you can
<li>Upload tinyamf.cgi somewhere executable
<li>Upload halcyon_viewer.swf, swfobject.js, a MapCSS stylesheet and any icons/fills necessary
<li>Put the necessary embedding HTML in your page
<li>That’s it!
</ol>
<p>I’ll post a real live example somewhere in due course.</p>
<p>Future versions of Halcyon will also be able to read directly from .osm files, so you won’t even need a database.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=194</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First day of Skobbling</title>
		<link>http://www.systemed.net/blog/?p=191</link>
		<comments>http://www.systemed.net/blog/?p=191#comments</comments>
		<pubDate>Wed, 02 Jun 2010 21:14:08 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[blether]]></category>
		<category><![CDATA[cartography]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=191</guid>
		<description><![CDATA[I&#8217;ve never been a satnav type of person. First of all, I like maps too much. I&#8217;m also probably conceited enough to figure I can work out a better route than a little black box. And then there&#8217;s the number of fools I&#8217;ve followed down the A3400, bimbling along at 30mph with the tell-tale little [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never been a satnav type of person. First of all, I like maps too much. I&#8217;m also probably conceited enough to figure I can work out a better route than a little black box. And then there&#8217;s the number of fools I&#8217;ve followed down the A3400, bimbling along at 30mph with the tell-tale little blue glow visible from behind.</p>
<p>Gah. Give me a stash of Landrangers any day.</p>
<p>On Friday I succumbed and bought a 3G iPad. I&#8217;d just emerged from a stressful deadline and fancied some unaffordable retail therapy (sorry Mr HSBC. Please be nice to me), and I&#8217;ve always wanted an iPhone without the voice contract. And there was the small matter of having dropped my ghastly Huawei 3G modem in the canal which, frankly, is the least it deserved.</p>
<p>Having bought this, I couldn&#8217;t really resist Skobbler for the grand price of £1.50ish from the App Store.</p>
<p>Skobbler is a satnav app for the iPhone, and thus by extension, for the iPad in screen-doubling mode. It pulls down vector data and routes from the net, rather than having the geodata storedin memory. And the interesting bit, for me, is that it&#8217;s entirely based on OpenStreetMap data.</p>
<p>It&#8217;s very good. Rough edges abound, sure, but this is an amazingly nifty piece of code and design. I&#8217;d say it&#8217;s the fourth great product to spin off OSM. (For the record: OpenCycleMap, mkgmap, CycleStreets.)</p>
<p>The perspective display is the first &#8220;wow&#8221; moment: fairly standard in modern satnavs but a first for OSM. It pans and rotates beautifully, really making the most of the iPad&#8217;s CPU power. (I think the data is being served as vector tiles by CloudMade.)</p>
<p>The GPS accuracy is pretty good, and getting a fix is fast, too. Routes are pulled down quickly and revised when you go off-piste. Voice directions are clear, though the &#8220;Beware &#8211; watch your speed&#8221; gets a bit grating on the M42 with cameras at every gantry, and e A444 should be either the &#8220;four four four&#8221; or the &#8220;treble/triple four&#8221;. </p>
<p>The best bit: the OSM data, on the two journeys I tried (Charlbury-Hanborough and Charlbury-Burton), was more than up to the job. There was only one tiny missing street which caused some ambiguity &#8211; I&#8217;ll come to that later. But even as someone who looks at more OSM data than most, I was amazed how good it was: and the visibility that Skobbler brings to &#8220;getting routing right&#8221; can only make this better still. (Incidentally, their osmbugs interface is excellent and should be a good example for the main osm.org site to follow.)</p>
<p>What didn&#8217;t work?</p>
<p>The place selection UI is uncharacteristically clumsy, with various nested dialogues that didn&#8217;t seem too clear to me. It doesn&#8217;t appear to support postcodes, either, though no doubt the appearance of OS OpenData will change this.</p>
<p>The routing choices are a bit odd and seem to unnecessarily penalise roads below green-signed A roads. Skobbler tried to take me through Woodstock to Hanborough, which is a bit silly, and through Chipping Norton to Burton, which is odder still. In both cases I blithely sailed on the normal way and it recalculated quickly enough.</p>
<p>It fairly eats battery. Charlbury-Burton swallowed 25% of the charge, even when I put it to sleep on long streches of motorway. But then, most people will be powering it off a 12V adaptor. </p>
<p>Motorway junctions were often announced as &#8220;bear right&#8221; when they really meant &#8220;continue straight on&#8221;. Not really a problem. My biggest bugbear is how roundabouts are announced, and this seems to be common across all satnavs rather than being a fault peculiar to Skobbler:</p>
<p>&#8220;Take the third exit&#8221;</p>
<p>What? Is that this one over here, or was that the second, and does that little service road count, or&#8230; sorry, Mr HGV, didn&#8217;t mean to swerve across your lane&#8230; yes, beep to you too&#8230; bang.</p>
<p>&#8220;Continue straight on at the roundabout.&#8221; Please. It&#8217;s much easier. I think you can trust me to steer round the edge rather than ploughing straight through the middle.</p>
<p>Two reasons why this is particularly relevant to Skobbler. The &#8220;third exit&#8221; approach fails completely with a sometimes incomplete map database. At Wellesbourne it told me to take the second exit; actually, it should have been the third, but OSM was missing the real second exit (a service road to an industrial estate). &#8220;Turn right&#8221; would have been failsafe.</p>
<p>Secondly, that&#8217;s exaggerated still more when the database and the signs don&#8217;t agree, as here in Burton where OSM knows one road is the A5189 but the signs don&#8217;t tell you that. We should really tag that with ref:signed=no or somesuch, but &#8220;Take the second exit for the A5189&#8243; is really, really confusing when there ain&#8217;t no sign of no 5189 (poetry).</p>
<p>But in the scheme of things that&#8217;s pretty minor. Skobbler is a seriously impressive achievement and one which more people should try&#8230; and not just because then I could tag a de facto 7.5T weight limit outside our house.</p>
<p>Incidentally, sorry for the lack of screenshot. I haven&#8217;t yet figured how to get WordPress to upload a pic from my iPad photo library. One thing at a time&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=191</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>James Murdoch: &#8220;we shall prevail&#8221;</title>
		<link>http://www.systemed.net/blog/?p=188</link>
		<comments>http://www.systemed.net/blog/?p=188#comments</comments>
		<pubDate>Fri, 23 Apr 2010 15:03:23 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[rants]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=188</guid>
		<description><![CDATA[Our Unification of Thoughts is more powerful a weapon than any fleet or army on earth. We are one people, with one will, one resolve, one cause. Our enemies shall talk themselves to death and we will bury them with their own confusion. We shall prevail!

Inspired by this frankly hair-raising story of mini-Murdoch calling the [...]]]></description>
			<content:encoded><![CDATA[<p>Our Unification of Thoughts is more powerful a weapon than any fleet or army on earth. We are one people, with one will, one resolve, one cause. Our enemies shall talk themselves to death and we will bury them with their own confusion. We shall prevail!</p>
<p><img src="http://www.systemed.net/blog/wp-content/uploads/murdoch_1984.jpg" alt="murdoch_1984" title="murdoch_1984" width="592" height="343" class="alignnone size-full wp-image-189" /></p>
<p>Inspired by this <a href="http://www.guardian.co.uk/media/2010/apr/22/james-murdoch-independent-dodge-city">frankly hair-raising story</a> of mini-Murdoch calling the editor of the Independent a fucking fuckwit (<a href="http://www.newser.com/off-the-grid/post/448/will-murdoch-lose-britain.html">insightful commentary</a>) and, of course, by <a href="http://youtube.com/watch?v=R706isyDrqI">Ridley Scott&#8217;s &#8216;1984&#8242;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=188</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hacking Ordnance Survey Meridian2 for beginners</title>
		<link>http://www.systemed.net/blog/?p=182</link>
		<comments>http://www.systemed.net/blog/?p=182#comments</comments>
		<pubDate>Thu, 01 Apr 2010 18:10:51 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[cartography]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=182</guid>
		<description><![CDATA[Today, oh happy day, Ordnance Survey released a bunch of map data for free. It&#8217;s an attribution-only licence, so you can do whatever you like with it as long as you say &#8220;data thanks to the nice guys at Ordnance Survey&#8221;. You can make maps, write clever location-sensitive apps, all that sort of thing.
Isn&#8217;t that [...]]]></description>
			<content:encoded><![CDATA[<p>Today, oh happy day, Ordnance Survey released <a href="http://opendata.ordnancesurvey.co.uk/">a bunch of map data</a> for free. It&#8217;s <a href="http://opendata.ordnancesurvey.co.uk/licence/index.html">an attribution-only licence</a>, so you can do whatever you like with it as long as you say &#8220;data thanks to the nice guys at Ordnance Survey&#8221;. You can make maps, write clever location-sensitive apps, all that sort of thing.</p>
<p>Isn&#8217;t that great? Hoorah for the Ordnance Survey; for the guys at the Department of Communities &amp; Local Government and Cabinet Office; and for Tim Berners-Lee and Nigel Shadbolt who pushed all this through.</p>
<p>The data includes postcode data and simple raster streetmaps. But perhaps the most interesting, for now, is a dataset called Meridian2 &#8211; real vector data that you can parse. Let&#8217;s take a look at how you can use it.</p>
<p>For this tutorial, you&#8217;ll need a computer with Perl installed and a fair bit of Perl knowledge.</p>
<h3>What you&#8217;ll need</h3>
<p>First of all, download the Meridian2 data from the <a href="http://opendata.ordnancesurvey.co.uk/">Ordnance Survey&#8217;s OpenData</a> site. (At the time of writing, the OS site is fairly bombed out and you might be better off getting it from the <a href="http://parlvid.mysociety.org:81/os/">mirror site</a> kindly provided by MySociety.)</p>
<p>You&#8217;ll see that these have bizarre file extensions: .shp, .shx, .dbf. These are shapefiles, Ye Olde Paleocentric File Format invented by ESRI back in 1807. The <a href="http://en.wikipedia.org/wiki/Shapefile">Wikipedia article about shapefiles</a> has all the nitty gritty and is worth reading.</p>
<p>You&#8217;ll need a Perl module to parse shapefiles. The module in question is <a href="http://search.cpan.org/~jasonk/Geo-ShapeFile-2.52/">Geo::ShapeFile</a>. There are many ways of installing Perl modules, but I use the CPAN shell:</p>
<blockquote><p>sudo perl -MCPAN -e shell<br />
install Geo::ShapeFile<br />
<em>(happy message ensues)<br />
</em>quit</p></blockquote>
<h3>Parsing the data</h3>
<p>So let&#8217;s fire up a text editor and write a Perl script to use this data.</p>
<p>We&#8217;ll start by calling up the Perl modules that we&#8217;ve just installed:</p>
<blockquote><p>#!/usr/bin/perl -w</p>
<p>use Geo::ShapeFile::Point comp_includes_m =&gt; 0, comp_includes_z =&gt; 0;<br />
use Geo::ShapeFile;</p>
<p>$fn=shift @ARGV;<br />
$shp=new Geo::ShapeFile($fn);</p></blockquote>
<p>Next, let&#8217;s take the filename of the shapefile, which we&#8217;ll supply on the command line when we call this script &#8211; so Perl puts it in the @ARGV array &#8211; and then load that shapefile.</p>
<blockquote><p>$fn=shift @ARGV;<br />
$shp=new Geo::ShapeFile($fn);</p></blockquote>
<p>Easy so far. You&#8217;ll have seen that each Meridian2 shapefile is actually three files: something.shp, something.shx and something.dbf. .shp and .shx contain the geometry (the line of the road), while .dbf contains the metadata (the road name and number, and so on). Fortunately, we just need to supply the &#8217;something&#8217; to Geo::ShapeFile, and it adds the three extensions as it needs them.</p>
<p>The shapefile contains a long list of shapes. We&#8217;ll parse them one by one.</p>
<blockquote><p>for (1..$shp-&gt;shapes()) {<br />
$shape=$shp-&gt;get_shp_record($_);<br />
%db   =$shp-&gt;get_dbf_record($_);<br />
$type =$shp-&gt;type($shape-&gt;shape_type());</p></blockquote>
<p>So what are $shape, %db and $type?</p>
<p>$type tells you what sort of shape we&#8217;re dealing with, and is a string which&#8217;ll typically be &#8216;PolyLine&#8217; (a line made up of a list of points) or &#8216;Region&#8217; (the same thing, but denoting an area). There are various other complicated types but they&#8217;re not found in Meridian2. In fact, Meridian2 makes your life easy by not mixing different shape types in each file.</p>
<p>%db is a hash of the metadata for this shape &#8211; the road name, number and so on. For example, a typical hash from the A-roads file is:</p>
<blockquote><p>_deleted =&gt; &#8221;,<br />
INDICATOR =&gt; &#8221;,<br />
ROAD_NAME =&gt; &#8216;ROTHAY ROAD&#8217;,<br />
METRES =&gt; 61,<br />
OSODR =&gt; O16AU69Q9R0TW,<br />
CODE =&gt; 3001,<br />
NUMBER =&gt; &#8216;A593&#8242;</p></blockquote>
<p>Pretty simple: to find the road number of this shape, all we need to do is look at $db{&#8217;NUMBER&#8217;}.</p>
<h3>Reading a shape</h3>
<p>So all we need to do now is parse the shape itself. A shape has several &#8216;parts&#8217;, and a part has several points. So first we iterate through the parts:</p>
<blockquote><p>for ($i=0..$shape-&gt;num_parts()) {<br />
@part=$shape-&gt;get_part($i);</p></blockquote>
<p>Then we iterate through the points in that part:</p>
<blockquote><p>foreach $point (@part) {<br />
$x=$point-&gt;X();<br />
$y=$point-&gt;Y();<br />
# do something with X and Y, for example&#8230;<br />
print &#8220;$db{&#8217;NUMBER&#8217;} goes through $x,$y\n&#8221;;<br />
}</p></blockquote>
<p>And really, that&#8217;s it. We&#8217;ve extracted the points in the line. Where I&#8217;ve put a comment saying &#8220;do something&#8221;, that&#8217;s where you come in. You could draw a line, colouring it differently based on the road number. You could compare it to the user&#8217;s location, and work out which one is closest. Or whatever. That&#8217;s the fun bit.</p>
<p>Close your loops, and we&#8217;re done.</p>
<p>Finally, you can run your script like this (adjusting the filename and paths accordingly):</p>
<blockquote><p>perl meridian2.pl meridian2/data/a_road_polyline</p></blockquote>
<p>and you might want to CTRL-C it as the entire A-road network of Britain scrolls by.</p>
<h3>What data does Meridian2 offer?</h3>
<p>First of all, there&#8217;s the roads, grouped by classification. The shapefiles are motorway_polyline, a_road_polyline, b_road_polyline, and minor_rd_polyline. Warning: the minor roads are <em>big</em>.</p>
<p>You&#8217;ve also got rivers (polylines), lakes (regions) and woodlands (regions); railways and coastlines (both polylines); county and district boundaries (regions, and pretty big); and dlua, which means &#8216;urban areas&#8217; (another big set of regions). There&#8217;s a set of points, which are easier still to parse, covering stations, settlements, and roundabouts. Finally, there&#8217;s some presentation-only stuff (text and cartotext) which you shouldn&#8217;t need to worry about for raw hacking.</p>
<p>I&#8217;d suggest you start with motorway_polyline, which is a small, simple dataset, then move onto something bigger.</p>
<p>Another warning: the data is <em>very</em> broken up. You&#8217;ll find plenty of roads split into a zillion polylines with five points or maybe fewer. I did a bit of hacking to join them back together in my Perl script; depending on your needs you may want to do similar.</p>
<h3>A note on co-ordinates</h3>
<p>All Meridian2 X and Y co-ordinates are OS eastings and northings: in other words, metres east and north of an arbitrary point somewhere off the Isles of Scilly.</p>
<p>Eastings and northings are much nicer to work with than the lats and longs which the rest of the world uses. You don&#8217;t have to worry about complex projections, you can just scale them down to your screen. You can find the distance between two points using Pythagoras without any Great Circle nonsense. And so on.</p>
<p>On the other hand, none of the rest of the world uses them, for fairly obvious reasons.</p>
<p>So unless your project is UK-only, you&#8217;ll need another Perl module to convert between eastings/northings and lat/long. I&#8217;ve previously used <a href="http://search.cpan.org/~toby/Geo-Coordinates-OSGB-2.04/">Geo::Coordinates::OSGB</a>, but Matthew Somerville points out in the comments (below) that MySociety&#8217;s code is more accurate.</p>
<p>Finally, here&#8217;s one I made earlier: <a href="http://www.systemeD.net/os/meridian2.pl.txt">meridian2.pl</a> is a hacked-together Perl script to generate Adobe Illustrator files from Meridian2 shapefiles, while <a href="http://www.systemeD.net/os/attributes.pl.txt">attributes.pl</a> just outputs the attributes (%db) from a Meridian2 shapefile.</p>
<p>Enjoy! Questions welcome in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=182</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The OpenStreetMap experience</title>
		<link>http://www.systemed.net/blog/?p=167</link>
		<comments>http://www.systemed.net/blog/?p=167#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:14:40 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[blether]]></category>
		<category><![CDATA[cartography]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=167</guid>
		<description><![CDATA[What do people find difficult about cycling to work? Why don’t they do it?
We could ask them. Actually, because we take an interest in these things &#8211; because we already go out and talk to people &#8211; we largely know. The roads are perceived as dangerous. Where there are safe routes, people don&#8217;t know about [...]]]></description>
			<content:encoded><![CDATA[<p>What do people find difficult about cycling to work? Why don’t they do it?</p>
<p>We could ask them. Actually, because we take an interest in these things &#8211; because we already go out and talk to people &#8211; we largely know. The roads are perceived as dangerous. Where there are safe routes, people don&#8217;t know about them. Helmet hair. Nowhere to park the bike. It rains.</p>
<p>What should we be doing?</p>
<p><img class="alignnone size-full wp-image-168" title="cycle-plan" src="http://www.systemed.net/blog/wp-content/uploads/cycle-plan.png" alt="cycle-plan" width="600" height="264" /></p>
<p>Look! I fixed it for you! Everyone will start cycling to work now!</p>
<p style="margin-top:120px">What?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=167</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cropping Illustrator CS artwork when saved as a PDF</title>
		<link>http://www.systemed.net/blog/?p=165</link>
		<comments>http://www.systemed.net/blog/?p=165#comments</comments>
		<pubDate>Mon, 08 Mar 2010 19:28:24 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[cartography]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=165</guid>
		<description><![CDATA[Dear old Illustrator does have its quirks, and one of them is that when you save a PDF, the bounding box of the PDF is the bounding box of your artwork &#8211; not anything sensible like the artboard or anything like that. I won&#8217;t bore you with the many things that should work but don&#8217;t, [...]]]></description>
			<content:encoded><![CDATA[<p>Dear old Illustrator does have its quirks, and one of them is that when you save a PDF, the bounding box of the PDF is the bounding box of your artwork &#8211; not anything sensible like the artboard or anything like that. I won&#8217;t bore you with the many things that should work but don&#8217;t, but suffice it to say they involve crop marks, page tiling, maximum paper sizes and heartache.</p>
<p>So here, after much searching and head-scratching, is something that worksforme(tm). This post is here more as an aide-memoire than anything else, but someone else may find it useful.</p>
<p><em>Disclaimer: I&#8217;m still on Illustrator CS; all of this will no doubt be different in CS27 or whatever other overpriced piece of crap Adobe have come up with this week.</em></p>
<ol>
<li>Download this <a href="http://www.systemeD.net/stuff/defpscol.ppd">PPD file</a> and save it somewhere memorable. (I chose the Illustrator app folder.)</li>
<li>Go to File ≫ Print. Curse Adobe for not using the proper OS X print dialogue like everyone else does.</li>
<li>Change Printer to &#8216;Adobe PostScript® File&#8217;.</li>
<li>Change PPD to &#8216;Other&#8230;&#8217;, then select the PPD file from above.</li>
<li>Select your page size from the Media popup, e.g. A1. I guess if you were producing a funny-sized leaflet you could manually edit the PPD file to have your size in it &#8211; it&#8217;s just plain text.</li>
<li>Go to Setup and check that the Origin X and Origin Y are both 0mm.</li>
<li>Click &#8216;Save&#8217; and call the file <em>artwork.ps</em> or something like that.</li>
<li>Open the resulting .ps file in Preview (context-click ≫ Open With ≫ Preview).</li>
<li>Breath a sigh of relief that you are now in a properly designed Apple app and don&#8217;t have to undergo the indignities of Adobe again.</li>
<li>Use File ≫ Save As&#8230; to save it as a PDF.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=165</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ordnance Survey consultation</title>
		<link>http://www.systemed.net/blog/?p=161</link>
		<comments>http://www.systemed.net/blog/?p=161#comments</comments>
		<pubDate>Wed, 13 Jan 2010 22:20:31 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=161</guid>
		<description><![CDATA[I&#8217;ve finally finished my response to the consultation on Ordnance Survey data. It&#8217;s here (five-page PDF, 64k).
The tl;dr* version:
Generally good. Don&#8217;t release 1:25k and 1:50k rasters, that&#8217;s just gratuitous and we don&#8217;t need them. Provide an aerial photography API for rights-free tracing. Use PD or a database rights-aware licence, not CC-BY. kthxbye
* link almost certainly [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally finished my response to the <a href="http://www.communities.gov.uk/publications/corporate/ordnancesurveyconsultation">consultation on Ordnance Survey data</a>. It&#8217;s <a href="http://www.systemeD.net/documents/os_consultation.pdf">here</a> (five-page PDF, 64k).</p>
<p>The <a href="http://encyclopediadramatica.com/Tl%3Bdr">tl;dr</a>* version:</p>
<p>Generally good. Don&#8217;t release 1:25k and 1:50k rasters, that&#8217;s just gratuitous and we don&#8217;t need them. Provide an aerial photography API for rights-free tracing. Use PD or a database rights-aware licence, not CC-BY. kthxbye</p>
<p><em>* link almost certainly Not Suitable For Work, or indeed anywhere else</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=161</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Latitude scale. Or, paleos may know some stuff after all</title>
		<link>http://www.systemed.net/blog/?p=156</link>
		<comments>http://www.systemed.net/blog/?p=156#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:54:53 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[cartography]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=156</guid>
		<description><![CDATA[Every month I spend beyond ridiculous amounts of time drawing maps for the WW cruising guides. Along the neatlines (sides) of each map are black and white bars. Each bar represents one mile. It looks like this.

I do it like that because Old Charts do it like that too; because there&#8217;s a deliberately slightly retro [...]]]></description>
			<content:encoded><![CDATA[<p>Every month I spend beyond ridiculous amounts of time drawing maps for the <em><a href="http://www.waterwaysworld.com/">WW</a></em> cruising guides. Along the neatlines (sides) of each map are black and white bars. Each bar represents one mile. It looks like this.</p>
<p><img class="alignnone size-full wp-image-157" title="canalmap" src="http://www.systemed.net/blog/wp-content/uploads/canalmap.jpg" alt="canalmap" width="600" height="436" /></p>
<p>I do it like that because Old Charts do it like that too; because there&#8217;s a deliberately slightly retro feel to the WW maps (they&#8217;re essentially strip maps, like cruising guides used to have); and because I think it&#8217;s a great signifier of &#8220;we care about cartography&#8221; rather than &#8220;we have just thrown an OS map at our designer and told him to trace it, though not too obviously&#8221;.</p>
<p>Old Charts do it for a proper reason.</p>
<p>Roughly every two months someone complains that either a) the scale on <a href="http://www.openstreetmap.org/">OpenStreetMap</a> is wrong or b) that OpenStreetMap doesn&#8217;t have a scale. (To be precise, a) happens, then the scale gets removed to stop the whingeing, then two months later b) happens.) You can read typical threads <a href="http://lists.openstreetmap.org/pipermail/dev/2008-April/009778.html">here</a> and <a href="http://lists.openstreetmap.org/pipermail/talk/2009-April/036208.html">here</a> but, in brief, the reason is because the scale isn&#8217;t consistent across latitudes, and that&#8217;s quite significant when you&#8217;re zoomed out a lot.</p>
<p>A bunch of us were talking about that this weekend, which is what just made me remember this.</p>
<p>On Old Charts, one bar represents <a href="http://en.wikipedia.org/wiki/Latitude">one minute of latitude</a> (or longitude). So the length of the latitude bars actually differs across the map.</p>
<p><img class="alignnone size-full wp-image-158" title="scale" src="http://www.systemed.net/blog/wp-content/uploads/scale.jpg" alt="scale" width="600" height="442" /></p>
<p>The above is from a 3Mb <a href="http://library.mcmaster.ca/maps/instruction/MapSkills_EnvSci1G03_2009.pdf">university course presentation</a> which blethers on about it for a while. </p>
<p>It&#8217;s an excellent solution. I wouldn&#8217;t imagine there&#8217;s any likelihood of OpenLayers et al adding it any time soon. But doesn&#8217;t it look great?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=156</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The best tablet yet</title>
		<link>http://www.systemed.net/blog/?p=150</link>
		<comments>http://www.systemed.net/blog/?p=150#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:22:25 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[amstrad]]></category>
		<category><![CDATA[blether]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=150</guid>
		<description><![CDATA[The usual sources are going haywire about an impending Apple Tablet.
I used to have a tablet computer. It was a beauty. It was A4 sized and had a full, moving-parts keyboard. The word-processor was speedy and yet powerful; but it was a proper computer, too. You could even program it. And it cost about £150.
Ah, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.guardian.co.uk/theobserver/2010/jan/03/observer-profile-steve-jobs">The</a> <a href="http://daringfireball.net/2009/12/the_tablet">usual</a> <a href="http://www.macrumors.com/2009/12/24/apple-purchased-islate-com-in-2007-apples-new-tablet-called-islate/">sources</a> are going haywire about an impending Apple Tablet.</p>
<p>I used to have a tablet computer. It was a beauty. It was A4 sized and had a full, moving-parts keyboard. The word-processor was speedy and yet powerful; but it was a proper computer, too. You could even program it. And it cost about £150.</p>
<p>Ah, Amstrad NC100 Notepad, how I miss thee.</p>
<p><img class="size-full wp-image-152 alignright" title="nc100" src="http://www.systemed.net/blog/wp-content/uploads/nc100.jpg" alt="nc100" width="200" height="143" />It was <em>such</em> a great little machine. I&#8217;d tuck it under my arm then head off to the University Library in Cambridge to research some article or other I was writing for <em>Keyboard Review</em>. Then, at home, I&#8217;d connect up the serial-to-AppleTalk lead, run ZTerm, and fire the documents across. Bar a bit of search-and-replace to get rid of extraneous control characters, that was it. Done.</p>
<p>(The word-processing software was actually <a href="http://en.wikipedia.org/wiki/Protext_by_Arnor">Protext</a>, with which I was of course very familiar. Protext was the WP of choice on the Amstrad CPC, but also a ridiculously fast raw text editor. It came on a 16k sideways ROM; on another ROM I had Maxam 1.5, Arnor&#8217;s assembler. You&#8217;d write your source code in Protext then type &#8216;asm&#8217;, and Maxam would assemble it. To this day, the reason I indent code with hard tabs rather than spaces is Protext&#8217;s doing; a tab took up one byte; a space took up six. When you only had 38k for text, that was a big difference.</p>
<p>At one point I wrote 90% of the code, but only 30% of the UI, for a wizard hack that brought WYSIWYG editing and embedded graphics to Protext (CPC). It was going to be called Fidelity, after the <a href="http://www.amazon.com/Fidelity-Durutti-Column/dp/B00000K25R">utterly superb Durutti Column album</a>. I never finished it but you should still buy the album.)</p>
<p>The NC100 used four real AA batteries, which is almost always better than any proprietary solution. (Maybe excepting Sony&#8217;s digital camera batteries.)</p>
<p>It had two failings. One is that Amstrad had always, from the CPC on, skimped on the keyboard decoding circuitry. If you pressed three keys together, a fourth character would also result. For the fast typist this is a real problem. On the NC100 there was one very common three-key combination (might have been I-O-N, I can&#8217;t remember) where the ghostly fourth key was cursor-up. So you&#8217;d be touch-typing at eight billion words a minute, and would briefly look down at the screen, only to see that three sentences ago you&#8217;d unwittingly &#8216;pressed&#8217; cursor-up and all your subsequent text had been inserted into the previous line. This happened to me so many times.</p>
<p>The other failing is that Amstrad was enormously value-conscious. Which is generally a good thing, but I&#8217;d have preferred a £180 armour-plated NC100 to a £150 where I broke the power socket twice (which <a href="http://www.b3ta.com/users/profile.php?id=35243">Rob Scott</a> could fix) and the screen once (which he couldn&#8217;t).</p>
<p>If Apple were to build one of these, maybe with Mobile Safari and 3G networking, would I buy one? <em>Hell </em>yes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=150</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ordnance Survey goes free &#8211; some initial thoughts</title>
		<link>http://www.systemed.net/blog/?p=145</link>
		<comments>http://www.systemed.net/blog/?p=145#comments</comments>
		<pubDate>Wed, 18 Nov 2009 10:01:10 +0000</pubDate>
		<dc:creator>Richard</dc:creator>
				<category><![CDATA[cartography]]></category>

		<guid isPermaLink="false">http://www.systemed.net/blog/?p=145</guid>
		<description><![CDATA[How about that, then? Or as the Map Room succinctly put it, &#8220;Holy shit.&#8221;
Good news for:

Google, Yahoo, Microsoft. Free maps, and unlike the US, good-quality free maps which they can start using right out the box.
Ordnance Survey. I wrote here previously that OS’s best chance of surviving was to open up street name/geometries, boundaries, postcodes, [...]]]></description>
			<content:encoded><![CDATA[<p>How about <a href="http://www.communities.gov.uk/news/corporate/1385429">that</a>, then? Or as the <a href="http://www.mcwetboy.net/maproom/2009/11/uk_goverment_to.php">Map Room</a> succinctly put it, &#8220;Holy shit.&#8221;</p>
<p>Good news for:</p>
<ul>
<li><strong>Google, Yahoo, Microsoft.</strong> Free maps, and unlike the US, good-quality free maps which they can start using right out the box.</li>
<li><strong>Ordnance Survey.</strong> I <a href="http://www.systemed.net/blog/?p=121">wrote here previously</a> that OS’s best chance of surviving was to open up street name/geometries, boundaries, postcodes, peaks, rivers and PROWs, and to keep charging for the large-scale stuff. This seems to be pretty much what&#8217;s promised. I still believe that it’s absolutely the right decision for them. (Also, I am rather smug.)</li>
<li><strong>The Guardian.</strong> Launching a campaign is a risky business for any publication, especially a fairly obscure and, at times, seemingly fruitless campaign like ‘<a href="http://www.freeourdata.org.uk/blog">Free Our Data</a>’. It has paid off &#8211; and of all the organisations campaigning for this, the Guardian is the only one that anyone has ever heard of.</li>
<li><strong>Apple et al.</strong> Insofar as Apple ever gives a shit about anything that happens outside the US, they no longer have to depend on anyone for UK iPhone maps. Not Google, not Tele Atlas. No-one. (Incidentally, if UK mobile carriers had any brains, they would now write their own mapping app and bundle it with their iPhone contracts. Fortunately they don’t.)</li>
<li><strong>Cartographers.</strong> Maps will now compete on cartography, not on data. This is an absolute shot in the arm for skilled cartographers and could go a long way to reviving the craft in the UK. With my <em>Waterways World</em> hat on, I&#8217;m delighted: our cruising guide maps can get better than they are now, yet anyone wanting to compete still has to learn how to produce lovely maps.</li>
<li><strong>Developers.</strong> Same applies. I am really looking forward to what people come up with. If I were an iPhone dev I would start writing that killer app now, ready to release when the data arrives.</li>
<li><strong>Wider Government. </strong>Full release instantly becomes the standard for public data. There is now absolutely no excuse for, say, the Environment Agency to withhold its fisheries data. That means more third-party sites that do funky things with public data. I suspect that will help in breaking the stranglehold of evil big outsourcers on Government IT projects.</li>
<li><strong>This blog</strong> because I can stop writing about boring map copyright law and start writing about fun things, like canals, organs and the new William Orbit album.</li>
</ul>
<p>Possibly good news for:</p>
<ul>
<li><strong>OpenStreetMap.</strong> I don’t think it’s a stretch to say this wouldn&#8217;t have happened without OSM. The inevitability that OSM would, in time, catch up with OS small-scale mapping absolutely vindicates the project. And, hey, complete data for the whole UK &#8211; what could be cooler?<br />
    But on the other hand, everyone else has it, too. How do ongoing changes get integrated into the OSM database? Will the UK community survive a sudden change in tack from surveying the basemap to becoming a provider of ‘added value’? Will smaller public domain mapping projects create an informal, developer-led community without OSM’s harsh share-alike restriction? Will UK OSM developers (who lead the project) get bored of it now there&#8217;s not such a unique need? How many questions can I get in one paragraph?<br />
    Oh, and there’s the licence. I dread to think what would happen if the chosen licence wasn&#8217;t compatible with OSM.</li>
</ul>
<p>Bad news for:</p>
<ul>
<li><strong>Tele Atlas and Navteq. </strong>See G-Y-M above. On the up side, their parent companies no longer have to bother collecting UK data for their satnavs/mobile phones. But that’s like saying Tesco giving free food away is good news for Sainsbury&#8217;s, which can now take it and resell it for 1p.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.systemed.net/blog/?feed=rss2&amp;p=145</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
