Dan Maharry

Reflector Giveaway Wrap Up

by

Well, all 50 Reflector 7 VS Pro licences have been sent off to their new owners. Thank you to everyone who entered and to those of you who didn’t, well it may have been worth your while to jot down some notes. First some stats about the giveaway.

The giveaway started on Friday Feb 11 and was publicized almost exclusively by twitter and those reading my RSS feed. Key people like Scott Hanselman and Jon Skeet retweeted its existence which helped no end, with 804 day 1 page views to the giveaway entry by the end of play. Chris Alcock was also kind enough to point out the giveaway the following Monday leading to another spike in interest of 204 page views that day. In total, there were some 1990 page views between start and finish of the giveaway with 1866 unique views according to Google Analytics.

So nearly 2000 people read about it and yet only sixty (yes, 60) people entered. You missed a great chance here everyone.

So What Is It Used For?

From those entries received, it seems that the most popular use for reflector is trying to figure out how Microsoft’s own code works. As one entrant wrote,

I am a SharePoint Developer.  ‘nuff said.

Indeed, this was not the only SharePoint developer entering the giveaway, although it was definitely the most succinct. Here’s a full list of those DLLs and applications that were mentioned in entries.

  • .NET Framework (unspecified) – 16
  • Non-MS Third Party Components – 9
  • ASP.NET – 7
  • SharePoint – 2
  • MS Dynamics – 2
  • WCF - 1
  • WPF – 1
  • Surface SDK – 1
  • Expression Blend – 1
  • Azure SDK 1.3 - 1
  • PowerGUI - 1
  • Telerik Sitefinity – 1
  • nHibernate – 1
  • MS Commerce Server – 1
  • MS Unlocker for WinPhone7 \ ChevronWP7 Unlocker – 1

Granted sixty people isn’t very representative of all developers out there, but maybe Microsoft are realising there is actually a call for good API docs and in-depth articles on how stuff works. I noticed that the ADO.NET team mentioned this apropos the forthcoming release of Entity Framework 4.1

We’ve held off on extensively documenting the CTPs because the API surface has been changing so much. RC will have intellisense and online documentation.

Something that Microsoft.Web.Helpers could do with for sure.

But figuring out a third-party DLL isn’t the only reason for using reflector. A number of you replied that Reflector had saved the day after a hard drive crash or disaster by source control failure of some kind. CW for example wrote,

I walked in to a new job a couple of years ago, within a few days I noticed that they had an issue with version control. There were 3 VSS databases and some other guy had decided to use CVS – just to add to the mix.

It became clear that the ‘old’ developers were happy with VSS and when it got a bit slow or crashed too much they would just setup a new VSS databases do some copy / paste of files and carry on. The CVS guy knew this was all bad and was trying to force everyone to ditch VSS and move to CVS. To add to the fun people had not used labels in VSS and there was also a culture of checking-in weeks or months after something was put into prod.

So – trying to work out where the current production code was held – or IF it was even held was a nightmare. Luckily for me everything was C# and they had not obfuscated any code.

Reflector to the rescue – every time I needed to make a change in production to something I had not worked on before I would reflect the current production binaries and then compare with what I could find in VSS or CVS. Even 3 years later I am still finding odd bits of code that I need to reflect – none of this would have been possible without Reflector.

Several entries also highlighted one or several of the plug-ins that Reflector now has via http://reflectoraddins.codeplex.com/ and the integration into Visual Studio that the recent Pro versions of Reflector have included.

Reflector has also used in a couple of more innovative ways by entrants.

  • It disassembles IL code back into C#, so a few developers use it to translate their VB code into C#.
  • As an obfuscation check. If Reflector crashes while trying to disassemble a DLL’s code, the developer takes it to mean that they have a good level of obfuscation applied to their code to hide it from casually prying eyes.

And to conclude, here is a list of useful projects that reflector has influenced and helped:

Reflector 7 Giveaway

by

There’s been a great deal of discussion online recently about Redgate Software's decision to move their stewardship of Lutz Roeder’s Reflector software from a free \ premium model to a not-free \ premium model. The company’s Reflector forum is full of pleads, cajoles, reasonings and answers as to why a Reflector 7 licence will cost you $35 rather than $0 for v6. But when you come down to it, if you use Reflector in anger - and I’m sure many of us do – $35 is a small price to pay for the fantastic functionality it provides. And if you don’t already use it, then maybe I can help out.

Back on Feb 3, Jay Grieves bought ten Reflector 7 licenses with his own money to give them away. Redgate saw the post and offered another 50 licenses for his giveaway. If you didn’t notice it, that giveaway ends today so I’ve got in touch with Redgate and they’ve agreed to give me another 50 licenses to give away. However, rather than just post a comment below, I’d like to help others appreciate how useful Reflector can be.

So, please email me your favourite use for Reflector with examples and screenshots if you have the time and fifty people who send an email will get a Reflector 7 license free of charge. The address to send it to is HeresWhyILove-Reflector@yahoo.co.uk and the deadline is Monday February 28. I’ll post the best and most popular examples here next month.

Good luck

Red Gate Reflector

by

Well, it looks like one of the best .NET utilities out there has changed hands. Lutz Roeder, the original creator and developer of Reflector has agreed with Red Gate software (they of SQL Compare and SQL Toolkit fame) to let them continue development of it from now one. An interview with both Lutz and James Shore of Red Gate outlining the deal and what Red Gate hopes to do with Reflector can be found here on simple talk.

Red gate are quite clear that they “will continue to offer the tool for free to the community.” but don’t categorically state that they may not offer a corporate, paid-for version later down the line. As long as there’s a free version I’m not too fussed. Reflector’s new home is http://reflector.red-gate.com/