Tuesday, June 30, 2009

localRepo

Man... what a hassle!

Why do I bother checking "specific version" if Visual Studio just copies a different version over the top? Maybe it's MSBuild that's doing the copying.

The secret is that the wrong version of the assembly gets cached here (on my vista box, it may be different in XP):
~/AppData/Roaming/localRepo/Cache/wrongDllVersion.dll

I found the path by checking "read only" on the DLL that kept getting overwritten with the wrong version. When I built the project there was a warning about how Visual Studio was unable to copy the dll.

HA! Take that, Visual Studio!

Sorry if you don't care about DLLs or Visual Studio; I had to put this up so I can find it next time I google: ".net dll wrong version cache"...

Thursday, June 25, 2009

M3 Racecar

It's been more than ten years since Gran Turismo came out for the original Sony Playstation.


I'd always liked racing games. When I saw how the ad recommended following a "racing line" through a corner I was already interested. Then I realized that the picture in the middle of the ad was from the game. I called my brother and told him I was coming home with it.


Playing that game has led to my purchasing more than one sporty model of car in the last few years. I even paid extra for the "Speed" channel. The speed channel has introduced me to Formula 1 racing.


While watching some Formula 1 racing I saw this ad:


M3 Racecar


I don't know what it is. There's something with the audio. The video has been messed up a little. Is that Leonard Nimoy narrating?


The ad feels like something from 20 or 30 years ago.


I don't know what it is - but I like it. And it works! I've never wanted a BMW more.

Wednesday, June 03, 2009

Why Bother?

At work we use this system all the time. I noticed that the length of the text in the password field changed whenever I submitted the form.

Some investigation revealed this:


function getScrambledPassword(pwd) {
var cipher = ['k', 's', 'z', 'h', 'x', 'b', 'p', 'j', 'v', 'c', 'g', 'f', 'q', 'n', 't', 'm'];
var result="";
if (pwd == null)
pwd = "";
pwd = encodeURIComponent(pwd);
//alert("encoded password: " + pwd);
for(var i=0;i<pwd.length;i++) {
var cc = pwd.charCodeAt(i);
result += cipher[Math.floor(cc/16)] + cipher[cc%16];
}
//alert("scrambled password: " + result);
return result;
}