Transformation Priority Premise Applied
At SCNA 2012 I entered into a kata battle against Aaron Bedra. The idea was that we'd both perform the Coin Changer...more.
At SCNA 2012 I entered into a kata battle against Aaron Bedra. The idea was that we'd both perform the Coin Changer...more.
8th Light has accumulated a lot of servers, the cloud kind, over the years. Each one configured by the team that was building our internally...more.
I interviewed a bright young woman today who is graduating from high school this spring among the top of her class. Despite having several...more.
"The Manifest for Software Craftsmanship is obvious!" "How could you not agree with it?" "Duh!"
If you had asked me two years ago, I would have said that purchasing a service company makes very little sense.
A service...more.
While working on website for my sister, I was perturbed that there were no libraries on Clojars for sending email. I was...more.
Today we released a new and exciting version of Limelight. Just a reminder, Limelight is a user-interface framework for Ruby.
Included...more.
Last week concluded the Hangman Ruby Sparring Tournament. Unlike the previous Battleship Tournament, I put the effort in to write a competitive...more.
Several months ago, I hosted the Ruby Battleship Tournament. It was an all-round fun event where craftsmen sharpened their claws and pitted...more.
Here’s the situation. You’ve spent days working on an open source project. Your sweat, blood, and tears have been poured into thousands of lines...more.
I’ve recorded my Langston’s Ant kata for all to see. This particular kata, with slight variations, has been in front of an audience...more.
You remember the classic Simon game, right? The one where the electronic devise will blink a color and make a sound that you have...more.
Yesterday in my talk at RubyConf2008, I announced the commencement of the Ruby Battleship Sparring Tournament. This is an open tournament....more.
This release of limelight contains many new features and stability. Perhaps most notably, Limelight will no longer eat 95% of your CPU (ouch)! I’m...more.
Last week I attended Agile 2008 in Buenos Aires, Argentina. It was a fun, high energy conference. The highlight was a heated panel...more.
I'm pleased to announce the inception of the Software Craftsmanship Group. http://groups.softwarecraftsmanship.org. The first meeting is October 13th at 7pm in 8th Light's...more.
As craftsmen, we're proud of our work. Yet it's rare that we get the opportunity to show off what we do for clients. Fortunately...more.
Craftsman Clarification: There has been some discrepancy in the use of the term “Software Craftsman”. Rather than going into details about various uses of...more.
David Chelimsky has tagged me with this “chain-blog.” I have enjoyed reading other peoples’ stories and I thought I would take the time...more.
I’m pleased to announce the open source Limelight project: A thin client and application framework written in Ruby (JRuby). Check it out at
Back at RubyConf 2007 I prepared a 1 minute presentation, well…more of a teaser, about an application framework called LimeLight.
What...more.
Ruby files have to require other files. There’s no avoiding it. Techniques to manage require statements are numerous and varied. Having tried most of...more.
There’s a common pattern I’ve seen for developing DSL in Ruby. It’s used in RSpec, the Statemachine Gem, and Unclebob’s Clean...more.
Last night I presented the Ruby Statemachine Gem to the Chicago Ruby Users Group (Chirb) Below are links to download the slides and...more.
Often in Statemachines, duplication can arise. For example, the vending machine in our examples may need periodic repairs. It’s not certain which state the...more.
If your situation matches the following conditions, beware!
...more.
If you’re doing any significant amount of work with statmachines, you will most certainly encounter some conditional logic in your Statemachines. Take our vending...more.
In my younger days I was a Line Cook at the Olive Garden. In case you’ve never worked in the food industry, Line Cooks...more.
Using FitNesse allows you to communicate with the customer up front. Before a line of code is written, you can have all the...more.
Part One demonstrated how to build states and transitions. If you go ahead and add some actions to that and you’ll have a truly...more.
I consider Statemachines to be a programming gem. An invaluable tool for the software craftsman’s toolkit. It’s not everyday that a Statemachine comes in...more.
BOC is a testing pattern that Unclebob briefly mentioned on fitnesse.org shortly after it was published. It describes the typical steps taken in an...more.
I heard about the Getting Real workshop from a good friend who is a web designer/developer. We used to talk some time ago about...more.
This past Monday my colleagues and I went to 37 Signals’ Getting Real workshop. Overall I give the workshop a thumbs up. They...more.
Show me a software craftsmen and I’ll show you someone who can program in any language if they had to. From time to time...more.
David Hoover asked me a few questions about my experiences as a software apprentice. I was happy to answer his questions and pleased...more.
I’ve been meaning to learn Smalltalk for years now. Recently Dave Astels and I have a had a few discussion on the topic. They...more.
David Chelimsky puts it gently…We’ve actually had some heated arguments about these mocking frameworks and it’a all kinda silly. In the end we’re writing...more.
Work has me visit lots of software teams around the world. This past week I visited a particularly fun team. They worked in a...more.
Once upon a time there live a young girl named Jill and her next door neighbor Jack. Perhaps you’ve heard of them. When Jack...more.
This IConvention is an interesting one: “Let’s prefix all interfaces with a capital I.” Who thought of this? Why did they think it was...more.
Delegates: one of the few unique aspects of .NET. How useful are they? Here’s a delegate declaration. The syntax can take some getting used...more.
What is building software like? The common belief is that software is like engineering. Most people seem to think that building a software system...more.
Recently I was working on FitNesse to solve the problem of large file uploading and downloading. Previously when a file was downloaded FitNesse would...more.
It is unavoidable. Every story must go through these milestones of life in order. A story cannot be estimated if it has not been...more.
Tiger Tech Talk, Chicago. This was a free, one day, conference held by Apple. The intent was to give developers a preview of...more.