When Your MSIs Just Won't Uninstall

Mostly for my own reference, but if you're in a situation where you have an MSI that says it is uninstalled successfully but still leaves a good deal of files on your machine, Microsoft has a tool to help clean up the Windows Installer configuration.

ScottGu Article on LINQ

Scott Guthrie has the best article I've seen so far on LINQ so far. He's glossing over how to do some of the fancier stuff such as supporting all this stuff in your own objects (so instead of just a List and arrays), but overall the article demonstrates LINQ incredibly well.

I wish I were smarter

Seriously, read this article:

Light's Most Exotic Trick Yet: So Fast it goes... Backwards?

I like to read up (or watch up on Nova) on the dumbed-down scientific theories presented for the layman. It's just baffling to me how people can me up with this stuff.

Great Lisp Article

I've been debating learning Lisp over the past few months but never could get into it. I've had Lisp books on my Amazon.com wishlist for quite a while but haven't bought them yet.

So I found this Lisp article via John Lam that describes Lisp in a manner that is incredibly accessible to people without any Lisp knowledge other than "it works on sets" (which makes no sense by itself).

Great article, I'd encourage anyone to read it. I'm actually going to go out and buy my Lisp books that I've been putting off.

Shadowrun PC XBOX360 Game Announced To Fan Outrage

It was announced recently and they now have an official website. They have some forums and so far they're not getting very many supporters of the idea of making a team-based FPS game from a tabletop RPG.

If you're a nerdly like myself, you may know Shadowrun, and you're probably also at least disappointed in the decision to make the game in its current format. It's an odd decision to use an RPG genre for what is essentially a cookie-cutter game nowadays. They could have created their own and not paid the royalties.

The guy who's making the game has a blog post explaining the decision, however the reasoning is a bit short-sighted. The one thing I think should be realized is that unless this game is drastically better than the already near-perfect team-based FPS games out there, there won't be any reason to buy it. If nobody buys it, the reasoning that they're going to have a series of games won't hold up because nobody will pay for a part two if part one never made any money.

Eh, it's a shame they decided to take this route and not a slightly more involved game (like Deus Ex) but still use some of the easier to sell semantics of a FPS game.

Please Please Please Think About Where You Put Your Menu Items

I did some work in InstallShield today and went to check in my merge module to source control. I've never been a multi-keystroke shortcut kinda guy (ALT+P L I for instance) so when I have many menus to navigate through I usually use the mouse, albeit rather quickly. Sometimes when I'm not careful, I'll go a tiny bit too far and hit the next menu item. Usually this is not a big deal, but when you put Check In and Undo Check Out right next to each other it most certainly is a big deal.

This wouldn't be too bad if InstallShield actually gave you a warning before undoing your checkout. Visual Studio.NET gives you a warning. Vault has a warning option (that isn't enabled by default and doesn't affect InstallShield, it's for their UI only), though you'd think that the app hosting the SCCI interface would make sure to warn the user that they're about to lose work.

At least it was a small-ish merge module.

Source Code for the Built-in ASP.NET 2.0 Providers Now Available for Download

Ala Scott Guthrie's weblog, Microsoft released the source code for all the built-in ASP.NET 2.0 providers (membership, site map, session, etc).

I'm actually rather surprised they did this. I'm impressed they would understand the value of showing their source code (not in the way all the anti-MS zealots want) to the various real-world components they have. It's one thing to read an article on MSDN and get a Hello World example, it's another thing to see the code they actually wrote.

IPTV

Ars has a good introduction to IPTV and points out one major problem that has me wondering how useful the technology will be to the average multi-television home: simultaneous streams. IPTV won't similar to cable in that all channels won't get pushed to your house. Instead, only the channels you request will get sent to your house. This means that your phone line's bandwidth is the limiting factor in how many channels you can receive at once.

There are people on tivocommunity.com who frequently talk about having a dual-tuner DVR in their bedroom and two on their main television (and I'm sure they have a TV or two elsewhere) and record on all of them at once. That's up to five simultaneous streams and it's not necessarily going to be possible, considering the bandwidth required for each stream. Plus, if any of the shows are HD signals, then that will cut out 2-3 additional SD streams that can be received.

Even Fios and other fiber-to-your-door services that can achieve much greater speeds than people are used to with standard phone lines aren't fast enough to support the kind of television that the cable companies have gotten everyone used to (both kids watching TV in their room, the parents watching a show in the living room and recording another).

Tivo Home Media Engine For .NET

Everyone who's been unhappy that TiVo only released their Home Media Engine APIs for Java can be a bit relieved. Gary at ByteBuilder has released a version for .NET. It doens't contain a UI toolkit, but it gives you a great start to building .NET server applications that enable your TiVO to interact with them.

I've been packing for the past two weeks (that's about how long ago he put up the code) so I've only barely gotten to look at the code. It's similar to the Java APIs but takes advantage of some .NET specific classes and to un-Java the API. I'm hoping to be able to start building something soon.

Download the source code.

CableCARD Overview On Ars

ArsTechnica has a good overview of CableCARD (what it is, what's coming in the future, what's going to obsolete it). Even though there will potentially be a new technology shortly after CableCARD 2.0 (which offers 2-way communication features for capabilities like video-on-demand and pay-per-view), I still can't wait to get my hands on one of the Series 3 TiVos with CableCARD support. I'm curious, since TiVo constantly updates their software, if it will be able to support the software-only CableCARD successor when it comes out. As long as the runtime environment for the software isn't a hardware component required to be embedded in compatible devices (think secured bytecode interpreter on a chip for instance), I don't see why the Series3 couldn't support it.