The March 21st edition of .Net Rocks was my favorite show so far. The topic was Test Driven Development with Jean Paul Boodhoo and the show was very good. Jean Paul Boodhoo provided some great insights into TDD, Mock objects, and agile approaches to software development.
Whether you're a devoted TDD advocate or not, the show is worth checking out. I can also recommend checkingout Jean-Paul Boodhoo's blog.
James Shore has written a very straight-forward introduction to dependency injection. I agree with James, the concept is simple, powerful, and usually appears to be complicated because of the way it is explained. You can find the article here.
I ran across this article from Fortune discussing the history of the cubicle. In my view, cubicles have been the primary catalyst of bad organizational communication. I've always hated cubicles and the silence that usually accompanies a cubicle farm in the majority of the offices that I visit. Regardless, it was interesting to read about the progression of the cube and the fact that the original creator (Robert Propst) was likely not happy with what the concept has morphed into.
I'm glad that there are quite a few companies and individuals looking into ways that we can reclaim the original idea of maximizing our workspaces. I'm not sure what the right answer is, but I know that it's not based on restricting communication. At least for development purposes, I think we all need to get outside of the cube. There are some interesting thoughts posted on the C2 wiki, but my recommendation would be to burn the damn things.
Disassembling cubes is nice, but the problem is that they stick around to haunt new employees or they go and spread their evil to other workplaces. If you burn the cubicles then you have a great excuse to have a party with your employees and you can all celebrate the removal of communication barriers. I haven't had the pleasure of attending a real cube bonfire, but I'm hoping that one day I'll be able to participate.
In the meantime, I suggest getting everyone in one room. It's hard enough to deal with our day-to-day issues that come up in the business world and sitting together allows for the free flow of communication and ideas throughout the team. There are justifications for needing privacy, but the times for privacy are fewer than the time that's typically needed together. Everyone needs a space where they can get away, but this should ideally be the exception and not the norm.
BTW, if anyone gets some buy-in to have a bonfire please invite me.
The Front Range Code Camp will be held in Denver on May 20th. There should be some great sessions and everyone that can make it should try and attend to help support the local community. I plan on attending 
This article made me smile.
Why can’t we just all do things this way?
It’s possible, it’s easier, and it makes sense.
I can only hope that one day we’ll all wake up from the nonsense that we’ve believed for so long and ask “What the hell were we thinking?”
About a week ago I purchased the Getting Real book from 37signals. I’ve been eagerly waiting for this book to come out for a while now and I can say that it was well worth the wait. The book (available only as a pdf) is entertaining and very thought provoking. I can say that I agree with almost every one of the statements and sections in the book.
The biggest value for me in the reading of the book was the ability to be exposed to ideas for design as well as development. My primary activities mostly center around development on a day-to-day basis, but the insight into the design ideas in the book were a big eye-opener for me. I’ve preached most of the development-centric practices that are outlined in the book and it was nice to view the logic behind each of the sections in the book. The book also contains many good quotes that are provided from a diverse set of individuals.
I would recommend this book to anyone and promise that it will be well worth your $19.
My wife just received her real estate license and one of the initial things she had to do was to decide on a business card. As part of this process, we started to look around at different sites and examples of typical real estate business cards. I can honestly say that I didn’t find even one example that I thought was designed well.
Why is it that so many business cards suck? This isn’t just in real estate, it’s everywhere.
We finally came up with a design, but it’s nothing close to any of the ideas that we found online or the examples that she was given.
One business card of note (the one that provided the inspiration to design a card that doesn’t suck) can be seen in the “Down with Titles” post by Garrett Dimon. I love the fact that the card is simple, informative, and memorable. The accompanying presentation for the design of the business card can be found here (pdf).
I was double tagged (by Dave and Jim) for the four things meme, so here are my lists…
Four jobs I’ve had…
- Snowboard Shop Employee
- Developer
- Technical Manager
- Principal
Four movies I could watch over and over…
- Napoleon Dynamite
- Office Space
- Any Robot Food Movie
- Dancing Outlaw
Four TV shows I love to watch…
- 24
- Entourage
- Dwell
- Laguna Beach (I can’t believe I admitted that)
Four places I’ve been on vacation…
- Whistler
- Antigua / Barbuda
- St. Kitts
- Paris
Four favorite dishes beverages (I only eat chicken and pizza, so I’m modifying this one)…
- Mojitos (w/ pineapple and strawberries)
- Eclipse (1/2 blue moon, 1/2 guinness)
- Tommy Knocker Jack Whacker Wheat Ale
- Denver Pale Ale
Four websites I visit daily…
- My Backpack Account
- Inhabitat
- Signal vs. Noise
- Ski Bonk
Four places I’d rather be…
- Whistler
- Silverton
- Climbing a 14er
- The dog park
Four bloggers I’m tagging (I’m going out on a limb here, but what the hell)…
- Tom Peters
- Brad Feld
- Dan Pink
- Seth Godin
I’ve been playing more and more with Ruby On Rails lately and it has been a very mind-opening experience with regards to many of my ideas around application architecture. There are many wonderful things about Rails, but the idea (and implemenations) of “convention over configuration” is demonstrated beautifully within Rails.
My development experience has been primarily centered around .Net since the early betas of .Net 1.0. I’ve completed dozens of production systems with .Net and there are many ideas and thought processes that repeat themselves over and over throughout each project. In some of my earlier projects, I played with the idea of convention and decided that there was too much “magic” in many of the convention-based implementations that I participated in. After a few different attempts, I finally gave up on convention and fell back to the typical .Net configuration as the norm for my projects.
I have to say that Ruby On Rails has completely changed my views on the power of convention. From my (limited) experience with Rails, I would have to say that the conventions that are built into Rails provide provide a ton of acceleration in producing working web applications. I love the idea that almost everything is based on convention.
The way Rails encourages convention provides for rapid development, prototyping, and results in cheaper applications. Convention is encouraged throughout Rails by assuming that you are following convention (plural table names, primary keys named id, urls indicating actions, etc.) while still allowing the flexibility to deviate from the conventions when necessary.
I’m still not sure that one-off conventions are extremely valuable in .Net because they would not be standard conventions and would likely widely differ between projects and across companies. I think that the potential is there, but some type of framework would need to be established to (at least partially) encourge common conventions across projects. As an idea, convention is a very powerful concept, especially when it’s built into a framework (or an acceleration platform). I’m hoping that something is on the horizon that will provide this concept to .Net and that it gains traction soon. I would love to be able to write .Net applications at the speed that I can implement Rails applications.
I’ve consolidated all of my old technical blogs over to this blog. Sorry for any inconveniences this might have caused in your aggregators.