Posts categorized 'Blog'

Contextual Lessons in DDD

Agile Vancouver is nearly over and after the bus ride home I had a great real world example of where Eric Evans' discussion on contexts in modelling was quite apparent. On my CBC messenger bag I have some buttons from some music artists I like. One of the buttons is for an artist named Ben Lee and the...

Continue reading "Contextual Lessons in DDD"

Introducing Secretary.Net

Like most OSS (Open Source Software), the creation for Secretary.Net was the result of the major pain I was having with my current work. The CBC Radio 3 website is very file and context heavy. The idea of a path to an image is meaningless without context. Is it the image for an Arist? How about a Concert...

Continue reading "Introducing Secretary.Net"

Book Review - The Art of Unit Testing by Roy Osherove

In a recent splurge I purchased 4 books from Manning Pres s with one of them being The Art of Unit Testing by Roy Osherove. I would categorize myself as relatively new to unit testing. My first hands on testing was when I took the Nothing but .Net bootcamp with JP Boodhoo but he emphasized BDD style...

Continue reading "Book Review - The Art of Unit Testing by Roy Osherove"

Riding The Lines-Of-Code Rollercoaster

Lines of code has always been a poor guide in measuring developer productivity. I'm currently reading Scott Rosenberg's Dreaming In Code and came across and interesting quote.

"Atkinson [ed: Bill] had just completed rewriting a portion of the Quickdraw code, making it more efficient and faster. The new version was 2000 lines of code shorter than the old one. What to report? He wrote the number -2000" -- Rosenberg

I couldn't help but smile when I read that. I have felt that some of my best coding successes are when I eliminate lots of code. This probably pushes Test Driven Development (TDD) as a great practice even further. Lately I've been a bit stricter by doing TDD. This means that I'm writing a lot more code, but as I get my tests passing I start refactoring and remove much of the code that's written. For every couple hundred lines of code I write, I eventually remove 50-80% of it as I glean knowledge from all the code I previously wrote.

It appears that LOC Rollercoaster development is an artifact of TDD and it's a great ride!

Continue reading "Riding The Lines-Of-Code Rollercoaster"

Unit Testing Domain Persistence With NDbUnit, NHibernate and SQLite

Ever since I've begun using NHibernate the number one thing that's caused me a lot of headaches is learning how to properly map my domain objects. Even the most basic mappings I wrote had bugs simple because I overlooked trivial items. This made me realize that I could save a lot of time and hassle if I unit tested by data access layer.

Continue reading "Unit Testing Domain Persistence With NDbUnit, NHibernate and SQLite"

When 1 Does Not Equal 1, A Debugging Tale

I'm starting to get comfortable with NHibernate but I've been cowboy coding it without any testing framework to let me know if my mappings are really doing what I think they are doing. I'm starting to get tired of manually interacting with my applications to see if things work so I've begun the course...

Continue reading "When 1 Does Not Equal 1, A Debugging Tale"

Creating a Loyal Customer By Failing

I've been following Ayende's trouble with a software licensing vendor and felt compelled to write a story that has a more positive light. Since 2003 I've purchased all my laptops from Dell. My first being the 600m model . Being one of the first models offered implementing the Centrino architecture, it...

Continue reading "Creating a Loyal Customer By Failing"

My Developer Resolutions For 2009

I've never made any New Years resolutions before. This year I'm going to break that trend simply to create a checklist of tasks to keep me on track. I easily get distracted, but having to check things off a list is a sure way for me to stay focused. Not wanting to over do it, I made goals that are easily...

Continue reading "My Developer Resolutions For 2009"

Wrestling with NAnt, MySQL and Input Scripts

I'm writing an automated database build for a project I'm working on and wanted to avoid having to write batch scripts with paths that are tightly coupled to the build environment. I managed to write out the NAnt targets exactly the way that I wanted: <? xml version ="1.0" ? > < project...

Continue reading "Wrestling with NAnt, MySQL and Input Scripts"

Handy Web Path Concatenation Code

Lot of web developement code is spent concatenating path snippets and I always hated having to deal with slashes. I wanted a function that was consistent with its return type, and very loose in its parameter requirements. I ended up with the following: Test First: using bddunit.core; using CBC.Radio3...

Continue reading "Handy Web Path Concatenation Code"

Options:

Size

Colors