# Monday, November 20, 2006

I was sent this comedy prank call this morning so thought I'd share it...

Demolition Girl prank caller (DemolitionGirl.mp3)

Monday, November 20, 2006 2:08:05 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 

I installed a copy of Vista onto a Virtual PC for testing purposes and due to the way this PC is configured Virtual PC always catches me out and sets the default network adaptor as my VPN which means I can’t get any internet connectivity on the Virtual PC, once switched over I also need to change the DNS settings of the PC to work with our router.

The issue I came across this morning though was Microsoft Vista’s activation grace period had expired and there was no way to update the DNS settings to allow the Virtual PC access to the internet to activate my copy which meant I was locked out with no way of updating the network settings to allow validation!

Note: this is just an evaluation copy that you can download from Microsoft so the key won't validate on the release version!

Calling the helpline sorts the issue but it was a 20minute phone call of entering in digits I could have done without!

Monday, November 20, 2006 10:10:17 AM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, November 18, 2006

Being a fair way into an application that relies heavily on Atlas I wasn’t best pleased to hear that Microsoft had done the usual comedy act of renaming the framework which would mean we’d have to update a plethora of controls.

Today we bit the bullet and along with a few other changes we already had planned made the switch. It wasn’t as bad as I was expecting tbh but it wasn’t without issues. The first issue we ran into was with Visual Studio’s Intellisense which has gone haywire, the recommended solution is to switch quickly between Design Time and HTML View –something that we can’t do as we’re using nested MasterPages which Visual Studio doesn’t support.

The next issue we ran into was the fact that our onKeyPress TextBox has now stopped working as planned but we’re looking into that.

The main issue that we ran into this morning however was on putting the site onto the server as we were faced with the following:

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load file or assembly 'Microsoft.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Source Error:

Line 97: 			<assemblies>
Line 98: 				<add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Line 99: 				<add assembly="Microsoft.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 100: <add assembly="System.Design, Version=, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
Line 101: <add assembly="System.Windows.Forms, Version=, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Source File: **********************************************\web.config    Line: 99

Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

