Friday, July 15, 2005

We held our monthly Utah .NET User Group meeting last night (as is traditionally on the 2nd Thursday of the month).  Yesterday's topic was Advanced Threading: Beyond Thread.Start().  We touched on basic principles of threading and then dove down into the System.Threading namespace and examined several objects (Thread, ManualResetEvent, AutoResetEvent, Monitor, Interlocked, Exceptions, and much more) as well as several constructs and design patterns.  We had the opportunity to discuss different techniques of switching from a calling thread to the UI thread for safe UI, Windows.Forms programming.

The presentation, provided by yours truly, was pretty free form in its approach and without PowerPoint - all demo, all off the cuff.  Occasionally, we'd spin up a new topic only to topic.Join() to continue on with the main line of discussion which lead to a pretty dynamic, fun, and exciting meeting.  I got the impression that it was well received and that it went over well, which is reassuring since I was purely running on fumes having not eaten or slept since the day before.

Good times!

Friday, July 15, 2005 3:32:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Sunday, July 10, 2005

Thus far, the WPC2005 has been a fantastic event for us.  We've been overwhelmed with interest and enthusiasm around our product configurator for Microsoft CRM and Great Plains by the partners and by Microsoft itself.  It is so encouraging to see all of our efforts well received and with such open arms.  We already have several customers using the product today and many more in the pipeline so we're very excited!

Additionally, we had an event the other night with Hootie and the Blowfish performing a live concert for the conference attendees which was awesome.  Following their three encore performances we had a fireworks display that was utterly awesome!  It was much bigger than our 4th of July celebration in Salt Lake City.  Everytime you thought the display was going to end the next finale just got bigger.  The whole display went on for about 30-40 minutes.

All in all, I've really enjoyed the conference and look forward to the next one in Dallas, Tx.  Maybe I'll finally be able to relax tonight...and write code until 3:00 AM (I need to as I have a deliverable tomorrow).  Well, back to the conference!

Sunday, July 10, 2005 3:39:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Wednesday, July 06, 2005

Many may have noticed a lag in my keeping the blog up to date.  I've tried, somewhat successfully, to post some thought every few days.  However, the past few weeks have been crazy that I haven't had much of a chance to submit any meaningful thoughts.  What with the various projects around the house and at work it's been nie impossible to break away and put some real thought into a technical discussion on an interest.  Though I'm sure I'll have some free moments in the days to come to formulate a reasonable discussion around something I'm working on.

Today, however, offers a moment of reprieve.  I am getting packed and ready to go to the Microsoft Worldwide Partner Conference in Minneapolis, representing Experlogix.  Last year I had the opportunity to attend the WPC in Toronto and had a great time - I expect nothing less this year.  It looks to be fantastic.  Interest around our web-based product configurator has been spreading like wildfire over the last year and a half.  This year we have some new things to show too: deeper integration with Microsoft CRM as well as new integration with Microsoft Great Plains (something that partners and customers have been clamoring for).

Upon returning, I'm taking a week off work to work.  In fact I'm very excited to teach a custom, advanced C# course.  In years gone by I was a trainer and instructor and have a very warm place in my heart for teaching.  It's been a passion of mine since I got into full-time instruction back in 1992 and I am looking forward to the coming weeks.

Wednesday, July 06, 2005 3:31:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Saturday, July 02, 2005

After a few days of frustration, I finally have this issue resolved.  I am so thankful that I still have some great contacts inside Microsoft that I can call on a moment's notice and they'll help me through these issues...the favors go both ways frequently, however.

First of all, I want to apologize to everyone that tried to contact me (either via the blog or email).  My email server bombed a few days ago.  It took me about 24 hrs to see the issue...I thought I simply wasn't getting much email.  Once I realized that I was only getting my POP3 email and not Exchange (IMAP) my worries began.

As those of you that know me can attest, I have a penchant for having hard drive issues (I think I live in or near a vortex of some sort).  It turned out that I had a series of CRC errors in my exchange database.  Upon performing a CHKDSK /F I realized that I had about 8 KB of bad sectors on the drive.  Once the CHKDSK finished, I moved the database, repaired it, created a new database, and restored the old data into the new one and we're back up and running great!

Thanks everyone for your patience!

Saturday, July 02, 2005 5:42:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Wednesday, June 29, 2005

