• Opening files that don't have associated programs

    Recently, I was adding the ability to open files from an application at work. Luckily, I had run into this situation before, so I knew that you could run a Process.Start on the file in question and have Explorer open it for you. What I didn’t know was that it would throw a Win32Exception if the file didn’t have an associated program to open it. My next step was what any good developer would do: Google it.

    Read more...
  • Mass confusion! (aka the Story About how I Thought my Feed had Died)

    Yesterday afternoon, I posted on ShellExecuteEx and executing files with unknown file extensions. I was really confused, though, because my feed just wouldn’t show up in my aggregator (RSS Bandit). I knew it wasn’t my reader, though, because I had navigated to my feed’s address (http://feeds.feedburner.com/DavidMohundro) and it wasn’t displaying my added post. I threw a few test posts out there but nothing would show up. I’ll admit, I couldn’t help but wonder if something had happened with FeedBurner. I shouldn’t have doubted, though. It was indirectly my fault.

    Read more...
  • The history of the world.... er... revised

    If Hollywood had its way with history, this might be what it would like.

    Read more...
  • Who cares about predicates without closures?

    I’ve been using the System.Collections.Generic namespace an awful lot lately. I really like it, too. I use the List<T> collection all the time. It is so much better than inheriting from the CollectionBase to get a type-safe collection. I won’t go into the reasons here, though. This post is about Predicates. If you have a List<T> collection, you’ll notice it exposes a Find method that takes a Predicate as an argument. A Predicate is just a delegate that takes an object of type T and returns a boolean. When you call the Find method, it will call your Predicate for each object in its collection until your Predicate returns true. Looks like a nice, clean way to search collections, right?

    Read more...
  • Can we say disk crash?

    Yesterday, after I had been at work for about an hour, Outlook started giving me some weird errors (something about cyclic redundancy checks). I googled the error and found a KB article that suggested that I try chkdsk. I tried that and it found some bad sectors on my drive. Afterwards, my computer booted back up and from then on… utter mayhem. Explorer would die with “Unknown hard errors” all over the place.

    Read more...
  • What in the world is Event Validation???

    I remember the first time I ran into an ASP.NET error talking about event validation (specifically while playing with CommunityServer). The solution I discovered at the time was to just disable event validation by setting enableEventValidation to false in the web.config file.

    Read more...
  • New release of FileHelpers

    I’ve blogged about FileHelpers before. I like it a lot.

    Read more...
  • Masked textboxes are for programmers...

    At work, we’re slowly moving from a classic ASP Intranet environment to a smart client environment. It has been very interesting watching (and being a part of) this movement. The typical intranet application is usually a form that consists of grabbing user input and doing something with it. Validating that user input can be a major headache. Typically, good applications would have both client-side (to improve usability and let users know about invalid data early on) and server-side (to ensure that nothing weird happened and to guarantee that the data is valid).

    Read more...
  • New build of IE7!

    It looks like the build from MIX06 has been released.

    Read more...
  • 360 Degree Reviews

    Some of you may be aware that I’m currently pursuing my MBA. (I would’ve preferred to get my master’s degree in CS or something like that, but there weren’t any good options nearby that would allow me to get my degree part-time.)

    Read more...