July 17, 2016

Learn TDD with Codemanship

Oodles of Free Legacy UML Tutorials

See how we used to do things back in Olden Times by visiting the legacy UML tutorials section of the Codemanship website (the content from the highly-popular-with-your-granddad-back-in-the-day parlezuml.com).

I maintain that:

a. Visual modeling & UML is still useful and probably due for a comeback, and

b. Visual modelling and Agile Software Development can work well together when applied sparingly and sensibly

Check it out.

August 7, 2012

Learn TDD with Codemanship

Back To Basics as a PDF

You can now download all of the Back To Basics hype-free software development principles in a handy PDF for the e-readers and tree-murderers among you.

It's a staggering 11,300 words - roughly 20% of your average technical book - written in just one weekend, so please forgive any silliness and imperfections. Hopefully you'll get the gist of it all the same.

September 25, 2011

Learn TDD with Codemanship

Apes With Hobbies - Free Debut Album

It's a bit off-topic, I know. And this isn't going to be everybody's copu of tea, but I've recently released an album of my music (well, actually, 2 albums) which you can download for free.

If you're one of the twelve or so people in the world who like that sort of thing, then you can follow @apeswithhobbies on Twitter or give us the nod on Facebook.

You can also hear and download tracks from a bonus album of electronica called Synthopathic from the Apes With Hobbies last.fm page - which may come as good news for non-metal fans.

June 16, 2011

Learn TDD with Codemanship

New Forward For People Reading My Java OCL Tutorial

I checked the web stats for the recently relocated parlezuml.com site, and was slightly to dismayed to discover that the second most popular tutorial - after an introduction to use cases - is not something useful like TDD or refactoring, but (the horror!) the Object Constraint Language. What have thou wraught!

Let's face it, people only learn OCL to pass exams on OCL. In the real world, we don't use it.

So I've added a little forward to the Java OCL tutorial (nobody seems that interested in the .NET fersion, giving even stronger indications that it's being downloaded by university students and academics). Hopefully it will balance things out a little, and assuage some of my guilt.

If you're reading this tutorial, you're probably either studying for or teaching a computing or software engineering academic qualification.

How do I know this?

Simple. In the real world, almost nobody uses OCL. And by "almost nobody", I mean maybe 1/100 software professionals may have learned it. And maybe 1/100 of them ever use it. Learning OCL very probably is not going to get you a job as anything other than someone who teaches OCL.

I believe it is a useful skill to have if you want to really get to grips with UML, but I can state categorically, with my hand on my heart, than I have in my entire career used OCL in anger maybe twice.

Knowing OCL will not make you a better software developer, and you are unlikely to work with other software developers who know OCL, rendering it useless as a communication tool.

You may have been told about Model-driven Architecture. Back in 2000, it was going to be the next big thing. It wasn't.

On 99.9% of professional software projects, we still type code in a third-generation language into a text editor. Occasionally we draw UML diagrams on whiteboards when we want to visualise a design or analysis concept. You will find that some UML notations are still in widespread use - especially class and sequence diagrams, and activity diagrams for workflow analysis.

Consider OCL as being a classical language, like Latin or Ancient Greek.

It's useful to know, as it can give you some general background when applying things like Design By Contract, or even for functional programming. But it is, too all intents and purposes, a dead language.

Trust me, almost nobody out here speaks it.

Having said that, I hope you find this tutorial useful in passing your exams. And I look forward to maybe teaching you some useful skills - like test-driven development or refactoring - when you graduate and join the community of professional software developers.

Best wishes,

Jason Gorman

February 18, 2011

Learn TDD with Codemanship

Just One Of those Things...

So, obviously, parlezuml.com is back online. After 2 days of outage, support have chalked it up to "one of those things". Which is good to know.

December 8, 2010

Learn TDD with Codemanship

codemanship.com Issues & Temporary Training Page

If you've tried to visit codemanship.com or to email me via that address, apologies. The domain has been unavailable for the last couple of days and I'm in the process of getting to the bottom of that.

In the meantime, you can find details of the final TDD, refactoring and OO design master classes in Jan-Feb here

The Early bird offer (all 3 courses for the price of 2) ends on Saturday at midnight, so if you want to take advantage of that great special offer we'll need your booking confirmed this week.

January 8, 2010

Learn TDD with Codemanship

First Auditions For Software Craftsmanship 2010 Point The Way

2010 brings a winter wonderland to much of Europe, and the first good auditions for Software Craftsmanship 2010 have been carried in on those freezing cold arctic winds.
David Laing has sent me a link to an already pretty slick-looking session on TDD for databases, which touches on lots of great stuff and utilises a good range of test and build expertise which I personally need to get my head around.

