mike hodnick

Point your browser to www.hodnick.com for Mike's latest content.

Notice:

You are viewing Mike's old, archived site. For new content, navigate to hodnick.com

Latest From Twitter...

The Blog

March 2005 Entries

A few people have asked me why I don't ever really write about many technical things on my website, such as code examples or challenging design issues.  Well, today that's going to change.  Here's some code for you to enjoy:

 public class MikesCode
 {
     public static CodeExample GetCodeExample()
     {
         Mike mike = Mike.Instance();
  
         if (!mike.HasTime)
             throw new NotEnoughTimeException("Mike is busy doing something else.");

         if (typeof(CodeExample) != mike.PrioritizedTasks[0].GetType())  
             throw new PrioritizationException("Mike would rather be doing something else.");

         return GetRandomCodeExample();
     }
 }

posted @ Wednesday, March 30, 2005 8:35 AM | Feedback (2) |

The coolest thing I've seen in the last five minutes:

Link [^]

Check out this Online Browser Security Test

I'm running WinXP SP2. 

Results with my Firefox browser:

Dear Customer,

The Browser Security Test is finished. Please find the results below:

High Risk Vulnerabilities 0
Medium Risk Vulnerabilities 0
Low Risk Vulnerabilities 0

And the results with IE:

Dear Customer,

The Browser Security Test is finished. Please find the results below:

High Risk Vulnerabilities 0
Medium Risk Vulnerabilities 0
Low Risk Vulnerabilities 0

I'm solid.

posted @ Thursday, March 24, 2005 11:47 AM | Feedback (0) |

I've been on a Halo 2 leave of absence for a while.  In the last couple of days I've started to pick it back up and get interested again.  I've been spending my time with Gran Turismo 4 and NHL 2K5. But I digress...

I came across a couple of good sites for Halo 2 custom game type variations:

Quite an abundance of stuff to try.

posted @ Wednesday, March 23, 2005 2:06 PM | Feedback (0) |

Just a little rant while I wait for a build process to complete...

To death with Hungarian notation.  It's useless and has no place in modern languages and IDEs.  What's the point of prefixing fields when all of your prefixes begin with “obj”? 

Nikki and I want to take one last big trip before we have the baby, so we decided to go to Antarctica in April.  We're leaving April 3rd and will be back on April 10th.  We're pretty excited about it and neither of us have been there before, so we're really looking forward to it. 

We'll be bringing the camera and camcorder along, so I'll plan on having a nice documentary of the trip sometime after we get back. 

If anyone has been there before, we're interested in learning about the “hot spots” and interesting places to go, so feel free to leave some suggestions.

It's a new category.  A snapshot of the revolving selection of music in the listening lab that is my car.

  • Dillenger Escape Plan : Miss Machine. Just picked this up a few days ago. Simply put, they're hardcore progressive rock, with emphasis on the hardcore and the progressive - take those two words to the extreme and you have DEP.
  • Primus : The Brown Album. The first CD after drummer Tim "Herb" Alexander quit the band. The Primus sound, but recorded raw and dirty.
  • Hatebreed : The Rise of Brutality. I blogged on this one earlier. Good 'ol, well-produced hardcore.
  • Metallica : Ride the Lightning. Wanted to start listening to this again after a long time.
  • Sepultura : Chaos A.D.. In my opinion, this album is the root of frontman Max Cavalera's ideas for his Soulfly project.
  • Halo 2 Soundtrack. The soundtrack music is OK, but the new Incubus tracks are excellent.
  • Incubus : A Crow Left of the Murder. The latest Incubus studio album. They're still maintaining their direction in the world of pop rock but are starting to blend more of their original, more creative songwriting into the mix.

This is the coolest thing I've seen in the last five minutes:

http://www.vouradio.com/flash/catdrums%5b1%5d.swf [^]

Recently I've been asked a number of times what SharePoint development is and what the required skills are.  I find that most people tend to assume it's about product functionality and working with out-of-the-box customizations with sites, lists, document libraries, etc. 

Mike Fitzmaurice's Good "SharePoint Development" = Good .NET Development post and Gregory S. Macbeth's SharePoint Developers Road Map post provide some very good perspectives on what is required of SharePoint developers.

posted @ Wednesday, March 16, 2005 9:17 AM | Feedback (0) |

I'm glad I don't work for Robert Trende of Mastercard International, Inc.:

"VB6 development is cost-effective and requires far less testing than Java and VB.Net."

Far less testing? Since when does one programming language require less or more testing than another programming language? Testing is usually driven by requirements, last time I checked.

Source.

posted @ Tuesday, March 15, 2005 3:09 PM | Feedback (1) |

