Subscribe: this.Pose() as Expert - Community
Added By: Feedage Forager Feedage Grade B rated
Language: English
austria  code  community  german  golf  mvp  net golf  net  part  security  server  sql server  system  time  username  web 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: this.Pose() as Expert - Community

this.Pose() as Expert - Community

Last Build Date: Wed, 28 Feb 2007 08:20:15 GMT

Copyright: Christoph Wille

FOSDEM Video Recordings

Wed, 28 Feb 2007 08:20:15 GMT

The video recordings for the main tracks of FOSDEM 2007 are online now. Of interest for .NET developers might be Miguel's session on "Turbocharging Linux with Mono".


Office Business Applications (OBA)

Tue, 20 Feb 2007 10:09:37 GMT

Yesterday, Peter Koen held a talk at the .NET UG Vienna about Office Business Applications (OBA). I had ignored this topic up until now, but it definitely is worth checking out. Get started with Office Business Applications: What is it, and how can I get started? and then head over to the Office Business Applications Developer Portal. (Also have a look at the topics in Architecture Journal #10)


Security for Applications in Windows Vista Forum

Thu, 25 Jan 2007 09:38:07 GMT

Got a developer question on how Windows Vista security affects your application? Then the MSDN Forum Security for Applications in Windows Vista is the right place to go.


MVP Visual Developer - ASP/ASP.NET Again 2007

Wed, 03 Jan 2007 09:37:47 GMT

I have been re-awarded MVP for Visual Developer ASP/ASP.NET.


Advanced Code Access Security

Mon, 30 Oct 2006 08:10:54 GMT

Last Tuesday, I held the talk "Advanced Code Access Security" at UG Styria in Graz. This talk was originally part of the MSDN Security Briefings held in Austria earlier this year, for which MS Austria had asked MVPs to help create and deliver security content. Advanced CAS seemed an interesting enough developer topic to re-run at user groups, and Mario (the author of this session) has allowed me to publish the slide deck and demos for the general public.

AdvancedCodeAccessSecurity.pdf (4542 KB) (599.6 KB)

Please note that I have published only demos four (setting CAS via setup) and six (using CAS in addin application) - those are the "completed" versions of the demos.


A Chronology of Data Breaches

Wed, 12 Apr 2006 08:20:38 GMT

During the MVP Open Day in Munich last week (Friday & Saturday), we had a presentation by Talhah Mir (ACE Team, Threat Modeling blogs) on threat modeling - which (I hope) everyone is familiar by now. During the talk, he pointed us to an interesting resource: A Chronology of Data Breaches from the Privacy Rights Clearinghouse. Quite an interesting list of incidents, which gives you an idea of the ratio of actual hacking vs dishonest insider, as well as other types of security breaches.


MVP 2006

Mon, 09 Jan 2006 17:20:44 GMT

Today, I got my MVP award package, which kind of makes it fully official. No surprise with my area of expertise: Visual Developer ASP / ASP.NET.


Community Wintercamp 2006

Wed, 04 Jan 2006 11:41:23 GMT

Only a little more than two weeks to go until our yearly Community Wintercamp - "our" as in German .NET mailing list community. The agenda [German] has been posted quite some time ago, and this year it's going to be great because we already have tons of snow (literally). If you are a .NET aficionado living nearby (I like to define "nearby" as Switzerland, Germany or Austria) you are welcome to join a band of geeks in the snow! To whet your appetite, take a look at the photos and accounts of the past events.


Google PageRank as a .NET Assembly

Mon, 05 Dec 2005 18:03:00 GMT

Today, a member of our German .NET community asked if it is possible to programmatically query the Google page rank. He had seen it done in PHP (here on the Google Community site), but didn't have time / PHP skills to translate it. All I found on a rather shallow search was PullRank, which I'd describe as non-fit for server use. So I decided to set out to convert the PHP sample. Being PHP-challenged myself, I decided to give the PHP to ASP.NET Migration Assistant a shot. Whoha! That converted code is the most convoluted contraption to be called code I have seen - ever. I tried to get it to run, but failed because the conversion left me with some loose ends. Instead of giving in, I contacted Christian Wenz to lend me a hand because he has some PHP experience. He thankfully hosted an "annotated" version of the PHP script so I could look at the output of various stages to test my solution with known-good values. That was most helpful. Instead of doing a Web site demo application with everything intertwined, I split up the project into two - GPRDotNet being a DLL assembly project you can reference in any type of .NET application (Windows Forms, Web Forms, you name it), as well as a simple Web frontend to demo the usage: DemoSite. Querying the page rank is really simple - the following snippet is the code from the "Check PageRank" button event handler: protected void doCheckPageRank_Click(object sender, EventArgs e) {   GooglePageRank pr = new GooglePageRank();   string url = webSiteUrl.Text;   try   {     string rank = pr.GetRank(url);     thePageRank.Text = rank;   }   catch (Exception ex)   {     // this is rather chatty (telling the end user everything *IS* a bad idea)     thePageRank.Text = "Requesting the page rank failed. Reason: " + ex.ToString();   } } I want to emphasize that the code for the GooglePageRank class is a rather quick & dirty port of the PHP code and that it does not contain the necessary error handling you would expect for a server-side library. After all, it is just a proof of concept for our community. Finally, here is the source code: (26.89 KB) If you find errors, please leave a blog comment so others know about improvements. Thanks! [...]

Community Server v1.2 will support setting the SMTP port number

Sat, 15 Oct 2005 15:12:05 GMT

Now that's what I call a quick response to my request. Thanks! Community Server rocks.


Telligent acquires Dozing Dogs CMS

Mon, 03 Oct 2005 17:51:06 GMT

Rob Howard blogs about this acquisition. Cool things coming to Community Server!


Built to scale

Mon, 03 Oct 2005 15:24:41 GMT

At the MVP Summit, the EMEA / LATAM ASP.NET MVPs were partnering to prepare feedback for the team (any more information and I have to shoot you, or shoot your lawyer if you prefer). We were having a jolly good time (we all agreed to spend money on beer and... but that's another story). At that point I suggested that we (book authors, bloggers, article authors, et al) should slap a mandatory warning on our sample code / application: "Not built to scale."

However, in the German community we have an application built to scale: CodeFairway.NET. I wrote an overview article, now Alex followed up with an in-depth look at the features, architecture and techniques of CFW. Read Code Behind: CodeFairway.NET.


Warning: Low-Flying Golf Balls

Sun, 02 Oct 2005 14:21:26 GMT

The MVP Summit 2005 is over, and with the exception of Transportationgate, it was a great event - even though I had attended PDC05, and worked with Whidbey for years now. I don't primarily come for the news, but talking to other MVPs as well as product group members. On the community side of things, Alex and I put the finishing touches on the localization feature of CodeFairway.NET, which now includes the ability to play a tournament in a specific timezone. You don't know what CodeFairway.NET means? Let me introduce .NET Golf to you: Now, that is intentionally a graphic, to show that sites made by programmers for programmers need not be ugly but can be quite appealing. Here goes the text for easier reading: "What is .NET Golf?" How did the union of a programming technology and a lawn sport come about? Well, the idea is simple and fascinating: in 'classical golf' the winner is the player using the least number of strokes to hole out. We transferred this concept to programming: whoever needs the fewest number of characters to solve a given programming problem wins the tournament. Speed and elegance of the solution are not criteria. Each tournament extends over a given time span, after the end of the tournament we hold 'post mortems', i.e. the participants explain their solutions (so that there may be a great wailing and gnashing of teeth behooving the creative abuse of the technology). .NET Golf is the successor of ASP Golf which was quite popular among German language developers for a long time (the actual ancestor of code golf is Perl Golf). As many golfers switched over to .NET, we decided to migrate this waste of time ^H^H^H^H^H^H^H^H^H^H^H^H^Hmost excellent use of technology to .NET so that the envelope of programming could continually be pushed further. Sounds interesting, doesn't it? That's what we thought and that's why we ran a tournament at the MVP summit (all English, you can browse it to learn more) to introduce other MVPs to .NET Golf - and whet their appetite to be the host for .NET Golf in their community. If you didn't get a chance to talk to me at the summit, here's what we (German community members, so that there are no misunderstandings) offer: we host the site for you on CodeFairway.NET, and we provide you with the automated test system we have created so that there is little to no overhead for you. Your job: translate the site into your community's native language, and come up with challenges (we can help get you started). My MSN account to get in touch with me: christoph dot wille at alphasierrapapa dot com (also my email alias if you prefer emailing me upfront). Funny enough at the MVP summit, for the very first time in history of our tournaments, the VB.NET golfers won the tournament hands down. That might have changed if only Karsten and the others would have paid more attention to the sessions ;-) The leaderboard for the first three looked like this (and yes, the Show link does show the source of the submission - check it out): It took them quite a while to get on the green, but as with every other tournament I heard something like this: "I only wanted to play till 11:30PM, but at 1:30AM I finally coaxed me to go to bed". Addictive. Even for a simple challenge such as the one played at the MVP Summit: How can you tell whether three lines of a given length make up a triangle? Some cases are obivious - equilateral triangles, isosceles triangles and triangles governed by the Pythagorean theorem. General triangles are a different matter though. You are now challenged to decide whether a given set of three integers represents the sides of a triangle and indicate this by passing back true, otherwise passing back false to the test application. Ple[...]

Slides, Demos, Links for Yesterday's UG Talk

Fri, 09 Sep 2005 05:42:23 GMT

Although the files for this TechTalk repeat are identical to the TechTalk downloads, I noticed that the download location has been moved. For your convenience, here are the direct download links to the three respective files:


SQLUGA: SQL Server 2005 - Database Mirroring

Tue, 06 Sep 2005 05:33:57 GMT

Yesterday, I attended Kevin Cox' talk about database mirroring in SQL Server 2005. The event was organized by the SQL Server User Group Austria in Vienna, with Peter Koen (old UG lead) inviting Kevin, and Jaser Elmorsy (new UG lead) organizing it. Session description for the records: Database mirroring is a new SQL 2005 feature for high availability. What happens if you combine mirroring with other features, like snapshot and clustering? This presentation will teach you the basics of database mirroring, then will discuss some advanced topics for common solutions.

Kevin also pointed us to the SQLCAT blog - CAT being shorthand for Microsoft SQL Server Development Customer Advisory Team. The description as well as Kevin promised that they will be posting demanding scenarios and solutions to those in that very blog.


Community-driven Security Conference in Vienna, Austria

Tue, 02 Aug 2005 13:27:45 GMT

On 12th of August, the Austrian .NET community is hosting a one-day conference on security, targeted at developers (no surprise here). The topics for NCC 2005 A include:

  • Threat Modeling
  • What's new in .NET 2.0 Security
  • What's new in SQL Server 2005 Security
  • What's new in Windows Vista Security

Quite a nice line-up I'd say. This event is supported by Microsoft Austria, so attending this event is free, except for your time, but I am sure security does warrant a day of your time! Sign up here


Writing a Subversion-backed VirtualPathProvider for ASP.NET 2.0

Wed, 27 Jul 2005 06:18:56 GMT

This post is again motivated by last week's Community Bootcamp on ASP.NET 2.0, the CBC05. I presented "Under the Covers - Exploring Internals, Page Lifecycle and the Compilation Mode" from TechEd, using the samples that Simon Calvert provided me with (special thanks fly out to Simon, Ben Miller and Rich Ersek @MS for providing us with material - I know I can be a royal pain in the posterior... sometimes at least). The talk included a demo of a database-backed virtual path provider (files don't come from the file system but a database, dynamically). Somehow we started talking about how cool it would be if you could test your Web sites without checking them out from source control in the first place - by simply writing a virtual path provider that goes to the repository on demand. I wrote that idea down. Actually, I didn't think I'd get around to doing that. But yesterday I decided to pester one of my devs on the #develop project, namely Daniel Grunwald. He has implemented the Subversion addin for our 2.0 version, so he had experience with NSvn, the managed API for talking to Subversion. I sent a stripped down version of the vpath provider to him, and asked him to replace database code with NSvn code where appropriate. It didn't take long, and I had a command-line verified version back, and all I had to do was make sure that it works with ASP.NET 2.0. There were a few problems I ran into (like Subversion is case-sensitive and I didn't want that for the Web scenario). Some of the issues arose simply because client and Web developers have different backgrounds. Talk about path separators. Or directories where you have to drop assemblies. Now, let's stop talking, let's take a look at the provider in action: SvnVPathProvider.wmv (3.76 MB) Want to get your hands on that DemoSiteSvn directory with the current rendition of the SubversionVirtualPathProvider? No problem, just a couple of notes up front on what you should be aware of: Only file names are currently treated specially for casing. Ie directories still do react in a case sensitive way. The file name cracking code needs to be reviewed. Currently, this is a quick hack. appSettings need to be placed in a separate .config file. Reason is that web.config cannot be obtained via a VirtualPathProvider, and thus this file has to be checked out separately. And I don't want to get in the way of automating this by requiring entries in web.config. Package it as an assembly, so only the \bin folder needs to be copied to get up and running. The VirtualPathProvider requires (at the very least) anonymous access to the repository. Passing security tokens is not implemented. With those notes out of the way, thanks fly out to the ASP.NET team for providing me with the sample of their virtual path provider in the first place. It has been a tremendous help to get this thing off the ground. And maybe in turn this sample will help others to get started: (972.37 KB) Installation note: the two DLLs in the system32 folder need to be dropped in the respective folder of your system. Do not place them into \bin. Unless you want to get into trouble, that is. What is left to say? Oh, the source code, of course! I thought you might be interested in reading it online instead of having to download an almost 1MB-size file first. Here it is (App_Code\SubversionVirtualPathProvider.cs): using System; using System.IO; using System.Collections; using System.Globalization; using System.Configuration; using System.Text; using System.Web; using System.Web.Util; using System.Web.Hosting; using System.Web.Caching; using NSvn.Cor[...]

NCC 2005 A

Tue, 26 Jul 2005 13:37:13 GMT

The registration for this year's .NET Community Conference in Austria went live today (register here, it's free). The thread of this years rendition is security: threat modeling, .NET 2.0 security features, SQL Server 2005 security and more. Definitely worth your time, if you have time to spare, join us on 12th of August in Vienna!(image)

Adding auditing capabilities to SqlMembershipProvider

Mon, 25 Jul 2005 17:46:16 GMT

On Friday, it was my turn as speaker at the Community Bootcamp 2005 aka CBC05. One of the topics at hand was "The Provider Model", with a focus on Membership providers. Those are the ones most likely being extended / written from scratch, and we did an exercise in that very area: Extend the SqlMembershipProvider to audit successful and failed logins similar to *nix. The solution I present today is a streamlined solution programmed by Alexander Schoeppl, one of the attendees. Step 1: Create the table CREATE TABLE [dbo].[myLoginAuditing](  [username] [varchar](255) NOT NULL,  [numberofSuccessfulLogins] [int] NOT NULL,  [numberofFailedLogins] [int] NOT NULL,  [lastFailedLogin] [datetime] NOT NULL,  [lastFailedLoginIP] [varchar](15) NOT NULL) Step 2: Create the stored procedure create procedure myLogUserVisit(   @username as Varchar(255),   @success as int,   @lastfailedLoginIP as varchar(15)) as    IF ( EXISTS ( SELECT username                   FROM   dbo.myLoginAuditing                   WHERE  username = @username ) )     BEGIN     if (@success = 1)     Begin       update myLoginAuditing set numberofSuccessfulLogins = numberofSuccessfulLogins + 1         where username = @username     End     else     begin       update myLoginAuditing set numberofFailedLogins = numberofFailedLogins + 1,                     lastFailedLogin = GetDate(),                     lastfailedLoginIP = @lastFailedLoginIP         where username = @username     end   END   ELSE   BEGIN     if (@success = 1)     Begin       insert into myLoginAuditing (username, numberofSuccessfulLogins, numberoffailedlogins, lastfailedlogin, lastfailedloginip) values (@username, 1, 0, '01.01.1900', '')     End     else     begin       insert into myLoginAuditing (username, numberofSuccessfulLogins, numberoffailedlogins, lastfailedlogin, lastfailedloginip) values (@username, 0, 1, GetDate(), @lastfailedLoginIP)     end      END Alexander did a smart thing - he looked at the various aspnet* sp's. Step 3: Write the Membership provider The class skeleton looks like this: public class MyMembershipProvider : SqlMembershipProvider { public override bool ValidateUser(string username, string password) { } public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config) { } public override MembershipUser GetUser(string username, bool userIsOnline) { } } Initialize is the easy but essential part - we need the connection string name for later: private string connectionStringName; public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config) { connectionStringName = config["connectionStringName"]; base.Initialize(name, config); } Now we can validate the user - well,[...]

Community Bootcamp 2005 Fully Booked

Sun, 26 Jun 2005 09:08:55 GMT

The German .NET community's July event, the ASP.NET 2.0 Community Boot Camp aka CBC05 is now fully booked! It feels absolutely great that we (speakers are almost exclusively MVPs) were able to organize a five day training event on ASP.NET 2.0 by the community for the community. See you in Bad Ischl in July!(image) Launch

Wed, 25 May 2005 21:55:01 GMT

Details on Brian Goldfarb's blog. Read the announcement / Go there(image)

Regional MVP Get-Together, Vienna

Thu, 28 Apr 2005 13:36:27 GMT

I'll be off to Vienna tomorrow for the regional get-together. Camera is charging right next to me...(image)

Community Day: Indigo

Thu, 10 Mar 2005 01:37:56 GMT

I just registered for the Community Day: Indigo in Munich (7th of April). Talks will be held by Christian Weyer and Darius Parys. It is free, so sign up.(image)

.NET DA: Securing Service Oriented Architecture (SOA) with Microsoft's WSE 2.0

Tue, 08 Mar 2005 05:28:48 GMT

Carsten and I just returned from a Web Developer Meeting of the .NET Developers Association. For us, building forty is just a block away, so we decided to sit in on Michael Stiefel's talk on SOA. You can download the presentation and source code here.

Michael (who still remembered me from a book publishing summit waaay back) recommended that we (as in all attendees) check out the Metropolis Webcasts: Pat Helland relates the evolution of technology architectures to the evolution of city planning and shows us how far we have yet to go.

The Microsoft Architect Journal also has an article on Metropolis.


BLfH Shop

Wed, 09 Feb 2005 07:56:27 GMT

In my spare time (ok, some might argue about my definition of "spare time") I run the German ASP and .NET mailing lists, and my official title there is Bastard Listmaster from Hell (BLfH for short; me and my assistant have a German-language blog too).

That's not quite the point though. Both the assistant and himself are also tester on the #develop project, which led to the usual team Ts. Those were available for quite some time, but the shop language was German - but now Spreadshirt enabled us to switch to English, and the BLfH shop is now open for international business. Next task: add a cool T-shirt for .NET Golf. Oh, btw, a new hole starts today at 4pm CET, German-speaking programmers welcome!


Community Wintercamp 2005 is over

Sun, 30 Jan 2005 18:29:41 GMT

This year's community wintercamp is over - we had two great days spanning three days. Included here are only two photos - one from Friday's evening "Bratl in der Rein" in the restaurant Moststadl in Ebensee, and the second one from Saturday's skiing in the Dachstein West resort.




One Week...

Fri, 21 Jan 2005 11:44:21 GMT

Next Friday, the German ASP and .NET communities will converge in Bad Ischl, Austria, for their annual non-technical meeting: the Community Wintercamp 2005. On the agenda, so to speak: skiing, sledging, local hospitality (not to mix up with local hospitals!) and a lesson in beer brewing as well as consumption. It looks like the weather is very, very kind to us too: snow all over the place and it'll keep snowing for the next few days. Hooray!


Upcoming: our next hole on the code fairway

Sun, 16 Jan 2005 16:17:45 GMT

Bernhard came back from the holidays with a great idea for our next hole of .NET Golf on the code fairway (currently only German, but we do plan to offer the fairway to non-German communities). We have ironed out the details, and come up with a test implementation together with Mike (of #develop fame). Hopefully, we'll (Alex, that is) also be able to get the automated tester up and running for this hole. In closing: this time, we do have a grand prize for the winner!

So, if you are German speaking and an avid .NET programmer, come join us on the fairway!


Next Monday: MSDN Webcast by His Chrisness

Wed, 12 Jan 2005 12:22:22 GMT

It feels good to be no longer grounded by the doctor, especially because this means that my Webcast next week is no longer in danger of being cancelled: ".NET development for free with #develop" (MSDN: .NET-Entwicklung zum Nulltarif mit SharpDevelop is the orginial title, because this Webcast is in German). I will be talking about what cool things you can do with #develop, how it was built, and what the future holds for this free (cost-wise et al) lightweight development environment. Join Uwe and me on Monday 17th @ 4pm (understanding German being a rather big bonus).


MVP Award Awarded Again

Wed, 05 Jan 2005 08:59:29 GMT

I simply couldn't resist: Yes, I am again|still MVP for Visual Developer - ASP/ASP.NET. Admittedly, this doesn't quite reflect on this blog for a couple of reasons, the main one being that my MVP-worthyness stems from the time I do (bad pun intended) on German mailing lists and Web sites (see "Deutsche Resourcen" in the left-hand navigation bar to get an idea). In other news, I of course don't do community because of the award - it is a really nice recognition of my work on part of MS, and there of course is one  benefit of the MVP award that stands out: getting access to other community people around the globe as well as MS product teams, which allows me to get better information to my communities.


SSUGA "Summer" Academy: ADO.NET, 16th - 18th November

Mon, 22 Nov 2004 18:55:39 GMT

Last week I did a three day course for Peter's Sql Server User Group Austria (SSUGA). The reason it is part of the Summer Academy is that it originally was scheduled for summer, but I got the slot which ended up colliding with about everybody's holiday plans - so we decided to reschedule, and last week it finally happened (right smack when the snowfalls started... so much for the title).

What did we cover? Well, obviously not everything of the advanced stuff I planned, however we did get the basics covered very well, so we could build on that for DAAB, CodeSmith and Olymars. For the German-speaking among my blog readers, a more detailed course outline follows (like I said earlier, we did cover almost everything):

"Dieser Kurs richtet sich an professionelle Entwickler die für das Design und die Entwicklung von Daten-zentrierten, verteilten Applikationen verantwortlich sind. Teilnehmer haben bereits Erfahrung mit Visual Studio .NET 2003, bevorzugt im Bereich der Webapplikationsentwicklung. Die Kursbeispiele werden in C# präsentiert, die verwendete Datenbank ist die MSDE.

In diesem Kurs werden disconnected (DataSet) als auch connected Szenarien des ADO.NET Datenbankzugriff-APIs behandelt. Ebenso kommt XML Integration nicht zu kurz, Data Binding, Transaktionen sowie architekturelle Themen.


  • ADO.NET Grundlagen / Architektur
  • Connected Szenarien
  • Disconnected Szenarien
  • Data Binding in WebForms and WinForms
  • DataSet/XML Integration, Typisierte DataSets
  • Design von Data Tier Komponenten, durchreichen von Daten über Tiers
  • Arbeiten mit dem SQL Server Centric .NET Code Generator
  • Provider Model Design Pattern"

Connect Event, Barcelona, 20. - 21. October

Sat, 23 Oct 2004 17:21:26 GMT

This week Microsoft invited quite a few community influencers (I totally hate it when someone uses the term "community leader") to meet in Barcelona. Tuesday at the airport, I met my fellow Austrians Christian Nagel (INETA, Regional Director) and Ingo Rammer (Regional Director, MVP). As they were doing a presentation on community Wednesday afternoon, we decided to find ourselves a nice cafeteria and let creativity flow to add more "juice" to the slides (photos to follow: Ingo, Christian).



Being in the community (see "Deutsche Resourcen" in the blogroll sidebar) for quite a long time, I was able to provide input into what makes communities tick - online as well as offline.

In case you were wondering how far we'd go to find a cafeteria - it was visible in the background of Ingo:


Before continuing with the scheduled program, one view from the hotel:


Nice view. But we didn't come for the nice view, nice weather and hospitality. We came for providing input to various community issues and initiatives. And that we have done - the good, the bad and the ugly (they were asking for it). Hopefully it helps to shape the efforts of Microsoft in a way that creates maximum momentum for communities without any side effects - admittedly a very optimum scenario, but hey, we are optimists, otherwise we wouldn't spend time for community.

Aside from various discussion points on community, there is one conclusion I'd single out as most important that I came back with from the event: Dear community influencers, don't get suckered into the future-only drive. .NET 1.1 is exciting. Communicate that message. Just because you have mastered (to a degree) .NET 1.1 doesn't mean it is boring and the entire world has to wait for vNext holding their breath - repeat after me: .NET 1.1 IS EXCITING!