August 7, 2012
Back To Basics as a PDFYou 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
Apes With Hobbies - Free Debut AlbumIt'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
New Forward For People Reading My Java OCL TutorialI 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.
February 18, 2011
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
codemanship.com Issues & Temporary Training PageIf 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
First Auditions For Software Craftsmanship 2010 Point The Way2010 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.
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
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
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.
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!
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...
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
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.
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.
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.
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
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.
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
Codemanship Is ComingThose 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
My Lovely But Still Overdue SC2009 SummarySo 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!
Software Craftsmanship 2009 Follow-UpThis went out as an email to delegates, but is reproduced here for completeness
First of all, if you made it to SC2009 on Feb 26th then a big hearty thanks for helping to make the day the success that your generous feedback suggests it was.
An especially big thanks goes to everyone who ran the sessions. Your hard work is much appreciated.
Also, many, many thanks to Robin Doran from BBC Backstage, Peter Camfield from BBC Worldwide and Kerry Jones from BBC Future Media & Technology for all your invaluable assistance in putting the event together. Thanks, too, to all the BBC delegates who helped out on the day. You did a sterling job.
The event was very generously sponsored by BBC Worldwide and BBC Backstage. You should check them out, 'cause they're doing some pretty cool stuff these days:
A few announcements:
* Were you at Keith Braithwaite's excellent TDD As If You Meant It? session? Do you still have a copy of the code you worked on? If the answer is Yes, then you might want to consider donating it to science! Please send zipped-up copies of your code to Dr Sue Black from University of Westminster so she and Steve Counsell from Brunel University can perform deranged experiments on it that hopefully will produce further insights into software maintainability.
* Don't forget to pay a visit to Sue's website dedicated to Saving Bletchley Park and see if you can help.
* A reminder about the upcoming Software Practice Advancement conference, which is being held in London this year at the BCS offices in Covent Garden starting on April 5th. I'm running a session on scaling up design reviews using automated code analysis. Apart from that, the rest of the programme looks pretty good, though ;-)
* Another reminder about Rachel Davies' Agile coaches gathering event which is being held at Bletchley Park on 22-23rd May
Immo Huneke has posted the outputs from his excellent and intimate session on My Favourite Keyboard Shortcuts on the - now publicly accessible - conference Wiki:
Gojko Adzic has posted slides and related material from his well-received session on Specification Workshops:
Nat Pryce's notes for his fascinating session on Testing Asynchronous Systems can be find here:
Ivan Sanchez posts his session materials for 5 Reasons To Have Coding Dojo here:
Feedback from the Blogosphere
Kerry Buckley very nicely summarises some of the sessions:
Gojko Adzic's great write-up of TDD As If You Meant It:
Markus Gaertner's summary of the conference:
Diego Pino shares his thoughts here:
Richard Fennell gets his thoughts down on virtual paper:
BBC Worldwide's Rob Bowley blogs about SC2009 and posts a great pic that illustrates how busy lunch was!
.NET journeyman Tim Ross posts:
SC2009 Vox Pops video
Will there be a Software Craftsmanship 2010 conference? Very probably, yes. Watch my blog for developments, and get your thinking caps on for session ideas.
Where do we continue this dialogue? A good start would be to sign up for the Software Craftsmanship Google Group. Many of the folk you might have met on feb 26th are known to frequent the Extreme Tuesday Club in London. Also, you'll find us at Software Practice Advancement, XPDay and many other Agile-leaning events.
What about a specific regular meet-up on Software Craftsmanship? Bingo! Great idea. What a clever fellow you are for suggesting it :-) Yes, we shouldn't let the energy and momentum we gathered at SC2009 fixxle out, so I'm going to propose a regular meeting that will be a sort of mini-SC2009 where we specifically meet-up with our laptops for hands-on learning, sharing, practice and alcohol. (The four major food groups, I think you'll find.) The XTC venue is too noisy, really. So I'll be seeking out a friendly venue with a decent-sized function room and maybe even a projector and screen. I'm also leaning very heavily towards a weekend timeslot, because my brain is usually pretty frazzled by 7pm on a weekday! Keep an eye on my blog, and on the Google group, for announcements very soon.
I'm sure I've forgotten something, but isn't that always the way. Drop me a line with any thoughts, complaints or offers of easy money.