Thursday, July 28, 2005

I don't know what my deal is, but if something can go wrong it invariably does.  I've griped about hard drive woes in the past (probably to everyone's dismay).  This week, however, the stars have been misaligned again.

First of all, my domain controller (why is it always the domain controller?) experienced a slew of bad sectors on the hard drive which necessitated a repair of Windows.  I knew something was wrong when I couldn't do a backup on System State for several weeks, but due to several circumstances I had to just let it ride for a while.  Well, finally it died (blue screened) when I tried to access it with Remote Desktop.  After a bit of sweat and frustration I ran a CHKDSK to find and repair the errors (there were several  bad sectors and CRC errors) and then repaired Windows.  Fortunately, I did not need to reinstall or resetup the domain - that would have been a third time in just under a year.

Secondly, while working on my dev machine, somehow my COM+ Registry became corrupt.  The application I was working on makes heavy use of COM+ so I was registering and unregistering my comoponent frequently to test things, but I've been doing that automated and successfully for a few years now with the same components, but it just decided to get corrupted.  Now, Explorer hangs when I try to browse the disks on the system.  I followed the instructions on the Microsoft support site to repair a damaged COM+ installation.  However, when it goes through the process of reinstalling COM+, I get error code 0x80040206, An unexpected internal error was detected.  The COM+ event classes could not be registered.  As you might well be aware, Windows makes heavy use of COM+ for its day to day operations, so this now leaves me in a state of not being able to use my system effectively.  Applications hang periodically and for extended periods.

While I was planning on reimaging my system, today was not the day to have to do it.  I have so much stuff to back off the laptop now and put back together I'm nervous I'm going to miss something.  Fortunately I only have one deliverable this week - but it's a big one.

What am I doing wrong?  I whole-heartedly believe that I live in a strange vortex of bad luck.  Maybe the electricity in my house is wired wrong (actually it was, I fixed that)?  Maybe I'm such a power user that I overload the circuitry on machines on the network?  I shouldn't have bought that printer the other day - I know it's gonna fail on me in a week.

Thursday, July 28, 2005 1:38:00 AM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [3]  |  Trackback
 Tuesday, July 26, 2005

I always supposed that we lived in a retro-era.  With the advent of the new VS 2005 and SQL Server just around the corner, it's time to escape yesterworld, and move into the world of tomorrow.

I got a good laugh from these videos.

Tuesday, July 26, 2005 4:31:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Friday, July 22, 2005

Today I caved and made a few big purchases.  First, after all my printer woes around here (none of my three printers work at all), I bought a new Brother HL-5170DN for $300 from Staples.com.  It should be delivered on Monday - I'm so excited.  It has built-in duplexing (two-sided printing), great print resolution, network ready (ethernet), etc.  I hadn't found the duplexing and network support in the same printer for under $600 until yesterday when I found this one.  All the reviews I've read indicate that it's a great printer too, so that's not discouraging.

I also purchased a dual-layer DVD burner.  I haven't yet had a chance to give it a whirl, but I'm very much looking forward to using it - especially for backups!

Let's just hope this equipment doesn't, as have their predecessors, fail on me within the first several months.

Friday, July 22, 2005 4:40:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 Sunday, July 17, 2005

I've had the privilege this past week of returning to one of my great passions: instruction.  Immediately upon my return from Minneapolis this past Monday, I had the opportunity to begin teaching a custom course on Advanced C# (which concludes on Monday, July 18, 2005)

My students have been fantastic and a pleasure to be with.  I must admit that I was hesitant and tentative upon learning about my class at first.  Teaching MOC is no picnic, but when you have 1) 15 already fantastic programmers in your class 2) a custom course comprised of chapters from 4 distinct and unrelated courses and 3) very little time to prepare it gets a little daunting.  My students (from Symantec Corp in Lindon, Utah) have been software developers for many years (focusing mostly on C++ and Java), many of them with a few years of C# programming under their belts already so their questions tend to run a little deeper than what might be expected of a newcomer to the language.  Keeping them all happy is daunting and difficult.

In addition to the prescribed array of material to be covered (which is not conducive to any sort of flow), my students have requested that we spend Monday covering some topics that are important to them: Reflection, Custom Attributes, Windows Services, WinForms controls.  I have spent my free time this weekend preparing my own presentations for them along with demos and what not.  I hope that goes over well and is well received.  We've already covered a vast array of topics; from Collections and Enumerators, to P/Invoke and COM interop, to Threading, to Exceptions, to Remoting and Web Services.

I pray that I have been helpful and insightful in answering their varied questions.  All in all, I have felt that the class has gone well, though I'm not even close to my old ability of teaching from 6+ years ago when it was a routine and I taught for a living.  Getting back into the rythym has been difficult and fraught with hiccups.  That, and having to constantly stay ahead of the group plus put in time for my clients (several hrs a night on top of prep) have really worn me out.  I ended up crashing early Friday night, sleeping through most of the morning on Saturday, and then sleeping again for 5+ hrs Saturday afternoon simply to catch up.  Even then, I slept for several hrs on Sunday.  This week has been exhausting mentally and physically, but rewarding in many respects.

I have really grown to appreciate the opportunities presented me and I hope that my enthusiasm for the technology and my desire to help my students learn is evident.  Teaching is a wonderful opportunity to share and give back to the community.  I absolutely love it!

Sunday, July 17, 2005 5:14:00 PM (Mountain Standard Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  |  Trackback
 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