Wednesday, August 15, 2007

Installation of XP on Samsung 32GB SSD

Finally I've got enough work out of the way that I can install XP on my new SSD drive.

My current setup is a Dell Latitude with 100GB 7200RPM 2.5" disk + a 32GB Samsung SSD in the media bay. Using an external USB DVD drive I've installed XP onto the SSD.

Try as I might I couldn't get the laptop to recognise the SSD as the C: drive so the D: drive it is. I guess the advantage is that it's a parallel install to my previous XP which is on the actual C: drive and I can dual boot between them.

There's a couple of things I'm expecting to go wrong - lots of poorly written applications might assume a C: drive but so far so good and everything is behaving nicely.

There's a fair old software stack installed on my laptop and it's taken most of the day to tickle it along. The basics are Office 2k7, Visual Studio 2k8 beta, SQL server 2k5, Oracle 10g, Firefox + add-ons, IE + add-ons, Sharpreader, Eclipse, FlexBuilder 2.01, Flexbuilder 3 beta, TortoiseSVN... the list just goes on and on - and that's not even including all the patches.

The SSD drive itself is lovely and quick - things like Eclipse jump into life especially when you can see it (or rather not see it!) scanning through the plug-ins.

A couple of apps have proven their flexbility:

Firefox - I was able to copy my profile from the C: drive straight into my profile on the D: drive and all of my favourites, history, usernames etc have come straight across.

Likewise wth Sharpreader - copying the folder from my old profile into my new one has brought across everything I'd hoped for.

Even Skype played nice which was a surprise and once again copying the contents of my profile has brought across everything including the chat histories which I find invaluable.

Tuesday, August 14, 2007

Logitech VX Revolution

I've just received through the post a new mouse for my laptop and it's the Logitech VX Revolution.

It's available from Amazon and all good stores - mine came from Scan.co.uk.

I've been using it now for a few hours and it's a marked improvement over my previous mouse - the scroll wheel - being a free scrolling one is great to use as you can flick it along and jump nicely down through the page.

I'm not sure whether I'll be using the zoom-in/out buttons - not something I do a great deal of to be honest so I'll probably re-map those to something more useful at a later date.

A very nice touch is the little wireless receiver - which actually fits into a little hole in the mouse when it's not plugged in and conveniently turns off the battery when you do so. Now that really is a good piece of design.

The only thing that's missing compared to my previous mouse is the little cloth bag that it came in - maybe they've had feedback to the contrary but I always keep my mouse in it's little bag when I'm travelling but maybe that's just to keep the receiver closeby... I'll try it without and see how I get on.

So far I'd rate it 9/10.

Nokia Battery Replacements BL-5C

Looks like it's not just Sony that produces dangerous Li-ion batteries.

I've just found out that Nokia have a product recall on their BL-5C battery which affects my Nokia E50.

The website form for the replacement is awful though - it keeps on losing state as though there's a web farm behind the scenes and it's relying on session state.

Very poor.

It's taken me about 10 clicks on the various submit buttons before I finally got a confirmation message.

Keep going though as you will finally get a message that says:

"Thank you. Your contact information has been registered. We will send you the replacement battery as soon as possible. We appreciate your use of Nokia products."

PS Thanks Chris for the heads-up

Monday, August 13, 2007

Hotspare.co.uk

I'll never know why but for some reason we've never registered the hotspare domain name!

To solve this slight oversight we've just purchased hotspare.co.uk.

All we need to do now is find some time to get a decent website hosted...

CodeQuest's timesheet app now re-written in Flex

Well almost...

The bulk of the code is in place along with the ASP.Net web services that supply and manipulate the data behind the scenes.

It took me a very long time to get to grip with Flex's "Grid" layout components and I'm still not 100% happy with them. The great thing about Flex is how easy it is to get things up and running - and the boys who developed the framework really though about real-world scenario's rather than abstract usage. It really is a joy to use - if only they could make the compiler faster.

