Windows 8.1 and Visual Studio

I upgraded my Sony Vaio Pro 13 to windows 8.1 immediately after taking it out of the box. My intention was to use it as a development machine, so I planned to slap Visual Studio 2013 RC on next.

I grabbed the web installer and ran it. It started, ran for three seconds, and promptly crashed. Odd…maybe an issue with the web installer? I grabbed the .iso and mounted it. Same thing. Ok…ok…all part of trying to install a release candidate. I retreated back to the safety and comfort of VS2012. Oh no! Same problem!

At this point I did some googling and found out it has to do with a combination of Windows 8.1 and an Intel display driver. I changed my display driver to the generic one using the device manager and tried again. VS2013 still had issues, but VS2012 worked. I haven’t tried updating my display driver back and launching it yet. I’ll come back to this.

UPDATE
After several Sony and several Visual Studio/Windows updates, the issues are no more.

document.getElementBy Whatever I Want

During re-factoring of a dreadful legacy app, I often came across javascript like this:

document.getElementById('firstName');

with HTML like this:

<input type="text" name="firstName" />

I was confused as to how this ever worked and made it into production. I always assumed that getElementById would get an element by it’s Id. This is for the most part true. However, in earlier versions of IE, getElementById would also work with name attributes. It’s this kind of “IE Logic” that did immeasurable damage to both development practices and the web at large. Even as a convenience feature, it should not have been used. When a function explicitly says what it does in it’s name, don’t use it any other way.

In hindsight, if you were of the opinion that “we only use IE here so it doesn’t really matter”, you were wrong. It does matter.

Codility

For weeding out developers from fakes, hit up codility.com.

I took the demo test and found it to be a fair challenge. Any developer mid-level and up should have no issues completing the test. They can choose from a variety of languages to complete the task. Hell, their language choice might even be a great topic during an interview.

I have sat through far too many interviews where the candidate had no business even applying – but somehow made it through the phone screens. From now on, CODE MUST BE WRITTEN!

jQuery Font Resizer

First, the CSS:

body, a#medium {
font-size:14px;
}
body.small, a#small{
font-size: 10px;
}
body.large, a#large{
font-size: 18px;
}

Second, the JS:

$(function() {
$("a#large").on("click", function (event) {
$("body").removeClass("small");
$("body").addClass("large");
event.preventDefault();
});

$("a#medium").on("click", function(event) {
$("body").removeClass("small");
$("body").removeClass("large");
event.preventDefault();
});

$("a#small").on("click", function(event) {
$("body").addClass("small");
$("body").removeClass("large");
event.preventDefault();
});
});

Third, the HTML:

<a id="small" href="#">A</a>
<a id="medium" href="#">A</a>
<a id="large" href="#">A</a>

Check it out