8th Light's software craftsmen are bonded together by their singular pursuit of mastery. We challenge ourselves constantly to learn and grow through a combination of...more.
Coauthored by Kelly Steensma Wikipedia defines a kata as a detailed choreographed pattern of movement. Based on the Japanese word meaning "form", katas were originally...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 generous...more.
"The Manifest for Software Craftsmanship is obvious!" "How could you not agree with it?" "Duh!" These are common reactions to the Manifesto. As an example,...more.
Today we released a new and exciting version of Limelight. Just a reminder, Limelight is a user-interface framework for Ruby. Included in this release are...more.
Last week concluded the Hangman Ruby Sparring Tournament. Unlike the previous Battleship Tournament, I put the effort in to write a competitive hangman player (of...more.
Several months ago, I hosted the Ruby Battleship Tournament. It was an all-round fun event where craftsmen sharpened their claws and pitted their skills against...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 of...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 twice before....more.
Yesterday in my talk at RubyConf2008, I announced the commencement of the Ruby Battleship Sparring Tournament. This is an open tournament. All are welcome to...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 proud...more.
Last week I attended Agile 2008 in Buenos Aires, Argentina. It was a fun, high energy conference. The highlight was a heated panel discussion at...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 office. Hope...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 the...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 to share...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 https://github.com/slagyr/limelight. https://github.com/slagyr/limelight...more.
Back at RubyConf 2007 I prepared a 1 minute presentation, well…more of a teaser, about an application framework called LimeLight. What is it? LimeLight is...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 them,...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 Code talk at RailsConf...more.
Last night I presented the Ruby Statemachine Gem to the Chicago Ruby Users Group (Chirb) Below are links to download the slides and coding example...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 vending...more.
If your situation matches the following conditions, beware! You’re working in rails. You’re using Postgresql. You’re storing binary data in the database. This was the...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 machine....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 handy,...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 automated...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 good...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 to....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 is...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 happily...more.