A Grande, Triple Shot, Non-Fat Core Dump by Russell Ball
I've been playing around with mock objects using Rhino.Mocks for the last few months, but today was the first time that I had an unfettered coding win and became a true convert. I was introduced to NUnit about five years ago from a co-worker (thanks Dewayne) and gradually became a true believer. Unfortunately, I was a late-bloomer in the area of mocking, so by the time I finished my last big project I had left a suite of about 500 database driven tests that took almost 2 hours to run and were a maintenance ......
Don't get excited. This is not a geek version of the "Birds and the Bees" talk. I just finished reading another excellent scientific paper called The Expert Mind, which I discovered through one of Jean-Paul Boodhoo's posts. The article examines the question of whether experts are born or made and offers some interesting insights into what it means to be an expert and the best ways to become one. As you probably guessed from my recent "Is that Juice On Your Face?" post, I am fascinated by the question ......
A psychology study entitled Unskilled And Unaware of It: How Difficulties in Recognizing One's Own Incompetence Leads To Inflated Self-Assessments opens with the following amusing anecdote: In 1995, McArthur Wheeler walked into two Pittsburgh banks and robbed them in broad daylight, with no visible attempt at disguise. He was arrested later that night, less than an hour after videotapes of him taken from surveillance cameras were broadcast on the 11 o'clock news. When police later showed him the ......
I was setting up Cruise Control the other day and trying to figure out why it wasn't working on a certain source control folder. I noticed a strange error in the cruise control log about there being an invalid character in the path, so I decided to take advantage of the fact that it is an open source project and download the source code so I could step through it in the debugger and see what the exact problem was. It wasn't long before I discovered the source of the error, which was a newline character ......
I seem to have kicked into a professional goal setting mode lately and fixated on a number of ambitious goals, such as publishing technical articles, speaking at major conferences, and creating my own version 1.0 software. Although I feel invigorated by the challenge posed by these new goals, I also have the nagging feeling that I am making a mistake by going down this road. Don't get me wrong, it is not that I am morally opposed to having goals. On the contrary, my personality thrives on them. I ......
It's been two months since I set out on my 6 month self-improvement plan to being a better developer. During my last one month update, I set out some specific goals for month two that involved learning about Resharper, NDepend, F#, the Windsor Container, and the ROTOR codebase and then writing some blog posts about my efforts. How did I do this last month? First, I accomplished one major thing that wasn't even on my radar screen when I came up with my goal list. I resigned my position as an architect ......
Participating in the open source community and becoming an avid code reader were two themes in my six month roadmap to becoming a better developer. I made progress in both of these areas in the last few days by downloading and exploring the source code for WatiN, an open source library that I have used recently for creating automated web tests. I still have quite a bit more exploring to do before I'll fully grok how WatiN works, but I thought I would share a few of the code reading techniques that ......
One month ago, I joined the epic struggle of Justice Gray (a.k.a. "Justin the Metrosexual") to "change the world" by publically sharing my roadmap to becoming a better developer. Justice's own dubious plan involved reading one developer book a week for six months while presumably trying to prevent his brains ooze out of multiple orifices, a truly remarkable feat that should not to be attempted by anyone who has legitimate fears of losing cerebral tissue in a horribly sticky, uncomfortable manner. ......
I just heard about Justice Gray's blog challenge from the latest episode of Hanselminutes while running today. Although I think his plan to read one developer book a week for the next six months is rather insane, I agree with the premise that setting specific goals publicly is probably the best way to hold yourself accountable. Here are my goals for the next 6 months: Add Tools to my Developer Toolbox - My productivity and troubleshooting skills would plummet if I were to suddenly stop using utilities ......
This is a follow-up to my original post about cognitive traps that hinder learning and stunt professional growth. Information junk food refers to any information gathering activity that prematurely satisfies your hunger to learn and provides fleeting emotional pleasure in lieu of actual intellectual nourishment. Some information junk foods to avoid: Fattening Abstractions - There is great power in naming things, which is why it is an integral part of nearly all creation stories (i.e. Adam naming ......
If you’re crazy enough to run marathons for fun like me, you are probably familiar with a concept called cross-training. This slightly counter-intuitive approach asserts that you can actually increase your performance in your chosen sport by doing it less frequently and supplementing it instead with complementary activities. In other words, you will run faster and decrease your chance of injury if you replace a few training runs a week with weight-lifting, biking, or swimming. I think the same principle ......
Jeff Atwood recently wrote a blog post on Informavores that uses a food foraging metaphor to describe typical web usage behavior. According to this analogy, the ultra short attention span of most web users is not due to laziness or cultural ADD, but has more to do with an innate survival instinct that leads us to try to get the maximal benefit for the minimal amount of effort. With billions of pages of content and sophisticated search algorithms that are spookily accurate, it just doesn't make sense ......
I've noticed my geek ego being aggravated a few times lately so I figured I'd better work on a more effective personal implementation of IHumbleProgrammer. My current implementation seems to be leading to errors in my thought process and even causing my learning to hang. Please excuse the VB.NET, poor formatting, and lack of a valid unit test. Public Class HumbleProgrammer Implements CodingHorror.EgolessProgram... Public Sub Listen() Implements CodingHorror.EgolessProgram... ......
I listened to an interesting prodcast on Channel 9 on my way to work this morning. I never had an inclination to listen to the MicroISV show before, but the title intrigued me: CrazyBusy - Overstretched, Overbooked and About to Snap! Strategies for Coping in a World Gone ADD". Multi-tasking has never been a strength of mine so I may be biased, but I definitely agree with his premise of the show that the frenetic pace that most of us sustain these days due to new technologies such as cell phone, PDA's, ......