Posted on February 13th, 2008%
I’ve finally gotten around to updating the public open source version of Wilson.ORMapper to match the release formerly known as Subscriber Preview 4.2.2.1. Revision 10 in the SVN repository matches the original 4.2.2.1, but includes the non-restrictive open source license.
I then went one step further — adding a patch which fixes a known bug in WORM. This patch also fixes unit test failures in WilsonORWrapper, which has also been updated to reference version 4.2.2.2 of WORM — the first truly official public release that has some code not provided directly from the original creator, Paul Wilson.
Check out the Google Code project at http://code.google.com/p/wilsonormapper/, or discuss on the WilsonORMapper Google group.
. . .
→ Read More: Wilson.ORMapper gets a few small updates
Posted on September 21st, 2007%
So much has changed since RC2, it makes RC2 look like a beta.
I’m happy to say that I’m not just a user of Castle projects, but also a contributor (having sent in a few patches related to the Castle Validator).
With RC3′s features and stability, and a nice easy Windows installer available on SourceForge, there’s no excuse for you not to start exploring the power that the Castle Project libraries can bring you.
. . .
→ Read More: Castle Project has gone RC3
Posted on September 5th, 2007%
I received the following email today:
We’d like to inform you that your project submission has been approved and we’ve added WilsonORWrapper to our index…
What does this mean? You can search the WilsonORWrapper repository from Koders.com. Maybe someone will find it useful…
. . .
→ Read More: WilsonORWrapper now part of Koders.com
Posted on August 26th, 2007%
Aaron (Eleutian) and Oren (Ayende) have a little back-and-forth going about optimizing NHibernate. I’m no expert on NHibernate, but I do have experience with O/R mappers and even more experience with raw databases and SQL, and on techniques for improving performance on both, so I feel I could chime in at least in one area of their debate…
Partial object queries
Let me bring you up to date:
Aaron wants to run an NHibernate query of select u(Username, Email) from User u and get a User object with only those two fileds filled in.
Oren says you can do it: select new UserSummaryDetails(u.Username, u.Email) from User u.
Aaron disputes that as a solution, since it returns a UserSummaryDetails object and not a User object, which would require him to rewrite methods that work on a User object but only use a subset of fields (he mentions a SendMailTo method which uses only the username and email).
There’s a solution that . . .
→ Read More: The NHibernate optimization debate: partial object queries
Posted on August 24th, 2007%
For the past seven years, I’ve been maintaining an online baseball game, CSFBL (Computer Simulated Fantasy Baseball League). It’s gone through many changes over the years, but its core is in many ways unchanged since 2002 — and therein lies a problem.
Back in 2002, CSFBL was getting about 50,000 to 100,000 page views per month. By the end of 2003, we were simulating about 1,500 games per day. Today, we get about 4 million page views per month, simulate up to 10,000 games per day, and have over 80GB of historical data (roughly 6 million games spanning 2,700 seasons). That’s significant growth — and the game is suffering as a result. It wasn’t built to scale this far – a victim of its own success and my own limitations as a programmer circa 2002.
I realized long ago that a rewrite from the ground-up was necessary. I’ve done extensive work rewriting the database schema to maximize efficiency, but that’s only . . .
→ Read More: ComputerSims Baseball: Powered by MonoRail and ActiveRecord