Saturday, 28 March 2009

Everything you ever wanted to know about Solid State Drives

I am making a very conscious effort not to be a link blog and I do my best to make each post meaningful in some way. I am making exception here with a great article on Solid State Drives (SSDs). Its from AnadTech, and tells you pretty much everything you need to know including a thorough explanation on the performance degradation these drives suffer from as they are used. The link is below and its worth reading from start to finish.


If you want the shorthand version, the Intel X25 drives look awesome and while performance will degrade over time the problem for these drives isn't nearly as bad as for the competitors (owing to some clever disk management). Even with the performace degradation the Intel X25 drives vastly outperform regular drives. Though you will pay a pretty price for one of the Intel ones.

Its worth noting that the "performance degradation" can be reversed if you do a "secure erase" of the drive i.e. completely wipe it. This is a complete wipe which is not equivalent to reformatting. Intel provide software with their drives to do this. As a developer I find I rebuild my machine every 6 months or so anyway so I'm not too worried about this performance degradation issue.

I found this link on the excellent "Joel on Software" blog which is also very hightly recommended reading:


Wednesday, 18 March 2009

Error uninstalling ASP.NET MVC RC

I got an error trying to un-install the ASP.NET MVC Release Candidate (so I could install the final RTM 1.0 version). The process would fail with the error "There is a problem with this Windows Installer package...".

In the Release Notes for Version 1.0 there is a note mentioning possible conflicts with some Visual Studio Add-ins. Listed amongst them was Clone Detective. I un-installed this application and I was then able to un-install the ASP.NET MVC Release Candidate successfully.

If you are having issues, check the Release Notes to see if you have any of the Visual Studio Add-ins listed.

Wednesday, 11 March 2009

"Error Synchronizing" with Exchange on Windows Mobile 6.1

This is a strange one. If you are set-up to receive SharePoint notifications and you get one in your Inbox this seems to prevent Outlook on Windows Mobile from synchronising with the Exchange server. Very odd. More details here:


No long term fix but if you delete the e-mail (you can delete on the handset) it will fix the problem and you will start to receive your e-mail again.

Tuesday, 10 March 2009

Team Build in TFS2008 with a VS2005 Solution and FxCop

TFS2008 can build VS2005 Solutions owing to its backwards compatibility. Unfortunatey you might run into problems if you use FxCop in VS2005 and have this integrated into your Solution build i.e. FxCop runs automatically when you compile the project(s).

Very often you will recieve code analysis errors if you run a local Team Build (a "Desktop" build) at the command line even though you didn't see those errors when building in VS2005. This seems to be related to the setting of environment variables. To run a TFS2008 Team Build at the command line it must be done with an MSBuild v3.5 command prompt but your VS2005 is geared towards MSBuild v2.0.

To solve the problem, set the Environment variable "FXCOPDIR" to be "%programfiles%\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop" and your Team Build should complete okay. Rather than setting this value universally (and trashing VS2008 builds), what I normally do is have a command file with the following contents to run my Team Builds containing VS2005 Solutions:

@echo Setting environment variables
@set FXCOPDIR=%programfiles%\Microsoft Visual Studio 8\Team Tools\Static Analysis Tools\FxCop
"%systemdrive%\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe" path\TFSBuild.proj

This sets the environment variable for the current command window and executes the Team Build. The environemnt variable means FxCop will behave as if you were in VS2005 even though you are running a TFS2008 Team Build with MSBuild v3.5.

As as an aside, note that TFS2005 can't build VS2008 Solutions. "Forwards" compatibility has provided in TFS2008 meaning TFS2008 will be able to build VS2010 Solutions. This "forwards" compatibility has been implemented by allowing you to specify the MSBuild version used by your Build Agent. See Buck Hodges post for more information:


Monday, 9 March 2009

Microsoft Tech Days 2009

Microsoft are running a 24 hour “virtual” learning event on 1st April with the sessions run via Live Meeting. The site promises over 90 sessions, there are currently 22 listed on the site and these are being added to as details are finalised. Currently listed sessions include:

·         ASP.NET MVC – Separation of concerns and unit testing

·         Complete control over Silverlight controls

·         Cranking ASP.NET Performance to 11...the easy way!

·         How WPF and databinding are best friends

·         In-depth MVC

·         Information Architecture for a MOSS intranet

·         Intro to LINQ

·         Maintaining Resilient Code: Using Tools From Microsoft's DevLabs and Research Sites

·         Professional SharePoint Development - Taking the Step From SharePoint Cowboy to Enterprise Team Development

·         SharePoint Workflow for the Masses

·         Silverlight apps need data... and here's how to get it!

·         Site Provisioning Solutions (for SharePoint)

More information and registration: http://www.msfttechdays.com/public/home.aspx

Once you register you can build a schedule.

Saturday, 7 March 2009

NHibernate performance improvements

I picked up a couple of ideas off the ALT.NET mailing list.
These optimisations are only relevant when you have hundreds of entities.


Tuesday, 3 March 2009

March News

