<?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"
	>

<channel>
	<title>Nicholas Skinner's Blog</title>
	<atom:link href="http://www.ns-tech.co.uk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ns-tech.co.uk/blog</link>
	<description>Freelance website and web application developer</description>
	<pubDate>Mon, 15 Dec 2008 22:21:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Hidden features on the Panasonic DMR-ES20D DVD Recorder</title>
		<link>http://www.ns-tech.co.uk/blog/2008/12/hidden-features-on-the-panasonic-dmr-es20d-dvd-recorder/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/12/hidden-features-on-the-panasonic-dmr-es20d-dvd-recorder/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 22:21:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=132</guid>
		<description><![CDATA[I purchased a Panasonic DMR-ES20D DVD recorder more than a year ago to replace an old video recorder that I was using.  After purchasing it there were 3 main features that I would have liked it to have, and it turned out they were there all along just poorly documented.

Recording analogue TV (as well [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-135" src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/11/panasonic_dmr-es20d.jpg" alt="Panasonic DVD Recorder" width="210" height="158" />I purchased a Panasonic DMR-ES20D DVD recorder more than a year ago to replace an old video recorder that I was using.  After purchasing it there were 3 main features that I would have liked it to have, and it turned out they were there all along just poorly documented.</p>
<ol>
<li>Recording analogue TV (as well as Freeview channels).</li>
<li>Ability to watch recorded shows straight on the PC without having to finalise the disk (which previously meant possibly wasting upto 3hrs of unused space).</li>
<li>Ability to effectively pause live TV (i.e. record and playback the same show).</li>
</ol>
<p>I only discovered recording analogue TV was possible after it auto-tuned some in some analogue channels after popping up an onscreen message saying that there were new channels available.</p>
<p>Regarding watching shows without finalising the disk, and pausing live TV, I was using it with standard DVD+R write once disks, meaning these features just did no show up (you need to use special DVD-RAM disks).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/12/hidden-features-on-the-panasonic-dmr-es20d-dvd-recorder/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sending an SMS Message with a GSM Modem using PHP</title>
		<link>http://www.ns-tech.co.uk/blog/2008/11/sending-an-sms-message-with-a-gsm-modem-using-php/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/11/sending-an-sms-message-with-a-gsm-modem-using-php/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 20:50:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=147</guid>
		<description><![CDATA[Added an SMS via GSM modem PHP class to the resources page.  Allows sending of an SMS message using PHP via a GSM modem plugged into the computers serial port.  Code is Windows only, and has been tested on the EZ863 (Telit GE863) GSM modem.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/11/gsm_sms.gif"><img class="alignright size-full wp-image-149" src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/11/gsm_sms.gif" alt="PHP SMS via GSM modem class code" width="250" height="170" /></a>Added an <a href="/resources/otherresources/gsm_send_sms.php.txt">SMS via GSM modem PHP class</a> to the <a href="/otherresources/">resources page</a>.  Allows sending of an SMS message using PHP via a GSM modem plugged into the computers serial port.  Code is Windows only, and has been tested on the EZ863 (Telit GE863) GSM modem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/11/sending-an-sms-message-with-a-gsm-modem-using-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Testing Out EveryTrail</title>
		<link>http://www.ns-tech.co.uk/blog/2008/11/testing-out-everytrail/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/11/testing-out-everytrail/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 16:37:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=142</guid>
		<description><![CDATA[Around Eltham and surrounding areas by Bike 1

Widget powered by EveryTrail: GPS Geotagging

Around Eltham and surrounding areas by Bike 2

Widget powered by EveryTrail: GPS Geotagging
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.everytrail.com/view_trip.php?trip_id=74803">Around Eltham and surrounding areas by Bike 1</a></p>
<div style="width:500px;height:420px;border:2px solid #ACD7F5;padding:5px;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><param name="movie" value="http://www.everytrail.com/main.swf" /><param name="FlashVars" value="tripId=74803&#038;picDim=250&#038;mapType=Terrain&#038;units=&#038;isWidget=true"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="allowScriptAccess" value="always" /><embed src="http://www.everytrail.com/main.swf" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" FlashVars="tripId=74803&#038;picDim=250&#038;includeElevation=&#038;mapType=Terrain&#038;units=&#038;isWidget=true" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed></object></div>
<p>Widget powered by EveryTrail: <a href="http://www.everytrail.com">GPS Geotagging</a></p>
<p></p>
<p><a href="http://www.everytrail.com/view_trip.php?trip_id=74822">Around Eltham and surrounding areas by Bike 2</a>
<div style="width:500px;height:420px;border:2px solid #ACD7F5;padding:5px;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><param name="movie" value="http://www.everytrail.com/main.swf" /><param name="FlashVars" value="tripId=74822&#038;picDim=250&#038;mapType=Terrain&#038;units=&#038;isWidget=true"><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><param name="allowScriptAccess" value="always" /><embed src="http://www.everytrail.com/main.swf" quality="high" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" FlashVars="tripId=74822&#038;picDim=250&#038;includeElevation=&#038;mapType=Terrain&#038;units=&#038;isWidget=true" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed></object></div>
<p>Widget powered by EveryTrail: <a href="http://www.everytrail.com">GPS Geotagging</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/11/testing-out-everytrail/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Launched a new product: SMS Printer</title>
		<link>http://www.ns-tech.co.uk/blog/2008/11/launched-a-new-product-sms-printer/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/11/launched-a-new-product-sms-printer/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 02:51:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=138</guid>
		<description><![CDATA[Just launched a new product, SMS Printer is a small portable standalone device for receiving and printing text messages.  Already have one custom who has ordered 10 and is planning on using it to dispatch food orders to restaurants. It is also suitable for any other situation where the ability to receive a text [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/11/smsprinter.jpg" alt="" title="SMS Printer Screenshot" width="200" height="176" class="alignright size-full wp-image-139" />Just launched a new product, <a href="http://www.smsprinter.co.uk/">SMS Printer</a> is a small portable standalone device for receiving and printing text messages.  Already have one custom who has ordered 10 and is planning on using it to dispatch food orders to restaurants. It is also suitable for any other situation where the ability to receive a text message in a simple and easy way is required.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/11/launched-a-new-product-sms-printer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quick Tip: Try using a Mac to recover files from an otherwise inaccessible drive</title>
		<link>http://www.ns-tech.co.uk/blog/2008/11/quick-tip-try-using-a-mac-to-recover-files-from-an-otherwise-inaccessible-drive/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/11/quick-tip-try-using-a-mac-to-recover-files-from-an-otherwise-inaccessible-drive/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 12:17:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=125</guid>
		<description><![CDATA[Just had a Windows XP PC that is a few years old fail to boot up reporting a corrupt hal.dll file.  I followed the instructions on About.com for restoring the hal.dll file from the Windows XP CD however got a permissions error.
Suspecting that there was something more wrong than just a corrupt file I [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/10/mac_file_recovery.jpg" alt="IDE to USB adapter plugged into MacBook Pro" width="200" height="200" class="alignright size-full wp-image-126" />Just had a Windows XP PC that is a few years old fail to boot up reporting a corrupt hal.dll file.  I followed the instructions on About.com for <a href="http://pcsupport.about.com/od/fixtheproblem/ht/restorehaldll.htm">restoring the hal.dll file</a> from the Windows XP CD however got a permissions error.</p>
<p>Suspecting that there was something more wrong than just a corrupt file I took out the hard drive and plugged it into another Windows XP based system via a USB to IDE adapter in an attempt to copy off the data.  The hard drive came up however attempting to open it locked up Windows Explorer.  I therefore tried plugging the USB to IDE adapter into a MacBook Pro and after spending some time thinking about it the drive came up, and I was able to copy off all but one file from the &#8220;My Documents&#8221; folder (accessing this one particular file or other specific system files caused finder to momentarily lock up and the drive to make some odd noises).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/11/quick-tip-try-using-a-mac-to-recover-files-from-an-otherwise-inaccessible-drive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>BT Shutdown Web21C SDK with 15 days notice to developers</title>
		<link>http://www.ns-tech.co.uk/blog/2008/10/bt-shutdown-web21c-sdk-with-15-days-notice-to-developers/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/10/bt-shutdown-web21c-sdk-with-15-days-notice-to-developers/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 19:19:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=113</guid>
		<description><![CDATA[BT launched a service it called Web21C SDK around 18 months ago.  It offered a number of useful features for developers including location services (cell triangulation on receipt of a text message), inbound/outbound SMS, and the ability to initiate voice/conference calls between parties.
These services were not particularly innovative, as various companies offer SMS services, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/10/web21clogo.gif" alt="BT Web21C Logo" width="178" height="34" class="alignright size-full wp-image-114" />BT launched a service it called <a href="http://web21c.bt.com/">Web21C SDK</a> around 18 months ago.  It offered a number of <a href="http://channel9.msdn.com/shows/Inside+Out/British-Telecoms-NET-Mobile-SDK-Making-it-simple-to-code-communication/">useful features for developers</a> including location services (cell triangulation on receipt of a text message), inbound/outbound SMS, and the ability to initiate voice/conference calls between parties.</p>
<p>These services were not particularly innovative, as various companies offer SMS services, and the free <a href="http://www.asterisk.org/">Asterisk PBX</a> software allows you to do almost anything you need on the voice side of things however what I found attractive about the BT offering was the ease of use for the developer (SDKs for various languages were provided), and straight forward per call rather than per minute charging model.</p>
<p><img src="http://www.ns-tech.co.uk/resources/portfolio/talk59_preview.jpg" alt="Talk59 Screenshot" class="alignleft" width="200" height="110" />Shortly after finding out about the service I developed two main applications using it.  The first linked in with an existing back office diary / calendar / contacts system via SMS enabling lookup of contact information, initiating voice calls, retrieving the days events, adding events, and sending out reminders on those events.  The second was a calling card type service I named <a href="http://www.talk59.com/">Talk59</a> which allowed you to enter your number, and the calling parties number, it would then call both parties and connect them together for a fixed cost per call with a time limit of 59 minutes.</p>
<p>Even though I did very little in terms of promotion the site was starting to see a reasonable amount of use, particularly with those in India and Australia.  On the 25th of September however BT suddenly sent out an email announcing the service would be suspended on the 10th of October.  The fact they only gave 15 days notice while within their rights left myself and others very little time to consider our options for switching to an alternate supplier, and ultimately I decided to discontinue Talk59.  Evidently the same decision <a href="http://www.fizzcall.com/">Fizzcall</a> (who offered a similar service) also came to &#8220;You may have noticed that today we suspended purchases and sign-ups on the Fizzcall website&#8221;.</p>
<p>Allong with the initial email, BT pitched <a href="http://www.ribbit.com/">Ribbit</a> (the company it recently acquired / the reason it is discontinuing Web21C SDK) as a suitable replacement, however after spending some time looking into it as far as I can see Ribbit is primarily aimed at Flash uses, and does not even connect calls to the UK.  I am now left trying to claim back credits purchased for Web21C SDK which I can longer spend.  For this reason I am left distinctly unimpressed with BT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/10/bt-shutdown-web21c-sdk-with-15-days-notice-to-developers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Chroma Key Photography</title>
		<link>http://www.ns-tech.co.uk/blog/2008/09/chroma-key-photography/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/09/chroma-key-photography/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 11:59:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=97</guid>
		<description><![CDATA[I was recently asked to assist in taking a &#8220;professional looking&#8221; photograph of a handmade piece of furniture.  Since an situ photograph was not possible it was decided to use a Chromakey blue piece of fabric which would be replaced by a solid colour background in Photoshop CS2.
For the first few attempts we did not [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-99" src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/09/bluescreen_photo_origional.jpg" alt="Table with Blue Screen Cloth Background" width="300" height="304" />I was recently asked to assist in taking a &#8220;professional looking&#8221; photograph of a handmade piece of furniture.  Since an situ photograph was not possible it was decided to use a Chromakey blue piece of fabric which would be replaced by a solid colour background in Photoshop CS2.</p>
<p>For the first few attempts we did not pay any attention to lighting. The result was that the blue fabric  could not be easily fully removed in Photoshop, as the dark shadows meant the blue turned to black.  We then tried number of things to remove the shadows however not having any kind of professional lighting equipment this was not possible in the room we were using.</p>
<p>In the end the unexpected solution was to remove nearly all light from the room, and then just set a long exposure time.  This resulted in no major shadows, and therefore a consistently coloured blue background that could easily be removed.</p>
<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/09/bluescreen_photo_final.jpg" alt="Table with White Background" width="300" height="304" class="alignleft size-full wp-image-98" />To remove the background in Photoshop I used the &#8220;Color Range&#8221; tool with ~100 &#8220;fuzziness&#8221; clicking multiple times in different areas of blue in the picture.</p>
<p>After manually removing an unfortunate reflection in the glass on top, then adding a 2 pixel feather the end result came out looking very respectable / much better than I had been expecting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/09/chroma-key-photography/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using OpenStreetMap Overview Part 2: JavaScript APIs</title>
		<link>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-2-javascript-apis/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-2-javascript-apis/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 14:58:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=70</guid>
		<description><![CDATA[After obtaining the map data the next step is to actually use it via a JavaScript library providing standard features such as lines, markers and click/drag functionality as offered by Google Maps.
There are currently 3 main ways to use OpenStreetMap data:

Google Maps API - However this would introduce licensing issues which were likely the reason [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/map_apis.jpg" alt="Map APIs" width="200" height="200" class="alignright size-full wp-image-87" />After <a href="http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-1-obtaining-mapping-data">obtaining the map data</a> the next step is to actually use it via a JavaScript library providing standard features such as lines, markers and click/drag functionality as offered by Google Maps.</p>
<p>There are currently 3 main ways to use OpenStreetMap data:</p>
<ol>
<li><a href="http://wiki.openstreetmap.org/index.php/Google_Maps_Example">Google Maps API</a> - However this would introduce licensing issues which were likely the reason OpenStreetMap data was chosen in the first place.</li>
<li><a href="http://wiki.openstreetmap.org/index.php/OpenLayers">OpenLayers</a> - An open source Google Maps type API.</li>
<li>OpenLayers via <a href="http://www.mapstraction.com/">Mapstraction</a> - The advantage of Mapstraction is that you write code once, and can then easily switch it between one of 9 major mapping providers including Microsoft, Yahoo, Google, MultiMap.</li>
</ol>
<p>In theory using Mapstraction is an obvious choice leading to a much more portable application.  In practise however things are not so simple.  I found myself frequently viewing the Mapstraction JavaScript code to find undocumented functions (use of which is not recommended by the documentation).  Also unless your application is very simple &#8220;if&#8221; statement will be needed in various parts of your code that call the Map APIs directly where Mapstraction does not provide the required functionality.</p>
<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/openlayers.gif" alt="" title="Open Layers" width="302" height="53" class="alignleft size-full wp-image-88" />Even with undocumented functions, and &#8220;if&#8221; statements in the code supporting 3 mapping providers in places I found it necessary to go a step further and actually override Mapstraction functions where it was simply not possible to do what was required otherwise.  I am now experiencing an issue whereby markers placed on the map move when changing zoom levels which I have not yet found a solution for.  Same code works fine when switched to Google or Multimap.  Therefore unless you have a very simple application or you really know what you are doing with JavaScript, and think the benefits of Mapstraction outweigh the extra time spent coding for it, simply using OpenLayers directly may be the best choice.</p>
<h3>Using OpenLayers with OpenStreetMap</h3>
<p>The process for using OpenLayers is relatively straight forward however involves a number of steps.</p>
<ol>
<li><a href="http://openlayers.org/download/">Download OpenLayers</a></li>
<li>Copy the OpenLayers &#8220;build/OpenLayers.js&#8221;, and &#8220;theme/&#8221;, &#8220;img/&#8221; directories to your webserver, putting them in the same directory (also be sure not to rename OpenLayers.js / change the letter case on the filename or it will not run correctly).</li>
<li>Copy the <a href="http://www.openstreetmap.org/openlayers/OpenStreetMap.js">OpenStreetMap JavaScript file</a> to your webserver.</li>
<li>Copy the OpenStreetMap <a href="http://wiki.openstreetmap.org/index.php/OpenLayers_Simple_Example">HTML example script</a> found on the Wiki to your webserver.</li>
<li>Edit the HTML example script such that the paths to the &#8220;OpenLayers.js&#8221; and &#8220;OpenStreetMap.js&#8221; JavaScript files point to your local copies.</li>
<li>Edit the &#8220;OpenStreetMap.js&#8221; JavaScript file changing the tile location to be the path where you uploaded your map files to.</li>
</ol>
<p>Or <a href=" http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/openstreetmap.zip">download a zip file</a> with the above already completed, you just need to the edit the tile location path in &#8220;OpenStreetMap.js&#8221;.</p>
<p>Then see the OpenLayers <a href="http://dev.openlayers.org/releases/OpenLayers-2.6/doc/apidocs/files/OpenLayers-js.html"> documentation</a> and <a href="http://www.openlayers.org/dev/examples/example-list.html">Examples</a> for details on adding markers lines etc to the map.</p>
<p>Also see <a href="http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-1-obtaining-mapping-data">Part 1: Obtaining mapping Data</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-2-javascript-apis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using OpenStreetMap Overview Part 1: Obtaining mapping Data</title>
		<link>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-1-obtaining-mapping-data/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-1-obtaining-mapping-data/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 14:58:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=45</guid>
		<description><![CDATA[OpenStreetMap is a community mapping project that allows you to upload then later use mapping data in a number of ways.  One of their main benefits is providing maps free of the legal / technical limitations present on other services.  Google Maps free edition for example can only be used when you provide [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/osm_map.jpg" alt="Open Street Map Screenshot" width="252" height="252" class="alignright size-full wp-image-46" /><a href="http://www.openstreetmap.org/">OpenStreetMap</a> is a <a href="http://www.opengeodata.org/?p=309">community mapping project</a> that allows you to upload then later use mapping data in a number of ways.  One of their main benefits is providing maps free of the legal / technical limitations present on other services.  Google Maps free edition for example can only be used when you provide a service which is &#8220;<a href="http://code.google.com/apis/maps/signup.html">freely accessible to end users</a>&#8220;.</p>
<p>The main issue with using OpenStreetMap however is map coverage, since they rely on user submitted data, maps may not be available for your area, however since starting in 2004 they now have good coverage in a number of areas, especially popular tows, and cities.</p>
<p>To make use of OpenStreetMap data in a way similar to the Google API (i.e. such that lines / markers can be displayed on it, and the user can click/drag the map around on screen) two main components are required, the mapping image data itself (i.e. the individual png files making up the area mapping data is required for), and the JavaScript API used to create the interface.  It is also possible to just use data from the OpenStreetMap site directly however this would primarily only be suitable for <a href="http://wiki.openstreetmap.org/index.php/OpenLayers_Simple_Example">low volume non mission critical applications</a>.</p>
<h3>.osm files</h3>
<p>The map image data is <a href=" http://wiki.openstreetmap.org/index.php/Planet.osm">supplied in the form of .osm files</a> (containing XML describing the map features).  There are two main types of file, the large &#8220;Planet&#8221; file containing all the mapping data OpenStreetMap currently has available for the entire planet (supplied directly by OpenStreetMap), and smaller &#8220;Extracts&#8221; files provided by contributors each containing only certain areas (i.e. Countries, or parts of countries).  Additionally custom .osm files can be generated by using the <a href="http://josm.openstreetmap.de/">Java OpenStreetMap Editor tool</a> (&#8221;File&#8221; > &#8220;Download from OSM&#8221; then &#8220;File&#8221; > &#8220;Save as&#8221; options) however the total size is limited,</p>
<h3>Converting .osm files to .png files</h3>
<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/kosmos_gui.jpg" alt="Kosmos GUI Screenshot" width="200" height="194" class="alignright size-full wp-image-51" />To convert the XML .osm files into .png image files that can be displayed by the web browser a <a href="http://wiki.openstreetmap.org/index.php/Beginners_Guide_1.5">rendering tool</a> is required.  There are two main tools available: Kosmos which runs on Windows and Mapnik that runs on a number of platforms, they are both very different in terms of what they can do and how easy they are to use.</p>
<p><a href="http://downloads.igorbrejc.net/osm/kosmos/"><strong>Kosmos</strong></a> is fairly straight forward to install / use and has both a GUI and command line version available.  It comes with a sample .osm file containing the Isle of White.  To render the sample it is just of case of using the command line: Kosmos.Console.exe tilegen &#8220;..\Samples\Isle of Wight\Isle of Wight.kpr&#8221;.  To render your own osm files edit the sample .kpr file removing configuration lines that are not required, and changing the location to the .osm file. [<a href="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/custom.kpr">Download Example</a>]</p>
<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/kosmos_command_line.gif" alt="Kosmos Command Line" width="225" height="185" class="alignleft size-full wp-image-49" />Kosmos may occasionally crash while starting up, this is generally due to someone editing the &#8220;<a href="http://wiki.openstreetmap.org/index.php?title=Kosmos_General_Purpose_Rules">Kosmos General Purpose Rules</a>&#8221; page on the Wiki and failing to correctly test it (Kosmos downloads a copy of this file each time it runs).  To stop this from happening, download your own copy of the <a href="http://wiki.openstreetmap.org/index.php?title=Kosmos_General_Purpose_Rules&#038;action=raw">raw rules file</a> upload it to your web server, and change the &#8220;WikiPage&#8221; variable in the .kpr file.  Kosmost however has a drawback in that it processes .osm files by first reading them into memory, therefore it is limited in the total size of .osm file it can process.  For anything but small areas, another tool such as Mapnik is required.</p>
<p>Using <strong>Mapnik</strong> requires a non trivial setup procedure, for documentation on setting up and using Mapnik see the <a href="http://wiki.openstreetmap.org/index.php/Mapnik">Mapnik OpenStreetMap Wiki page</a>.  As of yet I have not had any success setting this up on two different virtual machines running different OSs for which the Wiki provides setup instructions.  My next attempt will involve the Fedors packages / instructions from <a href="http://www.passback.org.uk/maps/fedora.shtml">Passback Mapping</a>.</p>
<p>Also see <a href="http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-2-javascript-apis">Part 2: Making use of map data</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/08/using-openstreetmap-overview-part-1-obtaining-mapping-data/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Search SOAP / AJAX API</title>
		<link>http://www.ns-tech.co.uk/blog/2008/08/google-search-soap-ajax-api/</link>
		<comments>http://www.ns-tech.co.uk/blog/2008/08/google-search-soap-ajax-api/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 08:17:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ns-tech.co.uk/blog/?p=36</guid>
		<description><![CDATA[Google used to provide a SOAP based API that allowed programmatic access to Google search results.  It has since been discontinued, however those that obtained keys prior to December 2006 can still use them.
If you need programmatic access to Google search results, and do not have a SOAP API key it is still available, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.ns-tech.co.uk/blog/wp-content/uploads/2008/08/google_soap_api2.gif" alt="" title="Google SOAP API Screenshot" width="200" height="200" class="alignright size-full wp-image-40" />Google used to provide a SOAP based API that allowed programmatic access to Google search results.  It has since been discontinued, however those that obtained keys prior to December 2006 can still use them.</p>
<p>If you need programmatic access to Google search results, and do not have a SOAP API key it is still available, just under the somewhat misleading title of &#8220;Google AJAX Search API&#8221;, and in a different format (JSON rather than SOAP/XML).</p>
<p>Google even provide code snippets for accessing it in Flash, Java, and PHP.  For details see <a href="http://code.google.com/apis/ajaxsearch/documentation/#fonje">Google AJAX Search - Non-Javascript Environments</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ns-tech.co.uk/blog/2008/08/google-search-soap-ajax-api/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
