Little known Explorer feature in Vista

I was chatting to someone last night about how they liked Vista as their dad hadn't rung him for months since he got a new laptop with Vista on it.  I concurred that there are some good new features such as the option to multi select files without the nightmare of Shift+Click or Ctrl+Click, which is really hard for my dad to master. 

However, the guy I was talking to didn't know about the option as it is off by default, so here is how to enable it.  In explorer, go to Tools Options, View tab, and tick the option Use check boxes to select items;

Use check boxes to select items

Then when you browse a folder contents in Explorer there is a 'blank' single column where you can start selecting files with check boxes;

Checkbox selection in action

Job done!

NxtGenUG Oxford - CI Factory talk

Thanks to all who attended the NxtGenUG Oxford meeting last night, always good to see a different user group in operation.  Apologies for not achieving the promised 20 minutes to create a CI server from a completely clean Win2003 server installation - but 26 minutes isn't too shoddy.

As promised you can download the slidedeck for my CI Factory talk from here.  Make sure you view it with the speaker notes as they give all the background information.  On the 'Demonstration' slide the notes include the exact steps and installation list for creating that CI server in 26 minutes.

And finally, thanks to Barry Dorrans for ferrying me to and from Didcot Parkway station (and providing a Hot Wax chilli seedling) as well as Research Machines for providing the factilities for the evening.

Liam

P.S. In the demonstration I used a full .NET 3.5 redistributable package to install the .NET SDK without requiring an internet connection.  Thanks to the articles on Aaron Stebner's WebLog and Bret Grinslade blog I idenitified the correct package to download.  The full package also arrived this week on MSDN CD 2426.29 (grey).

London .NET User Group - CI Factory talk

Thanks to all who attended the London .NET User Group meeting last night, a great turnout and lovely weather for slurping beers in the streets of Clerkenwell afterwards.

As promised you can download the slidedesk for my CI Factory grok talk from here, and if yoiu want an extended version I'm presenting at NxtGenUG in Oxford on Wednesday 6th August. 

In the one hour or so I'll hopefully have time to actually create a SubVersion repository, edit the CI Factory setup file to create a new build server and demonstrate it automatically building an app checked in from Visual Studio 2008.

And finallyl, thanks to Ian Cooper and Skillsmatter.com for providing the factilities for yesterday evening.

Liam buys a new laptop (Part 3) – First impressions

Operating system installation

The first thing with any new PC is to configure the hard disc partitions, update the device drivers and get on with installing the rest of your software.

The HP backup and recovery wizard happily burnt my recovery DVDs which were tested on the upgraded 320Gb hard drive.  The recovery process created a recovery partition, an o/s tools partition (quickly deleted) and installed Vista Business (32-bit) complete with all the HP drivers on a single huge 300Gb C: partition. A quick installation of Paragon Hard Disk Manager 8.5 Special Edition that came free with PC Pro magazine and I had resized the C: drive to 100Gb, and created two new 95Gb partitions for D: and E: drives.

The next step was to download all the 64-bit Vista drivers from the HP website, around five pages of downloads, around 70 file downloads.  Good news, all the built in hardware is supported, so on went an MSDN licence of Vista Ultimate 64-bit.  It all went very well even down to the SD card reader (normally a nightmare 64-bit driver area) and logging in with the finger print reader.

Other software

The great resource I had for the installation is the audit of software installations from my other PCs. I have a single Excel spreadsheet for every PC. This lists every item of software installed on each PC, including a download location (if free) and licence codes where relevant. A ‘shared’ spreadsheet keeps track of the multiple licence usage of software from my Microsoft Action Pack and Kaspersky Internet Security bundles.

It was easy to take the spreadsheet of installations from my 32 bit Vista development desktop, weed out the ‘old’ software I don’t use any more. Old software includes items such as Visual Studio 2005 now that 2008 is out and can compile to the .NET 2.0 framework.

The joy of virtualisation

The first software I installed (after drivers and Kaspersky) was Virtual PC 2007 and a 16Gb VHD disk image for my Windows XP/SQL Server 2000/Visual Studio 2003 development environment I use for my main client (don’t start me on spending most of my time in VS2003).  That meant I had a working development environment for my main client up and running within 15 minutes.  This is definitely the quickest that a new laptop I have owned has been ready for real development.

64-bit goodness and badness

I was ready for various software not to work under 64-bit Vista, but the only two real casualties are Firefox (shame on you guys, no 64-bit version of Firefox 3, and no plans for Firefox 4 either) and open source PDF Creator, the PDF printer driver I normally use to create PDF files.  Fortunately IE7 has nearly caught up with Firefox, with tabbed browsing and opening multiple tabs from a favourite folder.  I would rather have had Firefox, but let's hope they catch up soon.