I don't know why, but these things just get on my nerves sometimes :)  Maybe this will turn into a top 10 or top 50...

  1. 2 seconds into the game you hear, “What game are we playing"? As if the description in the pre-game lobby and the guy with the deep voice saying "Capture the Flag" aren't enough.
  2. "Did I kill you"? You should easily be able to tell whether you killed someone by a) seeing if they're still standing and b) reading the message on your screen that says "You killed <playername>".
  3. "Who killed me"? Again, you can easily find this out by reading the message on your screen that says "<playername> killed you".

Feel free to add your own.

posted @ Monday, March 14, 2005 7:34 AM | Feedback (4) |

Lots of progress so far today:

  • Rebuilt a return-air enclosure in the music room
  • Ran cable for the last circuit (the “TV“ circuit)
  • Ran two CAT-V cables to the music room
  • Tightened up and tacked down all of the misc. loose cables I've put in over the last month

Right now I need to make an executive decision on how the electrical, audio, and CAT-V outlets will be oriented in the TV corner.  There's not a lot of room to work with in that area.

If I'm ambitious enough I'll also make a trip to Home Depot to get a bathroom fan and some speaker wire.  It's starting to get late in the day though, so I may not get that far.  Otherwise, here's my final “to-do” list before the first inspection:

  • Re-route some of the original electrical circuits
  • Install the bathroom fan and wire up the bathroom
  • Cut a hole in the house and run the bathroom fan exhaust to the outside
  • Wire up the TV circuit
  • Build the “big mother“ soffit
  • Install recessed lighting and other light boxes in the “big mother“ soffit
  • Install insulation. 

With some luck I'll have the first half of that list done next weekend.  Tomorrow I'll be helping one of Nikki's uncles lay down wood flooring in their house, so I won't make any progress tomorrow.  After we lay flooring, it'll be a Halo 2 smackdown. 

Here's a little tip for those of you who get coffee from Caribou or Starbucks or wherever.  Most plastic lids they put on coffee cups have one large hole for sipping and a tiny hole on the opposite side to let air through.  Most of the time that tiny air hole isn't big enough and it gets clogged with either coffee or a coffee bubble.  As a result, coffee doesn't come out of the sipping hole until you tip the cup back far enough and let the pressure build up enough so that the blockage in the air hole gives way and lets air through.  By doing this, you risk a large stream of coffee suddenly rushing out of the sipping hole and onto your face.  This is what I call “bursting the dam”.  On work mornings, this is especially inconvenient.

The solution?  Make the air hole bigger before you take your first sip.  I usually have a pen in my car, and pens work really well for making the holes bigger. 

I don't know if Microsoft gives them out any more, but when you got your MCSD certification for VB6 or C++ they gave you a lapel pin.  Believe it or not, I actually have seen interview candidates in suits wearing their MCSD pin on their suit jackets.  Please....   

Anyway, those MCSD pins work great for making the holes bigger too.  I don't know if the MCSD .Net certs will provide the same benefit though.

Link.

This would be inredible, and bad.  All 30 NHL teams all under the same ownership...  I think it would possibly improve the NHL from a business perspective.  But I don't like it for two reasons:

  1. It's bad to put all your eggs in one basket.  Geez, isn't there a better alternative phrase than that?  Anyway, if the firm proposing to buy the teams folds, what happens to all the teams?  Would the league need to round up 30 new suitors?  Ick.
  2. This would hurt fans of teams that have good owners today.  Take the MN Wild for example - they've bent over backwards to make the fans a part of the franchise as much as possible and have built a product tailored to Minnesota.  I don't believe that those qualities would stay with new ownership.

I hope the NHL board of governers keep rejecting this proposal.  The word is that the potential suitors will keep coming back with better offers.  It's not worth it to me.  The NHL is in bad shape, but not so bad that such a radical action needs to be taken.

I'm kinda bummed about this, but I've decided to put away plans for VirtualPuck.com - at least for a year or so, if not forever.  I haven't touched it in almost two months, life is getting busier, and other things are taking priority (basement, baby planning, studying for my next MCSD, building a deck, on-the-side music projects, pole vaulting, alpaca training, etc...).  I just don't want to put out something that's not as good as it can be, and I just can't get it to that point right now.  Depending on how things look a year from now I may hit it full steam again. 

Some folks out there were looking forward to it, so I apologize.  I'll make it up to you with some extra-large Meat Malts - just like the ones they make at the Ottawa arena. 

It's been a while since I've posted about how the basement is coming, so here's an update. 

In general I'm a little frustrated with the pace of the project right now.  I'm only working on it about one day a week (usually Sundays), and at this pace I just don't think it'll get done before the baby comes in August.  I'm going to try and start working on it a couple of weeknights a week, Saturdays, AND Sundays to try and boost things along.

Today I primarily worked on wiring.  I had to re-run some cables across the rooms because the sheathing was ripped.  One word of advice: if you're running cable that tends to have a lot of friction to it, don't force it through your holes in your ceiling joists.  You just damage the cable and have to do it over.  Then I ran some cable in the hallway circuit for outlets and the ceiling light. 

