SQL Server Best Practices Analyser Tool

Via Eric G. Harrison – MS have developed a SQL Server Best Practices Analyser Tool. It’s like a cross between FxCop and Baseline Security Analyser, for SQL Server. Very useful. I just downloaded it, ran it against some of my databases, and it made some useful suggestions. This could quickly become indispensable.

12 December 2004

Property Access Modifiers in Whidbey

Ooh, this is great news: http://nxopinion.robertsoninstitute.org/blogs/rcecil/archive/2004/11/11/167.aspx It’s a little thing, to be sure, but I often find myself wanting to make a setter internal or private while leaving the getter public. So, I’m happy. It doesn’t take much 🙂

15 November 2004

I’m an MCAD!

Woohoo! I just passed MS exam 70-320 with a score of 936, and am now a Microsoft Certified Application Developer!

13 November 2004

A Generic Sorter For Strongly-Typed Collections

Late last night I was doing some development work on a website for our investment club. I had a strongly-typed collection of “Stock” objects, and wanted to be able to sort them on any parameter (StockName, SharePrice, Volume, MarketCap, etc..) in either descending or ascending order. I didn’t want to have to write a separate comparer for each property. Reflection to the rescue! Below is a GenericSorter class, the use of which allows for the development of a Sort() method on the collection taking as a parameter the name of the property on which to sort. Smart. ...

7 November 2004

NHibernate

There’s so much good open-source .Net development going on these days – .Text, nGallery, nUnit, etc – it’s a really interesting time to be a developer. My colleague Colin just drew my attention to nHibernate, an object persistence library for relational databases. TheServerSide.net has an excellent article summarising its use. Having just finished a long project where a large amount of time was spent writing “plumbing” code to persist objects to and from a SQL Server database, I’m finding the idea of using an O/R mapper such as this very appealing the next time round. Just as incorporating the MS DAAB block into solutions has reduced the amount of data access code required, I’m hopeful that embracing frameworks such as nHibernate will leave us with more time to spend focusing on addressing the business needs and less on re-solving technical issues. ...

3 September 2004

Ideal World / Real World

A major project I’ve been working on for the last ten months has just gone live, giving me some time recently to take stock, do a bit of R&D, and catch up on some reading. I’ve been reflecting on how to approach things better in the future, and to this end, I’ve just finished two very different books about the software development process. O’Reilly’s Extreme Programming Pocket Guide is a handy little summary of the approach (only 81 pages), depicting a near-utopian development shop where everyone is happy, and projects come in under budget and on time. It got me quite fired up, actually, and some of the concepts described are interesting. But deep down, I just know this would never happen in the real world—too much politics, too many personalities at play in the workplace, in my humble opinion. ...

1 September 2004

Is My String Empty? Some C# Performance Metrics

Update (25/02/2006) – Hey, we now have String.IsNullOrEmpty, you know! What’s the quickest way, in C#, to test whether a string is empty? This is a question which came to my mind yesterday. I’ve always been fond of: if (myString==String.Empty) but it occured to me that this necessitates the creation and destruction of a second object (the empty string with which we’re comparing), so maybe it would be quicker to write: ...

30 July 2004

Inheriting From BaseValidator to Make Custom Validation Controls

For months now, I’ve been desperate for a decent excuse to make a custom ASP.NET server control, so I was secretly pleased today when a CustomValidator originally coded for use on a single page was required elsewhere. It’s surprisingly easy to do, although it took me a while to find a decent example online, which eventually came courtesy of the 4GuysFromRolla. In my particular scenario, I needed to check that the text entered into a TextBox did not equal any of a selection of “banned” strings (which was available via a static property on another class). ...

30 June 2004

Here We Go Again

Once more into the breach, dear friends. Six years since my navel-gazing online journal, why start a blog? For no better reason than I can, and it’s so easy now, and I really do need something to fill the void at ianfnelson.com. I vaguely considered writing my own blogging software in ASP.NET, but then I found .Text and realised that there was no point wasting my days reinventing the wheel – .Text is sufficiently open and customisable for my purposes. Besides, I have plenty other challenges to occupy my days – a rework of the Filthy Lucre Investment Club site, a site to host our wedding plans (not to mention actually planning the wedding!), Millie’s site, etc. ...

28 June 2004

The Drumochter Four

Remind me again why I do this kind of thing in January? Thanks to Alex for the companionship on this greyest of days. Geal Charn (917m) A’Mharconaich (975m) Beinn Udlamain (1011m) Sgairneach Mhor (991m)

31 January 2004

Beinn Alligin

Popping my Torridonian cherry on Beinn Alligin. Sgurr Mhor (986m / 3235ft) Tom na Gruagaich (922m / 3025ft)

27 May 2003

A Couple of Glen Carron Hills

Two of the hills that rise above Glen Carron. Moruisg (928m / 3045ft) Sgurr nan Ceannaichean (915m / 3002ft)

25 May 2003

The Ring of Steall, Mamores

A superlative day in the hills with Richard, Melanie, Hugh and Harriet. A cloudy start at low heights, but as we ascended higher we broke through a cloud inversion, being presented with stunning blue skies and incredible views across to Ben Nevis and the Carn Mor Dearg arete.

26 August 2002

Beinn a'Bheithir

A great day bagging the two Munros that make up Beinn a’Bheithir – Sgorr Dheargh (1024m) and Sgorr Dhonuill (1001m)

25 August 2002

Buachaille Etive Beag

The little sibling to Buachaille Etive Mor.

23 August 2002