The official take on this from the Microsoft guys is somewhat comical (http://forums.asp.net/thread/1455060.aspx):

Hi guys - yeah the problem you're having is because you installed on a machine w/o VS.  All of our machines have VS, so we didn't catch this problem.  On a machine w/ VS, Microsoft.Web.Extensions.Design.dll gets dropped.

Probably the best workaround for this is to go get that file from a machine with VS and either install it (gacutil -f Microsoft.Web.Extensions.Design.dll) or try dropping it into the bin directory, which I believe should also work but I haven't tried it.

 I've been talking with the AJAX team about this, so we're on top of it.  Sorry for the confusion.

Not an ideal fix but at least it works! For those of you wondering where you can find the DLL, look in: %Program Files%\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025

AJAX | ASP.Net | Atlas
Saturday, November 18, 2006 9:52:00 AM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, November 13, 2006

We're nearing the end of a large system for the lovely people over at Consolidated Communications Management Ltd and we've just come across a nice idea to make sense of database responses. Typically in the past we've simply returned -1/0 for failure and a positive integer (usually an id) of it was successful. The new method should add a little more conformity to our code. We already use a common Database Access Layer which handles the opening/closing of our connection, adding parameters etc but I’ve just added an enum with the common database responses, thought it may be of use to others:

public enum DatabaseResponse
    Success = 0,
    Init = -1,
    Found = -2,
    NotFound = -3,
    Duplicate = -4

This should cover the common responses from our database however to make it a little more futureproof we'll keep -1 through to -10 reserved for this data level and then start more specific responses from -11 (i.e. BadPassword).

Using it is simple (this is not real code before you ask!):

public bool Save()
    DatabaseLayer DBLayer = new DatabaseLayer();

    //Check whether we should be saving or inserting this record
    if (this.Id == (int)DatabaseLayer.DatabaseResponse.Init)
        //The Id's set to initialised only so insert
        //The create method simply inserts the values into the database and returns
        //either the Id of the newly inserted record or our database response
        this.Id = DBLayer.Create(this);

        if (this.Id >= (int)DatabaseLayer.DatabaseResponse.Success)
            //The insert was a success
            return true
            //The insert failed for some reason -you could throw an error 
            //to catch or simply bubble the response upto to the code behind layer
            return false
        //When updating the record don't use the Id to store the response, instead
        //throw it into a temp object and use that so the Id's still stored in the object
        int response = DBLayer.Update(this);

        if (response == (int)DatabaseLayer.DatabaseResponse.Success)
            return true//All's ok
            return false//Something went wrong -it could be the item wasn't found etc
Monday, November 13, 2006 8:48:41 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [1]  | 

I’ve been a member of the RX-8 Owners Club since I bought the 8 –a little sad but there’s great discounts and help on the forums so I thought it was worth the £30pa, anyhow, they’ve had the converted 300mile club on the forum for a while which I’ve wanted to get into however as most of my trips are 200miles it means the last bit of fuel is wasted on city driving (not the most efficient) so any attempt was lost.

Stacey and I had our 5 year anniversary this weekend so I suggested a trip to Scotland to celebrate –fancy that, just over 300miles to the hotel (303 according to the sat nav) and some super A roads, not sure what influenced that!

Anyway, on the way up we took a slight detour and got stuck in hours of traffic on the M6, not to mention torrential downpours so I took it nice and easy and I’m pleased to announce I made it into the 300mile club! WOOHOO!! I’m sure I was running on fumes in the end as I went about 35miles on the light.

311.9 Miles to one tank of fuel in the RX-8

What I loved the most though was on the way home we took a slight detour through the highlands to have a bit of a play (testing out what I’d learnt on the track day a few weekends ago) so I wasn't easy on the throttle and by the time I filled up there was only 16miles difference in the fuel economy... What a car!

I know it’s a little concerning being pleased about getting 300miles out of a 50L tank (around 24mpg) but most 8’s can’t make it over 250 let alone 300!

Here are some shots of the car on the trip home (very artsy :P) I'll post some on the Falkirk Wheel and Edinburgh later.

  • Night Shot of the side of our RX-8
  • Reflection of the sky in the wheel arch of our RX-8
  • Reflection of the sky down the side of our RX-8
  • Reflection of the sky in the sunroof of our RX-8
  • Reflection of the landscape down the side of our RX-8
Monday, November 13, 2006 8:54:01 AM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, November 09, 2006

I'm forever downloading application trials to see how other developers write applications, partly out of curiosity but moreover to improve applications we’re developing –seeing what we’ve left out, how we may be able to do it better etc.

I keep a fairly clear desktop but today I booted up and noticed a “setup.exe” file sitting there and I had no idea what it was, I knew it must be something I downloaded to test so I ran it which probably wasn’t the most logical thing to do but hey. Luckily it was something I’d downloaded but it got me thinking, what if it was a malicious script that a virus had placed there for me to click? I wonder how many people would be caught out by that…

Thursday, November 09, 2006 12:59:46 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, November 06, 2006
Since integrating Phil Winstanley’s error reporting code into our first ASP.Net project we've made a number of useful alterations to the way we use it and I thought we'd take another dive how it's used including riding yourself of spambots, 404 errors and a few other useful methods.
Monday, November 06, 2006 6:59:55 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [6]  | 

Matt Smith sent me this today which made me laugh, the housing market really as gone crazy...


£95,000 sounds a bargain to me!

Monday, November 06, 2006 4:52:11 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, November 04, 2006

This is still unconfirmed and somewhat word-of-mouth etc atm but if you check out Ian Moulster's blog you'll see his post about Microsoft giving away free copies of the release version of Vista and Office 2007 check out his blog post to find out more.

Hopefully we'll hear more before DDD Day

Saturday, November 04, 2006 10:58:14 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 

Once again playing joker could have got me in trouble while chatting to Doug from 27Seconds last night:

(21:21) Tim™: hold this thought, I've gtg shopping (bitch's come home)
(21:21) Tim™: I'll prob email you over the next few days
(21:21) Doug: Did you really just call S a BITCH?!
(21:22) Tim™: yes

In this case, I was referring to my darling Stacey (see below) so I was (of course) using the well known acronym “Beautiful Independent Totally Chilled Hottie”!

My Princess Stacey

Saturday, November 04, 2006 12:12:38 PM (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [1]  |