Emmanuel Gaillot has submitted a very interesting demonstration of the Robozzle kata in Haskell (not, I suspect, the last Haskell audition we'll see). A very good audition which I'm confident will translate into a great session.

Robozzle Kata in Haskell from Emmanuel Gaillot on Vimeo.

At this stage, formal auditions have not begun, except for coaches, but I very strongly recommend sticking your videos up and getting early informal feedback, as David and Emmanuel have demonstrated brilliantly here.

The SC2010 community site should be up and running in early February, and you will be able to join, submit links to your audition videos and vote on the other auditions posted and give feedback. Auditions will run through February to May, and you will be able to rehearse and refine and resubmit your auditions as many times as you like during that period before the final votes are counted and selections are made for the conference.

If you're interested in coaching a handful of auditionees each month to help them improve their sessions (and can spare 5-10 hrs/month), then I still have room for 2-3 more of you lovely, generous folk to lend a hand. In the spirit of egalitarianism, everybody must audition, including coaches. You don't need to be a master software craftsman, just confident that you know sh*t from shinola when it comes to practices like TDD and refactoring. Coach auditions need to be with me before February. 20 minutes of basic TDD or a bit of refactoring would easily suffice. Email links to auditions here. Coaches will get major kudos and a goody bag, and I doubt it'll look to shabby on your CV that you were an official coach at Software Craftsmanship 2010.

Keep those auditions coming!

December 30, 2009

Learn TDD with Codemanship

Celebrate The New Year With Some Rubbish Demos I Recorded In 2009

And so we come to the end of another year. And what a year it's been! The first international conference on Software Craftsmanship. Boffoonery! in aid of Bletchley Park. And in those rare spare moments, and against all the advice of my elders and betters, Ive been recording demos of my really rather poor guitar music, which I present in their horrific entirety for your delight and delectation as a seasonal gift (or curse, depending on how you look at it).

These rough demos (very rough demos!) were recorded between Sept and Dec 2009 using RiffWorks, which I highly recommend for getting stuff down quickly without the usual "noodling" you get with Pro Tools, Cubase etc. Unless otherwise stated, guitar is an Ibanez RG2550Z (black and pointy, just the way I like them) and bass is a Peavey Cirrus through a SansAmp Bass Driver. I played all parts, except for the very sloppy bits, which were played by someone who broke into my flat and over-dubbed my originally faultless playing

Take No Pensioners

I've dedicated this fine example of demo quackery to my stepmum for her Herumphtieth birthday. The first track I did in RiffWorks,
and first track using the speaker-emulated output of my new Blackstar HT-Dual pedal.
The solo really sucks. Sorry, I just couldn't resist a bit of 80's Big-Hair-Open-Wah wankery.

Chunky's Revenge

More sloppy Big Hair wankery, this time in a Vai-esque lydian groove (you'll be hearing a lot of that, I'm afraid), with the HT-Dual and a nice clean sound courtesy of my Damage Control Liquid Blues pedal. Through a Damage Control Timeline tube-based delay pedal (the best-sounding I've heard). A lovely tubey lead sound. Must be all those tubes. Tubes still rule in metal!

Snakeskinned Alive

Wanky, wanky, wanky! Nobody likes this demo. Well, I do. But nobody normal. Used the Radial Plexitube pedal for a nice British sound through the POD X3 doing just cabinet/mic simulation. Like you care...

The Long Ride Home

All POD X3. 100% digital. I think there's a simulated Ibanez Tubescreamer in their warming up the clean sound. And lots of long delays and backwards guitar. No synths. All guitar. My feeble attempt at a David Sylvian/Robert Fripp-style affair

The Heavymetallist

This is my test track. I've done a demo with it four or five times to test different set-ups. This is the version I did after I discovered the amazing Recabinet convolution reverb library. I've never heard a better approximation of real guitar cabinet/mic combinations. For $15. Pity about the actual playing.

The Girl From Panama

I was drunk. It was late. My neighbours hate me. I was aiming for an Al Di Meola vibe. Well, sort of. If you listen carefully, you can hear the metronome ticking away at the end. Just a Yamaha CPX700 semi-acoustic through a Shure SM57 mic and massive reverb from the POD X3.

The Heavier Metallist

Tried to make a more atonal version of the Heavymetallist with insane distortion courtesy of the POD X3. "Tried" being the operative word.


Okay, so this is all HT-Dual and Recabinet, and I dusted off my metallic red Tokai Strat (they make better strats than Fender, IMHO). Yes, it's a big long lydian solo. Again. Wanky, wanky, wanky.

Pass The Napalm (On The Left Hand Side)

Recabinet + Damage Control Solid Metal in face-melting "Nuclear Mode". Your granny will love it.


Recabinet + Solid Metal (at half-mast) in ill-advised attempt to recreate the minimalist sound of the eponymous Swiss metallers, complete with completely-out-of-place and very badly executed effect-laden solo

September Summer

Some acoustic stuff with a very slow jazz/latin feel and the strat doing the honours at the end. Just listen to that intonation. I'm not a qualified guitar tech. I know, it's hard to believe, but it's true. I was planning to add something, well, interesting. But lost interest.

Devin Sent ("The Man From Canada")

Dedicated to my Dad, who is from Canada. HT-Dual. Timeline. LOTS of delay. Then added a suboctave to beef up the sound using a TC-Electronic G-Major along with cavernous reverb in a vain attempt to disguise my awful playing. The final finish was some synth fairy dust courtesy of the stupifyingly powerful Omnisphere. My tribute to the actually talented Devin Townsend, who is also from Canada.

April 30, 2009

Learn TDD with Codemanship

Codemanship Is Coming

Those of you whose hobbies include typing in infinite numbers of random domain names into your browser and seeing what web sites come up may have noticed that this blog is now the holding page for www.codemanship.com

I'm going to be building a new family of ideas and services around the Codemanship brand, and like all good families, we already have a motto:

Curo. Cognosco. Factito. Communico.

"To care. To learn. To practice. To share."

March 6, 2009

Learn TDD with Codemanship

My Lovely But Still Overdue SC2009 Summary

So I finally got around to following up on last week's amazing Software Craftsmanship conference. With the formalities out of the way, I just wanted to add some personal notes about the experience, because that - apparantly - is what blogs are for.

First of all, I just want to go on record and say that I got a real kick out of organising this conference. I had some great help from Peter Camfield, Kerry Jones, Robin Doran and many others that meant that pretty much everything went smoothly on the day. It was an absolute pleasure to put together, and hearing the very positive - some might even dare to say "gushing" feedback on and after the day was the icing on the cake.

I was really chuffed with the programme we ended up with, and - contrary to how it almost always works - doubly chuffed to see expectations being exceeded in the execution of those sessions. I think we got a kick-arse, A1 bunch of sessions and session leaders, personally. I couldn't have wished for a better start to what may well turn into a new series of conferences and other related events.

Talking of feedback, I really, really think we're on to something here. Software craftsmanship is not a flash in the pan, I suspect. It's not just Le Fad De Jeur. Being surrounded by 100 committed professionals who genuinely care about what they're doing and who are 100% dedicated to learning and improving has been one of the highlights of my checkered programming career. I want more!

And I'm going to get it! SC2010 is definitely on the cards now, and I'm feeling very confident about pushing the envelope next year and taking this conference boldy to places where no conference has been before.

But 2010 is still a loooooong way aways yet. SC2009 had a palpable energy and momentum. You can feel it when you watch the Vox Pops video. And a sentiment that came out in much of the feedback I heard on the day is "let's make sure this doesn't fizzle out". So I'm looking with some urgency into setting up a regular get-together here in London where we can get hands on together, run dojos and katas over a coffee or a beer. Frankly there's been too much lips-flapping and not enough key-bashing of late, and we need more opportunities to - as Frank Zappa so eloquently put it - Shut Up And Play Our Guitars!

But London's just one little part of the world where craftsmanship has caught fire. There are other flames being fanned in far-flung places like Chicago, for example. Ironic that in a city named after their politician's empty rhetoric (the "windy city") we have a strong and rapidly maturing tradition of software craftsmanship growing thanks to folk like Micah Martin at 8th Light, Dave Hoover at Obtiva and - lest we forget - Uncle Bob Martin and Mike Feathers at Object Mentor. Micah crossed the pond especially for SC2009, I'm told, keen to see what's going down here in London. I'm equally keen to forge links with craftsman in Chicago and wherever else in the world they may be found.

In these days of global warming and rising fuel costs, though, we should look for ways to achieve rich international collaboration and sharing through technologies like Skype, desktop sharing, videoconferencing and atomic carrier pigeons (okay, I may have made that last one up). Hopping on planes and seeing folk in the flesh is going to be a necessity, I'm sure. But it's not a scalable or sustainable route to the level of sharing that I think we're going to need to really drive craftsmanship forward across borders.

On a totally personal note, it was very refreshing to see the "A" word taking a back seat at a conference for once. sure, lots of Agile folk there and lots of Agile practices, but the word that dominated the day was "craftsmanship" - which is as it should be now.

So, my summary summarised - By Jingo, I Think We May Be On To Something, Here!

Well, that's enough superlatives for one day. I'm off to read a whitepaper on some Model-driven Architecture nonsense.
Until next week, toodle pip!