Riding The Lines-Of-Code Rollercoaster
"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"
Top 5 Things I Can't Compromise In Web Development
Over the past few months I've realized that I'm a stubborn mule when it comes to certain aspects of web development. After some internal reflection I've come up with my top 5 things I strongly feel that I won't compromise on in the web development process. These items are just for the presentation layer...
Continue reading "Top 5 Things I Can't Compromise In Web Development"
It's Good To Laugh At Your Old Code
One of the things I love about my job is the ability to see myself grow as a developer. I'm glad I can laugh at my old code because if I can't then I'm definitely not improving my skillset. Here's some code from around 3 years ago: using System; using System.Web; using System.Configuration; using System...
Continue reading "It's Good To Laugh At Your Old Code"
JS Builder Exceptions with Multiline JS Strings
I'm creating an automated build process and one of the items in the build is to build an external resource which is a java script library. The javascript is contained in multiple files and I want to concatenate them into one script. I found a very useful tool called JS Builder which has a command line...
Continue reading "JS Builder Exceptions with Multiline JS Strings"
