Blog Home  Home Feed your aggregator (RSS 2.0)  
.Net Jonesie - June, 2006
A simple programmers blog
 
# Friday, June 30, 2006

Here’s today’s Dilbert for my last day at Airways.

Friday, June 30, 2006 10:09:23 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Wednesday, June 28, 2006

Rob mentioned it here first and while I don’t normally re-blog other’s posts I thought this was significant enough to mention. 

I used to do this quite a lot with VSS – sharing files between multiple projects.  With VS 03 and VSS it was sort of necessary to do this because of the awkward way that VS creates VSS projects.  I haven’t had to do this with TS Source Control yet but I can see that it would be useful.

Of course, if your migrating a large VSS install to TFS then you may need to do this.

Wednesday, June 28, 2006 8:44:13 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   Team System  | 
# Tuesday, June 27, 2006

If you have been living in a cave this week, you may have missed the announcement about the demise of WinFS.  On the face of it, this post seems reasonable but like some of the respondents I'm a tad disappointed and worried.

We have been hearing for many years about the new file system based on SQL that would let us do all sorts of cool things.  It never seemed to happen until WinFS came along.  Now that WinFS is gone(ish) the future seems very uncertain.

At least it looks like ObjectSpaces might actually happen in the form of ADO.Net Entities but Microsoft are very late with something that has been done by many others already - e.g., WORM, nHibernate and Base4.  I think Entities will succeed only because of LINQ - without that, it's no better than the other players in the ORM game.

Vista & Longhorn were supposed to deliver the fantastic new file system.  After using Vista for a few weeks I'm now inclined to think that Vista is just a fancy XP.  I'm sure MS will sell lots of Vista to home users via the OEM channel but I'm yet to see one valid business reason for Vista and if there is to be no WinFS then what will be the point of Longhorn Server?  Security? - sure but it's not like XP/2003 will stop being secure when Vista/Longhorn ship.  Performance? - maybe, but at a hardware cost.  Wizbang? - it has plenty of that but apps won't look much better until they have been redsigned for Vista, a simple recompile won't make them look like Vista apps. WinFX / .Net 3?  - well I can do all that on XP/2003 and as most users are still going to be using legacy OS's I'm probably not going to be writing apps for Vista/Longhorn any time soon.

I think Microsoft have reached a cross-road in the development cycle.  Products are getting pretty solid, features locked down, integration is coming together.  The final picture is starting to become clear.  I haven't lost faith in Microsoft - far from it - but they are going to have to pull something convincing out of the marketing hat to reassure the congregation.

Tuesday, June 27, 2006 10:45:45 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Monday, June 26, 2006

The 2006 .Net Blog of the Year competition is underway!

This year the contest will be run slightly differently. 

  • Bloggers will need to register their site for voting to be counted.
  • Voters will place their SINGLE vote after logging in to this web site**
  • Prizes are planned...

To be eligible, blogs must:

  • Be authored by someone resident in New Zealand
  • Preferably include a large proportion of content relevant to .Net programming or the .Net programming community

Sites should be registered as soon as possible - the later they register the less time they will have to attract votes - but there will be no cut-off for registration. 

Voting will commence from July 1st and run until Sunday 20th August.  Results will be announced at TechEd in Auckland and via this web site.

To register a blog, visit http://www.dot.net.nz/Default.aspx?tabid=78

Monday, June 26, 2006 1:45:01 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General | NZ .Net User Group  | 
# Friday, June 23, 2006

The worst part about changing jobs is having to setup a new dev machine with all the tools I like.  So, to help me remember, here’s a list of all the stuff I’m currently using and where to get it.  You may also find some of these useful.

Free Stuff 

Base4
BlogLines Notifier – For my blog reading
CopySourceAsHTML – VS05 addin to copy source code to the clip board as HTML
Cropper – Fantastic screen capture tool
Daemon Tools – Virtual CD mounter thingy
DebugView - Great for capturing trace (Ta Nic)
DPack – a big bunch of addins for VS 05
IIS6 Manager for XP
ieSpell – Spell checker for IE 6
Paint.Net – More than adequate image manipulation for my level or artistic ability.
PowerShell
Reflector - Dont use it often but when I do I love it (Ta again Nic)
Ruby On Rails – Ha, ha.  Just kidding Tim :]
Snippy – Useful for creating Snippets.
Spike – Network clipboard
SQLPrompt – RedGate’s Intellisence type thingy for SQL.  This is only free for a limited time so remember to backup a copy.
Synergy – Mouse & Keyboard sharing for multiple machine setups
XP Power Toys – Command Prompt Here, Alt-Tab Replacement, Image Resizer and others

Team System Goodness

Admin Tool – Manage users across all 3 servers.
SideKick’s – Handy utils for MSBuild, Workspaces & Status.
Team Edition for DB Pro’s  - CTP

Plus all the WinFx – sorry, .Net 3 stuff – have this on disk though

Not Free Stuff 

SQL Bundle – RedGate Tools – ESSENTIAL

