<?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>GarethWestern.com &#187; programming</title>
	<atom:link href="http://garethwestern.com/archives/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://garethwestern.com</link>
	<description>*insert witty tagline here*</description>
	<lastBuildDate>Wed, 25 Mar 2009 16:41:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GazBot on WeeWar</title>
		<link>http://garethwestern.com/archives/2008/11/17/gazbot-on-weewar/</link>
		<comments>http://garethwestern.com/archives/2008/11/17/gazbot-on-weewar/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 23:51:36 +0000</pubDate>
		<dc:creator>GaZ</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[betfair]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[restful]]></category>
		<category><![CDATA[web service]]></category>
		<category><![CDATA[weewar]]></category>

		<guid isPermaLink="false">http://garethwestern.com/?p=213</guid>
		<description><![CDATA[A friend from work who has a bit of a knack for the mathematics of gambling has been playing with the Betfair API and developed a bookmaker bot to automagically take and place bets. The way it works is no different to someone logging on to betfair and taking a bet for some competitor to [...]]]></description>
			<content:encoded><![CDATA[<p>A friend from work who has a bit of a knack for the mathematics of gambling has been playing with <a href="http://bdp.betfair.com/">the Betfair API</a> and developed a bookmaker <abbr title="Abbreviation for robot, the word is used to describe programs, usually run on a server, that automate tasks such as forwarding or sorting e-mail.">bot</abbr> to automagically take and place bets. The way it works is no different to someone logging on to betfair and taking a bet for some competitor to win / lose an event, but because he&#8217;s automated the process it&#8217;s able to process <strong>LOTS</strong> of transactions (I&#8217;m not going to give away any numbers) across multiple events. I don&#8217;t know / understand the exact details of how it works, but it seems to be doing quite well for him!</p>
<p>So hearing about what he&#8217;s done has inspired me to create a bot of my own. I&#8217;m steering clear of Betfair as knowing my luck all my spare money would disappear within a month, so instead I&#8217;m gonna have a go at creating a <strong>WAR BOT</strong>! Or, more specifically, a <a href="http://weewar.com/"><strong>WEEWAR</strong></a> bot! Hmm&#8230; weewar used to have <a href="http://en.wikipedia.org/wiki/Weewar">a wikipedia page</a>, however it looks like it&#8217;s been deleted (&#8220;reason was &#8216;Non-notable game, no citations from multiple reliable, third-party published sources.&#8221;&#8230;. pah!). Basically, weewar is a turn-based strategy game based on maps composed of hexagons representing <a href="http://weewar.com/specifications#Terrains">different terrain types</a>. Once a player controls a base he is able to produce <a href="http://weewar.com/specifications#Units">more units</a> (troopers, tanks, ships, aircraft), which can be used to capture / destroy enemy units. The game is won once a single player has eliminated all enemy units. So far this sounds fairly ordinary, and it will continue to do so&#8230; <em>unless</em> you&#8217;re the kind of person that has an interest in <strong>WEB SERVICES</strong>, because weewar has <a href="http://weewar.com/api">it&#8217;s own &#8220;RESTFul&#8221; API</a> (ok, technically it might not be <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">RESTful</a> in the strictest sense, but it&#8217;s the buzzword of the year so I&#8217;ll go with it)! </p>
<p>And so the idea for <a href="http://weewar.com/user/ai_gazbot">gazbot</a> was born! So far all I&#8217;ve really done is create a crude implementation of <a href="http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm">Dijkstra&#8217;s algorithm</a> in order for units to follow the shortest path to any given coordinate. Next I&#8217;ll need to create some form of strategy for choosing which coordinate to head for, and some way of determining how to behave according to the situation. No, this isn&#8217;t going to be easy, and yes, it will probably be next to useless against any half-decent human player, but it should still be a fun experiment and hopefully it&#8217;ll beat a couple of the other weewar bots already out there!</p>
]]></content:encoded>
			<wfw:commentRss>http://garethwestern.com/archives/2008/11/17/gazbot-on-weewar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bookmarks for June 24th through August 12th</title>
		<link>http://garethwestern.com/archives/2008/08/12/bookmarks-for-june-24th-through-august-12th/</link>
		<comments>http://garethwestern.com/archives/2008/08/12/bookmarks-for-june-24th-through-august-12th/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 15:05:09 +0000</pubDate>
		<dc:creator>GaZ</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[analyzer]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bestpractices]]></category>
		<category><![CDATA[birmingham]]></category>
		<category><![CDATA[builds]]></category>
		<category><![CDATA[codeanalysis]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[converter]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[datarecovery]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[denon]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[epoch]]></category>
		<category><![CDATA[flowers]]></category>
		<category><![CDATA[harddisk]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[interesting]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[jdk6]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[loadrunner]]></category>
		<category><![CDATA[loadtesting]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[norsk]]></category>
		<category><![CDATA[norwegian]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[pcbguide]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[performancetesting]]></category>
		<category><![CDATA[profiling]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[projectmanagement]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scheduling]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[soundbar]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[surroundsound]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[utilities]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wedding]]></category>

		<guid isPermaLink="false">http://garethwestern.com/?p=209</guid>
		<description><![CDATA[Here&#8217;s what I&#8217;ve been reading between June 24th and August 12th:

Open Source Project Management Tools in Java &#8211; 
Only Ubuntu Linux: Fix for SSH slow to ask for password in Ubuntu Feisty Fawn &#8211; 
An Introduction to JavaScript Object Notation (JSON) &#8211; 
buildr &#8211; 
LoadRunner visual tutorials &#8211; 
DENON &#124; DHT-FS3 &#124; X-SPACE Surround System [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s what I&#8217;ve been reading between June 24th and August 12th:</p>
<ul>
<li><a href="http://java-source.net/open-source/project-management">Open Source Project Management Tools in Java</a> &#8211; </li>
<li><a href="http://onlyubuntu.blogspot.com/2007/04/fix-for-ssh-slow-to-ask-for-password-in.html">Only Ubuntu Linux: Fix for SSH slow to ask for password in Ubuntu Feisty Fawn</a> &#8211; </li>
<li><a href="http://www.webreference.com/programming/javascript/rg5/index.html">An Introduction to JavaScript Object Notation (JSON)</a> &#8211; </li>
<li><a href="http://incubator.apache.org/buildr/">buildr</a> &#8211; </li>
<li><a href="http://motevich.blogspot.com/2008/01/loadrunner-tutorials.html">LoadRunner visual tutorials</a> &#8211; </li>
<li><a href="http://www.denon.co.uk/site/unten.php?main=prod&amp;MID=3&amp;sub=1&amp;fill=1&amp;action=detail&amp;Pid=334&amp;">DENON | DHT-FS3 | X-SPACE Surround System</a> &#8211; </li>
<li><a href="http://www.ultratecdirect.com/techsection/pcbguide.jsp">PCBGuide for DIY Data Recovery</a> &#8211; </li>
<li><a href="http://dev.opera.com/articles/view/1-introduction-to-the-web-standards-cur/">1: Introduction to The Web Standards Curriculum/Table of Contents &#8211; Opera Developer Community</a> &#8211; </li>
<li><a href="http://norsk.org.uk/">Hjem &#8211; Den Messinghuset Norskklubben</a> &#8211; </li>
<li><a href="http://qjpro.sourceforge.net/">Code Analyzer for Java</a> &#8211; </li>
<li><a href="http://twit88.com/blog/2008/07/02/useful-tools-in-jdk-6-that-developer-should-know/">Useful Tools in JDK 6 that Developer Should Know | Programming Resources</a> &#8211; </li>
<li><a href="http://www.inbloomflowers.co.uk/">In Bloom Flowers &#8211; Florist Birmingham</a> &#8211; </li>
<li><a href="http://www.cgsecurity.org/wiki/Damaged_Hard_Disk">Damaged Hard Disk &#8211; CGSecurity</a> &#8211; /ddrescue -n /dev/old_disk /dev/new_disk rescued.log</li>
<li><a href="http://wiki.netbeans.org/MavenBestPractices">NetBeans Wiki: MavenBestPractices</a> &#8211; </li>
<li><a href="http://www.esqsoft.com/javascript_examples/date-to-epoch.htm">Date/Epoch Time Converter &#8211; JavaScript Utilities/Tools</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://garethwestern.com/archives/2008/08/12/bookmarks-for-june-24th-through-august-12th/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bookmarks for April 27th through April 29th</title>
		<link>http://garethwestern.com/archives/2008/04/29/bookmarks-for-april-27th-through-april-29th/</link>
		<comments>http://garethwestern.com/archives/2008/04/29/bookmarks-for-april-27th-through-april-29th/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 09:04:38 +0000</pubDate>
		<dc:creator>GaZ</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[brightkite]]></category>
		<category><![CDATA[bush]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[elections]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[humourous]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[mariahcarey]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[restful]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlinjection]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[tutori]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[usa]]></category>

		<guid isPermaLink="false">http://garethwestern.com/?p=204</guid>
		<description><![CDATA[Here&#8217;s what I&#8217;ve been reading between April 27th and April 29th:

How to install RESTful Authentication on a Ruby on Rails 2.0 application &#8211; 
SQL Injection Attacks on IIS Web Servers &#8211; BillS IIS Blog &#8211; 
Google App Engine: One-to-many JOIN &#8211; 
Mariah Carey Embarrassed on Good Morning America Live &#8211; &#34;Stop singing my part now, [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s what I&#8217;ve been reading between April 27th and April 29th:</p>
<ul>
<li><a href="http://crazyrails.com/how-to-install-restful-authentication/">How to install RESTful Authentication on a Ruby on Rails 2.0 application</a> &#8211; </li>
<li><a href="http://blogs.iis.net/bills/archive/2008/04/25/sql-injection-attacks-on-iis-web-servers.aspx">SQL Injection Attacks on IIS Web Servers &#8211; BillS IIS Blog</a> &#8211; </li>
<li><a href="http://blog.arbingersys.com/2008/04/google-app-engine-one-to-many-join.html">Google App Engine: One-to-many JOIN</a> &#8211; </li>
<li><a href="http://www.youtube.com/watch?v=OHb7ljFnDME">Mariah Carey Embarrassed on Good Morning America Live</a> &#8211; &quot;Stop singing my part now, baby!&quot; lol</li>
<li><a href="http://news.bbc.co.uk/1/hi/world/americas/7369510.stm">BBC NEWS | World | Americas | Bush pokes fun at his successors</a> &#8211; US President George W Bush poked fun at his potential successors during his last White House Correspondents&#39; Association dinner.</li>
<li><a href="http://getsatisfaction.com/brightkite/topics/why_does_brightkite_only_work_for_the_us">Why does Brightkite only work for the US?</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://garethwestern.com/archives/2008/04/29/bookmarks-for-april-27th-through-april-29th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bookmarks for April 22nd through April 24th</title>
		<link>http://garethwestern.com/archives/2008/04/24/bookmarks-for-april-22nd-through-april-24th/</link>
		<comments>http://garethwestern.com/archives/2008/04/24/bookmarks-for-april-22nd-through-april-24th/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 18:06:11 +0000</pubDate>
		<dc:creator>GaZ</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[bionics]]></category>
		<category><![CDATA[broadcasting]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[fuidhand]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[mythtv]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[prosthetics]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[terminator]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vbscript]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://garethwestern.com/?p=202</guid>
		<description><![CDATA[Here&#8217;s what I&#8217;ve been reading between April 22nd and April 24th:

Ubuntu 8.04 Brings Power and Polish to the Linux Desktop &#8211; must get parents to try this out to see if it&#39;s a good alternative to Vista
SopCast &#8211; Free P2P internet TV &#8211; 
MythTV for iPhone &#8211; 
Reading binary files using Ajax &#8211; 
Touch Bionics [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s what I&#8217;ve been reading between April 22nd and April 24th:</p>
<ul>
<li><a href="http://blog.wired.com/monkeybites/2008/04/ubuntu-804-fina.html">Ubuntu 8.04 Brings Power and Polish to the Linux Desktop</a> &#8211; must get parents to try this out to see if it&#39;s a good alternative to Vista</li>
<li><a href="http://www.sopcast.com/">SopCast &#8211; Free P2P internet TV</a> &#8211; </li>
<li><a href="http://chriscarey.com/projects/mythtv/iphone/">MythTV for iPhone</a> &#8211; </li>
<li><a href="http://nagoon97.wordpress.com/2008/04/06/reading-binary-files-using-ajax/">Reading binary files using Ajax</a> &#8211; </li>
<li><a href="http://www.engadget.com/2008/04/22/touch-bionics-shows-off-fluidhand-i-limb-hides-in-shames/">Touch Bionics shows off Fluidhand, i-LIMB hides in shames &#8211; Engadget</a> &#8211; </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://garethwestern.com/archives/2008/04/24/bookmarks-for-april-22nd-through-april-24th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.577 seconds -->