The grid layout (although being deprecated in v3 from what I've read) seemed ideal for setting out a simple calendar display - I just wanted a grid 7 columns wide by however many weeks there are in the month. I've set the "verticalGap" and "horizontalGap" both to zero and yet I still get a gap between my cells - I really don't want one! I've tried setting margins, padding and everything under the sun but still no joy. I've even searched through the source code to spot the missing property but no joy as yet.

While ranting a bit about Flex I may as well point out my inability to grasp Flex's UITextField. I simply can't get it to play nice - it loses lots of the formatting I apply to it unless I apply the styles to the UITextField's container control - which doesn't really make much sense but as long as it works I've better things to do that step through code within the framework.

There's just some layout code left to tidy up and then some work on making the timesheet even more intuitive to use.

We might even add management reports in addition to the individual's reports that we currently have.

SalesAnalysis.co.uk development underway

Finally I've managed to put some time aside to start building parts of SalesAnalysis.co.uk.

Although incredibly ambitious in the long term we've identified a set of achievable goals to get us started.

The first step is to build the data-dictionary storage engine onto which a large part of the system will be built so there are lots of crucial decisions being made at the moment. XML is the obvious format but how and where to store it is the question - in a database - in a file - in many files in some directory hierarchy - initially it's going to be a set of files in a single folder as that's the easiest to implement. As time goes on and version control comes into play that'll have to be re-engineered but for now it'll get us started.

RAMSAN go to 2TB

The guys over at Texas Memory Systems have announced their 2TB flash based RAM SAN.

With more bandwidth and I/O's that most of us will ever see in a lifetime they truly are the future for anyone with a database performance issue.

I'm a little surprised that they've moved away from the older architecture which was based around using DDR and a RAID array of slow old SAS drives for secondary storage.

Evidently when buying SSD's in high enough volumes they come in at a price level which competes with DDR.

Volume Shadow Copy

The Volume Shadow Copy feature of Windows XP and 2003 provides enterprise grade backup and recovery features in a very simple API.

The problem is that although that API is a COM API it's not very easy to consume - in fact, after spending a couple of days in .Net trying to build a PInvoke wrapper I gave up. It's all because one of the main calls that you require to get things going is CreateVssBackupComponents and that requires a pointer to a COM Interface passed into it - the problem is that that interface has no IID.

Now I never even knew that was possible and I'm sure it must be considered poor COM practice but nethertheless it's too late now - it's now in it's 2nd or 3rd iteration and I'm guessing we're stuck with it.

When I originally starting playing with the VSS SDK I hit this brick wall and never really receovered from it. The plan was to implement Volume Shadow Copy features into Hotspare but we ended up using the vshadow.exe tool in the VSS SDK within our scripts which solved the issue we had at the time.

Well recently I've come across Hobocopy and it looks like the author Craig Andera - who blogs here - had exactly the same experience. So it wasn't just my lack of PInvoke ability after all.

Ever the one to get stuck into a problem I decided to try out some Managed C++ and build a proper managed wrapper around the API. This is my first ever MC++ project and boy I was in for a suprise when I started. What are all the ^'s about! Those are pointers really and everybody know's it!

A couple of days later and the project is now feature complete. I'm waiting on a colleague to code review my C++ to make sure I'm not leaking references left, right and centre and then I'll get the code up onto Sourceforge or somewhere similar for general public consumption.

If you're interested in the code then I'm gonna try and find a way of licensing it for everybodies consumption - contact me if you'd like more info.

Solid State Disks

Well I finally have my Samsung 32GB Solid State Disk installed in the media bay of my laptop and boy is it quick. I bought it from Scan.co.uk - my usually hardware supplier and it turned up prompty as always.

I've yet to install an OS on it - just awaiting an external USB CD-ROM drive so that I can do an XP install but my initial thoughts are WOW.

I've done some basic benchmarking with h2wbench and the results are available here. To summarise the transfer rates are pretty reasonable - far better than I expected and the access times are beyond belief! The sooner the humble platter goes the way of the floppy disk the better.

More results once I've got XP install which should be later this week.