Misc Utilities Library

I have various code snippets here and there in my blog and various tools, so I thought I’ll just bundle them all together. I have created a project on GitHub for this, licensed under WTFPL as usual. There are no binary downloads because you’re supposed to just cherry pick the stuff you want into your own project, but if you want to compile an assembly and use that, feel free to do so.

References for this on my blog:

Tron Legacy

I saw Tron Legacy on Friday and thought I’d write down a few thoughts. First, I only saw the first Tron in full length last year, but ever since I saw some bits of it in my childhood (and played the many light cycle games) it impacted me. It came out in 1982, at a time where Arcades were still popular but home computers were still mainly something for geeks. It was extremely visionary and revolutionary at the time, and it still holds up very well. Yes, the hand colored black and white scenes show their age, but the movie just has so much spirit to still be fantastic.

Of course, the late 70’s/early 80’s were a great time to be visionary. William Gibsons Neuromancer came out in 1984 and had this very vivid description of cyberspace, years before Hackers gave us another iconic vision. Hajime Sorayama had his Sexy Robots artbook published in 1983 – I’m absolutely sure that you saw some of his pictures, as they were in all the computer magazines for more than a decade. WarGames taught us that the only winning move is not to play, and Synthesizer Music was still en vogue, especially in TV and Movies. I was born in the early 80’s, so these things shaped my childhood and therefore who I am now. I belong to the generation that loaded it’s (mostly pirated) games with LOAD “*”,8,1 and I remember when the Internet first came up and I could waste hundreds of dollars (actually Deutsche Mark) of my parents hard-earned money browsing the web on my 14.4k modem after installing a TCP/IP stack on my Amiga.

So yeah, Tron. It polarized: People either hated it or had it fundamentally impact their future life. It wasn’t a commercial success, but it had a cult following. It’s one of those movies that should really have a sequel, but which at the same time can’t really have a working sequel. What would a second movie improve? The story wasn’t that great and the visual effects were now done. A mere 10 years later – in 1992 – Terminator 2 would destroy all limitations of special effects, and three years later, Toy Story would break down the last remains of CGI limitations. So a sequel that has no place in our time, to a movie that was a commercial failure? That has to be a disaster, right? Wrong. Tron Legacy isn’t as Visionary as the first one and won’t make the same impact, that’s for sure. It may not even have any impact on the current generation of kids and adolescents (It’s hard to believe, but the youth of today doesn’t necessarily know what a floppy disk is, they never spent hours setting up a BNC network to play Doom with friends and never had a chance to listen to the glorious music generated by the SID chip). It’s Fan Service, it’s a movie for the people who attend ComicCon since 30+ years. It’s a movie for the people who saw Chris Metzen talk about Geeks and kept nodding in agreement all the time.

Okay, 500 words in and no word about the actual movie yet, so enough of that nostalgia. I don’t want to spoil the story too much here, although the trailers already did that pretty well (Trailers 2 and 3 are awful. Why do movie trailers these days have to spoil all the major plot twists? I noticed that on other movies as well. What’s the point of watching a Movie if you already seen all important scenes during the trailers?). So you got Kevin Flynn disappearing and his Son going into the Grid. The story isn’t award-worthy, but it keeps the movie going along nicely. As said above, the movie is fan service, so it was quite a few references and one-liners that cater us old people – although at times it can be a bit cheesy, for example when a certain WarGames quote is said almost word for word. There is also a scene that seems to be heavily inspired by the newer Star Wars movies – but it works. Bruce Boxleitner returns (although his role is very small), and so does Jeff Bridges as Kevin Flynn. He nails the role perfectly. It’s a pleasure to watch him, he is so relaxed yet serious. The rest of the cast is equally great – I never heard of Garrett Hedlund before, but he plays a great Sam Flynn and really passes as the son of Kevin Flynn in his looks, behavior and dialogue without being a verbatim copy. The female lead – Olivia Wilde – is an equal as well, not just the pretty girl that’s just there for the looks.

With the technology of this generation, they made the movie look spectacular, but not sterile. Sure, it’s a very polished world, but one that still has character and spirit. And it’s a stylish world, a high gloss world, a world where Beau Garrett is wonderful eye-candy without feeling out of place and not just (completely) thrown in for the looks. The Light Cycle sequences look spectacular, and so does the Disc Wars game, and so do the costumes.

Tron Legacy is a highly refined, polished and evolved sequel to Tron that manages to introduce strong new elements and characters while staying true to the original. Does it bring anything really new to the table though, something that the original didn’t have? Does it have one really memorable, stand out element? In my opinion yes: The Music. Of course, the original Tron had a great score by Wendy Carlos that is playing throughout most of the movie and nicely adds atmosphere. But the Tron Legacy score is lightyears ahead. It’s made by Daft Punk (who have a great cameo in the movie), which is reason enough already to like it. It seems that parts of the movie were actually but to fit the score, rather than the other way round. I can’t praise the score enough, I really can’t. It’s perfect from the first moment to the end. Especially the end. The Tron Legacy End Titles song is finally a reason to stay during the credit roll and not just get up and leave. The only caveat I might have is that sometimes the music is too loud compared to the voices.

I did watch the movie in IMAX 3D, and if I could give one advice to maximize your viewing experience, then it would be this: Do not waste money watching it in 3D, the experience is utter crap. It even says at the beginning that some scenes are 2D (all the scenes in the real world are), but even the ones that are 3D don’t work. So far every movie I’ve seen in 3D – both IMAX 3D and real 3D – was a huge disappointment, so Tron Legacy is the last 3D movie I’ve seen until someone invents proper 3D without the glasses or I get invited for free. The IMAX experience itself is great though, with the usual caveat that there are only about 20 good seats in an IMAX theater.

Does Tron Legacy have its cheesy moments, non-working gags and a Michael Sheen that is slightly overacting? Oh Yes. Is it going to be as visionary as the first one? Nah. Should you watch it if you didn’t like the first one? Possibly not. Will the story win an award? Neither the Academy award nor the golden raspberry. Does it do a great job introducing the universe to people who haven’t seen Tron? I don’t think so, you should definitely watch Tron first.

But would I recommend it? Absolutely. Whether it will have a lasting impact or not, it is a great experience. Can’t wait for the BluRay to come out.

NuGet: Description is Required

Just got a new error message after updating to ASP.net MVC 3 RC2 which seems to contain a new NuGet version (displays as 1.0.10128.89 in Visual Studio Extension Manager).

Any attempt to install a package – be it through ‘Add Library Reference’ or through PowerShell Install-Package – displays an error message: Description is required.

Turns out that one of the nuspec files has indeed an empty <description /> tag. Sadly, that breaks the entire repository.

The solution is to put in a description and rebuild the nupkg. In parallel, I have filed a bug on CodePlex in the hope that a single broken package does not break the entire Repository anymore.