Navigating Code with VS2008

Here are a few keyboard shortcuts in Visual Studio 2008 that I’ve recently (re)discovered: CTRL + - Move to the last position in code. This is very helpful if you’ve been jumping through a file while searching for a particular function, variable, whatever. CTRL + SHIFT + - Just like the above, but in reverse. This moves forward through code, if any forward position is available. Otherwise you’ll just wonder why you’re pressing CTRL + SHIFT + – over and over.

Thinking about process

I’ve often heard (and probably said on at least one occasion) words like “We don’t have time for code review” or “The deadline is just too short to for unit tests.” These are words that run directly against meeting deadlines. Sure, it’s possible to meet deadlines without continuous integration, unit tests, code review, or any other quality assurance mechanism. But what is the cost? Over time, bugs will creep into the code.

More about jQuery cookies

When working with jQuery’s cookie plug in, it’s important to keep in mind the path that is going to be used. On a web site’s default.html page, the path will be set to /, but one or two directories down, the cookie’s path will be /dir/subdir. I’ve gotten around this by encapsulating the information that I need to store into JavaScript objects that can be easily deserialized and serialized by JSON2.

Missing cookies in jQuery AJAX callbacks?

For my current project, we’re making use of a large number of jQuery AJAX callbacks, as well as cookies, to deliver some rich functionality to the users of a web site. Unfortunately this created a little bit of an issue when trying get this to work in IE7. Here’s what I originally attempted: function do_something() { $.ajax({ url: 'http://example.com/AjaxRocks', type: 'POST', dataype: 'json', success: success_response }); } function success_response(json) { var cookie_data = load_data_from_cookie(); // the implementation of this is not important // unfortunately, cookie_data is null so this doesn't really give us the important cookie_data } For some reason, the full contents of document.

IE7, dropdowns, and z-index

I spent most of yesterday and most of this morning battling with a IE7 display bug. Back story: we are using jQuery’s superfish drop down menus (a jQuery based implement of suckerfish/son of suckerfish) for site navigation. Everything works great in Firefox 2/3 and Safari. I’m going to assume that IE6 looks great as well since suckerfish is known to work well in IE6. IE7 is a different story. There is a large image directly beneath the navigation menu.

Who needs valid XML?

Team Foundation Server, apparently. Let’s say that some careless developer (me) forgot to close an XML tag. The aforementioned developer then checked in his build file and attempted to build it. At this point, I got a bit worried because TFS came back with the following error: TF42046: The build service used in the build process is not reachable. This error occurs when either the build machine is off-line,the required service is not running, Team Build is not installed on the build machine, Team Build is configured for a different Team Foundation Server or the network is not available.

Software Development Meme

Rick, I’m stealing your post. Which is okay because you stole it first. How old were you when you started programming? I originally started learning BASIC when I was very young, probably 11 or so. I gave up on programming for more worldly pursuits, only to come back to it 10 years later. How did you get started in programming? The second time around I wanted to create a ‘blog’, although at the time I don’t think we called them blogs.

Evaluating IS NULL vs with T-SQL DATETIMEs

Many OR/Ms use an UpdatedAt column and some even use a DeletedAt column for soft deletes. This practice also carries over when using date ranges for controlling notification display (StartDate and EndDate). I’ve often heard many DBAs make the claim that doing a date comparison is faster than checking if the value in a date column IS NULL, so I decided to run some primitive benchmarks to see what I would discover.