Welcome

Please contact me (Phil Haack) at here with any errors, problems, and/or questions.

To learn more about the application, check out the Subtext Project Website.

Powered By:

Syndication

Blog Stats

Bloggers (posts, last update)

Latest Posts

It's a Wonderful World...of Warcraft

AKA "My dad's 70th level human warlock can beat up your dad's 70th level night elf rogue!"

World of WarcraftLast week, my wife emailed me asking whether or not I was familiar with World of Warcraft. I had heard plenty about it, but never really gave it much thought due to the monthly subscription fee. Well, some of her coworkers were praising the game (as most WoWheads do), and it intrigued her enough to purchase the game on her way home from work. The rest was history.

Within a day we had it installed on 3 different machines for multiple playing options. I found myself digging around online for options to increase my mobile playing experience (keep posted for more on that one) because nobody wants to play on a system that has to be set at the lowest settings and STILL occasionally drops to 15 frames per second (though probably due to lag from hotel connection). Don't get me wrong, it runs quite well most of the time.

Okay, so why on earth would I be writing about a game that came out years ago? Simple, ever since it was released I have managed to withstand the pressure to play. So it's all new to me. And seeing as how this is my blog I'll do what I want. So get off my back already. Geeze. Uhhh...in any case. I did get caught up for a while in the Star Wars Galaxies phenomenon, but kept running into spans where I didn't have time to play thus wasting my money. Also, it puts a strain on the relationship when one is spending hours on end playing a game while the other stews in anger over the lack of "quality" time spent together.

As a HUGE fan of Oblivion (The Elder Scrolls IV), WoW was a no-brainer. It really feels like a less polished but far more versatile and never ending version of Oblivion (though leveling in WoW is much less complicated). It also has the added bonus of letting me play with my wife rather than around her (or worse...holed up in my dungeon office). Plus, since I'm not at home 3 nights a week, it gives us a mechanism through which to get together (and kill things). So instead of tearing a marriage apart, it's allowing us to get together and tear something else apart...if only virtually.

As aforementioned, I did play Star Wars Galaxies for a while (with the original rules and the revamp a year or so later). I must admit that WoW is far superior in performance and overall game playability. It's also nice that they don't start everyone out in the middle of the same gigantic spaceport surrounded by people shouting, fighting, and running around. However, I do wish I didn't have to wait till level 40 to get a horse. Honestly. That world is too damn big to have to run around like that.

My only turn off is the monthly fee. My work tends to be feast or famine, and there are times when I'd be lucky to find an hour a week to dedicate to gaming. I hope someday to see a pay plan that allows me to buy time instead of paying monthly. For example, if the average user spends 40 hours per month online, then 40 hours would cost $15. Then if it took me 6 months to burn through 40 hours that's my prerogative. If it took me 2 weeks then I need to consider switching back to a monthly plan. I think this would attract numerous gamers who have trouble finding time to play and thus can't justify the monthly fee.

If you think you're even mildly interested in the game, you should download the 10-day FREE trial and see if it is your cup of tea. The only thing you have to lose is several hours of download time (or the rest of your waking hours if you become addicted).

For anyone interested, here are the Windows Experience Index numbers for my laptop (Toshiba Tecra M3):

Processor Pentium M 2Ghz 3.8
Memory 2GB 4.4
Graphics NVIDIA GeForce GO 6600 3.4
Gaming Graphics 128MB Dedicated Memory 3.4
Hard Disk 5400RPM 4.4

Technorati Tags: ,

posted @ 2/28/2008 4:28 AM by Steve Majewski

Installing Silverlight with Visual Studio 2008

Installing Silverlight to work with Visual Studio 2008 was quite a task, but I managed to finally get a project loaded after dealing with several errors including, “The project type is not supported by this installation.”

After reading through several blogs and forums, here are the steps I had to take to finally get a Silverlight project to open:

  1. Install Silverlight Alpha runtime
  2. Install the Silverlight 1.1 Alpha Software Development Kit
  3. Install the Silverlight 1.1Tools Alpha for Visual Studio 2008

I hope this information helps anyone attempting to make this install.

posted @ 2/28/2008 5:31 PM by Jenn Majewski

Why Can't I Get Help From This Program?

Why can't I get Help from this program?
I don't pretend to understand why Microsoft makes many of the decisions they make, but when I run across an error like this in a OS that is already many gigabytes in size I have to ask myself, "Why?"

I haven't had many issues with Vista. There are some quirks with DRM in media player hogging system resources. Other than that, I'm rather surprised at how well it runs on my rather outdated Toshiba Tecra M3 (company laptop).

I'll admit, Vista was a bit of a pain in the early days when drivers were sparse. Whether this was due to hardware manufactures being lazy and thinking Microsoft wouldn't hit their target date or Microsoft changing too much with too little notice is beyond me.

There are some applications that don't like to play with Vista, which is to be expected and has happened in almost every Windows release. User Access Control has been the major culprit of most issues. I can't say I enjoy getting 2 or 3 prompts to do a simple task. I'd like to see an option that unlocks for X minutes for when I do multiple tasks that upset UAC.

Still, this error tickled me in an uncomfortable way. As aforementioned, Vista is not a lightweight when it comes to disk space requirements. I really would like to know what significant change was made that caused the old WinHlp32.exe to become obsolete to the point that they just completely ditched it. In the end, there had better be a damn good reason for removing something this trivial.

Technorati Tags: ,

posted @ 2/22/2008 12:51 PM by Steve Majewski

Redesigning LowDowns

So, six years ago, I quickly put together a website for a singing group called LowDowns. The technology then was limited to .NET 1.1 and my experience was seriously lacking. Most of the site used HTML. The only .NET was written by my husband, which was used to create something a lot like 2.0's masterpages. The finished site was simplistic, had a limited area to work with, and wasn't much to look at.

So, the time had come. The site desperately needed an overhall. I was having troubles figuring out a decent layout, and then I found a neat tutorial to create buttons in Paint.NET. After going through this tutorial, I decided to base my design around these buttons.

The site looks much better now and has the ability to create more functionality in the future, unlike the previous version. Although the buttons could fall under the category of "mystery meat navigation" they add some personality to the site. The site utilizes .NET much more than the old site and the code is much easier to maintain.

posted @ 2/13/2008 3:03 PM by Jenn Majewski

Ponderisms

From an email my father sent me:


Can you cry under water?
How important does a person have to be before they are considered assassinated instead of just murdered?
Why do you have to 'put your two cents in'.. But it's only a 'penny for your thoughts'? Where's that extra penny going to?
Why does a round pizza come in a square box?
What disease did cured ham actually have?
How is it that we put man on the moon before we figured out it would be a good idea to put wheels on luggage?
Why is it that people say they 'slept like a baby' when babies wake up like every two hours?
If a deaf person has to go to court, is it still called a hearing?
Why are you IN a movie, but you're ON TV?
Why do people pay to go up tall buildings and then put money in binoculars to look at things on the ground?
Why do doctors leave the room while you change? They're going to see you naked anyway.
Why is 'bra' singular and 'panties' plural?
Why do toasters always have a setting that burns the toast to a horrible crisp, which no decent human being would eat?
If corn oil is made from corn, and vegetable oil is made from vegetables, what is baby oil made from?
If electricity comes from electrons, does morality come from morons?
Why do The Alphabet Song and Twinkle, Twinkle Little Star have the same tune?
Why did you just try singing the two songs above?
Why do they call it an asteroid when it's outside the hemisphere, but call it a hemorrhoid when it's in your butt?
Did you ever notice that when you blow in a dog's face, he gets mad at you, but when you take him for a car ride, he sticks his head out the window?
Why is it called a driveway when you park there and a parkway when you drive there?

