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.
Today we released a new and exciting version of Limelight. Just a reminder, Limelight is a user-interface framework for Ruby.
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.
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.
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.
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.
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.
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.
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!
- You’re working in rails.
- You’re using Postgresql.
- You’re storing binary data in the database.
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.
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.
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.
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.