Ian Blackburn

June 2005 Entries

"Linux? That needs to all come out - you need XP mate"

The BBC ran a story recently regarding the "Smart dream home".  I Quote:

with rising broadband speeds and connections, the rise of wireless networks, and cheaper more powerful machines in homes, it is getting easier to realise the smart home dream.

A lot more now can be controlled from one central machine, with one central and easy interface, which is what convergence is supposed to be about.

They go on to quote Will Levy, founder of Touch of a Button:

He thinks there needs to be more qualified people who can take the ordinary non-technical person step-by-step through the set-up and the integration of technologies with other systems around the home.

"It could be very much like getting the plumber around," says Mr Levy. "I could see in five or 10 years' time having them in the Yellow Pages alongside plumber of electricians that you call out."

I can just here them now:

*long intake of breath* - blimey mate who put that in?  Linux? *looks up* That needs to all come out - you need XP mate, then we gotta install SP2 and all the hot fixes, it ain't a small job.  Should be able to start today though.  Won't be cheap of course.  I'll get going now if you like, just need to nip out and get some bits and bytes, bit low in on them in the van, big shortage you know.  Cor Linux?  You must have had a right cowboy put that lot in... Probably need a new firewall and av suite too?  You know what they are? No?  Blimey I got some work to do here...

 

.NET Reflector Add-Ins

If you haven't seen Reflector for .Net then go and check it out now: http://www.aisto.com/roeder/dotnet/ - it is a great tool.

"Reflector is a class browser for .NET components. It supports assembly and namespace views, type and member search, XML documentation, call and callee graphs, IL, Visual Basic, Delphi and C# decompiler, dependency trees, base type and derived type hierarchies and resource viewers."

I've been using Reflector for some time, but I have only just come across the add-ins you can use to extend it (including a diff tool, dependency graphs, and VS integration).  Have a look at them here:

http://csharp21.tripod.com/ReflectorAddIns/

No Comment(s)

Unfortunately I am removing the ability to add comments to posts in this blog.  I have received hundreds of spam posting over the last week, and this is the best way to stop that.  You can still of course send me a message re the normal contact pages.

Ian

Visual Studio 2005 release date

Microsoft have set the release date for VS 2005, SQL Server 2005 and BizTalk Server 2006.

And the news is "that these products will be formally launched during the week of Nov. 7, 2005"

Press release here

VB.Net vs C# - it's the IDE stupid!

It's time again to to comment on the vb.net vs c# ongoing discussion. I actually use and train in both languages, in fact I often do asp.net courses where I present in both languages at the same time (I split the screen and type vb in the top half and c# below) which actually works amazingly well on a few levels. Firstly it slows me down a bit (I sometimes have a tendancy to go too fast for my delegates) and secondly it demonstrates to everyone how similar the languages are. But that's not the point of this post.

My point is that the capabilities, performance and features of the two languages are so similar that there is really very little discussion to make on them, and in fact the real decision comes down to inhouse resources (have I got a vb or c# team?) and the ide and editor. The last point being an important one that I don't often hear being made, but it can have a big impact on productivity. C# has some nice stuff like the built-in XML Documentation and the way it adds event handlers for you with the += syntax (you press tab twice and your done, where-as with vb and AddHandler it's all manual), together with compiler warnings, but the killer benefit for me and the thing that makes me more productive on balance in VB is the BACKGROUND COMPLIER. I'm talking about "instant wiggley underline technology" which I think is the correct technical term. I just move off the line and I can see the compiler errors straight away. With C# I'm constantly hitting CTRL+SHIFT+B to do that check. Vber's should make more of this if they want to p*ss off c#ers! Java has background compilers (certainly in the amazing IntelliJ product - have you seen that? I was blown away) so why hasn't c#? It may seem like a relatively small thing but it's these little bits that make the dev experience better.

With VS2005 I thought the refactoring tools would finally make c# my prefered language (based on productivity), but now DevExpress have added much better refactoing to VB2005, I think I'm probably back to that as my favourite...though if the c# team ever add a background complier with the sort of help IntelliJ gives you then, I'd be sold on that! I dunno, decisions, decisions...

Cheers

Ian

VB.Net Refactoring Videos

If you are wondering what all the fuss is about refactoring tools then check out these short videos from Carl Franklin of DotNetRocks and Mark Miller from DevExpress (the company who created the free add-in for vb.net 2005)

http://weblogs.asp.net/cfranklin/archive/2005/04/21/403765.aspx

This looks a lot better than the standard c# refactoring in vs 2005 to me.  Most impressive is the avoidance of any modal dialogs in the ui - meaning you can keep you hands on the keyboard, and keep coding without "dialog interference" (my phrase)

I recommend you check it out.

Ian 

Protecting your .Net Source Code and Intellectual Property

As you are probably aware, compiled .Net code is compiled to IL (Intermediate Language) and not to machine code.  This means that it is trivially easy to reverse engineer an exe or dll and see the source code using tools like Reflector or the ildasm.exe

This of course opens up the problem of how to protect your Intellectual property for applications you distribute to clients.  The traditional answer has been obfuscation - a way of making the code hard to understand, but still allowing it to be disassembled.  Commerical obfuscators include: Dotfuscator from Premeptive, and Salamander from RemoteSoft

But there are a couple of alternative solutions that you can now invest in (that I am aware of), that offer a more robust protection mechanism:

  • Thinstall from .Net Support (http://thinstall.com/help/?_netsupport.htm) - "prevents .NET IL byte code disassembly while maintaining 100% capability" and also has some other interesting features such as zero install, and automatic detection of the framework (and prompt to install if not present)
  • .NET Protector - from RemoteSoft (http://www.remotesoft.com/salamander/protector.html) - " it converts the decompilable Microsoft Intermediate Language code (MSIL or CIL) of your assemblies into native format while keeping all .NET metadata intact, and thus it provides the same level of protection as native C/C++ code."

If IP of your apps is a concern, then evaluation of these products must be worth some of your time.

Cheers

Ian

 

Sharepoint 2003 uk training available

bbits has published a new Sharepoint 2003 training course.

SharePoint 2003 Application Development

 

Ajax.NET - free library for Ajax client postbacks

Following on from my blog on Ajax and Google, the following is a useful free library to help you implement Ajax in .Net 1.1 (.Net 2 has its own libraries):

http://ajax.schwarz-interactive.de/csharpsample/default.aspx