Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/lancew/public_html/blog/index.php on line 41

Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/lancew/public_html/blog/index.php on line 48

Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/lancew/public_html/blog/index.php on line 55

Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/lancew/public_html/blog/index.php on line 61
JudoGeek Blog - Daniel Suarez | Leinad Zeraus rocks! Lance Wicks
Lance Wicks
Kiwi,
Judoka,
Geek,
Husband
Daddy!

JudoGeek Blog

Daniel Suarez | Leinad Zeraus rocks! 


This week I received an unexpected package from Canada, upon opening it I found a copy of "Freedom " 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!!

Freedom is the sequel to Daemon which was originally self-published under the pen name Leinad Zeraus; which is how I originally bought a copy.

When I first read Daemon, pretty much all the way through I was in a constant state of "Oh wow!" and "This guy so gets tech". 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!

So I had "Freedom " pre-ordered on Amazon the moment I discovered it was coming out. I also created a little Facebook group for Daemon.

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's books I received. He sent me some copies (including a signed copy) of Daemon when it was republished in his real name.

Looking beyond the fact that Daniel Suarez 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!

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't already, read Daemon and then Freedom. They are available on Amazon, grab a copy, just follow the links below:

Daemon (UK ) (USA ) (Kindle )
Freedom ( UK ) (USA )

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).

[ view entry ] ( 4385 views ) permalink
A week away from the code. 

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 www.DojoList.org code and on the www.PlanetJudo.com iPhone application.

It has been VERY rewarding work.

I've enjoyed pushing my boudaries and learning as I go. It'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'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.

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.

I'm also trying to get caught up on paperwork for my business ( www.envirtua.com ) and getting some projects there underway. Also I'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'll get to your message and reply this week.

So, there you have it, just a little update on me.
Bye...

[ view entry ] ( 6064 views ) permalink
DojoList version 0.6.0 hits the streets! 

Dojo

So, my little DojoList project is progressing along and today I finished my latest milestone, what I am calling 0.6.0.

In this version of the software I've added:

* Cleaner CDATA in the XML file.
* Ability to centre the map on your address/postcode.
* Fixed up a bug in the logo upload routine
* Added email notifications of modifications to dojo information.
* Started abstracting the XML processing out of the controller(s).
* Added the ability to delete or replace the logo from the edit screen.
* Modified the main club listing to be sorted alpha numerically on dojo name.

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:

* Data validation.
* Search function on Dojo name.
* Option for unformatted HTML list for embedding within another sites layout.
* Tweak formatting of club view page to work better on Google.

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 http://judoworldmap.com site (which also licenses it data with a creative commons license).
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.

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've got experience in this area, please let me know.
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).

I Look forward to the next iteration, but it looks trickier! :-)

---
This post is cross-posted on http://www.judocoach.com/blog

[ view entry ] ( 2241 views ) permalink
Bug squashing and TDD. 

As I progress with my DojoList project I am trying to be a good boy and integrate coding standards (via PHPCodeSniffer ) and also automated testing.

My tetsing is presently using SimpleTest for PHP. As I progress through the project I am trying to be stricter with myself and write more and more tests.

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.

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.

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.

This also leads you to identifying messy bits of your code. Basically, if it's hard to isolate and test your bug, it'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.

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.
Obviously, it also means that latter on in the codes life, that bug should not creep back in as you test for it everytime.

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 "gateway drug" to full test driven development (TDD).

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.
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.

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.
[ view entry ] ( 2888 views ) permalink
DojoList 0.5.0 

Screen shot 2010-03-26 at 9.47.18 PM

Hi everyone,
so I am really pleased to say that I have completed version 0.5.0 of my little DojoList 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.

Whats in 0.5.0
I have been using PivotalTracker to maintain my list of things to do and so forth. So here is what was in this iteration.
* Modify to RESTful url structure
* ReCaptcha for CRUD operations rather than password access… as option?
* Add ability to edit training sessions. Presently you can only add them on create.
* Ability to upload club badge/logo
* BUG:You can't create a dojo without uploading logo
* git .ignore of index.php

RESTful url structure.
I removed the "admin" 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/<dojoname>/edit

reCaptcha
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 reCaptcha system which is free and as well as protecting your pages helps digitise documents.

editing training sessons
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.

Badge upload
I'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.

** Bug.
The upload initially had a bug that you were forced to upload an image with a new dojo or creation failed.

Ignoring index.php
I keep the api keys the software uses in the index.php file. This is a pain when working on "open source" as I needed to remember to remove the API keys before I commit changes to the repository on GitHub. So I decided to create a index.php.default file, which manually needs to be renamed to index.php upon installation.
I then used .gitignore to ignore the index.php 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.

SUMMARY and what's next

This is the first iteration I'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.

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:
* Ability to upload coach photo
* Format CDATA
* Add center map to postcode ability
* Email notification of changes to dojo listing
* Ability to upload coach photo

You can of course try out the system (and add you Dojo) at www.dojolist.org and see the tracker at http://www.pivotaltracker.com/projects/35696 the source code is freely available at http://github.com/lancew/DojoList .

If you are interested in helping... I am interested in hearing from you!

Lance

[ view entry ] ( 5036 views ) permalink related link

<<First <Back | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Next> Last>>