I also finished up the hallway ceiling frame.  There's a small box I had to build around some ductwork to complete the frame, and I just strengthened it with some more screws. 

The next steps later this week will be to secure some loose cables in the ceiling and re-fit a vertical enclosure I built around some other ductwork in the soundproof room.  Some idiot secured it into place without checking if all the angles were 90 degrees from the walls.  I also need to check with the Chaska inspector to see if they have any rules on electrical cable being near or touching ductwork. 

Then there's the recessed lights and the mother of a soffit we'll be building around the main duct trunks. 

For those of you who use the Clearscreen CAPTCHA web control, a new version (1.3) is available here.  The new version is much better than 1.2 - as you don't have to mess with adding handlers in your web.config file.  It also works on my web server on my computer at home, which it didn't before for some reason. 

posted @ Sunday, March 06, 2005 9:42 AM | Feedback (0) |

I picked up a few CD's last night. I highly recommend both:

Hatebreed - The Rise of Brutality. This one's been on my list for a long time. An improvement of their prior release, Perseverence. The production is better and it's heavier. The guitar riffs were constructed for pure heaviness and power. Not as much shred-tempo tunes on this one, which I am glad about. Only downside is that I'd like to see a little more variation in the how the tunes sound.
Low- The Great Destroyer. Low is from my hometown and I'm glad to see that they're still going strong. This disc is a huge change in their sound - they've always been known for their minimalist/slow-core sound, but this is nothing like their old stuff. Alan and Mimi's vocals sound stronger than ever, and I absolutely love the smooth and warm but heavily distorted guitars. The production is excellent and the mixing is creative. Go take a listen on Amazon.

I downloaded the 1.0 release of Telligent Systems [^] Community Server [^] last night and spent about 5 hours giving it a test drive.  There are a lot of things I like, and a few things I don't like.

First, I'm really happy about all the features that come with it: blogs, forums, and image galleries.  It's a ton of functionality that all comes right out of the box.  This makes it extremely easy to get up and running with a “community“ based site.  Each main feature is highly customizable and is easily configured, in my opinion.  As time goes on there may be a few features here and there that I think of that I wished were in there, but right off the bat it's full of stuff.

Perhaps the greatest thing about CS is how easy it is to install it.  No more messy SQL scripts or hacking through web.config files.  Instead, you just upload or copy the app files to your web server and run a wizard from the installation directory.  The wizard sets up the database and does everything for you.  Nice.

I'm big on skinning, and CS blogs improve their skinning capabilities over the old .Text.  The skinning controls are better designed and organized this time around.

What I don't like is that Telligent Systems has positioned CS strictly as a multi-user community application, in my opinion. You'll have to get your hands dirty if you want to use it for just a single-user, single-blog type of site by peeling away some of the outer layers that surround the blog functionality. For example, there is a home page, a blogs home page, and then finally the blogs themselves. From what I saw there is no way to just disable those first few pages. In order to maintain a consistent look and feel across all of the "layers", some effort is required - it's just not a single blog skin but skins for the blog aggregate page and the home page.

So if I decide to get my hands dirty, dig in, and modify the app such that those outer layers aren't visible, all is good right? I don't think the answer is "yes". It appears that the blogging folder structure used by CS will need to be enforced. Meaning that I can't just use www.kindohm.com for my blog root, which is what I do now. Instead it'd be something like www.kindohm.com/blogs/mikes_blog. In addition, I have some blog posts with permalinks that are indexed by Google and frequently visited. As far as I can tell, those permalinks will all be lost. There is a .Text upgrade that you can perform, but I don't see how the permalinks would remain the same.

And the same goes for the RSS feeds. Since blogs are buried a bit under some folders, my current feed (www.kindohm.com/rss.aspx) will break because it won't exist any more.

I guess I was just expecting more of a seamless upgrade from .Text.

So my final verdict is that it's a sweet product, but I'm skeptical that it'll really fit with how I'd like to use it in my site. I could just bite the bullet and lose my permalinks and not be such a nerd about site traffic :)

By the way, if you'd like to download CS 1.0 but have difficulty finding the link to download the bits, you can find it at http://docs.communityserver.org [^].

posted @ Thursday, March 03, 2005 9:16 AM | Feedback (0) |

This is driving me nuts.  I'm contracting out at *confidential client name* right now and am working amongst a plethora of servers and other types of hardware.  There is an abundance of noise in this room, but the main server rack has a device in it that is whining at a constant pitch. 

The noise itself ain't so bad.  What's killing me is that the constant pitch of the device is near to the pitch of some sustained notes in the 2nd movement of Rachmaninoff's 2nd piano concerto (which I am listening to).  When I say “near”, I mean the two pitches are severely out of tune together and it makes my skin crawl each time it happens. 

But thankfully, the 3rd movement now begins.  I must go.