Sunday, January 27, 2008
My first ever code camp!! It was so worth my time... I learned about all sorts of cool stuff. The talks I attended are above(morning) and below(afternoon).
Taking a top/down approach I'll start with the Castle Project, this was way cooler than I initially realized discovering it on my own, the presenter point out key components that were being used... I felt so grateful having been there to hear it and to have a more deep understanding of how to implement them in my own applications. He also ran over by thirty five minutes talking about Rhino Mocks which was also really good, because I got an opportunity to see what I'm doing correctly and also what I need to change about the way I do Mocking in my tests. Next was Dependency Injection with ObjectBuilder 2.0.. this was by far the most amazing talk. Not only did Brad open my eyes to Inversion Control Containers (what they are, and how there used) but the implementation in ObjectBuilder2.0 is awesome... Chris also gave a talk on Unity which is another Inversion Control Container product which uses ObjectBuilder 2.0 underneath. The ICC(Inversion Control Container) stems or derives from service locator pattern
again the great Martin Fowler has great documentation on. I've known of DI before the code camp... I just didn't know what problem it aimed to solve and more importantly... how it would be useful to me in my development efforts. WAMU will definitely be seeing DI in it's code base very soon. ;)
Soon after that Papa johns arrived and I ate pizza, drank pop, and chatted with Brad, Chris, and company a little more about service locator and DI. Great bunch of guys and brilliant... I had to really think about what I was going to say before I actually said it, but in the end I learned a ton, even found out that ObjectBuilder 1.0 is used underneath eventbroker and other services in CAB Enterprise library stuff... also, System.ComponetModel underneath uses DI to wire up custom componet classes that we as developers write. This began to make so much more sense. :) Happy Day... I actually understand DI and ICC Pattern.
After lunch I walked over to the F# talk, this was way out of my realm and I knew it would be... functional programming is something I've never formally studied, except for the LISP, and TCL courses online that I've watched... other than that it was new and exciting. I got a chance to discover functional programming on .NET level and was able to see what IL is actually generated from the F# so that was really cool as well. After that I went over to Windows Application Enhancements in VS2008. Even though I work on cutting edge stuff at home and on the weekends, that doesn't mean it's at work as well... so I went to this talk to see what's new since I'm probably 6 months to a year away from getting VS2008 at work. Finally, I finished up with Rethinking Unit Testing in XUnit. This was also a good talk... not just because Brad gave it, but because it gave me a new perspective on Testing in general. I've been trying so hard to do TDD for the last year and half and I always give up half way through, usually it's because I don't know where to stop with testing the components in the system under test. This leads me back to the white board and I usually end up saying to myself what I want the application to accomplish... more of a BDD style approach and this works great because I can iron out wrinkles that show up right away and then take care of the few edge cases, and then I'm done with the feature. The XUnit talk helped verify that this was ok to do.
I also found great comfort in this ruby talk as well. Overall code camp was great! I can't wait until ALT.NET this spring. I would definitely advise all developers to attend code camps or other inexpensive events to collaborate with the experts and get a since of the code we all should be writing... as Scott says we need to venture out of the echo chamber to discover what's new and to see how we as developers are progressing in our craft.
-Develop with Passion
(Jean-Paul S. Boodhoo)
Thursday, January 24, 2008
ALT.NET Open Spaces, Seattle
Friday, April 18 to Sunday, April 20, 2008
Sunday, January 20, 2008
For those of you who've been struggling to get this great piece of technology working with mobile/lightweight databases also know that it can be quite a struggle. Now don't get me wrong... this is a great product for generating DAL ( Data Access Layers) for normal db's with sql providers, oracle providers, and even mysql providers. So after I watched the SonicCasts and downloaded the 2.02 product from codeplex I immediately got to work with trying to get this thing working with sql mobile... I followed the directions exactly and still no luck, so I hit the forums and checked the latest FAQ up on the site... but there was only a blurb about how some guy got the product to work with SqlLite, so one of the contributors responded to the post by thanking the guy for making his work with sql mobile easier for the next release. I thought to myself how can I get that guys code today to make my solution work? Then I went to check out the latest subsonic project bits from subversion. This turned out to be a good thing... sqlce provider was there in the latest bits... so I re-compiled the code and ran all the tests. After all that was complete I then proceeded to generate the code, and I got an error message saying that it could not generate do to the sql mobile database not being created with .NET 3.5.
I'm going to switch back to my typed datasets and simple sql queries in my original data access layer until they release another version with explicit instructions on how to implement sql mobile. The code is there so it's just a matter of time before they have a sonic cast on the subject.