Tuesday, 27 February 2007


Random non software related post!

For years and years I've had a practice katana (not a sharp blade) since it's generally far better for keeping your body parts attached to the proper places.

However, I just bought a hand forged katana from http://www.gengswords.co.nz/

I'm also looking at getting a second one from the same place (you can never have too many swords!)

Saturday, 24 February 2007


This looks fun :) We need 1 or 2 people to make a team, contact me if you're interested :)

The first UPA Auckland event this year is going to be an Interactionary on March 6th.

Interactionary session

Imagine a cross between Theatre Sports and NZ Idol meets User Centred Design.

Want to play?

Form a team of 3-4 people before the night and RSVP your team name, team captain’s contact details and team members’ names to auckland@upa.org.nz before February 28th.
Take the challenge of solving a design problem revealed on the night and design a solution in front of your peers in just ten minutes and scored by 3 guest judges.

You will be scored on the following criteria (although scoring isn’t the primary goal, having fun is):

* Teamwork: * Process: * Final Design: * User focus:

You wont know the design problem until the night. Depending on the number of teams, heats will determine 2 highest scroring finalist teams who then play off in the final design problem.

If you would like to be part of the interactionary but don’t have a team, email us and we’ll match you up.

* RSVP: Please RSVP to auckland@upa.org.nz by 5pm Monday 5th March (for observers, by 28th of Feb for teams)
* Time: 6pm onwards for drinks and nibbles.
* Talks start at 6.30pm. Finishes at approximately 8pm
* Cost: $10 cash at the door. Please bring correct change.
* Location: Bank of New Zealand, 3rd floor, 125 Queen Street, Auckland
* Late entry: Call Mark McLay on 029 222 00 16 if you have difficulty getting in or arrive after 6.30pm

Usability Professionals Association of New Zealand, Auckland cluster Auckland’s UPA meetings are usually held on the last Tuesday of each month.

Monday, 19 February 2007

Lean Software Development

Recently we had Mary Poppendieck give a talk at Agile Auckland

Mary is a great presenter and she really knows her stuff! I orginally met her at OOPSLA in 2004 where she was giving talks and promoting her book Lean Software Development.

Anyone interseted in Agile ideas should have a look at her stuff. Especially if you don't buy into "All" of agile and are more interested in customising "agile ideas" to your own enviroment.

Anyways, the slides for her presentation she gave can be found at http://www.agileauckland.com/Beyond_Agile_Auckland_2007.pdf


In my continued effort not to have to think too much about my blog posts, the following link was posted to the XP list by Michael Feathers.


Saturday, 17 February 2007


gotta love this paper from 1960. 47 years ago, a new language concept of conditionals for a new language called "lisp"However, it still shows an elegant way of solving certain kinds of problems that a lot of languages still don't have

Friday, 16 February 2007

Million Times faster Regular Expression matching

This is an interesting article on the state of Regular Expression matching in a lot of "contemporary" languages.

Thursday, 8 February 2007

Multithreading and Lua

There's a cool quote in the paper The Evoloution of Lua (Section 5.4) that says...

"Second, and more important, we did
not (and still do not) believe in the standard multithreading model,
which is preemptive concurrency with shared memory: we still
think that no one can write correct programs in a language where
‘a=a+1’ is not deterministic."

It certainly makes it blimmin difficult to write correct software.

For those who don't know Lua, its a great scripting language that's a good balance between scheme/lisp/ruby etc. Its easy to embed into an application (in fact a number of games use it), its fast, it's simple, nice syntax, and powerful. www.lua.org . One of the interesting thing about Lua is that it doesn't have native support for OO (in the way C++ / Java / C# / Ruby) do. But because of its meta programming approach you can add OO constructs. You can define what a "class" is and how "inheritance" works. Which is more lisp like. This approach is quite good, as it means it's a "multi paradigm" type language, where you can program "functional" or "OO" or mix it all up, create DSLs, or whatever. The disadvantage is that you can end up with a bunch of different approaches that don't mix well.