Wednesday, 15 July 2009

Jet Brains ReSharper

I have using the ReSharper evaluation and now it has come to crunch to decide whether or not to purchase. I was very impressed with what ReSharper has to offer with all the features that were added to Visual Studio.

I have been using Eclipse for Java development and felt I was switching to a ‘less feature rich IDE’ when moving to Visual Studio when navigating around a large solution. This drove me to evaluate CodeRush and ReSharper.  I felt that the version for CodeRush Xpress for Visual Studio just didn’t cut it.

These were the following ReSharper wins for me:

  • Type Hierarchy: This would allow you to view a Hierarchy of classes that implemented / derived from certain classes and interfaces.  The Visual Studio ‘Find All References’ is just too dawn slow!
  • Go to Implementation: Allows you to to directly navigate to an implementation of an interface; multiple implementation would pop up showing the ‘Type Hierarchy’.
  • File Search: Allows you type part of a filename to locate it in the solution.
  • Type Search: Allows you to type part of a type name to find the type.

Well, despite my love for ReSharper I could not justify the purchase with my own cash since ultimately my company would be benefiting from the purchase. In my opinion my company should make the purchase to serve the dozen developers we have to improve the productively levels.

I thought I’d share some alternative add-ins that I have found for Visual Studio 2008 to allow you to get by a little easier.  It’s doesn’t solve everything but if you want to make Visual Studio a little bit more feature rich and tolerable when moving from Eclipse then this is what I recommend.

DPack

DPack is a FREE collection of Microsoft Visual Studio 2008 and 2005 tools. DPack is designed to greatly increase developer's productivity, automate repetitive processes and expand upon some of Microsoft Visual Studio features.

It provides File Search and Type Search, make sure to change the settings to cache to disk rather than to memory, otherwise you’ll be stuck will the dialog window that collects information about your solution every time you open you solution which can take a few minutes.

Visual Studio PowerCommands

Visual Studio PowerCommands provided various useful commands such as Collapse Projects, Open Containing Folder etc etc. See http://visualstudiogallery.msdn.microsoft.com/en-us/DF3F0C30-3D37-4E06-9EF8-3BFF3508BE31

Reflector

Reflector allows you to analyse assemblies showing you various implementations of classes and interfaces.  Not a true type hierarchy but combined with RelectorLink it proves to be quite useful.

I would highly recommend ReSharper but I think that the productively improvement it provides should be provided by the company you’re working for rather than yourself. If you’re self employed and/or a contractor then ReSharper will serve you well.

Thanks for reading.!

HttpWebRequest.DefaultMaximumErrorResponseLength

I usually use Google to hunt for solutions to my exceptions but this one proved to be a challenge with regards to the amount of digging that had to be done.

I encountered an issue with a .NET Client receiving a Soap Fault that was greater than 64K. This mean’t that a response stream greater than 64K got truncated and thus this exception.

[System.Xml.XmlException] = {System.Xml.XmlException: Unexpected end of file has occurred. The following elements are not closed: faultstring, soap:Fault, soap:Body, soap:Envelope. Line 2833, position 4.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextR...

Turns out you can set HttpWebRequest.DefaultMaximumErrorResponseLength=-1 for unlimited in code or the web.config / app.config

  

<system.net>
    <settings>
      <httpWebRequest maximumErrorResponseLength="-1"  />
    </settings>
  </system.net>



Lets hope with some indexing that this post serves you well!

Tuesday, 28 April 2009

Handbrake, open source DVD ripper

image

I own some karate DVD’s and I wanted to rip them so that I could watch them on my iPod touch.  I found HandBrake that is an open source DVD ripper. It can rip from other sources.

Works on various operating systems.

Note: I had trouble running it on Vista.  I had to ‘Right-Click’ on the desktop shortcut and click the ‘Run as Administrator’ option for it to work!image

Sunday, 26 April 2009

Windows Live Photo and Picasa 3

image

Windows Live Photo is made by Microsoft.

image

Picasa 3 is made by Google.

Which One is best?
They are both lovely! They are both free!  They both seem to offer the same features.

The online space was the major factor for me:

Picasa 3 can synchronise your photos to an online account of 1 GB of space.  You can pay for more.

Windows Live Photo allows you to publish to Windows Live Photo’s and you get 25 GB of online space.

If synchronisation is an important factor then you should consider Live Mesh Beta. It currently provides you with 5 GB of online space.

Saturday, 4 April 2009

Script# and Existing JavaScript Code

We’ve started to implement a Script# project in an attempt to maximise the productively of our development team. These are our reasons:

ASP.NET with Microsoft AJAX
We’re running with an implementation of a web application that uses a server based model as opposed to a full client script implementation.  When I say server based, I mean the style of Microsoft AJAX that would only send the different between post backs to ‘mimic’ a client application.

Existing JavaScript Library
While discovering the errors of our ways with the server based client script we rapidly had to alter our strategy to tackle the responsiveness of our web application; it was slow!  Being stuck with Microsoft Ajax we created a JavaScript library based on the Microsoft AJAX client library available. 

We started to produce wins with regards to the feedback received on the increase of responsiveness; however; we started to lose on the development side. Client side development was slower. 

We were using Visual Studio 2005, notepad, aptana but when there are no solid tools to allow efficient development of JavaScript and experience of JavaScript is limited you start to experience a development slow down and skills knowledge transfer is a pain in the butt.  You end up with owners for various parts of the system.

So, we’re stuck in a rut. We have tight pressured deliverables and development is not efficient when compared to various other frameworks like GWT.  We can’t just start again either.

Script# seems to fit
We have started to develop a separate component or a deliverable area by using Script#.

We have two projects:

Library: This contains empty classes that describe the expected definitions of our current JavaScript library and framework.  This is intended to be referenced by future Script# projects.  We are therefore not throwing hundreds of man hours away.

Feature: This contains the new feature development. We’re able to construct new input controls from our framework by referencing our Library project.  This allows us to write in C# and generate JavaScript.

The reason for separating projects was to allow for a ‘requires’ feature with JavaScript. We currently request every single JavaScript file despite whether or not its used.  With a requires methodology we aim to only request JavaScript files when we need them.

I have good feelings about Script#; despite the errors of our ways we’ll be able to move forward more quickly in the future.  Script# is clever and it allows us to utilise the majority of developers with C# .NET backgrounds by allowing them to work with a consistent / familiar environment.

Hopefully, with fingers crossed; development time should decrease and we’ll be able to create some breathing room.  That's the theory anyway.