The real surprise was explorer shell extensions like 7-Zip and TortoiseSVN come in 64-bit versions.  Given the machine main purpose is for software development, the lack of TortoiseSVN would have been a showstopper.  I’m just not a command line programmer, too lazy, so relying solely on SVN.EXE wouldn’t have been an option.

Of course the real advantage of Vista 64-bit is that I can finally have a 4Gb machine where I get to use all of the installed memory.  My Vista 32-bit desktop only recognises 2Gb of the 4Gb of installed memory which is a crying shame when I want to use a virtual machine.  With 4Gb available, I can now run my VS2003 virtual machine with 1.5Gb of dedicated RAM and still leave 2.5Gb for the host operating system.  Hopefully the 4Gb should give me plenty of room to run Visual Studio 2008, SQL Server 2008, IIS apps, and still have one or two virtual machines running Windows Server 2008.

Summary

For just under £800 I think I’ve got a bargain power user laptop. The screen isn’t the biggest, but it’s a laptop I can carry in a standard briefcase or carry on flight bag, and the travel battery gives me around 5 hours heavy use and nearer 10 on standard office tasks. It’s got a very good keyboard, a 3G card ready for activation and a built in SD reader that can handle SDHC cards so I can use the 8Gb microSD from my phone without a dongle.


Liam buys a new laptop; 

Liam buys a new laptop (Part 2) – Laptop inflation, accessories add another 50% - oops!

In Part 1 of my blog series, I described the partisan decision process that led me to buy a new HP 6910p laptop.  Having decided on teh laptop to buy, the only question, how much will it eventually cost?

There were always going to be immediate upgrades; the 120Gb hard drive was always going to be too small (it was replaced by a 320Gb model) and I was always going to replace the 2Gb of RAM with a 2 x 2Gb dual channel matched pair. 

The unexpected bonus I had was managing to get hold of a model with a build in 3G HSPDA card.  I haven’t activated the Vodafone SIM card, but at £15 per month with no contract (3Gb monthly limit) I’ll be sorely tempted if I end up working at a client which restricts my internet access.

So here is my BOM - a laptop including the accessories I arbitrarily deemed necessary in spite of the frown from my accountant (all prices include VAT and delivery charges);

HP 6910p Core2Duo 2.2Ghz,120Gb,2Gb,DVD+/-,14.1",3G Wifi  eBay £507.50
Western Digital 320GB 2.5" Laptop Hard Drive SATAII 5400rpm 8MB - upgrade 120Gb hard drive
 eBuyer
£79.97 