The last several weeks have been insane in terms of business (as the two readers that follow my blog might be able to attest), but the 20 hr days haven't posed an impediment at getting work done around the house.  Last summer I built a shed from scratch in my backyard.  Well, (finally) we got around to putting siding on it to match the house and I must say it looks fantastic!  I've included a 'before' and 'after' picture below from slightly different vantage points.  I'm very happy with how it turned out.

Additionally, we bit the bullet and replaced our garage door on the house with a door from Martin Door.  We got the works (fully insulated, whisper quiet opener, powder coated tracks, weatherseal, windows, and all the upgrades), plus it matches the shed in the back yard.  It's wonderful to be nailing out these projects.

I have four outstanding projects now that I must finish this summer - preferrably in the coming weeks but we'll have to see how much is humanly (and walletly) possible.

  • Finish the basement.  I've built out a very cool office and home theatre downstairs, but I still have to put in the drywall and finish it up, but we've already purchased the hardwood flooring for the office.
  • Sand/Oil the deck.  Last summer I designed and had built a deck in the backyard out of iron wood.
  • Enclose the front porch in a brick wall w/columns and lights.
  • Paint the garage floor

Looks like I have my work cut out for me, but it'll be rewarding and nice to have it all done.  I'll post up pictures when I finish the various projects.

Shed before:

Shed after:

Garage and Shed:

Wednesday, June 29, 2005 6:06:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Monday, June 27, 2005

Ok, so this makes for two non-programming-targeted posts (the last one was pretty stupid, I must admit), but I can't quite make out what the real intentions of the author was.  I understand that English is not the easiest of languages to speak or translate to from another tongue (far too frequently things get trans-literated often to hilarious results), but this case doesn't seem to make sense.  When you click on the site's 'prices' link this message pops up.  Can anyone help me out?

Monday, June 27, 2005 5:36:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Thursday, June 23, 2005

Today I was contemplating the universe and stumbled upon a quandary.  We as humans have associated terms with the social structure and organization of the various creatures in the animal kingdom.  For example, wolves travel in packs whereas cows meander in herds.  What is the appropriate term for a group of gremlins?

Is it a...

...pack of gremlins?
...herd of gremlins?
...gaggle of gremlins?
...flock of gremlins?
...pod of gremlins?
...school of gremlins?
...swarm of gremlins?
...litter of gremlins?
...gang of gremlins?
...legion of gremlins?

(Obviously my thoughts don't run too deeply...)

Thursday, June 23, 2005 4:10:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [1]  |  Trackback
 Sunday, June 19, 2005

If you're like me, you have created a few web pages/sites in your time.  Some, if not most, of these require some level of authentication (be it Forms Authentication or Windows Authentication (Integrated Security)).  Oftentimes, the website you create resides on the local machine and you can simply browse to it via http://localhost, but such is not always the case.  You may have been occasionally perplexed that when you use Windows Authentication that the browser (Internet Explorer) will prompt you for your user name and password.

Shouldn't it already know who you are, since you're already authenticated to the domain?  Well, the answer is yes, it knows who you are, but it doesn't care in certain circumstances.

If you browse to http://localhost or http://MyComputerName to a website using Integrated Security, IE will automatically provide credentials to the webserver and thereby not prompt you.  However, if you use the FQN (Fully Qualified Name) of your machine (e.g. http://MyComputerName.Domain.local), IE will prompt for a password - even though it's the same machine, the local machine no less.  The primary reason behind this is the punctuation...period :-).  In fact, IE will consider dotted URLs (those that contain periods) to exist in the internet zone.  Because that zone is more hazardous and less trusted than the intranet zone, credentials are not automatically provided.

You can circumvent this issue by adding the URL to the Intranet Zone:

  1. Click Tools -> Internet Options
  2. Select the Security tab
  3. Select Local Intranet and click the Sites button
  4. Click Advanced
  5. Add the FQ URL (e.g. http://MyComputerName.Domain.local)

There are other factors to consider besides just the dotted name.

  • The browser must be IE (duh, it's the only browser that supports Windows Integrated Security)
  • The site must be set up for Integrated Security (if anonymous is enabled, Integrated Security will have no effect)
  • Automatic logon only in Intranet zone must be enabled

For more details, check out the Microsoft documentation.  This took me a long time to find.  I have long suspected that the periods in the name were causing the issue, but had never seen this documented until a few days ago.  Anyway, it's good information to know.

Sunday, June 19, 2005 4:35:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [1]  |  Trackback