posted @ 1/30/2008 5:44 PM by Steve Majewski

Decoding Vista Media Center on Mac Mini

As mentioned in my previous posting, I've recently added a Mac Mini to my home theater to use as a Vista Media Center PC. In an effort to provide a public service as well as store my lessons learned, I've compiled this guide of stuff I did to get it all working.

All of this took place on an Apple Mac Mini 1.83 with 1GB of RAM and upgraded to OSX Leopard. This is by no means a gaming system, as it's performance is similar to a laptop. The base configuration has been sufficient for Media Center purposes.

Installation / Drivers

Using Boot Camp, which Apple includes, I was able to install Vista with no issues. Boot Camp also takes care of getting those pesky drivers copied over as well.

Remote - The built-in IR receiver would not accept commands from my Media Center remote (it only works with the pathetic 6 button Apple remote). I recommend getting a Media Center remote or a Logitech diNovo Mini (when it's released in late Feb, 2008).

Tuner - I don’t have a tuner hooked up to it, since I already have TiVo handling all my DVR needs. So I can’t give any details on that. I assume any Media Center compatible USB tuner will work.

Network - I’m hardwired into my 100Mb network instead of Wi-Fi (both of which are built-in to the Mac Mini). So I can’t speak to how it would perform that way. Technically 802.11g should be able to handle the bandwidth of DVD video, but specs and actuality are two different things.

Keyboard/Mouse - I’m using a Gyration GO 2.4 Optical Air Mouse and Compact Keyboard Suite, which is okay. However, for aesthetics I'm more interested in the aforementioned Logitech diNovo Mini.

Storage - With only an 80GB hard drive, storage space of raw DVD videos will be an issue. I already had roughly 700GB set aside on my file server, so I didn't need to additional storage to the Mini. However, any external USB hard disk can fill this need. IOMEGA has a line of hard drives designed to integrate nicely with the Mac Mini.

Configuration

By default, the My DVDs feature of Media Center is disabled. This article explains how to enable it. This makes Media Center think you have a DVD changer hooked up, which technically you do only it’s not individual discs.

After enabling My DVDs, add the folder(s) to where the DVDs are ripped to the watch folders. Media Center will scan up to 3 folders deep (another registry hack to go deeper) looking for a VIDEO_TS folder. The DVD contents must go into the the VIDEO_TS folder.

The default DVD video decoder that comes with Vista is pretty lousy. On certain movies playback becomes nauseatingly choppy. I downloaded a trial of the NVIDIA PureVideo Decoder then used the Media Center Decoder Utility to set it as the video playback decoder. It works like a charm but there are a few things to note.

PureVideo Decoder is not and will not officially be supported in Vista. The problems lay in saving changed settings. Since my Mini is hooked up to my stereo receiver via SPDIF, I could not use the audio decoder built into PureVideo because it required the settings be changed. The good news is, the video decoder works fine out of the box. Since the audio decoder built into Vista works fine, I only needed to purchase the bronze ($20) version of PureVideo.

As for audio, my setup required me to enable the audio jack for SPDIF pass through. On Vista this is simply a matter of opening the Playback Devices control (right click speaker on task bar and select) and setting SPDIF Out as the default device.

Ripping DVDs

Rather than write an end-to-end walk through of what I do, I'm just going to note certain aspects of the software I use. Most of the software already has extensive communities built around them.

In order to eliminate the excess fluff from the DVD I use DVD Shrink to re-author the DVD so it contains just the movie and pertinent audio tracks (no menus, bonus features, additional languages or commentaries, etc). My average is just over 4GB per DVD. This method takes me a few minutes to select all the necessary options and trim opening and closing segments I don’t want, then about 15 minutes to rip the DVD.

An added feature of using DVD Shrink to re-author the DVD is that flipper DVDs or multi-disc movies can be joined back into one continuous DVD as far as Media Center is concerned.

When re-authoring with DVD Shrink, it is important to NOT compress the movie. It should always be set to 100%. DVD Shrink will complain that it won’t fit on a single DVD, but who cares? Changing the preferred DVD size in the options to 8.4GB will all but eliminate the error.

Some DVDs contain copy protection that will cause DVD Shrink to die (sometimes with the grace of an ogre on ice skates). In the past I've used DVD Decrypter, but it is no longer available, supported, or upgraded to handle modern copy protection. An excellent alternative is SlySoft AnyDVD. It is a utility that cleans up such added "features" giving Vista a clean DVD to read.

The last step is to go to DVDXML and download a DVDID file and drop it in the folder directly above the VIDEO_TS folder. It’s a simple xml file that lets Media Center know what details to pull from its online catalog. This gets you cover art and some basic movie details. For movies that don't have an XML file, dropping a jpeg of the cover art names folder.jpg into the same folder will at least get you the cover art. I also use this for some movies where the cover art pulled by Media Center is inaccurate.

Remaining Issues

My only remaining issue that Media Center will only remember where it left off with the current DVD. So when if I stop a movie to watch another then come back to the first movie I have to re-find where I left off. I’ve been using DVD players with multi-disc resume features for several years now, so the loss of such a feature is a bit of a nuisance to me. Luckily, DVD Shrink keeps the chapter information intact, so getting back to where I left off is a little easier. Rumor has it this feature will be included in a future version of Media Center. The question is, which version.

Quick List of Referenced Stuff

Apple Mac Mini
Logitech diNovo Mini
Gyration GO 2.4 Optical Air Mouse and Compact Keyboard Suite
How to enable the DVD Library in Windows Media Center on a Windows Vista-based computer
NVIDIA PureVideo Decoder
Media Center Decoder Utility
DVD Shrink
SlySoft AnyDVD
DVDXML

posted @ 1/16/2008 8:17 PM by Steve Majewski

Why Do I Punish Myself?

The story began well over a year ago. I purchased several HDDs in order to convert an old 5-drive SCSI enclosure into a SATA enclosure. The end product was a roughly 900GB, RAID-5, MultiLane eSATA addition to my file server (sad how cheap a 1TB external drive runs nowadays).

One of my primary desires for so much storage was to give me a place to rip all my DVDs. My dream was to stream them to my living room using my XBOX 360 as an extender. And that's when the problems began:

  1. I could never get an encoding process down that would work to my satisfaction. Despite having a rather strong gaming rig, it still took far too many steps and too much time to encode a DVD as a WMV (to maintain the 5.1 audio).
  2. Media Center Extenders don't seem to play nice with domains. Extenders login with a local account that flat out refuses to see the network shares from my file server, regardless of security permissions I set.
  3. The 360 would periodically decide it didn't want to talk to my Media Center PC anymore inciting a long process of getting them to be friends again. Couple that with the 360 sounding like an aircraft carrier deck, and the idea of boxing up all my DVDs slowly faded away.

This year, I reevaluated my options and decided to pick up an Apple Mac Mini and slap Vista Ultimate on it. The small (and quiet) Mini could be tucked away in my living room giving me full Media Center functionality with very little impact to my living room feng shui (or lack thereof).

Next, I had to tackle my encoding problem. I've gotten rather tired of encoding DVDs every time a new and better CODEC comes along. Rather than deal with it, I decided to just store the raw DVD as is and enable to DVD Library functionality in Media Center. IMHO, external hard drives have become cheap enough that I can tack on several more TB for roughly what I paid last year for 1TB.

The end result is a nice fit. I rip my DVDs with DVD Decrypter* direct to the file server, grab the dvdid.xml file from DVDxml.com, and BINGO, they show up in Media Center. The XML file lets Media Center know what the DVD ID is so it can download additional movie details and cover art. So provided I get enough storage space I can officially box up my DVDs and hide them in some obscure closet (I do not condone illegally ripping DVDs, so I own every movie I rip).

[*] officially discontinued but easily found with a quick Google search.

Technorati Tags: ,,,

posted @ 12/17/2007 6:04 PM by Steve Majewski

Apple Touches Me Again - iTouch

iTouch Apple finally did it, they lured me back to the dark side. About a year ago, I picked up a Zune. I suspect I never mentioned it on this site because I was A) too busy at the time, or B) the jury was still out. After a year, there have been little to no updates to the Zune software or firmware, and the updates that were released didn't update much. I expected more and fear it shows Microsoft's total lack of interest in the Zune at all.

