Archives
-
Project Euler #14
I had so much fun doing #13 I thought I'd tackle #14 as well.
-
Project Euler #13
It's been a while since I did one of the Project Euler problems. And since a lot of my work recently has been fixing bugs and working on some design documents, I was itching to do some "real" coding. So it's on to problem #13.
-
Loops, Conversions and Lambdas
I ran across some old code today while fixing a bug and was able to simplify it quite a bit using the latest version of C# – 3.5 (as well as fix the bug!). Changing the code reminded me of where we (.NET developers) came from and how we've gotten to where we are today.
-
GANG Holiday Party
As always is the case in December, GANG doesn't hold a regular user group meeting. Instead, we invite all supporting members to our Holiday Party. Like last year, we'll be having a nice get together at Microsoft's Southfield, Michigan offices from 6:00pm – 9:00pm EST. We'll provide pizza and other snacks, beverages, some XBOX 360's all wired up for play and a few Texas Hold 'Em games running.
-
Synchronization in WinForms with Lambdas
In a recent thread in the ADVANCED-DOTNET mailing list, the topic of multiple threads and WinForms came up. As you probably know, Windows Forms controls can only be accessed/manipulated from the thread on which they were created. The topic of Control.Invoke came up and Richard Blewett made the following comment:
-
Ordering Form Collection Parameters For MonoRail using jQuery
Mike Nichols wrote a neat jQuery plugin to automatically order a list of items (like <TR>'s or <UL>'s). This plays very nicely with MonoRail's SmartDispatcherController and DataBind attribute:
-
MonoRail Contracts
Hammet posted a couple of images he created that showed the main contracts used by MonoRail. Pretty cool.
-
Moving up in the GANG
Last Wednesday was election day at GANG. Our fearless leader for the past three years, John Hopkins, had let us know earlier in the year that he would not be running for president in November. Instead, he wanted to focus his efforts on sponsorship and publicity for our group. With the way the economy is, running a group on donations and membership dues alone is difficult. With John at the helm of our sponsorship efforts, I have no doubt that we'll be in good shape in the upcoming year.
-
Verifying collections/arrays in MS Unit Testing
If you're using Microsoft's unit testing framework that is built in to VS2008 (and some VS2005 SKU's), you're probably aware of the Assert class. You use that a lot to make assertions on properties and return values to determine if your unit test passed or failed.
-
MSDN Developer Conference in Detroit
If you missed PDC, now's your chance to catch the best parts of PDC right here in the Detroit area. From the MSDN Developer Conference website:
-
NUnit 2.5 Alpha 4
If you like to live on the leading-edge, check out Dennis Burton's post about the new features in NUnit 2.5 Alpha 4. Looks like some really nice stuff. I especially like the improved exception handling with Throws.Exception.
-
Displaying an image from a database in MonoRail
Sometimes, it's just too easy!
-
ActiveRecord: Never forget there's a database
Some lessons learned while using ActiveRecord.
-
Generate ActiveRecord Classes from Existing DB Schema
GeneratorStudio is a project on CodePlex used to automate the creation of Castle ActiveRecord classes from existing database schema. I haven't downloaded it yet to play around with it, but it looks like it would be a nice thing to have if you have a large (or even medium) schema that's already in production and you'd like to start using Castle ActiveRecord for DB access.
-
Mock Databases and ActiveRecord
Fellow SRT employee Jay Harris has a great post on using SQLite's in-memory database feature to mock his database. He points out a few of the factors that drove him to investigate such an approach:
-
SRT to host PDC Keynote Remote Viewing
Register now. Seating is limited. Thanks to Microsoft for sponsoring lunch! Here's the details:
-
Tweaking my color settings
Like many developers, I spend a lot of time reading and writing code every day. After hearing so many developers praise the "dark background/light text" colors that have become popular, I decided to switch too. I did some research and found a theme I really liked. I tweaked it very slightly and have been using it ever since. It is much easier on the eyes.
-
ActiveRecord and a Custom NHibernate PrimitiveType
I was intrigued by Steve Smith's blog post yesterday about reducing SQL Lookup tables in nHibernate. He gave an example of a WorkOrderStatus class the exposed the actual status as a POCO object that wasn't stored in the database. What really piqued my interest was the following comment:
-
Project Eurler #12
I see that Bill did Euler #11 earlier this week so I thought I'd tackle #12.
-
Playing around with ASP.NET MVC
As I'm a big fan of Castle Project's MonoRail, I often get asked my opinion of the ASP.NET MVC stuff Microsoft is working on. And I always have the same answer -- I've seen some demos but haven't actually played around with it. So I took some time tonight and installed it.
-
ActiveRecord + HQL and an "IN" clause
Late last year as I was using MonoRail and ActiveRecord for a simple web application. I was helping my local church find volunteers with various skills to teach some basic computer courses to the the church staff. I wanted to keep track of the volunteers along with the skills they had. I used this as another opportunity to learn more about MonoRail and ActiveRecord.
-
The Days of Platter-based Hard Drives are numbered
A 3-story drop test on an SSD drive. Pretty cool:
-
Using JSON with MonoRail
As a sort of follow-up to my AJAX and MonoRail post, I've put together a small project showing how you can easily use JSON with MonoRail. I planned on posting a blog entry and the code tonight but instead, I decided to spend some time working on the AJAX and JSON section of the MonoRail Users Guide. It's my way of saying "Thanks!" to the Castle team for putting together (and supporting!) such a wonderful project.
-
Day of .NET Fall 2008 (Ann Arbor)
It's time for Day of .NET Ann Arbor! As John Hopkins has pointed out, the date is October 18th, 2008. Once again will be using Washtenaw Community College as our venue. Registration for this FREE event is now open and since we always "sell out", I would recommend an early registration.
-
The End of SpamBayes (for me)
I've been happily using SpamBayes for years (almost 5 to be exact) as my SPAM filter. Its worked remarkably well for a free Microsoft Outlook Add-in. However, something happened today and things haven't been right since.
-
Easy AJAX with MonoRail
AJAX gives your web applications a better user experience. They'll get quicker feedback on their actions and it won't require a full page refresh. In this post, I'm going to review the basics of doing AJAX in MonoRail. A complete Visual Studio 2008 solution for this sample project is available from my Google Code page.
-
Now Syndicating with FeedBurner
I've hopped on the FeedBurner wagon. If you're subscribed to my blog, please update your subscriptions to:
-
Why do I keep trying?
I see it's been almost 2 years since I lashed out on Data Binding in .NET. Judging from the comments I received, it seems I'm not the only one who thinks this technology is not implemented very well.
-
Monorail Dynamic Actions = Reusable Goodness!
Monorail gives you a nice, easy to use MVC implementation on top of ASP.NET. Dynamic Actions is a feature that allows code reuse across controllers without restricting you to specific inheritence model.
-
Announcing Mads Torgersen as keynoter at CodeMash!
Just announced (about 45 minutes ago): Microsoft Language PM Mads Torgersen will be a keynote speaker at CodeMash! This is great news! I visited one of Mads' session at the MVP Summit this year and it was really good. He's a great speaker and has an enormous amount of C# and .NET knowledge to share.
-
Euler 10
After tackling number 9 yesterday, I thought I'd do #10 real quick since it seemend pretty easy.
-
Project Euler #9
So I decided to start looking into the Project Euler problems. A number of fellow SRT employees have been tackling these over the past few months and after recently reading Bill's solutions for problems #7 and #8 I decided to look at #9.
-
Ann Arbor Give Camp - Angel's Place
I was fortunate enough to be not only an organizer for the Ann Arbor Give Camp, but I also put myself on the development team for Angel's Place -- a local charity that helps place developmentally and physically challenged adults into good homes. Our team of Paul Vollweiler, Carl Furrow, Aditya (Adi) Thakker and myself had a great time with our assigment.
-
Ann Arbor Give Camp - The Internet Speaks!
People are blogging about their experience at Give Camp. Here's just a few:
-
Ann Arbor Give Camp - WOW!
Wow! Wow! All I can say is WOW!
-
Moving from NVelocity to Brail
I'm a big fan of Castle's Monorail -- an MVC implementation for ASP.NET. One of the nice things about it is that you get to pick which view engine you want to use. The engines currently available are NVelocity, Brail (based on Boo) and AspView. There's also a new view engine for Monorail based on NHaml.
-
Lansing Day of .NET Recap
I had a great time at the Lansing Day of .NET on Saturday! Not only are people blogging about it, but it made the news too! Awesome job guys. You packed a lot of great stuff in one day. As someone who helped plan the Ann Arbor Day of .NET last year, I know that it takes a lot of time and legwork to put one of those together.
-
Speaking at Lansing Day of .NET
I got an email last week informing me that my Monorail talk has been accepted for Lansing's Day of .NET on June 21st. Woo Hoo!! If you check out the session list, you'll see that Michael Eaton will be presenting an ActiveRecord session and Jay Wren will be using Windsor Container for is IoC talk. We've got just about the whole Castle Project stack covered -- in one day! And the event is totally free! Don't miss it!
-
Ann Arbor GiveCamp
I'm proud to announce that we've now got a website for the Ann Arbor Give Camp. This is a great opportunity for local developers to give back to the local community. The website has all the details but here it is in a nutshell: Local charities gives us a brief overview of some development-related task they need help with (building a new website, updating an existing website, a small data collection app, etc...). We take a bunch of local developers that have volunteered their time for a weekend and we get stuff done!
-
Come to GANG next week!
Next week, our local user group (GANG) is having Jason Beres -- INETA Speaker and Director of Product Management for Infragistics -- come and talk about building applications with Silverlight 2.0. I'm really looking forward to this one since I haven't had time to dive into Silverlight myself. Come on down to Microsoft's Southfield, Michigan offices on Wednesday, May 21st at 6:30pm.
-
The Elder will be back!
Keith Elder will be back in Michigan next month for the Lansing Day of .NET! This is great news. Keith is a great presenter and is always entertaining and informative. I've submitted a couple of abstracts myself. Even if I don't present, I'll still be there.
-
Lazy Loading/Eager Loading
The NHibernate FAQ has a new post about complex object graphs and lazy loading. If you use NHibernate (or, ActiveRecord -- which makes NHibernate a whole lot easier), it's worth a look. The technique described can greatly improve the way your app interacts with the database. OR mappers are nice, but you need to make sure you understand what is happening with the database calls that are made automatically by your OR framework.
-
Navigating around in the VS.NET IDE
Last week, Bill Wagner and I were providing some C# training for one of our clients. Bill showed the class how to use F12 to jump to the definition of a method. One of the students asked how to go back to your previous position and Bill didn't know the key binding off hand.
-
LINQ: Deferred Execution
Another interesting tidbit I learned about at the summit was deferred execution of LINQ queries.
-
Extension Methods: Behind the scenes
One of the sessions I was able to attend (and talk about) at the MVP Summit involved some of the new features of C# 3.0. My day job still has me doing a lot of C# 2.0 stuff so I haven't dived in too deeply to the new 3.0 stuff. This was my opportunity to get the information directly from the C# language PM Mads Torgersen. One thing I found interesting was how extension methods were implemented.
-
Adding Action Filters to MonoRail Controllers
Neal Blomfield made interesting use of MonoRail filters. Check it out.
-
Sessionless MonoRail Controllers
I saw this post on the Castle Users mailing list and thought it was interesting and I wanted to post it.
-
MVP Summit 2008
I'm now at the MVP Summit in Seattle. This is my first summit in 5 years and I'm pretty excited! They've got a great line-up of sessions, speakers and events. It'll be a busy four days. I'll try and blog as much as I can (anything that isn't NDA). As a fan of the Castle Project (especially MonoRail), I'm looking forward to some of the ASP.NET MVC sessios.
-
NHibernate 2.0 Statistics and a MonoRail filter
This looked pretty cool.
-
Home Appliance Repair
Last night, instead of finalizing an app I'm working on for a client, I was playing around with my dishwasher. I'm going to be at the MVP Summit next week and did NOT want to leave my wife alone with the kids and no working dishwasher! It reminded me of my experience a couple of years ago when I had a furnace that didn't want to work.
-
Hats off to CATS!
No, not the musical!
-
Attributes and virtual methods
I'll sum this up quickly by repeating a coversation I had with myself about an hour ago while coding:
-
Hosting with Server Intellect
Back in February, I had to find a .NET web hosting company for a website I was building for my daughter's school. It was critical that I find a reliable web host as the success of this site was extremely important. And the timeframe was very tight so getting good support was a key criteria also.
-
Three Steps to Unmaintainable Code
At one time or another, we've all been asked to maintain or modify someone else's code. On those few occasions where the code is well organized and documented, we barely notice we're working. Coding is what we love to do and we do it.
-
Subversion: Changing log messages
At home, I use Subversion for source control of a small website I maintain for a client. When I commit changes, I always enter a log message that describes the changes I made along with a comment on how long the changes took (for billing purposes). Today, after commiting a change, I realized I had forgotten to enter a duration for the change.
-
MonoRail: Accessing built-in helpers from a custom helper
MonoRail comes with a number of "helpers" that assist you in generating views for your controller's actions. Some examples are: FormHelper, which helps you build HTML forms; URLHelper, which helps you build links to other controllers and actions;= and AjaxHelper, which helps with Ajax calls.
-
SRT Hosts 4-day C# Jam in April
SRT (the company I work for) is hosting a 4-day C# Jam at our headquarters in Ann Arbor, Michigan. SRT co-counder and Microsoft Regional Director Bill Wagner will be co-instucting with Bruce Eckel and Jamie King. Registration is limited to 30 participants so register now to guarantee a seat. See Bill's post with all of the details.
-
CodeMash in the news
Seems that CodeMash has attracted the local press as well as bloggers.
-
CodeMash v2.0.0.8 A Success!
Another CodeMash has come and gone. It was another spectacular event. While I didn't win any of the big prizes, my ticket did get pulled for a free book. I looked around at all of the .NET books but instead settled on "Programming Python" (all 1600 pages of it!). I visited a couple of sessions on Python and it looks like an interesting language that I'd like to learn. Then again, I also downloaded and installed "Ruby on Rails" during Brian Sam-Bodden's "Rails: A Peek Under the Covers" session. I'm a huge fan of MonoRail (I'll never do a webforms app again unless I absolutely have to) and wanted to see the language that provided much of the inspiration for MonoRail.
-
Scott Hanselman @ CodeMash
CodeMash was able to snag Scott Hanselman for this afternoon's keynote. As Steven Smith pointed out, Scott's intro slide deck was absolutely hilarious. His main talk on IIS7 was equally good. It's a great talk for those of us who've always thought of IIS as simply a web server. Scott showed us how much IIS7 has improved and should now be considered more of an application server -- for more than just Microsoft technologies (think PHP, Python, Ruby). Very cool.
-
Sold Out!
At this mornings CodeMash announcements, Josh Holmes informed us that not only did CodeMash have a 40% increase over last years attendance, but that we've sold out the Kalahari -- the first time the hotel has ever been sold out! CodeMash is an awesome event at a great price. Kudos and thanks to all of those who work so hard to put it together.
-
Walking Around
Took a liitle walk down to the convention center. Looks like everything is all set for tomorrow:
-
Finally!
I've arrived at the Kalahari resort for CodeMash and after about 20 minutes of fiddling (and moving around the room), I finally found a spot that will hold on to a WiFi connection -- albeit slowly: 5mb transmit and 6mb receive. At least I can get my RSS feeds downloaded!
-
CodeMash is almost here!
CodeMash v2.0.0.8 is almost here. I plan on spending tomorrow tweaking my slides and sample code (I'm doing "An Introduction to MonoRail" in the Friday vendor session -- Room D). I've only got 30 minutes and I'd like to include time for questions so if you're really interested in MonoRail, don't forget to check out Jay Wren's "Introducing Castle". He'll be discussing the entire Castle Project (of which MonoRail is just one part) in more detail.
-
Screen Recording for free
I was helping a client out with a problem yesterday. They had a spot in their web application where an Ajax request was made and the browser would hang. They could not do anything in the browser until the request had completed -- despite the fact that it was an asynchronous request.
-
Multiple web sites on Windows XP
I had a problem this past holiday weekend with a small website I was working on. I was doing some Forms Authentication (custom Forms Authentication in Monorail) and couldn't get part of the code to work unless my website was the "root" website (i.e. http://localhost). Currently, the project is sitting in a virtual directory (http://localhost/virt1).
-
Thank You Microsoft!
What a great way to start the new year. Tuesday morning (well, afternoon really) I checked my email and saw the following subject: