December 2006 Entries

Visual Studio 2005 Service Pack 1 (SP1) Released

This one managed to slip by me. I'm not sure on the exact release date, but looking at makes it look like it was released only a couple of days ago. There are seperate downloads for Visual Studio 2005 Team Suite (includes SP1 updates for Standard, Professional, and Team Editions of Visual Studio 2005), Visual Studio 2005 Team Foundation Server, and Visual Studio 2005 Express Editions. The version for Windows Vista (beta) is apparently coming soon. There are a lot of important fixes in this service pack, especially for anyone working with Team Suite to do load...

Visual Studio Team Edition for Database Professionals

Database change control and versioning is an incredibly important part of development which can occasionally be overlooked. While there are some good tools out there to help make this task easier, a lot of what I've seen so far has been incredibly manual. Microsoft is hoping to make this task easier with the release of Visual Studio 2005 Team Edition for Database Professionals. I guess they're hoping to make some money too. Team Edition for Database Professionals gives you a new database project, which you can use to manage your database as well as integrate it with Team...

ReSharper 2.5 released

The main enhancements in 2.5 seems to be performance related, which is always a good thing: ReSharper for Visual Studio 2005 provides performance improvements in all areas, including: Visual Studio startup time with ReSharper is close to that of Visual Studio without ReSharper The speed of typing in the editor is greatly improved, including autopopup on Code Completion More speedups for code formatting, error highlighting, Live Templates, parameter info, and more However the most useful feature I've found so...

Triangle, x, x, triangle

Due to a technical fault train services in both directions on the ?Western? Line are delayed by approx ?xx? mins. On my phone this SMS showed up as 'triangle x x triangle' minutes. I wondered if this late train announcement was bought to me by Playstation 2, or perhaps given that it was a late announcement, it could have been bought to me by Playstation 3? Who knows! Not me. I can't take these late train announcements too seriously, as in the past I've found that the trains often run on time when the SMS service says they're running late -...

SQL Server: Singular vs Plural Table Names

I've only been working with SQL Server for a couple of years, and although I've been exposed to a lot of different parts of it, there are still some things I've not been forced to spend a lot of time thinking about. One of those things is naming conventions for SQL Objects. I recently did a large piece of work which involved creating a few new tables in an existing database. Without thinking about it too much, I picked plural names for these tables, and thought nothing of it until a colleague pointed out that typically SQL tables...

Auckland City, City of Cars

An interesting look at Auckland transportation situation. Part 1: Part 2:

Das Keyboard 2

I'm still undecided about the Das Keyboard 2. Visually, it's much nicer than the original. It's a lot less retro, and they got rid of the display text over the LED buttons. It always seemed stupid that someone who had a blank keyboard would need to know which LED was for numlock etc. However, it's a hell of a lot louder (much to the concern of my workmates) and the weighting of the keys doesn't seem to be as noticeable. It feels like it's a lot smoother to type on though, which is a good thing. Either...

I spoke too soon

After recently commenting to some friends about how well the trains were going, they've made a turn for the worse this week (and it's only Tuesday evening). First, on Monday there were a few "10 minute delays due to technical reasons". What kind of a technical reason actually takes just 10 mins? Can't find the ON switch? Forgot the fuel? And why is it always a technical reason? Be honest once in a while, and say "Due to a human stuff up...". This morning, I slept through my alarm, only to find a SMS about the train I'd have normally...

Connection Strings (and nothing else)

ConnectionStrings is one of those sites which deals with only one thing, but deals with it very well. In their case, the subject is hopefully quite obvious. The site contains samples and variants of connection strings to pretty much every database out there. Handy. Tags: SQL

ASP.NET Text Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect (ie, turning the counter on/off conditionally). First, we'll add the most basic static implementation of the field counter to a form using only a JavaScript function and event handlers in the aspx file, then we'll look at how we can extend the functionality...

Working with the Clickatell XML API from .NET / C#

Clickatell offer a few different ways to integrate your application with their services. Of all the options available, XML seemed to be the most useful, however it gave me a little bit of trouble when I tried to get it working. Namely, this 'fault response': <?xml version="1.0" ?> <clickAPI>   <fault>XML error: no element found at line 1</fault> </clickAPI> I took my input XML and pasted it into the Clickatell test form and it parsed fine. Some searching on the error revealed a lot of other people also had this issue, however most of the search results I found lead to threads where people had either...

IE6 and Ie7 coexisting on the same machine

IE7 Standalone was the unofficial way to have IE6 and IE7 coexisting on a computer. Well, this is the official way. Link: IE6 and IE7 Running on a Single Machine

This Is What Happens When You Let Developers Create UI

Link: Coding Horror: This Is What Happens When You Let Developers Create UI

Great exception handling

From the department of "wtf were you thinking": catch (Exception ex) {   if (t != null)   {     Common.Logging.Log.LogMessage("Task handler failed to start an agent.", ex);   }   else   {     Common.Logging.Log.LogMessage("Task handler failed to start an agent.", ex);   } }

Quick article posted

I've posted a very quick article, .NET for Domino Developers: The Basics. I felt that I needed to make some sort of post about the basics before I got into some more detailed stuff, so there it is. It's very brief, but it's a starting point and contains a few useful links to help point people in the right direction. I've got a few draft articles underway at the moment, and more planned. Again, please get in touch if you've any suggestions about content you'd like to see.

.NET for Domino Developers: The Basics

In order to start this series out properly there needs to be some post about 'the basics'. A lot of the basic knowledge and skills you need to get started will fall into one of two categories - it's either stuff which has been covered elsewhere extensively already, or it's knowledge which is best learned by a bit of experimentation. Everyone is different in their approach to a new technology - you might say that everyone will write a slightly different HelloWorld application. I'm not going to spend a lot of time on the basics, but here are a few...

About .NET for Domino Developers

.NET for Domino Developers is a series of articles, tips, tricks, and resources covering the subject of ASP.NET web development using C#. The title of the series, ".NET for Domino Developers" comes from the fact that the content is based around code, tips, and tricks which I found useful when making my transition from Domino to .NET. In reality, everything here is relevant to all developers who are new to ASP.NET (non Domino people will have to forgive the occasional Domino reference or mention!). Most of the code examples included in this series are in C#. That's simply because it's the...

The trains this week

There's been a few delays this week on the ride home. Nothing too major, but still pretty annoying. One was compounded by missing my first train home on Wednesday because it was about 2 minutes early. The others were simply unexplained delays for 20 mins or thereabouts. Meanwhile, December is the month where the Eastern and Southern lines get their new trains and their updated timetables. Lucky them, but where's the Western line lovin?