By now, everybody knows about Apple's new line of iPods. The new nano is horribly ugly ("fatty Mc. Fat Nano" as one prominent Mac Addict put it). I don't know why Apple thinks someone wants to watch a video on such a small screen, but to each his own I suppose. I suspect many are caught up in the novelty of an option they never use.

When Apple released the iPhone, I knew I wanted nothing to do with it. However, I was intrigued by the interface, and I knew it wouldn't take long for Apple for adopt the interface into the popular iPod line. Introducing the iTouch.

First Impressions

I don't think anyone can argue that the iTouch isn't pretty. If there's one thing Apple really does well, it's device design (excluding fatty nano). Naturally, this device picks up every fingerprint and smudge it can find. It comes with a cleaning cloth, but I would've preferred a sleeve like the GEN1 nano, since there are no cases for the iTouch yet and iPhone cases are too big. They also went back to the chrome backing, which gets scratched just looking at it funny. The face, however, is quite resilient and hasn't picked up any scratches.

Interface

The interface is almost flawless, easy to use, and very responsive. My only beef on the interface is the absence of a virtual scroll wheel. Track position is indicated with a thin line that is impossible to accurately tap with a finger (usually when jumping ahead in a pod/vidcast). Since this is software, I'll keep my fingers crossed that they'll come up with something a little more precise for managing track position.

Web/Wi-Fi

Web is a nice add-on, but more a novelty. Facebook comes up with the iPhone interface, which is handy. The downside is that it's Wi-Fi only. There aren't an abundance of free WiFi spots in the areas I frequent, so I'm limited to using it in hotels and at home. Bluetooth would have been a nice feature to use the web connection of my phone. Oh, well. Like I said, the web to me is a novelty. The Wi-Fi is also used to connect to the iTunes Store. This is handy if you're the type that has to buy an album RIGHT NOW, but for the rest of us it's a throw away.

Sound

This is another area where the iPod falls flat. On my Shure SE210's, there is a distinctive crackling noise. I couldn't hear it on my $30 headphones, so this definitely a shortcoming of the device with higher quality headphones. Compared to the quality that comes when playing back through my Creative Audigy 2 ZS, the iPod falls really flat. They've left the standard equalizer settings, but really could use some more advanced signal processing. This could be fixed with software, but I suspect it'll require better hardware to fix.

Battery Life

So far I've not been away from power long enough to drain the battery. My longest adventures put me about 4-5 hours shuffling through airport cattle lines, and I have yet to run out of juice. Granted, video playback sucks the power like no other. Couple that with the Wi-Fi and you're asking for only a few hours of usage. I turn off the Wi-Fi when it's not needed and don't watch a significant amount of videos (yet). For music playback, 5 hours barely puts a dent in the battery meter.

Capacity

Okay, there are two options here, 8GB or 16GB. I went with the 16GB, since I'm away from home (and synching music) for a week at a time. I'm sure this isn't enough for many, especially when music is stored in higher quality or lossless. Most of my music is 224VBR. I set aside 10GB for music, which gives me over 100 hours. I have no doubt they'll be releasing a hard drive based iTouch for those people who really need 160GB, but don't expect it to be the same slim little beauty.

Software

Let's face it, iTunes has gotten so bloated it's a joke. It's still the most convenient for people using an iPod, but it really has issues. It sucks up processing for trivial tasks, crashes far too often, and takes entirely too long to sync. I can only hope Apple will sort out the issues or I need to find some alternative software that does the basic tasks: library and podcast management.

Overall