This month sees a bag full of Silverlight news. Silverlight is Microsoft’s technology for building cross platform “Rich Internet Applications” and is delivered via a small browser plug-in (similar to the way Adobe Flash works). It provides developers with an subset of the .NET Framework that will run in several different web browsers (Internet Explorer, Firefox, Safari) and several different platforms (Windows, Mac, Linux). Silverlight’s cross platform compatibility and ease of development using the familiar .NET platform makes it a compelling solution for delivering applications to both the enterprise and public internet. There are already some large scale, high profile, implementations. Silverlight powers Photosynth, which I talked about last month.

Microsoft News

·         During a mid-quarter update to investors, Steve Ballmer announced that Office 14 (the next version of the flagship productivity suite) will not be available until next year. He also admitted that the open source “OpenOffice” product had forced Microsoft to lower its world-wide pricing for Office. The release of Office 14 will be accompanied by new versions of SharePoint and Exchange. Ballmer also talked about a low cost version of Windows Server, called “Windows Server Foundation Edition”, which is aimed at OEMs who make cheap hardware. This is most likely to help Microsoft penetrate the hosting and web server environments still dominated by Linux. More information on Windows Server Foundation Edition can be found here.

·         Microsoft held an MSDN Developer Conference in San Francisco during the week beginning 23rd February. One major announcement was that Microsoft will provide full SQL Server capabilities to Azure though there is some confusion on exactly what this entails. Another thing that did come to light was that Surface, Microsoft’s interactive table top display technology also mentioned last month, will be available in Windows 7 in that Windows 7 will have multi-touch technology and the same APIs. Little fan-fare has been made about this news but it is significant – this will take Surface adoption to the mainstream.

·         One new announcement is expected at the MIX09 event in Las Vegas (18-20th March) and that is details of Silverlight 3.0. We already know that Silverlight 3.0 will provide major media enhancements (including H.264 video support, 3D effects and hardware acceleration) in addition to richer data binding and more built-in controls.

·         Tim Sneath (Director, Client Platform Evangelism) counters some PR regarding Adobe’s “Air” product (a direct competitor to Silverlight). A follow-up blog details some large and high profile Silverlight projects including the web client for AOL Mail which prove Silverlight’s suitability for the main stream.

·         Continuing the Silverlight news, Moonlight (the open-source implementation of Silverlight) has had an official Version 1.0 release. Moonlight enables Silverlight on the Linux platform. In addition, Microsoft has provided the licensed media codecs for Silverlight compatible media as a free download for all Linux users. More information on Moonlight can be found in the official FAQ, the official press release and The Register’s take.

·         Silverlight is also compatible with Google’s Chrome browser. Though unofficial at the moment, the smart money says Microsoft will support this eventually. This will give Silverlight compatibility to all browsers that have a notable market share.

·         At the Mobile World Congress 2009 event in Barcelona, Microsoft officially announced Windows Mobile 6.5 and the My Phone and Market Place applications mentioned in last month’s news. My Phone provides a free on-line back-up service for Windows Mobile users. Market Place is a web site which ISV’s can use to sell their Windows Mobile applications, similar to Apple’s AppStore for the iPhone.

·         Even though Windows Mobile 6.5 has only just been announced, news is starting to filter through about the next release, Windows Mobile 7. It is due next year and will see further convergence of technologies in the Windows and Windows Mobile platforms.

·         Microsoft Office Labs takes a look at the future with a video montage of some prototypes floating around at Microsoft.

·         Developers should look at the latest MSDN Flash for details of upcoming web casts, events and new downloads. You can subscribe to the MSDN Flash email.

Community News                                                                                                                                       

·         The ALT.NET community has announced a conference in the north of England.

·         The CodeBetter website now hosts an instance of TeamCity to provide Continuous Integration for open source projects like NHibernate. Unfortunately I can’t find a “build output” location.

Articles & Blogs

·         Scott Hanselman on Moonlight.

·         A look at VS2010 with WPF front end.

·         The ASP.NET MVC tutorials have been updated, this technology has reached Release Candidate.

·         Microsoft have also documented the steps to build a sample ASP.NET MVC application.

·         A complete overview of testing in Visual Studio 2008.

·         Martin Fowler updates his “Technical Debt” article.

Downloads and Tools

·         The Release Candidate for Service Pack 2 for Windows Vista has been released to TechNet and MSDN Subscribers. The final version will be available in Q3 2009.

·         Silverlight 2 GDR1 - http://www.microsoft.com/silverlight/resources/install.aspx.

·         Live Framework Jan CTP - http://neuronspark.com/code/live-framework-tools/.

·         Azure Services Training Kit - February Update - http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en.

·         JQuery Version 1.3.2 has been released. You can use this for intelli-sense in Visual Studio. There are examples for using JQuery ASP.NET MVC.

·         Rhino Mocks for Silverlight - http://ayende.com/Blog/archive/2009/02/04/rhino-mocks-3.5-ndash-silverlight.aspx.

·         Windows Developer Power Tools - http://www.windevpowertools.com/default.aspx (a list of useful developer tools).

·         Fiddler - http://www.fiddlertool.com/fiddler/ (allows you to inspect HTTP requests/responses on your local machine).

And finally...

·         Google Latitude.

·         At last, a .NET tool converted to Java (rather than JSomething becoming NSomething).


About Me