2 x 2GB Corsair KIT DDR2 667MHz non-ECC (dual channel)
Akasa AK-ENP2NES-SL eSata/USB 2.0 external drive caddy (for 120Gb drive

 scan.co.uk


£78.69

 

     
HP basic docking station PA286A (for use at client site)
 eBay
£20.49
HP advanced docking station PA287A (for home)
 eBay
£31.00
HP advanced docking station PA287A (for Kew office)
 eBay
£32.50
     
HP travel battery, extra 3.5 hours   eBay
£27.00
     
HP laptop hard drive caddy with screws   eBay
£4.20
TransFlash microSD Mini SD to SD & Mini SD - make that SD card slot take all SD formats as it is SDHC compatible  eBay (Hong Kong)
£2.00
     
   GRAND TOTAL £783.35

                                

I have to say, the HP hard drive caddy is a terribly frivolous purchase.  This is a tiny amount of metal cladding to wrap a standard notebook drive that just makes it easy to swap the hard drive in the laptop.  These can be hard to get hold off, so it’s a nice to have at what is quite a low price for something so esoteric.

The advanced docking station includes an ExpressCards slot, DVI video out, a multibay II drive bay (at home I added a spare DVD-ROM I had already had), the USB port with extra power pin (that means I can use my nc4010 DVD/CDRW external caddy in the office at Kew).  Also, all the docking stations can use the DVI out and analog VGA simultaneously for dual screen use on two external monitors.

Even better, HP have reworked the concept of a second battery.  No longer does it replace the DVD drive, but instead it clips onto the bottom of the laptop, very much like my travel battery for my old nc4010 ultraportable laptop. Where it improves on the nc4010 is that you can have the travel battery attached even when the notebook is in the docking station. This means the docking station can happily recharge both batteries.

Finally, I also reused a compact flash to PCCard adapter which I had from a Xircom CF network card bought for the very first HP iPaq, when CF was the only memory card standard around.

So I now have a 2.2GHz Core Duo, 1280 x 800 14.1” laptop with 4Gb RAM, 320GB hard drive, gigabit networking, WiFi a/b/g, Bluetooth, 3G data, an array of docking stations and a travel battery.  A real road warrior work horse.


Liam buys a new laptop; 

Liam buys a new laptop (Part 1) – Which one to buy?

Just over month ago I finally upgraded from my aging HP nc6000 laptop.  Equipped with a Pentium 1.6M and 1.5Gb it wasn’t an ideal platform for Windows Vista, Visual Studio 2008 or virtualisation engines. I was also really feeling the lack of dual core CPU oomph compared to my desktop setup.

I had been tracking a candidate for a replacement laptop for some months, a HP 6910, although I nearly bought a Dell Latitude D630 (but a waiting time of more than 60 days put me off).  I knew I was in for a world of pain, as my nc6000 and nc4010 laptops all use the same power supplies and docking stations, all of which would be rendered obsolete by buying a newer model 6910p.  Not only would I have to factor in the cost of the actual laptop, but all the 'bits' which I consider **essential** additions...

Why a HP 6910p? I have had nothing but good experiences with my previous HP laptops. I wanted one of the corporate models as they have longer warranties, more robust screen protection and can use docking stations.  I like docking stations, at home, at the office; I even like them so much I drop spare ones at client sites, even if I only visit one day a fortnight.  It's such a relief not to have to take a power supply with me everywhere I go, never mind the grief of connecting all the various network/monitor cables. 

Corporate notebooks also tend to include a trackpoint as well as a trackpad.  It’s a very subjective issue, but I can't get on with trackpads.  As a touch typist you can tap them really easily with your thumbs, which means random cursor madness in Word. Not fun. 

My other requirement is that the laptop should by under 2.5Kg in weight and fit my standard leather briefcase which is only about 5cm wide.  I care about that more than having a large screen.

Finally, the HP scores on a few other points

  1. The parts are easy to get and relatively cheap (compared to, say, Sony or Apple)
  2. They support a wide range of drivers for your o/s (unbelievably this includes Windows 2000 Pro)
  3. They are bulk bought by corporates with more money than sense, so there are lots of cheap spares available on eBay*

So that’s a decision - a HP 6910p laptop.  It has some good reviews from various sites, while not managing a ‘best buy’ or ‘A-list’ award, it generally gets a solid ‘recommended’. Very HP, worthy rather than exciting.


Liam buys a new laptop; 

Fest08 Geek Dinner

Thanks to the NxtGenUG guys for a very enjoyable geek dinner for Fest08 last night.  Shame I couldn't clear the time to attend the actual event - although I would have been nursing a wee bit of a hangover if I had.

LINQPad - what a great little tool

I highly recommend downloading a free tool called LINQPad (http://www.linqpad.net) which execute LINQ queries and acts as a stripped down query analyser for your SQL Server databases.  I love the ability to view the real T-SQL generated for the LINQ query, or as the lambda expression. 

It's incredibly simple, requires no install (other than .NET 3.5).  It has that key attribute of good quality software; it deals with one simple task and executes it perfectly.

I also like the author's suggestion to use LINQPad instead of the standard SQL Server query analyser tools so that you start thinking in LINQ instead of thinking in SQL and converting it to LINQ.  Think I might give it a try ...

The joy of file synchronisation with Allway Sync Pro

I’m an itinerant developer armed with a laptop which means I have to deal with the issue of keeping my files synchronised with my file server.  Source code is easy, it’s under version control.  That leaves items such as documentation, Outlook PST files and MSDN downloads which are way too big and way too binary for version control systems.

For years I've been synchronising my files with a set of Windows Briefcase folders, when they came in with Windows 95.  They worked fairly reliably.  I put up with the agonizing delay to open a briefcase when the network drive was no longer connected – think 30 second timeouts on every folder being opened while it ‘checked the file status’.  However, it was Vista that was the nail in the coffin, it supports briefcases but file access rights become an issue on dual boot systems.

So I bit the bullet and looked for a file synchronisation tool.  I decided that I would happily pay for this software.  For me, I consider this is an essential business application, so paying for it is not an issue.  I also decided to change my work methods, instead of dragging a laptop around, I would carry around one of my portable hard drives, based on an 80Gb notebook drive, powered over USB, much easier to carry than a laptop (and less expensive if you drop it).

So I was after a many to many copy utility that would make sensible decisions, warn me if there were conflicts, and more importantly, once configured, be a one button fire and forget solution. After researching free products (PowerToys sync included) I found a product called Allway Sync Pro, http://www.allwaysync.com/.  I’ve now been using it for about a month, which allows me to make a considered judgement.

It’s brilliant.  Truly, it’s really, really, really good software.  I can’t believe it only costs $12 a PC (for 5 PCs).

OK, the UI design is a bit messy and old fashioned looking, but it actually does everything that you expect, and sometimes things you didn’t expect (good things).  This is a tightly focused piece of software that has a clear set of functionality in which it excels.

An unexpected feature was that it properly ‘deletes’ files it updates so they are put in the recycle bin.  At some point I must take a look at some of the more fancy options, such as how it can automatically synchronise files when you logon and logoff.

So now, before I leave my office, on my Windows Server 2003 file server I synchronise my server files to the portable hard drive.  Back home, I plug in the same hard drive and synchronise to Windows XP Pro.  Back in the office I also run a copy under Windows Vista that synchronises files from the C: drive to my file server.

So in summary, for me this is now an essential application for my business and is that rare beast - a technology solution which actually delivers what it promises and makes your life easier. 

I also think it’s a clear example of what software developers should strive for in their own software – reliable, functional, focussed on a clearly defined task, simple to use and intelligent in how it operates. I would hope that software I create can be as good as this - although probably with a better UI design,

Thanks to Conchango for hosting Silverlight User Group

Conchango hosted the first Silverlight User Group last night.  It was great to see people discussing real world problems they have encountered and how they are really stretching Silverlight to the limit.  A 3D demo of MRI scans within a Silverlight browser control was very impressive.

Tim Sneath, evangelist for the Silverlight team, was over from Redmond and did a very informative round up of the current state of Silverlight development and the envisaged roadmap to release of 2.0 RTM.

A great start to what I hope becomes a very active user group.  I can't wait for more designers to get interested in Silverlight so the developers within the user group get more exposure to good graphic design.


Although I am used to working with graphic designers in my television projects for on screen graphics and animations, I've never had the same experience with applications or web sites.  It's something I'd be keen to get involved with. Despite using a Wacom tablet instead of a mouse and being happy wandering around Photoshop, I do have a complete understanding of my level of design skills (abysmal).

Software Developement as a Craft - 'The Craftsman' by Richard Sennett

I was listening to the BBC Radio 4 social science documentary strand Thinking Allowed earlier in the week (from my backlog of DAB radio recordings) and they were discussing a new book 'The Craftsman' by Richard Sennett.

The book deals with the concept of learning a craft, as opposed to the acquisition of pure academic skills. It dealt with the sort of manual crafts that you might expect to be included, such as jewellers, wood workers, etc.  To my surprise Richard Sennett mentioned that he has spent a lot of time studying the craft of software development as part of his research.

The surprise is to hear the recognition of software development as a craft, not something obtainable by passing certification courses, but by practical real world experience. Richard Sennett reckons it takes 10,000 hours to become a skilled carpenter or musician, and by inference a skilled software developer too. That's about FIVE years of software development before you're a true craftsmen.

Hallelujah !! I was taken back to my sister-in-law telling me that she had 'decided' to quit being an actuary and was going to become a 'C++ programmer' and could I recommend a book so she could learn it over the next few months ready for applying for jobs. There was a complete lack of any realisation that you software development might require an aptitude for the discipline of software development or that it might require experience to really become proficient.  The later is mentioned by Richard Sennett, in that is important to make mistakes in order to become skilled in a craft. You are unlikely to simply read up on a craft and get it right first time. Try telling the standard line manager or project manager that mistakes are 'good' and will increase the knowledge of the team.

The only 'non craft' area of software development might be seen to be the lack of touching or coming into contact with a material. In my case, the start of any software development is nearly always a paper based exercise. Out comes my trusty ink pen (yep, ink pen, Lamy Safari, complete with blotting paper) on spiral bound notebooks, scribbling flowcharts, workflows and database schemas onto A3 or massive A2 sheets. Let's not forget my favourite tool, a decent sized white board and four whiteboard markers.

So here is to software development as a craft - a fantastic intellectual and creative endeavour that I personally find exciting and satisfying (although not always when it's Visual Studio 2003).

Ref: A meeting between Laurie Taylor (presenter of Thinking Allowed) and Richard Sennett can be found at the New Humanist web site.

ASP.NET MVC Preview 2 (March CTP) - support for shared hosting

I've been investigating the ASP.NET MVC framework for some months, in between a major client project in January and holidays in Frebruary.  In that time the ASP.NET team have been beavering away and released the MVC Preview 2 March CTP (download it here). Jeffrey Palermo has some great blog posts over at codebetter.com which detail some of the improvements.

The big news for me was that I could finally upload any applications to my development site, which is on a shared hosting server at discountasp.net, they have .NET 3.5 hosting as standard which makes life easy.  You can now just copy the MVC assemblies into the application bin folder and you have an MVC application installed.

I did hit one issue, in that the MVC handler does not route as required without the formal setup, and the in line comment s in Global.asax.cs suggesting I add the file extension '.mvc' for routing requests for IIS6 compatibility didn't work either.  The issue is that the DiscountASP team have not registered '.mvc' for processing by the ASP.NET ISAPI dll.  Obviously something I cannot configure on a shared host.

No problems though - I discovered that if I use the file extension '.mvc.aspx' for controller routing in Global.asax.cs the pages get handled by the ASP.NET ISAPI DLL, complete with MVC goodness.  Standard .aspx pages are unaffected, and as long as you don't mind the mangled URLs it all works as expected.

If you haven't yet dabbled with the MVC framework now is definitely the time to try.  Shared hosting support, combined with the excellent quick start video tutorials over at http://www.asp.net/learn/3.5-extensions-videos/default.aspx#mvc makes life a lot less painful.

P.S. after spending a few hours researching the '.mvc.aspx' solution, I found it was already in the forums on the ASP.NET site - DOH!

Virtual PC on two monitors without additional software

I've finally moved my main development environment on my desktop to Vista, and had the issue that I still do quite a bit of work for one client in Visual Studio 2003 which is not supported.  No problem - run up a Virtual PC 2007 image running XP Pro SP2 with just VS2003 and SQL Server 2000 and I have a perfect solution.  On a dual core processer with virtualisation support and lots of memory it runs fine.

However I also run on dual monitors and I'm very used to developing with VS on one screen, and my SQL tools on another.  Also I like Virtual PC in full screen mode.   Unfortunately you cannot maximise, or even resize the Virtual PC screen across both monitors.

But the saviour is the hard to find span option for Remote Desktop, not available via the dialogue but as a command line switch (needs both monitors to have the same resolution);
C:\Windows\System32\mstsc.exe /span

So, configure your Virtual PC image to allow remote connections, start it up, but don't login.  Then use remote desktop to connect over your two monitors.  It all is one big display, 2560 x 1024 in my case, so dialogs get split and you can' maximise code windows but it really works nicely.  The best bonus, running a source code diff in TortoiseSVN over two windows means the original code is one screen and the changed code is on the other - cool.

UK MSDN Roadshow 2008 - registration now open

For those who couldn't make the VS 2008/SQL 2008/Server 2008 launch in Birmingham in March, we have dates for the MSDN Roadshow in April around the UK.  I'd register now if you're interested as these events sell out really fast.

Here's the Microsoft blurb;

Now the roadshow is coming to a city near you

A short while ago you expressed interest in the MSDN Roadshow, which means you're now one of the first to hear that registration is open. We're anticipating high demand, so you'll need to act fast before this opportunity is promoted to a broader audience in the next two days.
 
The MSDN Roadshow is a series of full day, demo-heavy events where you can find out more about Visual Studio 2008 and future Microsoft technologies. It's also your opportunity to meet the MSDN team and discover the latest developer tools.

Now that Visual Studio 2008 and .NET Framework V3.5 have been launched, the MSDN Roadshow will also focus on other products of interest for .NET developers. We'll look at Silverlight, ASP.NET, ADO.NET and Visual Studio Team Suite to create sessions that are all about code, not PowerPoint.

Places are limited so register today

- Cardiff, 21 April 2008 <http://go.microsoft.com/?linkid=8384142>

- London, 25 April 2008 <http://go.microsoft.com/?linkid=8384143>

- Manchester, 1 May 2008 <http://go.microsoft.com/?linkid=8384144>

- Glasgow, 13 May 2008 <http://go.microsoft.com/?linkid=8384145>

- Newcastle, 16 May 2008 <http://go.microsoft.com/?linkid=8384146>

Dead web (href) links - don't panic, try the WayBack Machine

Just had a comment on a post where the original link was out of date (well, it was two years old).  Rather than try to remember the source of the software that was named in the broken link I just went to the 'WayBack Machine' of web archives at  http://www.archive.org/web/web.php.  I typed in the broken link (complete with parameters), and there was the original article with the key information I required.

It doesn't always work but it's a great resource when you're running out of options.