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.
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.
- Create a virtual directory for your deployment – probably in IIS but other web servers are supposed to work.
- Make sure the new VDir is configured as an Application in IIS.
- 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.
-
Copy your client files in the root of the virtual folder – including all DLL’s, EXE’s and EXE.CONFIG files.
-
If your application loads DLL or other files dynamically at runtime then use the VDir url to point to those files.
-
Configure a Security Policy Code Group for the URL – giving full trust or any reduced level you can get away with.
-
Export the Security Policy to an MSI.
-
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
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.
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.
Over the weekend I had a bit of a play with Office 2007 and apart from the usual beta issues (performance and small bugs) I love it. The only remaining problem I have is that Visio won’t install with the same product key and I can’t find one specific to Visio.
I also downloaded and installed Expression Web Designer CTP. When I fired it up, I thought, ‘Hello… this looks familiar’. In fact the only difference between this and the Sharepoint Designer that I could find was the window caption and the about box. I suspect that future versions of EWP will build on the basic functionality of SD.
So, the question is, did someone in the Office Team steal the code from the Expression Team or vice versa? Maybe someone forgot to secure the Team System source code repository ??
Finally managed to get back to doing some more Wix things this week. Since the last post I have added components to :
- Prompt the user for windows groups of valid users (5 of them)
-
Create a blank SQL Database
-
Add the groups to the SQL Server users
-
Add the groups to the appropriate database roles
-
Configures the web application for .Net 2
I’ve also added this into my Team Build project so that I get a nice new clean MSI for every successful build.
Today, I’ve extracted a few Wix snippets and I’m making these available to anyone who wants them. There’s not much in there yet but hopefully it will save someone some time. Do with them as you will! If you have more and would like to start building a library of snippets then I’m more than willing to act as a librarian for these – unless someone else has already done this – in which case you can have mine.
Download: Wix_20060526.snippet
Rob said, “it should just work” so I tried and it does. I needed a reboot but otherwise the install does not seem to affect Team System at all. Mind you, I’ve only done 5 minutes testing it so far…
Darryl has just posted that TechEd NZ 2006 is open for registration already! I've been softening up ... ah sorry, I mean informing my boss about this for a while so hopefully we will have some budget for it this year :}
I think it's a great idea to open the labs on the Sunday - I never get time for them during the normal session time. Scott Guthrey is another big feature of course - and I'm not talking about his body size! I'm sure the MS crew will be working hard on getting the agenda and speakers finalised over the next couple of months.
Tim & Nic have been having a few thoughts about browsers and home pages of late and it got me thinking about how I do things. I'm mostly like Nic - I open IE 6 about 20-100 times a day and I often have 4 or 5 instances running. Yes, I've tried IE 7 but for work it was too unstable. I've also tried MSN toolbar for tab pages and Google toolbar but all they do is get in the way. I don't do any web dev work so IE 6 is more than adequate for me. At Home I use IE 7 as I can put up with a few issues there.
My typical usage pattern is to open IE, go to Google and search for something technical about a development problem I'm having. No custom home page is going to make that any easier than Google. I use BlogLines for RSS feeds so that I can read stuff at home and work - I used to use NewsGator but it broke a while ago and I didn't like any of the other aggregators I tried - they were mostly too slow and buggy.
I'm also not very good at saving favorites - mostly because I have too many, it's just easier to search each time. Sometimes, I wish I had saved a hard to find link in my fav's but usually I just have to repeat the 12 searches it took to find the page the first time.
If I was to have a customisable home page it would have to be:
- FAST. I mean REALLY FAST - like INSTANT - therefore local and static
- Editable in the browser
- Synchronisable with my other machines
If I was able, I'd create a one page wiki in Java script that I could quickly edit and upload to a server somewhere. The search box in the IE 7, Google & MSN toolbars is as good as using Google for a home page and if I had the space I'd also have the address bar on my desktop like Nic.
As for Live I've commented on this before. It's definitely NOT fast. Even the default non signed-in page is slow. At work, I'm lucky to get 100k for Internet and home is worse (so much for Telecom's BS about next generation broadband). At modem speeds Live is Dead. I just did a quick test- with a blank Live page and NO gadgets it loads as fast as Google, maybe a little faster. This is good, but then what's the point? Your left with a page with just the search bar, much like Google. MSN search is as good as Google but it's not better than it.
I look forward to seeing the final non beta version of Live but currently, it's not for me. The current offering barely equals Google and as it's all about destroying.. sorry, competing with Google then Microsoft have a long way to go. But I'd put good money on them doing it. If I was a Google share holder, I'd be pretty nervous.
Now if Live had a gadget that gave me my one page wiki then I'd be very interested.
I've seen a couple of posts recently (Nigel & Xtramalt) regarding advertising and Microsoft's move into this market. I'm not sure how long this has been going on or exactly where it is going, but I'm worried, VERY worried. In particular, I'm worried about unsolicited advertising appearing on my own or kids desktops. It's bad enough that subliminal advertising is so prevelant in TV programs (including News), Movies and Games. The 8 hours (or more) I spend in front of a PC screen is the one place I am isolated from the marketing persons lies and brain washing.
Let me state now that if Microsoft intends to deliver advertising to my Vista desktop then I wont be using Vista. In fact, I'd be inclined to not use Windows at all - given that I hate Linux that only leaves Mac or a change in career. I might move into the PC demolision business.
Can someone please tell me that I'm unduely worried about this possible future?
Hmmm, does having a few Google ad's on my web site make me a hypocrit?
Update: Darryl & Nigel have assured me that I am worried about nothing - it's just my over eager paranoia at work! Phew. You have to keep a very watchful eye on these marketing people tho :}
I've been getting a lot of spam at work lately that is getting through our normally very efficient filter. It gets through because the senders address 'looks' valid, isn't black listed and the content of the email is a single jpg. For the spammer this is not so great because they can't put hyper links in the message so even if I was inclined to read the drivel they promote then I'd have to manually navigate to some stupid web site. I'd be very annoyed if I was paying for these emails to go out.
However, the real issues is how to block these. The simple answer is to use gray-listing - not sure if this is the correct name but this is what my wife does - I think it goes something like this:
- Email is received. Receiving server check's it's white-list of senders and finds that the email address is unknown.
- Receiving server pings the senders domain email server and asks it to verify the address.
- If the senders server doesn't respond at all then it's most likely spam and email is gray-listed
- If the senders server responds with an OK response then the email is let through - at least to the next level of checkinig.
- If the senders server responds with an error or BAD then the email if gray-listed or blocked.
Users are able to view gray-listed messages and unblock senders or whole domains.
This sounds very simple and logical but it's very suprising how few ISP's do this. Despite the advertising campaign Telecom don't do spam checking of any consequence. My wife used to use Xtra but when she found out that they will allow through emails from non-existant Xtra accounts that didn't come from one of there own servers, well this was the last straw I think.
For my personal email I have my own server on my hosted domain. It uses spam assassin which does a reasonable job - I get about 5 on a bad day. What's your ISP like?
I've spent about a day and a half creating a MSI to install my project using Wix. I wanted to use Wix because the MSI has to be built during my build process automatically. After a confused start I now have a working installer that:
- Displays a nice splash page
- Displays a license agreement with a checkbox for confirmation
- Checks for minimum OS version and .Net 2 Fx
- Lets the user choose a Typical, Custom or Complete install. Under custom they can choose Client and/or server components and specify directories for each.
- Prompts the user to enter config parameters for the client and server and updates the corresponding exe.config and web.config files
- If the server components are installed it creates a virtual directory in IIS
The next step is to add an option to create the SQL database but given my progress so far I don't expect this will be too hard. Then I need to figure out how to send out patch installs - I suspect this might be a tad harder.
Along the way I've discovered a few things about Wix so here's a list of stuff that might help others (and probably myself when I've forgotten this in a few weeks time :).
- Use the v 2 latest revision. I used 2.0.4103.0. Get the source code and binaries - you'll need the source to create custom dialogs.
- Use the Tutorial. It's a bit vague in places but just hack something together and you can usually figure out the options.
- Google 'wix anything' and you will find an answer quickly.
- Join the wix-user mail list. The chaps there are very helpful and friendly.
- Creating a custom dialog is a piece of cake if you follow the tutorial but a GUI tool to create the dialog layouts would be nice. Maybe there is one ?
- There is a Visual Studio addin for Wix projects but I had problems with this - maybe my fault - so I just used the tried and true command line method and Visual Studio to edit the raw wxs files. You should add the provided schemas to your VS schema directory and create a CMD or BAT file to compile and link your MSI.
- Updating config / xml files from Wix is easy but you have to escape the xpath expression correctly, e.g.:
ElementPath ="/configuration/applicationSettings/Airways.SUMS.Properties.Settings/setting[\[]@name='FirstDayOfWeek'[\]]/value"
-
The syntax can be a little wordy in places but in general it all makes sense. A ComboBox control in a custom dialog looks like this:
< Control Id="FirstDay" Type="ComboBox" X="115" Y="70" Width="190" Height="15" TabSkip="no" Property="CC FIRSTDAYOFWEEK" ComboList="yes" Sorted="yes"> <ComboBox Property="CC FIRSTDAYOFWEEK"> <ListItem Text="Sunday" Value="0" /> <ListItem Text="Monday" Value="1" /> <ListItem Text="Tuesday" Value="2" /> <ListItem Text="Wednesday" Value="3" /> <ListItem Text="Thursday" Value="4" /> <ListItem Text="Friday" Value="5" /> <ListItem Text="Saturday" Value="6" /> </ComboBox> </Control>
- You can edit the supplied Bitmaps to include your product or company logo. In fact you can customise everything.
So, I don't know how this compares with InstallShield, Wise etc but I'm quite taken with Wix and I found it quite fun to use. I'm certainly no expert on installers and MSI's but I've managed to create a slick installer with minimal effort. Most importantly, Wix passes my 20 minute rule: I have to be able to produce something useful in 20 minutes or it's no good for me.
Tell me what you think.
It's getting on for 2 months since TFS was released and I still haven't upgraded from RC to RTM. Why? Well several reasons really: time & budget (or lack of it) but mostly because I still can't get it.
Our only option, AFAIK, is to get it via Volume Licensing and it is only just becoming available this month - not sure exactly when but I've only this week managed to get local pricing (which thankfully was about half what I thought it would be :). Considering that it was released in mid March and that the Workgroup and Trial versions have been available since then, I really don't understand why it has taken sooooo long. Perhaps someone has explained why but I never saw it.
I've been signing my project assemblies this week and today when I ran my Team Build, it failed with the following error:
error MSB3323: Unable to find manifest signing certificate in the certificate store
It turns out that this is caused by a bug in Visual Studio or Team Build or MSBuild - take your pick. If you ever turn on signing of Click Once Manifests in your project properties, the project file gets updated. Turning off the setting does not completely remove everything it should remove - at least, not as far as MSBuild is concerned. The solution is to manually edit the csproj or vbproj file and remove some settings. For a full disclosure of the fix, read the forums thread.
I've spent a lot of
time lately - far too much in fact - getting DotNetNuke 4 setup for module
development. On the face of it, it seems very simple - install the start
kit, create a DNN project and press F5 - but that will only give you
grief.
For future
reference, the most useful thing you can read is this post by Shaun
Walker. Follow the instructions there EXACTLY! If you can't be bothered
then here is my shortcut version:
- Download and
install the DNN 4 Starter Kit.
- Create a
VB Web Site project in VS05 (Express or other) and select the
DNN Project.
- You MUST specify
and HTTP web site - don't use FILE - Cassini is not up to
it.
- Add the new
database.mdf to the App Data directory (or create on elsewhere and change the
config files connection string).
- Give Network
Service or ASPNET Modify rights on the new web site folder.
- Rename
release.config to web.config.
- Run
If you follow all of
these steps you shouldn't have any problems.
Other
tips:
- Don't create
modules in C#. You are supposed to be able to and I did manage to create
one once, but the 2nd time around it gave me all sort of stupid errors.
Just accept that DNN is VB and your modules should also be VB. (It's not
that bad really :)
- Use SQL Express if
you can. The integration with VS05 is fantastic.
- Make sure you have
a decent machine to develop on. My notebook is a 3 gig P4 but it only
have 500mb RAM and VS05 grinds like a meat mincer full of
concrete.
Rod just blogged that ERWin was recently (?) purchased by CA. What a shame! I never actually used ERWin in anger - I'm a code first, diagram later kind of guy - but it looked good.
Does anyone remember Nantucket Clipper? In the late 80's and early 90's it was THE database development language for DOS (a lot of FoxPro users may be laughing about now). Nantucket created some wonderous stuff that we have only recently seen in Windows tools - things like code blocks,eg:
LOCAL block := {|var1, var2| DoSomething(var1, var2) } LOCAL res res := ExecThing(block)
? res
FUNCTION ExecThing(block) LOCAL v1 := 1, v2 := 2 return eval(block, v1,v2)
FUNCTION DoSomething(x,y) return x + y
It also included the best preprocessor I have ever seen, you could create user define statements to the extent that you could create your own language. Very cool and very dnagerous. I once heard someone describe Clipper 87 as a tool that let you shoot yourself in the foot and Clipper 5 as a tool that would let you shoot yourself in any part of the body you wanted.
Anyway, Clipper still lives on - I have one customer that I still support with 12 year old code.
But I digress. CA purchased Nantucket not long before they were due to release the long awaited Windows version of Clipper. And that was about it. CA did ship Visual Objects and a small upgrade for Clipper 5 but essentially CA killed it.
So, if you like ERWin, then be warned.
I've had several
attempts at creating a new DotNetNuke web site on my local machine.
Thoughtfully, DNN 4 comes with a template project for doing this but for the
life of me I couldn't find it when I created a new Web Project. I spent
hours trying to find a solution to what I thought was a broken Visual Studio
installation and today I was going to re-install VS to fix the
problem.
We'll this morning I
had a brain wave (to make up fo the brain farts) and realised that DNN is a VB
project so now when select Visual Basic in the new web site dialog I can see the
DNN project template and it works.
Double Doh! I
seem to be able to think straighter lately.... a bit.
I was tired of my old Dilbert desktop today so went searching for a snazzy new image. In the process I found a blog post to few sites with some lovely images that work well on dual monitors. I remembered that UltraMon allows you to span an image across two monitors or have different images on each. I downloaded and installed it and now I wish I had tried it out a long time ago. If you have dual monitors you must get UltraMon.
One of the sites I browsed tells me that IE Sux and I should use FireFox. There is no way of browsing the site at all with IE. To the the owner of http://www.guikit.com I'd like to say that if you believe that 75% of the world is wrong then go ahead and block your site, I don't give a rats. Everyone is entitled to thier opinion and you may well be correct but it's like saying that people who drive on the right hand side of the road are wrong and I'm going to drive on the left no matter where in the world I drive.
Then I discovered the brilliantly named site http://www.killbillsbrowser.com. How f'ing ridiculous can you get? OMG, get a life. What about all the corporate users who don't have a choice? I've seen this sort of campaign before - from OS/2 users, from BetaMax fans . Didn't work then, won't work now. FireFox is a great browser and IE 6 does have it's problems (to put it mildly :) but this sort of religious clap trap doesn't make anyone want to change. Just get over it!
Phew. That feels better.
A few people have had some negative things to say about Microsoft Live & Vista of late. While I'm certainly no expert on either of these I'd just like to offer my observations.
Live is a google killer. From what I have seen so far, and from past experience, Microsoft will have a superior product based on one thing: Integration. No one does integration as well as Microsoft. Google is currently all over the place. Some things looks the same, some things work the same, but in general it's 'messy' :}
Sure, Live is very messy also but it's not even v1 yet. When the integration with Vista is working and Live is more Live, I think people might be less harsh.
HOWEVER, I don't like Live either and its not becuase it's buggy or evil, but becuase I've seen web portals before and adding a splash of Ajax is not going to spin my wheels. PORTALS JUST DON'T WORK. This whole Web 2.0 Mashup BS is just that - complete marking hype. Give it a year or two and we won't be any further ahead than we are now.
I beleive that Microsoft have a grander vision than Live and I think it is this: "The web does not work. Smart client applications are where it is at. Let's create a medium that will leverage both platforms and drive people back to Windows - but with an open implementation that will encourage development and adoption".
If I had my way I'd make HTML & JavaScript illegal. Sure it has it's place but everything in Web 2.0 is just a catchup to what Smart Client apps (or whatever you want to call them) have been doing for years.
As for Vista, that's a different story. Most people haven't seen the real power of Vista yet - and it's not anything you can see through the glass UI. The best parts of Vista are under the hood. I remember a lot of similar statements about XP 3 (?) years ago but look at it today - it's the domenant desktop UI by a huge margin.
I may be completely wrong on all of this - I often am - but one thing is certain - we love change. Sooner or later we will embrace it in one form or another.
As you've probably seen elsewhere our Code Camp is done for 2006 and yes, it was a great success. I've been collating the eval sheets and we got a very high average score on presentations, speakers & venue. I think the only thing really missed was some sort of social event. You can bet that it will be on the agenda for the next Code Camp, but this year there just wasn't time to do everything.
When we started the initial planning for Code Camp, I estimated that 80 people would be a good size audience. In the end we had 150 registrations and of these about 20 no-shows. For most of Saturday there was in excess of 110 people in the main room.
Some people would like to have another Code Camp this year, but it's taken me three days of rest to regain some level of equilibrium so I'm not yet ready to think about that.
While I didn't have a lot of time to sit and absorb the presentations the highlights for me:
Rod, Chris and Mauricio's Business Forum
They had some great tips and background info for budding entrepreneurs. If I was younger and riskier I would be very inspired to have a go. Sadly, I'm too old and stayed in my ways for that sort of malarky.
Ivan on WPF
Ivan was a great presenter and gave a good overview of WPF with plenty of wizzie demos. I'm sure Kirk will be calling on him again to present.
Tim on Ajax
I think this was Tim's biggest audience but despite a few nerves he did a great demo of Ajax & Anthem. He made me wish I was doing web stuff.
And all the other presenters were great too - but some required more brain cells than I had to spare over the weekend. That's the big problem with running these type of events - you miss out on most of the good stuff. Oh well, maybe next year.
This is my favourite report from Team System.
Can you see when I started to get some help with the project?
5 Days till Code
Camp! I can't wait.
When I first thought
about organising a community lead developer-only event I realised it
would be a lot of work and I wasn't wrong. However, it's been a lot more
work for everyone else than me. So before things get crazy, I'd just like
to publically thank The Team - Kirk, Sue, Brenda, Tim, Chris, Nic, Phil, all the
presenters and everyone else who contributed some time or ideas to this
project. Now we just need to make the event happen. See you all
soon.
I was just catching up on my long overdue blog reading and saw on ScottGu's blog that MS have released the source for all (?) the ASP.Net 2 providers. This is awesome! If you want to create your own providers then this will be a fantastic resource to help you do it 'The Microsoft Way'.
It would be great if they extended this philosophy to more of the Framework. Borland used to do this with the Delphi VCL. I never actually used any of the VCL code but on occasion it was necessary to delve into it to figure out why something worked the way it did. Usually this was because of some strange control behavior rather than a core runtime feature. Microsoft do have shared source agreements on other products - most notably Windows (2K & 2K3?) and Rotor but you have to jump through flaming hoops to get it.
Publicly releasing the code for ALL the ASP.Net and WinForms controls would not provide any competitors with an advantage. There are plenty of public licenses around that would protect Microsoft from litigation or MS Legal could come up with something in their spare time. It would not encourage many developers to copy and enhance the standard controls. It would, however, provide a wealth of knowledge to developers that would allow them to understand why the .Net World is round and not flat.
Clearly, the Open Source movement has had some effect on Microsoft. Over the last few years - in fact ever since Steve Ballmer took over - Microsoft have been much more open - and not just in the source code kind of way. I'm sure this debate has not ever gone away and I'm also sure they are constantly being asked the same question but I've never heard a reason from Microsoft that explains why they cannot open source more products. I'm guessing many at Microsoft are also thinking the same thing.
I've had enough. Time for a rant.
Why is our state television broadcaster being allowed to waste money on digital television? Do they really think this will improve the quality of anything but the signal? Digital crap is about as usful as Analog crap. Before I shell out good money for a decoder I'd want to know that the quality of the programming was similarly upgraded and the advertising considerably reduced.
Best theory: Kill your TV - or at least, kill your antenna.
And what about the price of new TV's here? How can anyone justify spending $5k on a wide screen plasma or lcd TV? It's such a con. Wake up people - vote with your wallets. Better yet, get outside and enjoy life while you can - before Bush kills us all.
Ok, sorry, bad morning, back to work.
ASP.Net Guru and
mate Tim has just been awarded an
MVP. Well done Tim, you thoroughly deserve it. Oh yes, I was
also re-awarded this year, for which I am extremely grateful because next March
the Global MVP Summit will be keynoted by the man himself - Bill Gates. Steve
Ballmer did last years so it will be great to see the 'other' half of
the dynamic duo! Hopefully, you'll be able to make it
Tim.
It's been a long time coming but Team Foundation Server has finally shipped. I'd just like to say a big Thank You to the team at Microsoft for a job well done. Your stellar efforts have resulted in an outstanding product that can only get better. The amount of support from 3rd parties and the community is a great vote of confidence in the product and I'm sure we will be seeing some very interesting improvements and additions in the next version - which will ship next month, right? :}
|