I've been meaning to put up a personal web site for a while now. This is it. Originally I had the usual 'collection of random rubbish' style of personal web site. This then grew to contain my technical ramblings and details of my consulting business. I decided that this mixture wasnt exactly professional and pulled all of the 'sensible' stuff out into a new web site for my consulting business. The remains of my personal pages were left to ecompose... After a while I had a collection of bits and pieces that I would normally have sprayed out to the…
I have lots of stuff that I've been meaning to throw up onto the web for a while. Lots of stuff that's been in my digital equivalent of an old cardboard box for several years. I'm going to be posting these old things from time to time and setting their publication date to the date that they were originally created. This is day 0. Entries before now were posted after now...…
I've played fantasy role playing games since I was about 14. We used to play every weekend but now we're lucky if we can get everyone together once a year. Most of the time we played AD&D, or our own "house rules" version of Rune Quest. We bought lots of other stuff, but never really got into playing them. This character sketch is from a Rifts scenario that I made notes for but never got around to running. The general gist of it was that the party were a group of misfits in a well-stocked bunker, in the middle of…
Kent Beck and the XP guys have a lot to say about the 'the system metaphor'. In XP the metaphor replaces what most other methodologies call 'the architecture'. It's a single, coherent, view of the system. It gives you a single story from which to choose the names of things in the system. It helps you communicate about the system in a consistent language that even your users can understand. Refactoring code to keep true to the metaphor is as important as refactoring to remove bad smells.…
Updated: 23-May-2003 Questioning Extreme Programming by Pete McBreen A useful analysis of the claims that the XP community makes and comparisons between the XP way and other Agile Methodologies. I'm currently about half way through and so far it seems like good stuff. It helps you understand what you can expect to gain from XP and if XP is the right thing for you. Often it wont be, but you may be able to learn something from it or use some aspect in your project anyway. Selling the invisible by Harry Beckwith Because I'd like more clients please ;) An…
In Asserts Redux Dan Dunham and Scott Shumaker are discussing how sometimes testers have to be able to work around assertion failures and how allowing them to do so dilutes the power of the assertions. The discussion moves on to how debug traces can get out of hand and eventually you drown in debug spew.…
The Order of the Silver Rose was a religious order of Knights in an AD&D campaign that I ran. The campaign was set in The Forgotten Realms and was based around the FRE1-3 scenario packs. Continue reading "The Order of the Silver Rose…
I always used to think that there was probably a good reason behind things I didn't understand. Now I'm far quicker at deciding that the reason is that the person who created the thing didn't understand either.…
I just took the What kind of thinker are you test over on the BBC site. Interesting results...…
Last night I had my first inline skating lesson with city skate at Spitalfields.…
The XP folks talk about the importance of making frequent small releases. This method has advantages over and above the obvious ones; not only do you get regular feedback from real users, you also get regular practice at doing a release...…
Joel Spolsky has a quick test to rate how good your software development process is. I thought it would be useful to see how the refactoring project scores.…
In March 2002 Vincent Hart, a freelance photographer, took some pictures of our flat with the intention of getting them published. His pictures appeared in the March 2003 edition of 25 Beautiful Homes.…
Bob Cringely has been upsetting some programmers with his comments on refactoring. Initially, he had this to say: "Cleaning up code" is a terrible thing. Redesigning WORKING code into different WORKING code (also known as refactoring) is terrible. The reason is that once you touch WORKING code, it becomes NON-WORKING code, and the changes you make (once you get it working again) will never be known. It is basically a programmer's ego trip and nothing else. Cleaning up code, which generally does not occur in nature, is a prime example of amateur Open Source software. He then followed it up…
In March we skied in Colorado. Beaver Creek, Vail, Breckenridge and Keystone. Excellent conditions. We were in Vail on the day after the big dump in March and had 18" fresh powder on top of the grooming. I took the video camera out when were we in Breckenridge. This is the result.…
Refactoring project going well; Just in time requirements project moving into a phase where we finally get end to end connectivity; skating hurts - lesson two, 2 falls and, well, my body is old :( I know why I ski and don't snowboard... Poker lessons and some people I used to work with a long time ago lose their jobs and are happy about it...…
One of the problems with the code base that we're refactoring is that it's full of dead code. This week we dealt with it...…
Last night I had some beers with some guys I used to work with. They were celebrating the latest round of redundancies. What was interesting was that generally the people that I spoke to that were still employed seemed less happy than the people that had been 'let go'...…
Last week we were a 5.5, now we're an 8. Not bad progress, but there's still a long way to go until the project can get a 'SaneMark'...…
I'm currently developing an online game for a client using The Server Framework. I didn't realise that it was an online game when they originally contracted me. It's become a useful example of emergent requirements. Each time I think the project is complete they come back to me and say "and now we want you to quote for doing X"...…
Lesson three was on Monday. We did 'going faster', uneven surfaces, moving curb dismounts ;) and parallel turns. I got on well with both. It's just a balance thing, which is good.…
I think best when I can scribble. When designing software I always draw boxes and lines. These diagrams give me an anchor to come back to if I get distracted. They get binned once they're no longer needed. Pen and paper is the only way I do this, Visio is great for after the fact diagrams, but it's too slow to catch the thought process. To be able to keep up with my thinking I need a pen that scribbles well. My current favorite is the Pilot G2 with a 0.7mm tip. Just thought I'd share that ;)…
I've always been a fan of DeMarco's work. I tend to nod my head and agree as I read, and wish that all the software development managers that I work with would read his books. Slack is an excellent analysis of the problems plaguing large corporations' software development efforts.…
I come from a family of pessimists, but I think I got off lightly... I'm just slightly on the 'doom and gloom' side of centre. I expect this probably accounts for my attitude to risk. I assume bad things will happen. I want to know what the worst case scenario is. I ask difficult questions in meetings. Just be thankful that you don't end up in a meeting room discussing your project with my sister...…
The refactoring project reached an exciting new stage on Friday. We were finally able to refactor some code to the point where several classes could be extracted from the application project and built in a library that the application then linked to. This required that we reduce the coupling of the classes and increase the cohesion. Once these classes were extracted we were able to set up a test harness project and write our first test case!…
Kent Beck demonstrates the testing side of XP by separating it out into its own simple methodology. Test-Driven Development is exactly what it says it is. The entire design and development effort is driven by the tests that you write and you're encouraged to write those tests first...…
Now that the refactoring project has tests it's worth having a daily build so that it's easy to spot if someone checks something in that breaks a test.…
As promised this week's lesson had us doing crossover turns and the start of skating backwards.…
Another week another release. Well, almost. The plan was to release today. The plan ignored the fact that most of the team are at a wedding this weekend and nobody was around today and nobody's around on Monday...…
Today -1 Week: Them: So, here's what we need by 9th June. Us: Ok, we can just about do that... Today: Them: Oh, add all of these things and put most of the things we asked for last week way down the list. Can you still do it by the 9th?…
Just watched "28 Days Later" on dvd. Very cool. Very British - very non-Hollywood. Scary film. The best bit?…
Ok, the blog looks crap in IE 5.x I've seen the stuff about hacking around the css bugs in IE but I'm not clever enough to hack the css sheet that I have to do that. If anyone knows what I need to do to fix it so that it looks nicer in IE 5.x, please let me know.…
I used to have pretty severe problems with my shoulders and right arm. Mostly mouse related; I think. When it was really bad I had a lot of shiatsu, which worked well and helped remove the residual tension in my shoulder. Now I seem to be able to keep it all at bay by drinking lots of water...…