I’m sure there’s more but that’s all I can find at present.

Friday, June 23, 2006 3:08:06 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   General  | 

There’s a great – but somewhat confusing – video up on Channel 9 covering the new Concurrency & Coordination Runtime – otherwise known as CCR (not to be confused with those ancient rockers!).  My definition: it lets you coordinate multiple threads and events without using nasty locks and semaphores and shared memory etc.

These guys are certainly passionate about it and it looks like one of those lovely little elegant libraries that makes you really happy to use.  One day soon I may actually need it.  Actually, I’ve been having problems with UI threading and async web service calls recently.  CCR makes this sort of coordination trivial.

Friday, June 23, 2006 9:38:39 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Wednesday, June 21, 2006

Rod Drury just announced that Archive Manager (aka Aftermail) just won the Best Exchange Product Award at TechEd USA.  This is truly fantastic and yet another indication that Kiwi’s really can create world class products.  Well done Rod – you and you team are a great inspiration.

Now we just need about 20 more Sam’s & Rod’s and we can make a takeover bid for Microsoft :]

Wednesday, June 21, 2006 2:31:59 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 

There are two articles up on MSDN about the new Entity features of ADO.Net v Next.  I’m assuming these are the re-worked versions of the material that was pulled last month – I never got to read that.  Probably worth a good read if you are into this sort of stuff.

Next-Generation Data Access: Making the Conceptual Level Real

The ADO.NET Entity Framework Overview

Wednesday, June 21, 2006 9:15:18 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Tuesday, June 13, 2006

.. you know who!

Tuesday, June 13, 2006 12:18:04 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
# Sunday, June 11, 2006

I just watched this video on Channel 9 with Anders Hejlsberg and Sam Druker talking about LINQ & ADO.Net Entities.

If you are like me and you spend way too much time writing crud code and data layers then this is a MUST WATCH video.

Financial Tip: Don’t invest in any ORM products.  I forsee many of these becoming redundant in next year - but maybe not all :]

Sunday, June 11, 2006 9:42:52 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 

Typical!  Take off one weekend and the whole world shifts under your feet.

I woke this lovely Sunday morn to find that .Net is now 3.0.  Like JB & Nic, I’m not too fussed on this name change.  It’s very confusing that .Net 3.0 will still include the same .Net 2.0 CLR.  Didn’t Sun do the same thing with Java 2?

Nic’s idea of a SE and EE version seems like a more sensible solution.  I wonder if they considered this?  And what are they going to call it when they do need to update the CLR to the next version?  Will it skip to 4.0?  I suspect there will be yet another name change post Vista/Longhorn as I get the impression there are factions in Microsoft that don’t like the .Net name.

Oh well, never mind.  I’m sure we will get used to it.   As long as it ships as a single install I’m happy.

 

The other thing that sneaked out via Soma’s blog was the announcement of the MSDN Wiki Beta.  I’ve been biting my tongue on this for about 9 months – since the Summit last October.  Basically this lets ‘anyone’ add extra content to MSDN Online.  This can be used to provide more real world code samples, small corrections and most importantly new language versions.  It’s a fantastic idea that I’m sure will be of great benefit to many people but there are a couple of issues:

1:  Vandalism.  Like all wiki’s there is a certain element that just love to futz with stuff and ruin it for others.  Microsoft is a very big easy target and MSDN has many nooks and crannies where you could hide some naughty words.  Moderators and contributors will police contributions to reduce the time that vandalism is visible but a few subtle things may slip through.

2: Ownership.  How will anyone know if the code someone posts as a sample is theirs and not something they have copied from a protected source?  Does this make Microsoft liable?  If I then use this copyrighted content in my application does is make me liable too? These are questions only a lawyer can answer I think but the content is protected by the same or similar licenses that many other community contribution sites use.  In the end, I doubt we will be any more at risk than we are now using  Google or MSN to find code snippets.

The current beta wiki site is a separate beast to MSDN with a limited subset of the content but the RTW version will include everything.  Take a look, sign up and start adding some code samples.

 

Sunday, June 11, 2006 8:47:13 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   General  | 
# Wednesday, June 07, 2006

I thought I was pretty settled at Airways but an opportunity presented itself a while ago and after thinking about it for a month, I applied for and was hired as Senior Consultant for Intergen here in sunny (but chilly) Christchurch.  I’ve not worked for a commercial consulting company like this before but it has always been something I have wanted to do so I figured it’s now or never.  I’m really looking forward to working on many varied and large projects with an excellent team that includes – amongst others – Jeremy & Kurt. 

Intergen are a Microsoft Gold Partner and provide solutions & services for many well known New Zealand and International companies.  They specialise in integration solutions for many Microsoft products including SQL Server, Biztalk, Dynamics (CRM, Navision etc) & Sharepoint.  They also design and develop Windows and Internet applications on the .Net platform.

It’s always hard leaving somewhere you have enjoyed working and at Airways I have made some good friends and learnt much.  Hopefully they will remember me for a while :}

