Thursday, November 29, 2007

LinFu.DesignByContract2 Released!

After nearly three weeks of churning away at Part V (not yet available on CodeProject at the time of this post) and making sure that everything works, I'm proud to say that LinFu.DesignByContract2 has been released to the project's subversion repository!

I practically froze all my other research projects until I could get this thing done. Now that it's finally complete, I can move over the rest of my projects from VS2005 to VS2008, and continue my work on IL instrumentation and writing my own version of Reflection.Emit.

Finally, I can take a break!

Monday, November 12, 2007

Enough with Mono.Cecil.

After hitting several NullReferenceExceptions with Mono.Cecil's source code, enough is enough. I can't seem to make heads or tails of how to fix this problem, and frankly, I think it's pretty damn sloppy not to check for a simple null reference. Here's a chunk of the offending code:

Photo Sharing and Video Hosting at Photobucket

It would be OK if this happened only once; the problem is that I can see several sections of code where they make the same mistake over and over again. The number one thing that I hate is when other people write sloppy code and it leaves me no choice but to wait for them to fix it because the code is too complicated to fix on my own. Mono.Cecil has zero unit tests, so there's hardly any way to actually determine which part of the entire library actually works. And frankly, it really doesn't matter to me whether or not they're still in 'beta', or 'alpha', or whatever version--it still doesn't excuse the fact that no matter what version your program should be, these people should have the common sense (as well as the decency) to do some basic error checking!

That's it. I'm tired of this shit. I'm writing my own library.

Ratings by outbrain