The best preparation for tomorrow is doing your best today.
September 30, 2008
September 24, 2008
Bail out plan and IT
Kurt Cagle wrote an article for O’Reilly regarding the effects of the Paulson Bail Out Plan and IT. It is an interesting article and I agree with most of what he says, especially that this is a global problem. I think we need to do something, but this is not the answer. There are a lot of smart people in this world and we need to come up with a better plan!
I love this image:
September 7, 2008
Scala excitement
Dean Wampler twittered about this presentation on Scala at Twitter. He also has some excellent, detailed posts in his Seductions of Scala series at Object Mentor. (Part 1, Part 2, and Part 3.)
The more I’ve been reading about Scala, the more excited I get. I think a functional language could do wonders for our code at work. I think I’ll take one of our simpler models and write a Scala version to do a comparison with the java version. I’m hoping this might go a long way towards convincing the powers that be that a functional language would improve the quality of our code.
September 4, 2008
I want to yearn for the vast and endless sea!
This quote has been running through my mind a lot recently.
“If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.”
– Antoine de Saint-Exupér
September 2, 2008
Almost a year
It’s been almost a year since my mom passed away. I think the phrase “time heals all wounds” is baloney. Not that I thought I’d be over this by now, but I think I’m going to have to actively do something to be able to move on. I don’t think I have done anything to really try to feel better. I think I was just numb and in shock. Last week, I about had a complete meltdown. I basically sat and stared at my computer for nearly a full day. Since then, things really haven’t been too much better. I’ve been doing a lot of reading, which is good, but I feel awful. I have been spending a lot of time questioning just about every aspect of my life from my relationships, my job, my career, my health, my living situation, everything. I hope I can begin to heal soon and I hope that some positive changes come out of the time I’ve spent debating everything recently. I’ve begun making plans for some of the things I want to change. I’m sure I’ll be writing more about that soon.
September 1, 2008
Test Driven Development for Models?
At work we write software models. Our models are generally comprised of a bunch of utility classes that read in data or calculate pieces of the models. These classes are usually easy to test and it’s easy to write these using TDD. But then what happens is we have a single big class that is the Model. This class gets initiated and then its Run method is called. Inside the run method is where the whole model runs essentially. I don’t know how to test this. We could certainly be better about partitioning our code better to make it more testable, but in the end, we still have this big method that does the majority of the work. I keep looking at this problem trying to dissect it another way that would make it more testable, but so far I don’t have a good solution. I guess this is similar to the question about whether you should test an entire class or only the public interface.
Another issue I have with testing our models is that much of the time they are nondeterministic. I believe this is comparable to the problem above in that you test all the pieces of the model that are deterministic and then are left with only the parts that change that aren’t tested. In this case, I guess it’s appropriate to write a test harness that runs the model many times and does some sort of statistical analysis on the results. This doesn’t feel like TDD for some reason though. We fail at work by not having the developer write these tests and so they usually aren’t done until the model is “done” and the details are somewhat removed. Perhaps a good project for me at work would be to write a generic test harness that could be applied to this problem and make it so that an R script could be plugged in to make the statistics easy. I guess we’d need to define the statistical limits of “correct” and report when the model falls outside this range.