I start at Intergen in July.

Wednesday, June 07, 2006 4:01:58 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [1]   General  | 

A short thread on our local .Net UG mailing list has prompted me to document why I don’t use ClickOnce and how I do No-Touch deployment of internal applications .  I thought I had blogged about this in the past but I can’t find anything totally relevant.  So, here goes.

ClickOnce v No-Touch

As I see it, the benefits of ClickOnce over No-Touch are as follows:

  • You can give the user the choice of upgrading or not.

That’s it.  And really, you can do this with No-Touch also but for internal applications where you have a fast local LAN and complete control of the environment I think ClickOnce just makes this way more complex than it needs to be.   Plus, creating ClickOnce deployments is not an easy thing to do outside of Visual Studio so if you want to automate this you need to learn MAGE.

How I do No-Touch Deployment

Here’s a condensed step by step that may help someone else.

  1. Create a virtual directory for your deployment – probably in IIS but other web servers are supposed to work.
  2. Make sure the new VDir is configured as an Application in IIS.
  3. If you are using IIS 5 (Win 2k) then you probably need to allow .config files to be served.  To do this you need to have a web.config file in the VDir (or it’s parent) that contains this:

    <system.web>
     <
    httpHandlers>
      <
    remove verb="*" path="*.config" />
      <
    add verb="*" path="web.config" type="System.Web.HttpForbiddenHandler" />
     </
    httpHandlers>
    </
    system.web>

    This tells IIS to allow any .config file EXCEPT web.config to be served.

  4. Copy your client files in the root of the virtual folder – including all DLL’s, EXE’s and EXE.CONFIG files.

  5. If your application loads DLL or other files dynamically at runtime then use the VDir url to point to those files.

  6. Configure a Security Policy Code Group for the URL – giving full trust or any reduced level you can get away with.

  7. Export the Security Policy to an MSI.

  8. Provide a web page or something for users that includes a link to the client EXE in the new virtual, plus a link to the .Net runtime installer and the new security policy MSI.

Using IE the users can launch the application once they have installed the framework and configured permissions.  Alternatively you can create a launcher application.

Now you can simply replace the contents of the VDir with new versions and the users will automatically get the updates next time they execute the app.  If you want to have multiple applications or multiple versions of the same application available at the same time, then simply create a new VDir for each app or version.

If you have web services or remoting components that are tied to a particular version of the application then these can live in a sub-directory of the VDir.  For Remoting there are a few extra tricks involved which I have document elsewhere if anyone wants to know.

If you have a database backing the application then you may run into problems supporting multiple concurrent versions of an application accessing the database.  This is probably more trouble than it is worth so I tend to force updates to all users rather than supporting multiple versions.  So you really need to ask users to shutdown while you upgrade the database and VDir deployment.  I don’t see how ClickOnce would make this any easier though.

Enjoy

Wednesday, June 07, 2006 12:10:45 PM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 

Rob Caron noted that Attrice have released a new free SideKick for MSBuild.  I have just downloaded and installed this.  If you are wanting to learn about MSBuild then this is a great way to get started.  The thing I really like about it is you can quickly view inherited targets, which for Team Build is great! 

For complex builds with many imports and custom tasks this is a great way to visualise and tidy your build projects.  It’s well worth the small download.

Wednesday, June 07, 2006 10:03:28 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General | Team System | Visual Studio  | 

I made the mistake of telling my boss I didn’t have much to do so I’ve been using Word 07 for a week to create a user guide – gee I love writing manuals :}  Word 07 has made the task a bit more fun – but not much.

Overall, I love Word 07.  The Ribbon Bars do make things a lot more accessible but I’m not sure if it makes things any quicker.  There are a number of small bugs that are a tad annoying (table headers settings don’t stick, style preview sometimes stops working etc) but nothing that has caused me to switch back to Word.old.

It appears as though MS has relented to the pressure from Adobe to remove the PDF support from Office.  Checkout Slashdot if you want the full debate.  If I was a serious Adobe shareholder I’d be wanting someone’s head on an platter for this stupid decision.  What the heck are they thinking?  If PDF is truly an open platform like Adobe says it is then why would they ask the world’s biggest and most successful software company to pull support from one of its’ best selling products?   

Well, I guess it might have something to do with the laser sight that Microsoft have for Adobe at present – e.g. WPF = flash killer, Expression = Dreamweaver and  PhotoShop killers, XPS = PDF killer.  By reinventing the platform (with Vista & Live and .Net / WinFX) Microsoft can drive, or at least, steer users to their own products – the products that actually earn them real money – i.e. Windows & Office.  Personally, I don’t have a problem with this – it’s far preferable to the madness of having a multitude of different interests driving the platform. 

But now I’m babbling again.

Wednesday, June 07, 2006 9:42:21 AM (New Zealand Standard Time, UTC+12:00)  #    Comments [0]   General  | 
Copyright © 2010 Peter G Jones. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: