People ?

(alphabetical order)



Paul Hammant

Paul is 35, works for ThoughtWorks UK. He used to freelance but is now very happy at TW. Paul practices XP on client sites and  loves open source on which he is chief zealot for TW. He also works at Apache on the Avalon project and AltRMI. He loves the simplest thing as a design metaphor, hates too much XML. He loves the lowest common denominator (LCD) as a mechanism for facilitating divergent designs. To that end, he encourages multiple implementations of LCD ideas and APIs. Paul hopes to see Milli, Kilo and Mega implementations of the Pico idea.  He hopes to see a myriad of interchangeable Pico Components. He hopes to see standard APIs for components emerge from those implementations, but never be forced when teams cannot agree. It would be fairly easy to guess that Paul does not like big up-front design. That not withstanding the fact that he used to do bucket-loads of it  Paul with Aslak, wrote the first lines. Paired, under the influence of a couple of beers, and based on Joe's story of type 2 IoC with Rachel Davies at the start of June 2003.



It is also worth noting that I got drunk with Aslak to start this on the day a world class coder was effectively expelled from Apache. I voted against that. I won't go into details, but believe that it was wrong.  Pico was a way of handling the pain I felt.  It deliberately embraces the LCD ideal, and multiple implementations. I will eternally resist the unification of all Pico and Nano containers, and also resist a big fat XML design for declarations of component needs and wants in Pico and Nano containers.



Mike Hogan

Paul asked me to introduce myself to the list so you can get a better picture of what I'm about. I'm not great at these bio pieces so I'll use a section of Pauls email to prompt me:



>could you introduce yourself to the mail list? A few >paragraphs on who you are what makes you tick, how old, >where live, passions, philosophy, >methodologies, design ideals, hopes for Pico etc

Right then. I'm 30. I'm from a small town in the middle of nowhere in Ireland. I'll buy you a pint if you've head of it. "Clara". In Irish it means "flat place". It is. The Irish don't have much imagination. Except for Joyce.



I've been in software for about 10 years. Highlights include tech lead on Iona's OrbixWeb orb, research on a "next generation case tool" that has patents pending (although company is now bust). Currently freelancing through IBM into Nokia where I'm leading a team that produces the user administration component of a B2B portal. I'm personable, a good leader (by example, I like to think) and practical. I refuse to get involved in politics and try to "fight a good fight" by focussing on getting the job done. I'm living in Helsinki, near the sea.



My primary non-software hobby is fiction writing. I post some of it, the humorous stuff, on my personal website www.mikehogan.net. The picture there is not really me :-) I see a large overlap between fiction writing and software writing and the connection gets stronger in my mind the more I do both. Fundamentally both are about encoding of knowledge. One executes in a CPU, another in a brain. I feel our industry we might have something to learn from the writing industry, where there are career disciplines that we don't have, namely editor, critic and reviewer. I can go into this in more detail when the thoughts properly fuse in my head, maybe in a blog. Its an interesting discussion.



Anyway, back to software. I'm on the agile side of the agile-BigM divide. I believe that the single most important thing in software is the code, and never cease to be amazed by how complicated the world of management have made things. As such, I personally strive to install many of the XP practices where I work, within the limits of the corporate culture, although I try to avoid the word "extreme".



My passion is hard core OO, which is what I want to master. I have a long way to go, but I believe this knowledge transcends all technology fads and is therefore one of the underpinning disciplines. Of the paths open to me, I am not totally gone on an "enterprise architecture", management, methods, web services, bpel etc. So I want to really master the craft of decomposing a system in to an elegant domain object, hence my interest in component oriented programming, aspects, composition and the kind of software metrics preached by Robert C Martin/Mike Clark.



Design ideals? I have none that are unique. I try to follow the advice of the agile movement and iterate (see, this is like fiction, except writers call it "drafting"), unit test (I am not yet a hard core TDDer), keep it simple, document only when necessary (and even then on a wiki), refactor. If I was forced to chose one design over all others it would be the Pragmatic Programmers "Don't Repeat Yourself". If software is about encoding knowledge, then it is done most efficiently and elegantly when there is no repetition. (The same applies in fiction: a sentence that repeats words already in the sentence is not a nice sentence). BTW the Pragmatic Programmer is one of my fave books, along with Code Complete and anything Martin Fowler writes.



My hopes for Pico. I hope to grab Scott McNealy by the scruff of the neck, drag him down here and say "See this. Huh? See this PicoContainer thing right here? Make it part of core java right now or I'll flatten ye". I hope that Pico becomes the de facto approach for all future software, that there is a rich world of components, that components are locatable and easily composed. I'd like to see it facilitate interceptors, and maybe also a community of interceptors. I'd like to see it facilitate component composition via mixins. I'd like to see it facilitate lookup of different impls of a given interface based on a key (Paul reckons there is a better way). I'd like to investigate whether Nano can provide base classes that enable common functionality like logging. Check out

BackPedalNanoContainer

. Makes for neat code. I'm interested to see if there is something that can be done with JMX and Nano (hazy here), since I think management is one of the great neglected areas.



I have other aims too. I want to write a framework that produces a UI directly from an object graph. Similar to NakedObjects, but more an embeddable thing than an application framework. And once thats done, I want to complete the project I started that provides project management with brains. Now, I said I was on the agile side of things and I am. But many companies are not and will never be. They insist on their microsoft project and anal tracking and projection six months into the future. Thats how it is for me now. I have to fill out spreadsheets, proprietary forms, databases and paper work to say I worked a 60 hour week and task x is 80% done. I believe most of this stuff can be replaced by a computer. So this tool makes all this crap effortless for the developer, keeps managers from your desk and still provids them with all the data they like to play with.



Jon Tirsen

TODO



Chris Stevenson

I have worked for ThoughtWorks UK since mid 2002, after moving to the UK from Adelaide, South Australia (where all the good wines come from).

I seem to be getting into the habit of working on really pathological legacy systems and leaving them just as they start to get interesting. Componentization is a key tool in fixing these beasties, hence my interest in containers.

I am a big fan of simplicity and what I think of as 'sensible defaults' and the half hour rule - if I can't get it doing something useful in half an hour then its probably not worth it.

Joe Walnes

TODO