<?xml version="1.0" encoding="ISO-8859-1"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ref="http://purl.org/rss/1.0/modules/reference/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
	<channel rdf:about="http://www.lancewicks.com/blog/rss.rdf">
		<title>JudoGeek Blog</title>
		<link>http://www.lancewicks.com/blog/index.php</link>
		<description><![CDATA[Kia Kaha, Kia Toa, Kia Manawanui!]]></description>
		<items>
			<rdf:Seq>
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100824-050730" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100725-051246" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100609-045432" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100511-145456" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100428-042821" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100420-152443" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100414-100007" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100326-164735" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100321-171250" />
				<rdf:li resource="http://www.lancewicks.com/blog/index.php?entry=entry100307-153408" />
			</rdf:Seq>
		</items>
	</channel>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100824-050730">
		<title>DojoList 0.7.0</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100824-050730</link>
		<description><![CDATA[Last night (23 August 2010), I released DojoList v 0.7.0 via the <a href="http://dojolist.org" target="_blank" >http://dojolist.org</a> website. DojoList is my Open Source Judo club database system I have been working on for a while now.<br /><br /> <br /><br />V0.7.0 is the first update since 0.6.0 back on April 20th. It has been slow progress as other projects have taken much of my time. All the code as I have written it has been powering <a href="http://dojolist.org" target="_blank" >http://dojolist.org</a> so I am fairly happy with the stability. So far I’ve not had any big data loss incidents.<br /><br /> <br /><br />In the DojoList 0.7.0 release I have added:<br /><br /> <br /><br />    * Sorting of the data<br />    * Data Validation<br />    * Draggable marker on map (during create and edit)<br />    * Ability to delete and replace in edit club logo<br />    * GUID for each dojo<br />    * Source url for each dojo in XML data<br />    * RSS feed of updates<br />    * SW Version embedded in XML data file<br /><br /> <br /><br />I also fixed some bugs:<br /><br /> <br /><br />    * 4: XML data file too popular in Google<br />    * 6: Dojo test causes &lt;Dojo/&gt; artefacts<br />    * 9: Unable to click on map markers<br />    * 10: Accented characters in dojo name prevent edit<br />    * 12: RSS feeds do not update properly<br /><br /> <br /><br />In the next release I plan on adding the following features:<br /><br /> <br /><br />    * Improved data validation<br />    * Update date field on each dojo record<br />    * Training session rating of level<br />    * Ability to upload photo of the coach<br /><br /> <br /><br />Of course there will be bug fixes, both of those found already and those that will no doubt show up.<br /><br /> <br /><br />Summary:<br /><br />It has been a slow development iteration this one, but it’s been a good one for me personally. I have learnt a lot and found the system even better. The system now incorporates data from <a href="http://judoworldmap.com" target="_blank" >http://judoworldmap.com</a> and also from the rather rubbish British Judo Association “Find a Club” database. I can now finally find a club easily in Britain when I am travelling on business.<br /><br />I have started planning on how to sync data between installations, that will I think be the main feature added in the eventual v1.0.0 release as it will require a lot of work.<br /><br />In this release I enjoyed working out how to do the draggable map markers, which now update the latitude and longitude of the club. Data validation is proving interesting; it needs more work, but has been interesting to explore. The system has both server and client side validation. The PHP code checks for valid data and I am using the jQuery validation plug-in to make the validation experience a bit nicer on the client side (server side was painful as it was rather user unfriendly).<br /><br /> <br /><br />In the next few months I want to improve the installation process. To make it less manual and to check that all the pre-requisites are there. Preferably to adjust to cope with systems without all the modules required. Specifically this may be relevant for the internationalisation code.<br /><br /> <br /><br />The aim originally was very much to make the system work on pretty much any cheap hosting package. The initial versions I think retain that, but I know that 0.7.0 for example does not work on one of my target servers (cheap IIS hosting). And I have struck problems on another server too.<br /><br /> <br /><br />Finally, the big change I want to see happen with the project is that it goes from being a one man band to being a community developed project. To this end I added some basic info about the project on the ABOUT page of the website, created a mailing list too. Of course all the source code, bug tracking and planning was available freely online. But I want to go beyond “available” to a point where there is two way traffic. I push code and pull code from others.<br /><br /> <br /><br /> ]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100725-051246">
		<title>DojoList and other Judo coding.</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100725-051246</link>
		<description><![CDATA[Hi all,<br />just a quick update to say that I have pushed a new feature out onto <a href="http://www.DojoList.org" target="_blank" >www.DojoList.org</a> the last user visible one before the 0.7.0 version shall be released. I have one backgroiund feature to add, but in terms of what you see, it&#039;s ready.<br /><br />What I have added is draggable map markers. So that when you are creating a new Dojo, or editing an existing one you can simply drag the marker on the map to get it 100% accurate to the location of the dojo.<br /><br />I&#039;ve been working on and (mainly) off on this one for a while. It needed me to move those pages away from the Mapstraction library to using Google Maps direct as Mapstratcion does not currently support the GEvent feature I needed.<br /><br />Adding this feature took longer than I wanted, mainly because work on it got sidelined by other more important things... and more interesting things. Sorry. But it&#039;s there now and I think it means a lot. I know that the BJA for example are trying to replicate what DojoList does, and one of the issues with any dojo list app is that addresses and physical locations don&#039;t always map up.<br />Now if you use the DojoList code, you can have the address find the general location of your Judo Dojo, then just drag the marker on the map to exactly where the Dojo is. Click submit and job done! Give it a try and let me know if you find a bug anywhere ok. :-)<br /><br />Outside of Dojo List, I have been working on all sorts. Not least of all a trip to Malta to help on the education of some Judo coaches. That has even more work for me to do, mainly audio and video editing... which takes forever!<br /><br />The other big drain on time/energy for working on DojoList has been a new project I am undertaking. It is a research project for the 2011 International Judo Researchers Symposium, which is planned to happen at the World Judo Championships in Paris next year.<br />I am looking at researching ranking systems and ranking systems in Judo. Specifically, the  IJF ranking system and comparing it to the ELO Ranking system. So I have actually started by writing some software that will run a ranking system using ELO using the current IJF ranking events.<br />It is now in a private Beta state, it is working and producing interesting results. Needs a lot of polish of course and the research itself needs doing properly (i.e. researching systems and writing it all up into some sort of paper), before Paris, where I would very much like to present it as a work in progress. <br />After London 2012, I would like to complete it and present the final results and maybe even (with some help) get it to a really good level.. maybe/hopefully to a level where it&#039;ll get published in a journal perhaps?<br /><br />So thats one of the reasons (beyond work, life, Judo, etc) that is slowing progress on <a href="http://www.dojolist.org" target="_blank" >www.dojolist.org</a><br /><br />If you have an interest (or expertise) in DojoList or in ranking systems please drop me an email ( <a href="mailto:lw@judocoach.com" target="_blank" >lw@judocoach.com</a> ) and let me know... all help or encouragement is appreciated I can assure you!! :-)<br /><br />Till later,<br /><br />Lancer]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100609-045432">
		<title>DojoList Progress</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100609-045432</link>
		<description><![CDATA[This is just a small update on my DojoList project, to let people know what’s been happening in the background.<br /><br />My time/energy for working on DojoList has started picking up again after a self-enforced break from the code I took a couple of blog posts ago. I am now working on the 0.7.0 version of the code and it is coming along slowly but surely.<br /><br />One of the big reasons it has been slow moving forward is that I&#039;ve been working with others on some important additions and ideas for the system. Specifically the &quot;sync&quot; idea.<br />I would like DojoList to be a system that can send and receive data from one installation to another. For example, I already read data from <a href="http://judoworldmap.com" target="_blank" >http://judoworldmap.com</a> into <a href="http://dojolist.org" target="_blank" >http://dojolist.org</a> as the data there (like mine) is creative commons licensed. But my initial hack at this is one-way and just pulls data from the front page. <br />We (Ulrich, who runs Judo World Map) have been talking about how we might structure things so that should someone update a Dojo I have imported from his site, that update is automatically feed back to his site so that the user updates in one place but the changes appear everywhere.<br /><br />A good example case would be this. Your area association might install DojoList on the area website, maintaining a list of clubs in your region. It is an accurate list because it is local clubs and the clubs visit the area website, so updates get made. <br />The National governing body also installs DojoList, but rather than re-enter and re-manage the clubs from your region they point their DojoList installation at your area installation and hey presto, all your local clubs are listed on the national website. When you change training times on the regional site, it updates the national site too. AND (and this is where it gets tricky) if you happen to update the national site, it updates your area site.<br /><br />So you have a two way sync, and everyone gets better information. Of course it&#039;s proving tricky to work out how to do this. I have been making some changes to DojoList to make it possible. This has included the creation of a source URL field to show where the site came from originally and a GUID (Global Unique ID) for each Dojo (I am also adding a &quot;last updated&quot; field). The next step is to build the mechanisms to sync changes between sites and test the daylights out of it!<br /><br />I&#039;ve also been working with the biggest list of Judo Clubs out there to see if DojoList could work for them which is exciting. We are not quite there yet, but it&#039;s looking promising already. I have worked with them to massage their data into the format that DojoList understands and they are working on a test installation... exciting!<br /><br />Another feature I have started thinking about, but not started working on is the ability to filter results. So for example to be able to include only Dojo from your country, state/county, city or suburb. This I think will be important when looking at sync too. If your national or regional body in say the USA wanted to pull clubs from DojoList.org they probably don&#039;t want the clubs from the UK on the list. So it would be good to separate out the clubs based on their lat/log and use only those within a defined space.<br /><br />There are some big issues to be thought through around sync, more and more the more and more I think about it. For example, perhaps someone deletes a Dojo off one website, but only because it&#039;s from a different organisation from yours. Do you then sync that deletion? What happens if that dojo is on 3 other sites? Does it sync back to the original site? Lots of questions to answer.<br /><br />If anyone has some experience in distributed systems syncing data like this I&#039;d love to hear from you.<br />On that subject, I&#039;d love to hear from other Judo interested developers who might have smarts to add to the project. It&#039;s open source, so the code is available on github for anyone to start tinkering with. I&#039;d love it if some more people discovered the project and sent in ideas, patches, new features, etc etc.<br /><br />Also, I&#039;d love to help anyone who is interested in using the system on their website. Be that to replace an existing database or a site with no list. Actual live usage finds more bugs, points at more features, answers more questions about what people want. So, if you fancy having a DojoList install of your own, please let me know.<br /><br />Also, the more people the merrier. So far I have been working, on the whole, in isolation. I&#039;d love for this project to become a real community project. I know there are plenty of Judo people in IT out there. I&#039;d love to bring some of them together around this project, so again drop me an email. Coders, testers, documentation, translations, etc etc it is all there waiting for someone to give it a go.<br /><br />The 0.7.0 release will be coming shortly, which will have some of the new idea in it. I want to then crank through 0.8.0 and 0.9.0 and get to a 1.0 version in the near future (a couple of months). That&#039;ll need to be pretty stable and solid, so I&#039;d love any help I can get.<br /><br />Lance<br /><a href="mailto:lw@judocoach.com" target="_blank" >lw@judocoach.com</a><br />]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100511-145456">
		<title>Daniel Suarez | Leinad Zeraus rocks!</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100511-145456</link>
		<description><![CDATA[<div style="float:left; padding-right:5;"><iframe src="http://rcm-uk.amazon.co.uk/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=judocoachcom-21&o=2&p=8&l=as1&m=amazon&f=ifr&md=0M5A6TN3AXP2JHJBWT02&asins=1849161763" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
<br />This week I received an unexpected package from Canada, upon opening it I found a copy of &quot;<a href="http://www.amazon.co.uk/gp/product/1849161763?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1849161763">Freedom</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1849161763" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
&quot; by Daniel Suarez. It was a wonderful suprise, especially when I realised it was sent to me by Mr. Suarez himself. Then I discovered the note and read the inscription; wow!!<br /><br /><a href="http://www.amazon.co.uk/gp/product/1849161763?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1849161763">Freedom</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1849161763" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is the sequel to <a href="http://www.amazon.co.uk/gp/product/1847249442?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1847249442">Daemon</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1847249442" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> which was originally self-published under the pen name Leinad Zeraus; which is how I originally bought a copy.<br /><br />When I first read Daemon, pretty much all the way through I was in a constant state of &quot;Oh wow!&quot; and &quot;This guy so gets tech&quot;. Unlike many novels set in the technology area, Daemon rang true to me. The technology, although sci fi, just felt accurate and tangible. And the story itself was/great!<br /><br />So I had &quot;<a href="http://www.amazon.co.uk/gp/product/1849161763?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1849161763">Freedom</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1849161763" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
&quot; pre-ordered on Amazon the moment I discovered it was coming out. I also created a little <a href="http://www.facebook.com/group.php?gid=44013990266&amp;ref=ts" target="_blank" >Facebook group for Daemon</a>.<br /><br />So this week I got a signed copy of Freedom and I was blown away! That said, it is not the first signed copy of one of Daniel Suarez&#039;s books I received. He sent me some copies (including a signed copy) of Daemon when it was republished in his real name.<br /><br />Looking beyond the fact that <a href="http://thedaemon.com/" target="_blank" >Daniel Suarez</a> is a terrific author; he is obviously generous in his appreciation of his fans... like me. I also think he understands the modern landscape of publishing. He published his book himself and people like me discovered it and promoted it amongst our network of friends and contacts. This resulted in him getting a publishing deal and that is awesome!<br /><br />I am a big fan of Daniel Suarez, and a bigger one since receiving a personal message from the man himself! You should, assuming you haven&#039;t already, read Daemon and then Freedom. They are available on Amazon, grab a copy, just follow the links below:<br /><br />Daemon (<a href="http://www.amazon.co.uk/gp/product/1847249442?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1847249442">UK</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1847249442" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
) (<a href="http://www.amazon.com/gp/product/0451228731?ie=UTF8&tag=judocoachcom-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0451228731">USA</a><img src="http://www.assoc-amazon.com/e/ir?t=judocoachcom-20&l=as2&o=1&a=0451228731" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
) (<a href="http://www.amazon.com/gp/product/B001P22HK8?ie=UTF8&tag=judocoachcom-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B001P22HK8">Kindle</a><img src="http://www.assoc-amazon.com/e/ir?t=judocoachcom-20&l=as2&o=1&a=B001P22HK8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
)<br />Freedom (<a href="http://www.amazon.co.uk/gp/product/1849161763?ie=UTF8&tag=judocoachcom-21&linkCode=as2&camp=1634&creative=19450&creativeASIN=1849161763"> UK</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=judocoachcom-21&l=as2&o=2&a=1849161763" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
) (<a href="http://www.amazon.com/gp/product/0525951571?ie=UTF8&tag=judocoachcom-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0525951571">USA</a><img src="http://www.assoc-amazon.com/e/ir?t=judocoachcom-20&l=as2&o=1&a=0525951571" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
) <br /><br />So please buy a copy of these terrific books to help me say thank you to Daniel Suarez for his awesome novels and for sending me a signed copy of his book(s).<br />]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100428-042821">
		<title>A week away from the code.</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100428-042821</link>
		<description><![CDATA[This week I am stepping away from the laptop... well at least in terms of writing code. Over the last little while I have been spending alot of my energy on my <a href="http://www.DojoList.org" target="_blank" >www.DojoList.org</a> code and on the <a href="http://www.PlanetJudo.com" target="_blank" >www.PlanetJudo.com</a> iPhone application.<br /><br /><b>It has been VERY rewarding work.</b><br /><br />I&#039;ve enjoyed pushing my boudaries and learning as I go. It&#039;s what we all should be doing, growing and stretching our limits. But (as I know from my coaching) recovery is a key part of performance. So this week I am not looking at either project. This is in part because I have submitted the iPhone app to Apple and await confirmation of it&#039;s acceptance or rejection. It is also becuase I want to talk to more people about the DojoList project before setting out on the next iteration. Gotta make sure it is going not only in the direction I see but also in the direction others want.<br /><br />This has coincided quite well with the return of Judo at HMS Collingwood (I am the coach there) and at Alresford Judo Club (I help coach there too). I have also been wanting to get out for runs again, and last night I enjoyed getting a 5 mile run done in the Spring/Summer evening. Really nice to return to a more respectable distance and an okay pace.<br /><br />I&#039;m also trying to get caught up on paperwork for my business ( <a href="http://www.envirtua.com" target="_blank" >www.envirtua.com</a> ) and getting some projects there underway. Also I&#039;m clearing up my various inboxes; both email and physical. So all those people (like my Dad) who think I have fallen off the face of the earth at times... hopefully I&#039;ll get to your message and reply this week.<br /><br />So, there you have it, just a little update on me.<br />Bye...<br />]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100420-152443">
		<title>DojoList version 0.6.0 hits the streets!</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100420-152443</link>
		<description><![CDATA[<span style="float:left;"><a href="http://www.flickr.com/photos/binaryape/671586287/" title="Dojo by BinaryApe, on Flickr"><img src="http://farm2.static.flickr.com/1153/671586287_73cfe8d108.jpg" width="200"  alt="Dojo" /></a></span><br /><br />So, my little <a href="http://dojolist.org" target="_blank" >DojoList</a> project is progressing along and today I finished my latest milestone, what I am calling 0.6.0.<br /><br />In this version of the software I&#039;ve added:<br /><br />* Cleaner CDATA in the XML file.<br />* Ability to centre the map on your address/postcode.<br />* Fixed up a bug in the logo upload routine<br />* Added email notifications of modifications to dojo information.<br />* Started abstracting the XML processing out of the controller(s).<br />* Added the ability to delete or replace the logo from the edit screen.<br />* Modified the main club listing to be sorted alpha numerically on dojo name.<br /><br />In the next iteration I plan to add proper data validation of input from form on create and edit screens. For the 0.7.0 milestone, I want to add the following:<br /><br />* Data validation.<br />* Search function on Dojo name.<br />* Option for unformatted HTML list for embedding within another sites layout.<br />* Tweak formatting of club view page to work better on Google.<br /><br />So thats what I added that was planned and what I have planned. During the 0.6.0 cycle I learned alot and added some things that were not planned. For example, I added a feature that imports data from the very cool <a href="http://judoworldmap.com" target="_blank" >http://judoworldmap.com</a> site (which also licenses it data with a creative commons license).<br />I did quite a bit of structural change to the software. Moving things around between the controller to the model for example. I also started abstracting things better for later when I want to add more flexibility.<br /><br />One of the things I have found hard, is the handling of XML data in more complicated situations. Specifically sorting the XML data file. WHich I have not actually done yet. Currently I am trying to find the best way to do this. I am swaying between using XSL transformations and pulling the SimpleXML Object into and array, sorting the array and then pushing it back out as XML. If you&#039;ve got experience in this area, please let me know. <br />Having this issue is kinda self-inflicted from the design decision to use XML to store the data (as opposed to using a database like MySQL or SQLite; although I want to add them as a option later).<br /><br />I Look forward to the next iteration, but it looks trickier! :-)<br /><br />---<br />This post is cross-posted on <a href="http://www.judocoach.com/blog" target="_blank" >http://www.judocoach.com/blog</a><br />]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100414-100007">
		<title>Bug squashing and TDD.</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100414-100007</link>
		<description><![CDATA[As I progress with my  <a href="http://dojolist.org" target="_blank" >DojoList project</a>  I am trying to be a good boy and integrate coding standards (via  <a href="http://pear.php.net/PHP_CodeSniffer" target="_blank" >PHPCodeSniffer</a> ) and also automated testing.<br /><br />My tetsing is presently using  <a href="http://www.simpletest.org/" target="_blank" >SimpleTest for PHP</a>. As I progress through the project I am trying to be stricter with myself and write more and more tests.<br /><br />Part of this attempt at discipline is to write tests against my bugs BEFORE I write fixes for them. This is a test Driven Development (TDD) idea, and it is one I think is worth using.<br /><br />The idea here is that you write a little bit of code that hits your bug, then after you have a test (that fails) you make your fix and re-run the test... and the test should then pass.<br /><br />One of the benefits of working this way is that you have to isolate the bug so you can write a test for it. This forces you to delve pretty deep into the bug and understand it, before you start trying to fix it at all.<br /><br />This also leads you to identifying messy bits of your code. Basically, if it&#039;s hard to isolate and test your bug, it&#039;s probably becuase your code is not abstracted out nicely. Writing tests for bugs can lead you to modify your models/controllers/classes/whatever to make it easier to test just the buggy part of your code.<br /><br />Writing a test for a bug, also lets you leave an artifact that shows you addressed the issue, in code. So for example you can leave a comment in the test that states what bug you are testing for.<br />Obviously, it also means that latter on in the codes life, that bug should not creep back in as you test for it everytime.<br /><br />I have found that writing tests for bugs is helping persuade me to write tests for new pieces of functionality before I code them. In other words writing tests for bugs is a bit of a &quot;gateway drug&quot; to full test driven development (TDD).<br /><br />I find the urge to write tests first growing the more bugs I start squashing. This is all leading to stronger code. And code I am more comfortable playing with.<br /> You develop a trust in your tests, you know that if you mess something up (and you will), your tests will save you from going on after a mistake.<br /><br />All in all, writing bugs has been a really positive experience that is leading me towards writing more code in full TDD mode in future.]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100326-164735">
		<title>DojoList 0.5.0</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100326-164735</link>
		<description><![CDATA[<a href="http://www.flickr.com/photos/lancew/4465054489/" title="Screen shot 2010-03-26 at 9.47.18 PM by lwicks_2000, on Flickr"><img src="http://farm5.static.flickr.com/4018/4465054489_a8e9163db6.jpg" width="450" alt="Screen shot 2010-03-26 at 9.47.18 PM" /></a><br /><br />Hi everyone,<br />so I am really pleased to say that I have completed version 0.5.0 of my little <a href="http://dojolist.org" target="_blank" >DojoList</a> project. DojoList, for new readers is a web application to maintain a list of Judo Club Dojo locations and information. 0.5.0 is the latest iteration of the development.<br /><br /><b>Whats in 0.5.0</b><br />I have been using <a href="http://www.pivotaltracker.com/projects/35696" target="_blank" >PivotalTracker</a> to maintain my list of things to do and so forth. So here is what was in this iteration.<br />* Modify to RESTful url structure<br />* ReCaptcha for CRUD operations rather than password access… as option?<br />* Add ability to edit training sessions. Presently you can only add them on create.<br />* Ability to upload club badge/logo<br />* BUG:You can&#039;t create a dojo without uploading logo<br />* git .ignore of index.php<br /><br /><b>RESTful url structure.</b><br />I removed the &quot;admin&quot; interface, and replaced it with a structure where the admin functions (create, edit, delete) are accessed via the main interface. So for example, EDIT is accessed via .../dojo/&lt;dojoname&gt;/edit<br /><br /><b>reCaptcha</b><br />As I have brought the admin functions into the main URL structure and removed the login/logout process (for now), I needed a way to manage changes to Dojo. I decided to include a captcha field, specifically the <a href="http://recaptcha.net" target="_blank" >reCaptcha</a> system which is free and as well as protecting your pages helps digitise documents.<br /><br /><b>editing training sessons</b><br />I did not include this before as it was/is slightly more complicated than the other areas due to the need for multiple session information to be included.But I have now added it; which means all Dojo info is editable now.<br /><br /><b>Badge upload</b><br />I&#039;ve added basic upload of images into the XML file and display in pages. This took a while as I had to add the upload AND embed it in the XML using base64 encoding. Lastly I display the image inline, which took a bit of extra effort.<br /><br />** Bug.<br />The upload initially had a bug that you were forced to upload an image with a new dojo or creation failed.<br /><br /><b>Ignoring index.php</b><br />I keep the api keys the software uses in the index.php file. This is a pain when working on &quot;open source&quot; as I needed to remember to remove the API keys before I commit changes to the repository on <a href="http://github.com/lancew/DojoList" target="_blank" >GitHub</a>. So I decided to create a <i>index.php.default</i> file, which manually needs to be renamed to index.php upon installation.<br />I then used .gitignore to ignore the <i>index.php</i> file in my development directory, now I can keep the API keys in there and stop worrying about removing them when I push to GitHub.<br /><br /><b>SUMMARY and what&#039;s next</b><br /><br />This is the first iteration I&#039;ve done this way and I need to more development on the project this way before I decide if I like it. But so far I like it.<br /><br />The next iteration starts... well now. It has a due date of the 5th of April and will be the 0.6.0 version. The stories I have in the iteration are:<br />* Ability to upload coach photo<br />* Format CDATA<br />* Add center map to postcode ability<br />* Email notification of changes to dojo listing<br />* Ability to upload coach photo<br /><br />You can of course try out the system (and add you Dojo) at <a href="http://www.dojolist.org" target="_blank" >www.dojolist.org</a> and see the tracker at <a href="http://www.pivotaltracker.com/projects/35696" target="_blank" >http://www.pivotaltracker.com/projects/35696</a> the source code is freely available at <a href="http://github.com/lancew/DojoList" target="_blank" >http://github.com/lancew/DojoList</a> .<br /><br />If you are interested in helping... I am interested in hearing from you!<br /><br />Lance<br />]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100321-171250">
		<title>Waze... download and install it now!</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100321-171250</link>
		<description><![CDATA[<a href="http://www.flickr.com/photos/liquoredonlife/4339729466/" title="Mazdaspeed3-6135 by liquoredonlife, on Flickr"><img src="http://farm5.static.flickr.com/4032/4339729466_71b6830d37.jpg" width="300"  alt="Mazdaspeed3-6135" /></a><br /><br />Hi All,<br /><br />so over the past month or so I have been trying a new iPhone app called Waze, which is the subject of this post. <a href="http://world.waze.com/" target="_blank" >Waze</a> is (to quote the website) &quot;<i>...a social mobile application providing free turn-by-turn navigation based on the live conditions of the road...</i>&quot;.<br /><br />The differences between <a href="http://world.waze.com/" target="_blank" >Waze</a> and say TomTom are considerable, but all starts with the fact that the maps and the traffic reports are created by the userbase, AKA you.<br /><br />Once you install <a href="http://world.waze.com/" target="_blank" >Waze</a>, you run the app on your phone; be that an iPhone, Android, Windows Mobile or Symbian. When the app is running your GPS position is used to place you on the user generated map. If the street is not on there already, you can add it.<br /><br />What is really cool, if you get caught in traffic; <a href="http://world.waze.com/" target="_blank" >Waze</a> knows about it and can let everyone else know! When you see a speed camera, accident, police, etc. you can report it yourself and up it pops for everyone to see.<br /><br />Now, there is more magic to it than that. There is the Twitter integration, Foursquare integration. There is also the points system, which makes driving around to and from work, the shops, whatever like playing Pacman for real.<br /><br /><b>In short, <a href="http://world.waze.com/" target="_blank" >Waze</a> rocks!</b><br /><br />It&#039;s very early on too, so I can&#039;t wait to see it grow! And here are some of the ideas I reckon might be cool.<br /><br /><b>More Twitter</b>: At the moment it&#039;s one broadcast from Waze to Twitter. It&#039;d be cool if say my @replies and DMs appeared on the screen? Maybe see tweets on your route? I wonder howe many people are tweeting about the traffic?<br /><br /><b>More Foursquare</b>: It&#039;d be kinda cool to be able to navigate to Foursquare locations. Also, what do you think of the idea of Waze identifying Foursquare locations nearby and asking if you want to check-in?<br /><br /><b>Open Street Map</b>s: Now, there may be background as to why Waze is not using or contributing to the Open Street Map project, but I can&#039;t help but think it&#039;d be a cool collaboration! <br /><br /><b>Alerts and Actions</b>: I used to have on my Jailbroken iPhone an app called iComing. It alerted me when I reached certain GPS coordinates. That meant things like alarms, sending a text message. It&#039;d be cool it <a href="http://world.waze.com/" target="_blank" >Waze</a> would say text my wife when I hit the motorway turn off for home. Maybe Tweet a message if I am going under 40 MPH on a certain piece of a road, or get near the office.<br /><br /><b>More Social features</b>: So being able to follow people/friend them. Stuff like that. Ahem... <a href="http://noserub.com" target="_blank" >NoseRub</a>... Ahem. ;-)<br /><br />So there you have it, thats my two cents worth on my favorite application on my mobile at the moment. I love <a href="http://world.waze.com/" target="_blank" >Waze</a> and I reckon it&#039;s going to get better and better.  I hope so anyway, because to be frank, the actual navigation/routing is pants for me at the present. I&#039;ve been editing the map to try and make it better... so hopefully as they come online it&#039;ll get better. Also not seen any of the automatic route optimisation etc... presumably because at the mo the maps around me are not up to scratch?<br /><br />But even with those points, I love <a href="http://world.waze.com/" target="_blank" >Waze</a>. So give it a go, it&#039;s free and really has potential.<br /><br />---<br />Photo by <a href="http://www.flickr.com/photos/liquoredonlife/4339729466/" target="_blank" >liquoredonlife</a>]]></description>
	</item>
	<item rdf:about="http://www.lancewicks.com/blog/index.php?entry=entry100307-153408">
		<title>DojoList... Internationalisation and testing added.</title>
		<link>http://www.lancewicks.com/blog/index.php?entry=entry100307-153408</link>
		<description><![CDATA[Although time has been short recently, I have started making some changes to my Dojo listing code, which I wanted to add to the blog.<br /><br /><b>Firstly, I have added some simple internationalisation support.</b><br />As of version 0.3.0 simple Internationalisation using Gettext is added. The language support is in the /locale/xx/LC_MESSAGES/ directories, using the standard two letter abbreviations for languages, i.e. en for English, es for Spanish etc. Native speakers can assist the project by editing the messages.po file in the directory. The .po file is then used to create the .mo file.<br /><br />Basically, I have since gone through most of my views and replaced echo statements with the gettext abbreviation _(&#039;........&#039;); statement as below.<br /><br /><code>&lt;?php echo _(“Home”); ?&gt;</code><br /><br />The next step was/is to create tranlation files using:<br /><br /><code>xgettext ../../../views/*.php</code><br /><br />Then run :<br /><br /><code>msgfmt messages.po -o messages.mo</code><br /><br />I then needed to add some simple code to the app to manage which language is displayed. Including the translation is a case of including<br /><br /><code><br />// Specify location of translation tables <br />bindtextdomain (“messages”, “./locale”);<br /><br />// Choose domain <br />textdomain (“messages”);<br /></code><br /><br />in the main index.php file and also selecting the language using:<br /><br /><code>&lt;?php <br />// Set language to Spanish <br />putenv (“LC_ALL=es”); <br />?&gt;</code><br /><br />This all works pretty smoothly, if the .po file is blanked, then it defaults to the original. So for English, I have not had to add anything. So all I need now is people to translate the text. :-)<br /><br /><b>Automated testing.</b><br />I have added a /tests/ folder to the project and included the simpletest framework to make testing my code simple and easy. So far I have done very little except get it in place and working. <br /><br />I have started by adding some basic tests to the Dojo model.<br /><br />My intention is as I progress to write my tests first and then write the code to implement the features I want. It&#039;s good practice, but I am lazy and have nt been doing it.<br /><br />I&#039;ve just this evening merged the branch I was using to develop the localisation into the master branch on <a href="http://github.com/lancew/DojoList" target="_blank" >http://github.com/lancew/DojoList</a><br /><br />Go take a look at the code there, or see it in action at <a href="http://dojolist.org" target="_blank" >http://dojolist.org</a><br /><br />Lance.<br />:-)<br />]]></description>
	</item>
</rdf:RDF>