After a month or so of daily use, I'm pretty content with my iTouch; outside of some issues that could be solved with software updates. If you're looking to upgrade your 4GB flash-based player with something with significant geek appeal (and you've got some money to blow on aesthetics over performance), then this device is for you. If you're lean toward the audiophile camp, it might be better to wait for a drive-based player to handle your lossless files.


Technorati tags: , ,

posted @ 11/7/2007 12:43 PM by Steve Majewski

TiVo HD For You and Me

TiVo HD Digital Video Recorder After over a year of taunting us with the insanely priced TiVo HD the price has finally dropped to $300, which is well within an average tech geek's budget. I've been avoiding getting Comcast's HD DVR because I knew TiVo would find a way to get the price down and I've heard nothing but bad things about the Comcast HD DVR.

So after working with the my new TiVo for a couple of weeks, here's my assessment:

The Good

CableCARD support, good. Dual CableCARD support, AWESOME. TiVo managed to keep the dual tuner in the lower priced HD unit. In a way, this replaces two of my old TiVos. I already had a CableCARD in my TV, so I moved it to the TiVo with no issues. I had to get a Comcast technical out to my house to install the second card (I have no idea why), so it's nice they put the ports on the front of the device.

This may sound like a negative, but I'll explain. This cheaper TiVo has less storage space, in the realm of 20 hours of HD content, 180 hours of SD content. However, TiVo conveniently added an eSATA port to the back. This means I can easily add on more storage if the 20 hours is not enough for me. While the TiVo doc labels the port for "future use", it turns out it can be easily activated with current systems. Read more.

The CableCARD support really sums it all up. Everything else is pretty much the same (see below for a bad difference). I can now tune all my digital channels without a separate cable box and I finally get to watch my favorite shows the way they were meant to be seen when I am unavailable to watch them when they air.

The Bad

There is a short coming to the dual tuner. When I schedule shows to start early and run late (usually a 1 or 2 minute buffer) the TiVo will bounce between the tuners if it is recording back to back shows. This is desired if the shows are on separate channels, however not if both shows are on the same channel. It ends up interrupting me if I'm watching something else at the time. My only option is not to record the showing. I would like to also have an option to force it to record and clip on the other tuner.

My understanding is there's a legal debate going on with the CableCARD people. As a result, video transfer capability has been disabled on all Series 3 units. I can still access most of my Galleon features, but I cannot transfer shows between my TiVos. I can understand CableCARD's desire to protect content, but I would like to at least be able to transfer shows from my other two legacy TiVos to the new one. Keep outgoing transfers disabled but give me incoming transfers!

UPDATE: 11/7/2007

This option has finally been enabled! I can now move my recordings (standard def at least) between TiVos. Also, for $25 I can upgrade my TiVo Desktop to a version that will transcode the videos for use on portable devices. I haven't decided if I need this upgrade yet.

The Ugly

Well, none really. Like I said, this device is pretty much the same as my Series 2 boxes with dual-tuner and HD support added on. Performance-wise, it is no different. I suspect video transfers will not be disabled forever, so I'll patiently wait.

Technorati tags:

posted @ 8/18/2007 5:09 AM by Steve Majewski

Go Broncos! 2007 NFL Season Begins

It's that time again.  The NFL pre-season starts for the Denver Broncos this coming Monday.  The play the 49ers in San Francisco and I can hardly wait for pre-season to be over so the regular season can starts.

The Broncos look promising this year.  They have a lot of great talent, including Jay Cutler.  As long as they have few injuries, they should be able to easily win the division (I don't rank the San Diego Chargers as high as some national rankings have because they have a new coach).  As for the Super Bowl, I wait to see how they do before I get my hopes too high.

Go Broncos!

posted @ 8/8/2007 3:52 PM by Jenn Majewski

Redesign Done!

Yay!  I've actually finished and released a new version of Conolia.com.  I'm excited about this version because it's the first version of Conolia that doesn't require a recompile in order to update (other than the first version that was strictly HTML).  I've come a long way in experience since that first version was done.

I'm hoping that this particular version will grow into a great learning experience for me.  I'm planning on trying out some AJAX when I go to add more functionality to the site.  We'll see how it grows.

posted @ 8/4/2007 11:02 PM by Jenn Majewski

MCSD.NET...Finally!

After a tragic lapse in testing, I finally managed to finish off my MCSD.NET certification today. I, like so many before me, got bit by the 70-300 bug. My first attempt at the test back in February sent me home with tears and a grade just not good enough to call me certified. I rolled onto a project shortly thereafter, and the steam went out of the study engine.

After some soul searching and recommendations from colleagues, I picked up the Exam Cram book from Que. I was a bit forlorn when I picked up the book last Friday. Every tech person in Denver knows about SoftPro Books. It's THE place to go for tech books when you don't have time to wait. I slap the book on the counter and the attendant gives me a half hearted, "finishing up that old certification, huh?" How rude! I knew I was running a little behind, but OLD!!!??? To pour salt on the wounds, I discovered SoftPro even removed the book from their website when I tried to link to it above. Tears of unfathomable sadness. In any case, the book along with the Transcender exams helped flesh out (and in many cases degrade) my knowledge so that I could pass the exam.

So while this is a happy day that I can kick the dust of the old certs off my boots and look ahead to the new (or I should say newer) stuff, I still can't help but feel like it was all for naught. I like to think I walked away with some knowledge gained, but in the end I feel like I just crammed for each test just enough so I could pass it. Well, on to the MCPD upgrade exams! Hopefully I'll complete them before someone calls me grandpa.

Technorati tags:

posted @ 7/31/2007 9:44 PM by Steve Majewski

Redesigning Conolia

Conolia.com is my personal site that I tend to test new knowledge on.  It's been a great learning tool for me.  However, lately, I haven't had a lot of time to work on my personal sites (as you can probably see with the lack of postings on this site). 

Unfortunately, Conolia has fallen into an obsolete tool.  The site is using VB.NET when I have been developing my skills in C#. The framework is 1.1 when 2.0 can do so much more.  Most of the site is hard-coded instead of data driven.  There's not an administrative back-end.  I could keep listing all the improvements the site needs, but instead I'll just leave it at that.

I am now working on completely redesigning Conolia.  In my discussions with others, I've also been able to make a list of new ideas for the site.  The new site will be in 2.0, will be data driven, have a much more efficient design, have an administrative back-end, and just overall be much easier to update.

Although I've only just started, I'm looking forward to releasing the new version!

posted @ 6/28/2007 1:41 PM by Jenn Majewski

Death of Galleon - Why Open Source Sucks

This is a wee bit old news, but it became an interesting lunchtime discussion point for me a few days ago. For those of you not in the know, Galleon was an open source project that provided additional functionality for TiVo such as music, weather, traffic, etc.

Last year, the developer of Galleon, Leon Nicholls, decided to stop development of it and move on to something new. This is another in a long line of open source applications I've used that have faded away into obscurity, and it is my biggest pet peeve with open source in general. One guy walks away and the project is dead.

For an open source application to survive beyond its original developer it has to be ridiculously popular. Galleon has quite a large user base, many of which are accomplished developers. Why is no one stepping forward to continue development? Because most people don't like doing something for nothing.

I still use Galleon and was upset when I heard it was shelved. Galleon, while functional, is far from finished. It is an excellent proof of concept but lacks the polish of a commercial application. If Leon was making money off of it, he'd certainly have a much different outlook. Sure, he won an award and that motivated him for awhile, but when the project got to the final 10% (where 90% of the work is done) he walked away. Why? Because every developer knows that the final 10% of any application is dreadfully boring work.

So I agree with Leon's decision to cut and run. He lost interest in the project and there was nothing more to gain (learn) from it. He's moved on to other technologies that will help him increase his skill set thus making him more marketable. What would be his motivation to finish Galleon? To make a bunch of people he doesn't know happy about their TiVo? Hard to pay rent with that.

Technorati tags: , ,

posted @ 5/30/2007 2:51 PM by Steve Majewski

Mac Spoof

I ran across a series of spoof Mac ads on YouTube and wanted to share them with the world (aka my friends) through my rarely hit personal blog. See them all here.

Technorati tags: , ,

posted @ 5/30/2007 8:57 AM by Steve Majewski

DataGridView Reentrant Call Nightmare

The story begins with the QA team finding a bug. The description of the bug appears quite simple. When the user clicked on a cell in a DataGridView on the form then closed the form using the X, reopening the form would throw an unhandled exception. "No problem," I think to myself. Little did I know the adventure on which I was about to embark.

Naturally, my first stop at debugging was to get the actual error that occurred. I place it here in the hopes that the wary developer scouring the web for a solution to a particularly nasty bug (get on with it) will find it and be saved:

System.InvalidOperationException was unhandled
Message="Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function."

The error message appeared simple enough. It even contained pretty words that make it much easier when finding solutions on Google (ahem...I mean MSN Search). Sadly, my search yielded me annoying solutions with no results.

Let me start (you're starting now?) by explaining what is happening. When the X button is hit, the form's focus does not change from the DataGridView. As a result, the grid remains in an unedited state. This particular form was being reused as a dialog, so the next time the form opened and code tried to change the grid's data, the error would occur.

The error is caused by an infinite loop. The cell on the grid is trying to change, thus calling the SetCurrentCellAddressCore, which in turn raises some other event that calls the SetCurrentCellAddressCore and so on and so forth. .NET detects the loops and gracefully crashes headlong into the ground like an ogre on ice skates.

The craziest part was the error would only occur when the application was run directly. When I ran it through VS in debug mode, it would continue on its merry way like nothing happened. Wrapping the offending call in a TRY...CATCH block also did not work. The interactive debugger would catch the exception but running the application direct (off the same compile, mind you) would throw the error every time despite the TRY...CATCH.

One solution I found involved deriving my own DataGridView class and overriding the SetCurrentCellAddressCore method. A property was added the would indicate whether or not the form was reloading data and prevent the reentrant call. While this worked for me when setting the grid's DataSource to null, it caused an IndexOutOfRangeException when I tried setting the DataSource later.

During my debugging, I could see good and well that the grid thought it was being edited thanks to the IsCurrentCellInEditMode property. I tried calling the CancelEdit, EndEdit, and even NotifyCurrentCellDirty methods, but the grid remained in edit mode. I tried directly setting the CurrentCell to null. No dice. The grid refused to realize that it really wasn't being edited.

Finally, light dawned on marble head. The problem is the grid is still active when the form is closed. What if I just selected another control when closing the form? There was no reason not to set the focus back to the first control on the form so that the next time the form opened it would be selected.

Even though I had code in place to switch the control focus, it was triggered when the form was opened (activated really) rather than when it was closed. The only thing I can deduce is the grid goes into a strange limbo if the form is closed whilst it is in edit mode. I created a FormClosing event and added the one line of code to select the first control on the form. That was enough to switch the grid out of edit mode so that it could be manipulated the next time the form was opened.

So what started as an easy looking bug ended with an easy solution with about 10 hours of hair pulling antics piled up in the middle. Either way, I still got the warm fuzzies when I saw it work. That is the mark of a true developer.

Technorati tags: , ,

posted @ 5/17/2007 9:01 AM by Steve Majewski

Implementing List.Find in .NET 2.0

I'm putting this here more as a reminder to myself than anything else because I'm tired of looking it up every time I need to implement one of these things (of course, isn't that why people write blogs?).

The List generic class added in .NET 2.0 (System.Collections.Generic.List) is probably my most favorite addition to .NET 2.0 (well, generics in general). No longer do I have waste time creating a custom collection class just to get a strongly typed collection for my business objects. It even has the ability to do searching against the list provided you can get past Microsoft's less-than-informative help.

The List class has a Contains method, which will search the list for an instance of a given object. However, that will only indicate whether or not the list contains the same instance of the object. So having another object with the same data will yield a false negative when using the Contains method (if duplicate data is not the desired result, of course).

The Find method is more flexible because it allows the developer to define how to compare the objects. To perform a Find on a generic list, you need to create a Predicate to do the legwork. A Predicate is nothing more than a generic delegate that defines criteria and determines whether or not the criteria are met.

There are several ways to define a Predicate, but this is the method I prefer to use because I creates clean, reusable code:

public class Person
{
    public string LastName;
    public string FirstName;

    public static Predicate<Person> FindPredicate(Person person1)
    {
        return delegate(Person person2)
        {
            return person1.LastName == person2.LastName
                && person1.FirstName == person2.FirstName;
        };
    }

    public static Predicate<Person> FindByLastNamePredicate(string lastName)
    {
        return delegate(Person person)
        {
            return person.LastName == lastName;
        };
    }
}

Here I've defined two different (if not very simplistic) Predicate functions. The Predicate function creates an inline delegate that receives a Person datatype. The Find method will always pass in an object of the List's datatype, so there is no flexibility on the method signature for the delegate. However, the data passed into the Predicate method can be anything, and the variables are available in the delegate's code block. This allows for comparison logic to be as complex as needed. Keep in mind that the Find method will only return the first item in the list that matches the criteria.

To use the predicate, the code would look something like this:

// add person if not already in the list
if (myPeeps.Find(Person.FindPredicate(peepToFind)) == null)
{
    myPeeps.Add(peepToFind);
}

// find first person with a last name of Gump
Person foundPeep = myPeeps.Find(Person.FindByLastNamePredicate("Gump"));

Of course, Predicate methods could be defined anywhere. It makes sense (to me anyway) to put them on the business object as a static method, since it doesn't hurt for a business object to know how to compare itself to given criteria.

Technorati tags: , ,

posted @ 4/24/2007 10:00 PM by Steve Majewski

Corrupt User Profile

I ran into a little problem with a Windows Server 2003 VPC earlier this week. I was using the VHD on two separate machines with a different VPC profile on each machine due to needing a different hardware configuration (memory, NIC, etc). I made the fatal mistake of forgetting to shut down the VPC on one profile before opening it in the other. The end result was a giant mess.

The first major hurdle was the countless corrupt files, mostly with the code on which I had been working. Windows detected something was wrong and automatically ran CHKDSK on the drive. It took several hours to "fix" all the files, and several were still corrupt when I got the system running again. After pulling the missing files back from VSTS, I thought everything was good to go.

The next time I tried to use the VPC on the other system, I discovered that the user profile was corrupt and could no longer log in to the VPC. As soon as I entered my login information the system would reboot. I eventually tried booting in safe mode (which should have been the first thing I tried, but I'm not one for simple solutions). Luckily, I was able to access the account and use it to create a new account (apparently corrupt user profiles can't be fixed).

My first attempt to login with the new profile caused the system to reboot and corrupted the drive so it would no longer load Windows (would continually reboot). I attached to the OS install CD ISO (always good to keep that handy) and booted to the recovery console. From there I ran the FIXBOOT command, which is used to repair the boot sector on the system partition (and usually works). That was all it needed. The system booted and I was able to login with the new user and continue working.

I haven't tried the old account yet, but don't want to risk killing the system again. Moral of the story, if you use a VHD on multiple VPC profiles, shut down the system in one profile before trying to open it in another. It'll save you hours of time.

Technorati tags: ,

posted @ 4/18/2007 8:59 PM by Steve Majewski

Use of Isolated Storage in .NET 2.0

Wouldn't it be nice if there was a way for your Windows application to store information on the local hard drive without having to worry about user access privileges?  Well, with .NET 2.0, there is and the classes associated with it are IsolatedStorageFile and IsolatedStorageFileStream.   Long story short is that use of these classes will allow your Windows app to cache information on the local hard drive specific to your assembly or application even if your user has the lowest of the low account privilege (i.e. restricted access like Limited or Guest). 

 

In my code sample below, I'm going to use the above mentioned classes to perform the following actions for a console application (i.e. assembly):

  1. Store information on the hard drive specific to the user of the console application
  2. Retrieve that information for use at a later time

 

Here is the code you can use to do this:

// Be sure you add these two namespaces...

using System.IO;
using System.IO.IsolatedStorage;

...

// Write info to isolated storage based on the user and assembly...

IsolatedStorageFile userStore = IsolatedStorageFile.GetUserStoreForAssembly();

IsolatedStorageFileStream userStream = new IsolatedStorageFileStream("UserSettings.set",
FileMode.Create, userStore);

StreamWriter stream = new StreamWriter(userStream);

// Info you want to save...
stream.WriteLine("Saved Info: Whatever you want");
stream.Close();

...

// Read info from isolated storage...

string[] file = userStore.GetFileNames("UserSettings.set");
if (file.Length != 0)
{
userStream = new IsolatedStorageFileStream("UserSettings.set",
FileMode.Open, userStore);
StreamReader reader= new StreamReader(userStream);
string contents = reader.ReadToEnd();

// Write the info to the console... 
Console.WriteLine(contents);
}

As you can see, this is a super simple and easy to use method for saving application info to the hard drive without having to worry about user access privileges.

posted @ 4/12/2007 6:56 PM by Sherman Quick

Not Dead...Yet

It's been some time since I've posted anything. It's not that I'm dead or terribly busy. I'm just too lazy to take the time to organize my thoughts in a clear and concise way. However, I now have a bit of a backlog of stuff about which to write. Keep an eye out, I'll be back very soon.

posted @ 4/5/2007 8:28 AM by Steve Majewski

Sweet December

December has been a busy month for me. I managed to eliminate another test on the road to MCSD.NET certification, 70-229. Only one test left. w00t!!! I had planned to finish my certification before Christmas, but was asked to work on a prototype system for a huge potential client. So the days have been long. Luckily, it ends Jan 10. As for now, I'm in Salt Lake City, where the air is cold but spirits are high. I look forward to going home this weekend but not the flying.

posted @ 12/20/2006 8:55 AM by Steve Majewski

The Curse Continues: Seattle Seahawks vs. Denver Broncos

It's a curse on me, not the Broncos.  And it has nothing to do with win or lose.  It's all about the weather.  You see, Colorado has just gone through a cold snap and it's time for my first (and only) Bronco game of the year.  This Sunday, the Broncos host my second favorite team, the Seahawks.

Prior to 2003, I can't remember which games I went to.  But here's the run down of the last three years:

November 23, 2003 - Chicago Bears.  The Broncos lost this game 19-10.  It was a huge disappointment after sitting in the freezing temperatures.  When I say freezing, I mean it literally.  The tempurature was in the single digits.

November 28, 2004 - Oakland Raiders.  The Broncos lost 25-24 to their rivals.  This is the first ever Raiders game I attended and it was a Sunday night game.  It was bitterly cold after a snow storm had hit earlier that day.  Infact, a friend of mine was sitting just a few rows down from me and we never saw each other because we were so bundled up.  Tempuratures for that game were in the teens.

October 9, 2005 - Washington Redskins.  The Broncos beat the Redskins 21-19.  One of the reasons I picked this game was because it was early in the year.  However, it was probably the worst game weather wise I have ever been to.  The day started out beatifully with a high of 75 degrees, but when a cold front came through the rain wouldn't stop.  Tempurtures during the game hovered just above freezing.  With tempuratures that low and the constant rain, it made for a miserable day to be outside.  Give me just plain cold or even cold and snow over cold and rain any day!

Now it's time to start getting ready for this Sunday's game.  It was originally scheduled to start around 2:00, but with the NFL's flex schedule this year, it has been moved to 6:15, making the game that much colder after the sun sets.  It is a curse I bring with me.  So, if you're ever planning on going to a game, check with me first to see if I'm going.  Those will be the games you'll want to avoid.

Hey, at least it will be fun watching Jay Cutler play for the first time.

posted @ 12/1/2006 10:02 AM by Jenn Majewski

Nerf Herder - Mr. Spock

You want a guy who can bring the Bacon
And you want a guy with Savoir Faire
Somebody who can take control of it
Someone with cool black shiny hair
(YEAH!)

You don't want a boyfriend
What you want is Mr. Spock
To come to your wasteland
And destroy the roh-oh-oh-oh-oh-bot
Something more than human
Someone with blood that's cold and green
You want something better... than me

Captain Kirk went to the planet
And there he fought the man-lizard
He saved the ship, invented the gunpowder
But that's just not good enough for you, is it?!
Noooooooo!

You don't want a boyfriend
What you want is Mr. Spock
To come to your wasteland
And destroy the roh-oh-oh-oh-oh-bot
Something more than human
Someone with blood that's cold and green
You want something better than meeee..meeeee....

You sit all night at your computer
Drinking Diet Dr. Pepper
Looking for an answer to it all....
Say the words! Say the words! Say! Say! Say the words!

You don't want a boyfriend
What you want is Mr. Spock
To come to your wasteland
And destroy the roh-oh-oh-oh-oh-bot
Something more than human
Someone with blood that's cold and green
You want something better than meeeee... meeeeee... than me!

Technorati tags:

posted @ 11/28/2006 11:13 AM by Steve Majewski

New Toys: Part II - Alienware Area-51 m5750

Not long after the purchase of my new car, my new laptop arrived: an Alienware Area-51 m5750. This baby an Intel Core 2 Duo Processor and has a 17" widescreen monitor that gets up to a 1920x1200 resolution. That gives me plenty of room for code when I open up Visual Studio. I bought it with minimal RAM (512 MB) and added more myself when it arrived (it's now 2 GB).

Once it arrived, I installed the new memory along with Windows Vista. It runs beautifully. With the exception of the DVD-ROM not wanting to read EA games, the machine works fantastically.

I'm very excited about this new toy of mine. It's a high performance media machine that doesn't only work well, but looks pretty cool, too.

posted @ 11/28/2006 10:24 AM by Jenn Majewski

Finally, A Working System

Last week, I finally got my new system setup on a dual boot. I had to install the version of Windows XP that came with my system because it included the hard disk controller drivers that the OEM does not. Luckily Dell provided me with just the setup disk instead of forcing me to reimage the system with all their proprietary nonsense software I don't need. I tried making my own install disc with the proper drivers, but it failed miserably. I only tried once, but I didn't want to turn this thing into an ongoing project. I wanted my system up and running.

As new hard drive controllers come out it becomes necessary to provide drivers during the setup process. This can be accessed by hitting F8 during the initial loading process of the Windows installation. The problem is, it is hard coded to look for the drivers on the A drive. You know...floppy drive. You know...that $30 option I opted to not option because WHO THE HELL USES FLOPPY DRIVES ANYMORE??? In fact, notebooks don't even bother including them anymore. Oh, and a USB floppy won't work. I has to be an old school floppy drive.

The plus side, everything is working. My games are awesome in XP and Vista does well with the rest. XP is a little faster booting to the login screen by about 5 seconds. No real biggie. I'm happy this thing is done and I can finally get on with my life...for now.

Happy belated Turkey Day!

Technorati tags: , , ,

posted @ 11/28/2006 10:23 AM by Steve Majewski

New Toys: Part I - Subaru Legacy Sedan

In the last couple of weeks I've gotten two major toys.  This post will be about my first toy; a Subaru Legacy Sedan.

My last car was a VW New Beetle.  It was a bright yellow car that stood out in the parking lot and matched my personality.  I loved the way the small car handled and, with a turbo engine, it was fast.  It had a lot of problems, however.  It's appearance made it a target for vandalism and it had a problem with parts not working.  The list of problems I had is too long, so I won't list them here.

I took my car in for an oil change one afternoon but was told that the plug was stuck and I would have to take it in for maintenance.  That was the last straw.  It was time for a new car.  As mentioned before, I loved the small size of the Beetle and wanted to stick with something fairly small.  But, as a resident of Colorado, I also wanted something that would handle the snow better.

The all-wheel-drive Subaru Legacy Sedan was a perfect fit for me.  I had rented one of these cars a couple of years back and loved the way it handled.  So, it was off to a Subaru dealership.

Overall, I am very impressed with my new (used - 2006) car.  I have yet to drive it in the snow, but I'm sure it will do fine.  It's definitely larger than the Beetle, but it's no large SUV or truck, either.

posted @ 11/28/2006 10:07 AM by Jenn Majewski

The Third Time is the Charm - Windows Vista Challenges

Well, my luck with Vista has been rather crappy. It took a better part of Friday to download the x64 ISO. Luckily I had started my download before Microsoft pulled the link due to network traffic. After many hours of careful monitoring of a constantly failing connection the entire ISO finished.

Step 1: Burn the ISO to a DVD

This yielded me three DVD coasters and no usable media. I suspected the ISO might be corrupt, so I decided to try using an x86 version of Vista given to me by a co-worker. That kept blue screening on me during the installation. It was complaining about a thread conflict. I had already used the DVD to rebuild my old laptop, so I had no idea why it kept dying. I decided to try burning the x64 version using my old laptop, and finally got a usable disc.

Step 2: Rebuild the Machine

This part went off without a hitch. Vista took a little over an hour to install. Then there was installing all the updated drivers, additional software, and configuring everything. In the end, it was roughly a three to four hour process. Sadly, Vista is still missing the fish tank screensaver from RC1. :(

Step 3: Test Out a Game

I wanted to see how some of my games run on the new system. I always had to play them with the lowest graphical settings, so I was interested to see how they look running without limitations. I installed Knights of the Old Republic, which is not a new game by any means but still one of my favs. I immediately noticed something odd with the sound. IT WAS STEREO!!!

In the settings, I saw the game wasn't recognizing the EAX abilities of my X-Fi card. A quick Google search gave me the answer. This is from Creative Lab's support sight:

The Vista audio architecture disables DirectSound 3D hardware acceleration; resulting in legacy DirectSound based EAX game titles not working as they did in XP.

Issues that may be encountered:
Could range from loss of EAX functionality in EAX enabled games to a complete game incompatibility, depending on how the game title was authored. This would only happen with games that render 3D audio using DirectSound, it should not affect games that render 3D audio using OpenAL.

Status:
These issues cannot be addressed by the Creative audio driver, because the functionality was purposely removed by the operating system. We look forward to game titles moving away from DirectSound and toward OpenAL for fully optimized Creative 3D audio hardware and technology support.

Even though the FAQ entry pertains to EAX, it's actually true for any game that uses the 3D audio component of DirectSound (you know, like virtually every game for the past decade and every game I own). I don't think OpenAL is widespread enough to completely write off DirectSound. I don't want to make assumptions as to why DirectSound was crippled, but this going to make many games seem worse on a PC compared to a console like...say...the Xbox 360.

Conclusion

I've spent way too much money on the audio setup for my system to not be able to play my games the way they were intended to be played. So I've decided to setup my system as a dual boot. However, from what I've read Vista doesn't play well with another OS trying to steal its master boot thunder. So now I have to blow out everything and start over with a clean install of XP then install Vista.

They say the third time is the charm. The whole ordeal reminds me of when Windows went 32-bit, only this time it's software and not hardware that's slapping me in the face. Here's to hoping it works out (clink).

Technorati tags: , ,

posted @ 11/21/2006 3:31 PM by Steve Majewski

Vista RTM Install - Dell Inspiron 5100

So, this weekend I fired up my old Dell Inspiron 5100 and decided to give Vista a try.  Overall, the installation experience went amazingly smooth, but I must be perfectly honest and admit that I didn't even attempt to go the upgrade route since my previous experiences with upgrading have always been problematic.  To make a long story short, I gave the system a compete lobotomy by reformatting the drive and starting with a clean install of Vista Business Edition.  By the way, a single Vista installation will actually support all four flavors of the OS (Ultimate, Home Premuim, Business, and Home Basic).  It's appears that it's the access key that controls the feature set that is enabled on your particular system that seperates a Ultimate from say a Home Basic install.  This allows you to be able to upgrade the OS by simply purchasing and inputing a new access key as opposed to having to re-install or upgrade the OS software again.

So, how's the experience...

Overall, the system is running extremely smooth and is performing well with just the basic installation of the OS itself.  Haven't stressed it or messed around too deeply with it, but I think its working great coming straight out of the install with native device drivers only.  Only bad news is that the Inspiron 5100 has such gimpy video, I didn't get to experience the beauty of the new Aero (i.e. also referred to as "glass") interface.  With that being said, that is the only complaint I have about Vista.  It really doesn't look all that great if you've got a whimpy video card like the 5100 has.  Naturally, I'm anticipating that video performance will most likely improve once ATI releases a new driver for the Mobile Radeon 5400, but I'll have to wait and see (by the way, I'm not holding my breathe on that).  I'm still getting used to the layout of the new Start menu, but that will improve over time.  I'll be honest and admit that I had to change back to the Classic Start menu in order to perform a few Admin functions such as enable IIS and manage services, but, eventually, I'll figure out where these functions are in the new menu system. 

As for other software, I also installed the following apps once the Vista installation was complete:

  • Visual Studio 2005
  • Visual SourceSafe 2005
  • SQL Server 2005 Standard Edition

and they seem to be running fine as well.  There were a few trivial incompatibilities that you have to manage; however, I do like the fact that Microsoft warns you about them upfront during the installation process so you can take care of them ASAP.  Haven't installed any games, but I've heard some grumblings about performance and incompatibility issues.  Then again, this is my home dev box so I don't plan on messing with games on it.  Gaming is strictly for my Dell XPS that I'm not brave enough to upgade to Vista....yet...

posted @ 11/21/2006 9:48 AM by Sherman Quick

Vista: The Sound of Silence

I've installed the new operating system from Microsoft, Vista, onto my desktop at home and all sees to be running fairly well with one exception, my computer is now silent.  Apparantly, there are no drivers for the Creative SB Live! Sound card.  My machine is as silent as a mouse.

With Office 2007 running, iTunes installed (after some issues with permissions on another user account), and the realization that Vista has a Mahjong game (one of my all time favorite games!) I figured no sound was a small price to pay for a machine that runs much better now than it did before.  But iTunes is pretty worthless without sound.  Sure, I can sync up my iPod, but that's about where the fun ends.  And I miss the alert sounds to let me know when I have new mail or an instant message.

I hope it won't be too long before a fix is available.  The interface on Vista is very different from XP and will take some getting used to, but overall, I'm liking it so far.  It will be that much better once I can hear again.

posted @ 11/21/2006 8:45 AM by Jenn Majewski

Origami CD/DVD Sleeve

Ever have someone hand you a CD/DVD at work without a jewel case or sleeve? Worry you won't be able to get it home without something horrible happening to the precious surface? Here's (link) how your can make a sleeve from a plain piece of paper.

posted @ 11/17/2006 2:00 PM by Steve Majewski

Dell XPS 410 + Windows Vista Goes RTM

Dell XPS 410 I recently purchased a new computer after four long years of using my Toshiba notebook as my primary system. I felt it better to go with a desktop this time around, since Avanade provides me with a notebook. After some research I went with a Dell XPS 410 because it gave me the most bang for my buck. Dell and Alienware are the only pre-built systems I trust and quite frankly I've grown tired of building my own machines. Of course, that doesn't mean I have to deal with the smack software they load on the things by default.

Step one, blast the OS with a nice fresh copy of Windows Vista RC2. So a couple of days ago I download the x64 version of RC2 (I hadn't needed it in the past, since all my other machines are x86). I spent last night installing the OS and some basic applications, including the recent RTM of Office 2007. Today, I walk in to the office and everyone is raving that the Vista RTM was released last night. LAST NIGHT! This is the second time this has happened to me with Vista. Someone at Microsoft will have to answer for this!

Now I'm downloading the RTM version at sub par speeds thanks to the countless MSDN junkies all trying to get their grubby little paws on it at once. Avanade had it available through our internal torrent utility about 4 hours before it was posted on MSDN, but alas I was too late. I at least have the luxury of the weekend to play around with it assuming it finishes downloading in the next century.

On the plus side, the new system is working fine on RC2. I was able to find x64 drivers (beta) for all the hardware in it. I did, however, have to ditch my old USB TV tuner, since it there are no x64 drivers for it. The new system already has a TV tuner that works, but I was hoping to add the secondary tuner. No big deal. I doubt I would've used it much anyway. I only have one unknown device left and it's tied to ACPI (who cares about power management?). Maybe the RTM will recognize it, but I'm not counting my chickens before they come home to roost.

Technorati tags: , ,

posted @ 11/17/2006 1:54 PM by Steve Majewski

Just Two words...

Vista...RTM...

Yes, today is the big day if you happen to be a certifiable Microsoft geek with an MSDN account.  If so, Vista RTM is just begging to be downloaded!  I'll be updating my home development box tonight with the latest release and I'll keep you guys posted on how that journey goes...

posted @ 11/17/2006 1:03 PM by Sherman Quick

It Starts - Microsoft Certifications

When I started my new job back in January as a Solutions Developer, I decided to hold out on getting MCSD certified since the new Framework had been out and the release of the new certifications was right around the corner. The MCPD exams have been out for a few months now and Microsoft Press even has a few books to help study. So, I figure, it’s time to bite the bullet.

Next week (and yes, I’m aware of the holiday), I will be hunkering down to do some serious studying. My short-term goal is to have passed the 70-536 (Microsoft .NET Framework 2.0 Application Development Foundation) exam by the end of this month. I’ve never taken a MS Certification exam before, so this should be interesting . . .

posted @ 11/16/2006 2:27 PM by Jenn Majewski

Code Music

If you're like me, there are times when you need some ambient music to keep the right brain happy when you're doing a lot of left brain intensive work like debugging, researching a problem, or cranking out code.  In light of this, I thought I'd share one of my favorite internet radio sites that helps keep me going even during those inevitable late nights that plague us developer-types, http://www.di.fm/.

This site operates just like a radio station only it has a variety of music your wouldn't typically find on the airwaves, minus annoying DJs, and has minimal commercial interruption. 

To use the site, be sure to scroll down the page to where you see the Radio Channels section.  At that point, you'll start to see all the channels that they have to offer.  Once you've found the type of music you want to listen to, click on either the 24k, 32k, or 96k button and it'll start streaming audio to your default player.  Naturally, the higher value, the better the signal quality at the expense of more bandwidth usage.

My recommendations are Trance and Chillout, but there are plenty of options for you guys to choose from.  If you're at work, just be sure the IT guys are cool with you sucking up some of there precious bandwidth...

posted @ 11/15/2006 1:27 PM by Sherman Quick

Dealing with the Download Cache

I recently experienced some woes with updating a .dll in the Microsoft Download Cache, C:\Windows\Assembly\Download, that I've finally been able to resolve.  Anyway, I thought I'd share my experiences to help any of you guys who might be encountering a similar issue.  Here are some details to clarify...

Problem:

I had just completed some changes to a custom library, .dll file, that gets downloaded from our website to the client's download cache directory, C:\Windows\Assembly\Download, when I discovered that an older version of the file was continurously being loaded every time I tried to access the site as a client.  This continued to occur despite the fact that I'd updated our website with the most recent revision of the file.  In case you're curious, our website loads that .dll file onto the client so that it can communicate with the client's laser hand-scanner, a device used to read bar-coded information into controls of our site.

Root Cause:

An older version of the .dll file is continuously being loaded every time I access the appropriate page because the file has been cached to the client's local temporary internet files folder.

Solution

Here are the steps that I used to effectively resolve this issue:

Please note: all these actions take place on the client which happens to be using IE 7

  • Open Internet Explorer and click Tools -> Internet Options
  • Under the General tab, click on the Delete button located in the Browsing History section
  • Click the Delete files... button located under the Temporary Internet Files section
  • Click Yes to delete all temporary Internet Explorer files
  • Click Close
  • Click on the Settings button located in the Browsing History section
  • Click on the radio button that reads Every time I visit the webpage and make certain the disk space specified is greater than the file being loaded (you can change this back to it's original settings after the client has downloaded the new file if you aren't comfortable w/ this change)
  • Click OK, click OK

This action will allow a new version of the .dll file to be loaded onto the client when he/she accesses your site.

Optional:

If you also wish to clear out the Download Cache directory, C:\Windows\Assembly\Download, on the client and start over fresh, you can perform the following actions:

  • Open a Visual Studio .NET Command Prompt (can be either 2003 or 2005, but I just happen to be using 2005)
    • It's located under Start -> All Programs -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 Command Prompt on my system, but could be different for yours
  • Type gacutil /cdl and hit the Enter key

This action will effectively delete all existing files currently located in the Download Cache directory.

posted @ 11/15/2006 11:00 AM by Sherman Quick