A few quick links
Honest to god technical content coming soon. In the meantime, enjoy these quick links.
Wonderland: Dance MMO – Just when you thought the MMO craze was winding down and WoW had won.
What else is burried down in the depth’s of Google’s amazing Javascript? – At first I was confused. It looks just like the old hidden frame/iframe technique. But, Alex revealed the difference in the comments.
Scientific American podcast - The podcasts I like are few and far between. I used to subscribe to the SA RSS feed, but the stories in it are usually just milktoast. Maybe the podcast will be better? By the time a scientific paper makes it into SciAm it’s so dumbed down that the original concept is sometimes lost.
Mochikit – “…makes Javascript suck less” Ok, it does a little bit. I think it’s worth using just for the interpreter. Embed that in a page while you’re debugging the javascript.
Now, I’m off to find a network land line to plug my work laptop into. I changed my domain password this morning and now the laptop can’t connect to the wireless network here at work. My guess is that there is a security token somewhere deep within the bowels of my wireless network setup that needs to be updated. The bonus is that after 3 failed authentications, my domain account is disabled. Of course the “connect automaticaly” setting in my wirless settings means I get three failed authentication attempts in about 10 seconds. So I have to stay logged into my desktop until I get the whole mess sorted out. Yay! Oh crap, and a Limp Bizkit song just came on my shuffle. I thought I had hunted down all of those in my collection and erased all but two. Oh well, at least I have a very Metal daughter.
TDD installation is hard
Jeff has another big long comment thread over at his place. I’m poluting his comment section a lot over there. Anyway, this one involves the sacred cow that is Test Driven Development.
Coding Horror: Revisiting Edit and Continue
One of my points is that GUI testing with TDD is next to impossible. How hard is it. They can’t even unit test their installation dialog boxes.:) This is the dialog box I’m presented with when I try to install the latest build of TestDrivenDevelopment.net
So I can’t install it and I don’t know why.
FWIW, it appears to be because I was installing it from a network share. I copied the file to my Desktop and ran the installer and it succeeded
Unit testing challenge
I’ve got a nice, shiny quarter for the first unit-testing advocate who can write a unit test that would have caught the bug I described in this post.
ApplicationPath and the IIS metabase
Tip Some testing with Internet Explorer and the Mozilla browser suggests that the path is case sensitive. Ordinarily, URLs on Windows servers are not case sensitive, but this appears to be an exception. You can’t control how users type URLs into their browsers, but if your application depends on cookies tied to a specific path, be sure that the URLs in any hyperlinks you create match the case of the Path property value.
I’ve been pulling my hair out for most of today, which given my age and hairline is not a smart thing to be doing, tracking down a cookie path bug. I was setting the path of a cookie server side, but the browser wasn’t sending the cookie back to the server. I could find the cookie in my browsers cookie collection and if I set the cookie + path manually using Javascript the cookie would get sent back. I knew the problem was somewhere in the HttpCookie.Path property but I couldn’t see anything obvious. So I set the cookie + path using Javascript again and looked at it side by side with the cookie being set server side, they were identical EXCEPT for the path.
server-set cookie: path=/Caisisv3_0
client-set cookie: path=/CaisisV3_0
The only difference was the uppercase ‘V’. I looked at my URL and low and behold it had an uppercase ‘V’ in it. The odd thing is how I was setting the path server side.
diseaseView.Path = Request.ApplicationPath;
I was pulling the path directly from Request.ApplicationPath. When I looked in the IIS admin at the path for the virtual directory, guess what I found? It had a lowercase ‘v’. But, when I hit F5 in Visual Studio and it launched the site in a browser window, the path had an uppercase ‘V’ in ‘CaisisV3_0′. What gives? The only conclusion I can draw right now is that Request.ApplicationPath pulls the name from the IIS metabase. When I look at my .sln file, I see that my web project refrence has an uppercase ‘V’ in ‘CaisisV3_0′. But the ‘v’ is lowercase in my .webinfo file. So when the web site is launched in debugger, it pulls the URL from the .sln file, but at runtime it pulls the Request.ApplicationPath directly from IIS.
Since we have to limit this cookie to the application path, I guess we’ll have to re-create the virtual directories in our NLB cluster and make sure they are all cased correctly. This is a weird friggin’ bug. BTW, this is under IIS 5.1, I haven’t checked to see if the same behavior exists under IIS 6.0.
What happens when you tie your components together too closely
ComputerZen.com – Scott Hanselman – Running Internet Explorer 7.0 Beta 2 without installing it.:
UPDATE#2: From the IEBlog “As Chris Wilson pointed out, “‘IE’ is actually a collection of system components – networking, browser hosting, core HTML rendering, printing, etc. When we install a new version of IE, we’re installing it for all applications that use these system components – including the tiny iexplore.exe itself.” Because of this, we do not support the various hacks that allow side by side running of IE6 and the IE7 Beta 2 Preview. Running with these could cause issues with the stability of a system.
So, seriously, now I’m sorry I even mentioned it.
Your Mileage May Vary.
Seeing Scott make this post was pretty ironic in my local scope. Just today, I updated my Safari WebKit tree to take advantage of the web page inspector, built it, and ran another instance of Safari using the latest, bleeding-edge version of the WebKit side-by-by with the current release version of Safari. I’m kind of saddened that you aren’t able to run IE7 side-by-side with IE6. I mean, Microsoft has a LOT of talented engineers and they’ve had plenty of time to re-architect IE. It’s pretty stupid that they can’t segregate the components. But I understand how it goes when you are working with legacy code.
Marketing in forums and weblogs
Penny Arcade has had a couple of news items that have caught my attention. Guerilla Marketing
I interviewed for a guerilla marketing business in San Francisco that targeted web forums.
I was told that if I accepted the job, I was to have at LEAST 50 identities on as many forums as I could muster (they wanted 100 eventually), with a goal of 5 posts an hour. The posts had to be well thought out, and the idea was that I was to establish multiple identities with a history on the forums, so that when the timing was right a well written but subtly placed marketing post could be finessed in. And regular visitors would recognize the post as coming from a long time poster.
They had 12 people working there full time, and were hiring 10 more. You do the math. No wait, I’ll do it for you: that’s 880 posts a day (if minimum was met). However he said the better ones could do around 8 or 10 an hour. And they had different “verticals” so there was the sports guy, and the games guy, the hentai, excuse me I mean anime guy, etc.
But the most critical point was this: develop and integrate the identity. No random “HEY EB GAMES IS AWESOME BUY THIS” stuff.
Kinda spooky.
I don’t know if “kinda spooky” is how I’d describe it. I’ve always suspected that some blogs and forum posters were shilling a product a little too much. But what’s worse than the devil you know? The devil you don’t know.
2) I actually hired a company called Hype Council (http://www.hypecouncil.com). These guys do a TON of gaming related stuff — I actually wouldn’t be surprised if it’s the company referred to in your news post. Their technique is quite insidious. Let’s say they were hired to pump up PA (not like you need the buzz, but whatever…). Using one of the hundreds of shill accounts they have across the net, they post a new thread that says something like “hey guys, I’ve been looking for some new web comics to read. Anybody have any recommendations?” This is non-threatening, and gets the community engaged. They then wait a couple days and post again, this time with “Well, I asked some friends and they suggested I check out Penny Arcade . I thought it was pretty funny, although I didn’t like all the cuss words. What do you guys think?” Again, seeking engagement, they now have stealthily inserted the client’s link, thereby encouraging trial. It’s all very measurable and very effective. You should see the monthly reports you get from these guys: everything is detailed. Spooky.
Just some food for thought the next time you see a blogger or forum poster ask for suggestions then come up with one. Sometimes the marketing and PR folks even go so far as to attack their product in blogs and forums just to stir up sympathy/support. I’ve often thought when reading the comments at certain blogs, where the same ‘anonymous’ people show up to attack the poster time and time again, that the points they make seem a little too convenient, the attacks seem a little too personal and spend too much time attacking the person rather than the points to really be a valid criticism. You’ll see it when shills for companies start a blog. They appear to be criticizing their company, but in reality they are just trying to stir up sympathy. Usually the things the criticize are either so blarlingly obivous that they’d be stupid to ignore or really meaningless. Generally, anytime I see the words “This represents my opinion and not the position of my company” or words to that effect on a web page, and the majority of the posts are about the speakers company. I suspect they are just shuckin’ and jivin’. Their words exactly represent their company, they just want the company to have plausible deniability.
This, of course, is my own opinion and not that of my employer.




