in

Chris Kirby

public string Subtitle { get { return "I hope i didn't say that out loud just now..."; } }

Syndication

This Blog

Chris Kirby's Inner Monolog

June 2006 - Posts

  • Finally moved in

    Well, we are finally moved in to our new place..meaning that I now live amongst many boxes with no labels and with no hopes of finding any clothes but the ones on my back for some time. I did manage to at least get the essentials done, like hookup up the tv/home theatre and making sure the internet worked though ;) I'll be sure to post some new pics of the basement and the other rooms as we get them finished.

  • The original Pain Train

    Ever wanted to know all about the man behind the ass kicking? Well I just got this link off of Brian's site...and holy ***, is it funny!

    "Chuck Norris was born in a log cabin that he built with his bare hands."

    "Chuck Norris does not love Raymond."

    (excerpts from chucknorrisfacts.com)

  • Asp.net 2.0 membership and migrating legacy users

    I've encountered many instances lately in which i'm developing a new version of a site with an existing (custom) authentication database. Now, in cases like these, most .net developers would suggest writing your own membership and role providers to tie directly in to the existing schema; however, instead of rolling my own, I've decided to take a different approach in which I simply utilize the events provided with the login control to manually authenticate and migration the legacy accounts in real time. This approach requires considerably less code and allows you to utilize the default providers while still supporting the legacy user database. The event code would look something like this: (*note* that the db code makes use of classes and methods from a custom library)
    protected void Login1_Authenticate(object sender, System.Web.UI.WebControls.AuthenticateEventArgs e)
    { // first, check to see if the user has already been migrated. if so, then were done here.
    if(Membership.ValidateUser(Login1.UserName, Login1.Password))
    {
    e.Authenticated = true;
    return;
    }
    else
    {
    // check legacy credentials
    DataParameters parameters = new DataParameters();
    parameters.Add("@Login", SqlDbType.VarChar, Login1.UserName);
    parameters.Add("@Password", SqlDbType.VarChar, Login1.Password);
    parameters.Add("@Email", SqlDbType.VarChar, 50, ParameterDirection.Output);
    parameters.Add("@UserId", SqlDbType.Int, 1, ParameterDirection.Output);
    parameters.Add("ReturnValue", SqlDbType.Int, 1, ParameterDirection.ReturnValue);
    DataUtility.ExecuteNonQuery("ConnectionString", CommandType.StoredProcedure, "ValidateUser", parameters);
    // if the credentials are good, then migrate to membership
    if((int)parameters["ReturnValue"].Value == 0)
    {
    // migrate the user account
    MembershipCreateStatus status;
    MembershipUser newUser = Membership.CreateUser(Login1.UserName, Login1.Password, parameters["@Email"].Value.ToString(), "What is your Username?", Login1.UserName, true, out status);
    
    if (status == MembershipCreateStatus.Success)
    {
    // update legacy user with new membership user id, tying the old to the new
    parameters = new DataParameters("@UserId", SqlDbType.Int, Login1.UserName);
    parameters.Add("@MembershipUserId", SqlDbType.UniqueIdentifier, newUser.ProviderUserKey);
    DataUtility.ExecuteNonQuery("ConnectionString", CommandType.StoredProcedure, "UpdateUser", parameters);
    // Create an empty Profile for the newly created user
    ProfileCommon profile = (ProfileCommon)ProfileCommon.Create(Login1.UserName, true);
    // Populate default profile values
    profile.Theme = "Default";
    // Save the profile
    profile.Save();
    e.Authenticated = true;
    return;
    }
    else
    Login1.FailureText = "We were unable to migrate you user account. Please contact support for further assistance.";
    }
    e.Authenticated = false;
    }

    So, with the little bit of code above, I'm able to authenticate and migrate legacy user accounts to the new membership system without breaking the existing db schema. It may not be as elegant as writing your own provider, but in my case, it was equally as effective.

  • FedSux strikes again!

    Its been 4 years and their still pulling this ***!! FedEx Home Delivery is by far the worst offender, they won't call or even try to find the address, they just sent it right back to the shipper. Unfortunately for me and many others, FedEx just can't get their *** together...even after years of calls and emails, they're still unable to deliver a package to my house. Not only is the service in my area exceptionally bad, but their whole operation is basically a joke. Just do a google search for 'fedex sucks' and you get the picture loud and clear.

    Jun 14, 20068:54 PMDelivery exceptionSTERLING HEIGHTS, MIUnable to locate address

    I've even come up with my very own diagnosis for me and my fellow victims called FRS (Fedex Rage Syndrome). Common symptoms are, writing long and pointless blog entries, dialing 0 to talk to a representative, and urinating on white, purple, and gray delivery trucks. If you or a loved one is suffering from FRS, you needn't take a pill, simply dial 1-800-PICK-UPS.

  • Getting closer...

    I just posted a bunch of new photos to my gallery and 1 new video to my folder in the files section. As of now, the move is set for the 27th, so were almost there. Theres still a lot more to do, but I think 2 weeks is enough time to get it done. Having 2 places and driving back and forth between Mount Clemens and Grosse Pointe is getting old fast... So, I'm sticking to the 27th dammit!

  • Supersize me sweetheart!

    Monkeys fed a diet rich in trans-fats – commonly found in fast foods – grew bigger bellies than those fed a diet rich in unsaturated fats, but containing the same overall number of calories. They also developed signs of insulin resistance, which is an early indicator of diabetes.

    "mmmhhhhm, hog fat!". Please, have someone kick you in the nuts (meat-head chest bump for the ladies;) , the next time you think of downing that grade b McRatburger or scarfing that steamed pressed slider. It may be tasty and cheap now, but 12 hours later as your exorcizing that demon in to the porcelain abyss, think of the old chinese proverb "man who eat ***, die on toilet .... and your lucky numbers are 5 9 12 65 78"

  • Office 2007 beta 2, just good

    There's way too many new features in Office 2007 b2 to talk about them all, but there are a few that really stand out. First off, I've got to mention the interface...wow, is it a major change, and wow, is it a welcome and surprisingly intuitive one! I can now finally say that my mom can even use this version (sorry mom ;). No more menus to confuse people, just the functionality you need laid out right in front of you...I don't care how many online office apps Google comes up with (calendar, spreadsheet), they just can't touch this interface. So, not only does it look good, but the new integration features have happily surprised me as well. The things I've noticed the most are that Outlook now allows you to publish your calendar to Office Live, Word supports publishing documents directly to your weblog (via metaweblog...no category support yet), and all the apps are tightly integrated with Sharepoint 2007 b2. I have yet to install it, but I definitely plan on checking it out soon. The only beta app I'm holding off on checking out is Exchange 2007 beta 2 ...I'll wait until the final on that one, I just can't risk trashing the email server.

    Office Beta 2 is free for anyone to check out...just sign up here, download, and activate. And, as with Vista, I havent noticed any major bugs while running in XP sp2 over the past 2 weeks...just keep in mind that the word and excel file formats have changed for 2007, so when sharing docs with other users, you'll have to do the old 'save as' before sending it off.

  • Vista beta 2, good but annoying

    I've been using Vista Beta 2 64 bit edition on my laptop for a few days now, and overall, its very impressive. but...they really have to do something about those damn security pop-ups! Holy *** are they annoying...the link referenced above gives a prime example of just how difficult deleting a shortcut can be. And unfortunately, the pop-ups don't stop there. There are at least 1-2 security dialogs for ANY setting you change. For example, you download install Firefox (requires explicit permission); then you launch it, which triggers the Windows firewall to pop up a dialog asking if you would like to block/unblock it from accessing the internet...which is good and wanted functionality, however, that alert is followed by at least one more dialog asking for your permission to modify the firewall settings...now, wasn't my decision made clear in the first pop-up?? Anyway, i think you get my point. I just hope they figure out a happy medium of security vs. insanity before they ship the final version.

    Over all though, thats really my only complaint (though major). The rest of my experience has been beyond my expectations. The included apps like the photo manager, windows media 11, the sidebar gadgets, and the media center stuff appear to be very polished and free of any major bugs. The Vista Beta 2 version of IE (IE 7+) is also much faster and more secure than its XP counter part due to its ability to run in memory protected mode; which basically keeps is from doing any harm to your computer, even if there was one of those famous security holes that seem be be announced bi-weekly. So, all of the positives are actually convincing me that Vista may be released after all ;)

    If you thinking of checking it out yourself, and don't have an MSDN subscription, then definitely sign up for the Vista Customer Preview Program which launches in a few weeks. And, if you don't have a dedicated computer to install int on, fear not, I've had no problem dual booting beta 2 with xp on my laptop. Just clear of a partition of at lease 20 gigs, boot from the cd, and your good to go. You can even configure XP to start as the default os by changing the boot settings in the Vista system control panel. Let me know what you think...

Powered by Community Server (Non-Commercial Edition), by Telligent Systems