Archive

Archive for the ‘TechEd’ Category

TechEd 2005 – 3 strikes, I'm out!

April 20, 2005 5 comments

TechEd is a great conference with loads of buzz, technology and people that make such events the place to be. Last year, I was able to give a presentation in the Development Cabanas on Test Driven Development with ASP.NET and helped out fielding technical questions in the same cabanas which gave me complimentary access to the conference!

This year, my efforts have been:

  1. 3 speaking proposals to TechEd USA – declined.
  2. 3 speaking proposals to TechEd Europe – declined.
  3. Offered to work as a Technical Expert in the Development Cabanas – declined.

Apparently the response from speakers and technical experts has been HUGE this year and I am sure it will be an even bigger event than last year.

Are you going to TechEd this year?
Why do you think it is even more popular than last year’s event?

Categories: .NET, TechEd

C# – Why Overloads Instead of Optional Parameters? And AOP.

October 8, 2004 1 comment

I just came across an old post on Dan Fernandez’s blog thatlinks to the “Whiteboard with Anders” session from TechEd 2004. I was lucky enough to watch this event live. One of the memorable questions answered – one that I often hear from ex-VBers – is why C# uses overloads instead of optional parameters …

Watch the video because it has lots more, but here is the answer from the transcript:

Hejlsberg:

“Okay. The question is, Why don’t we have default parameters? I think there are a couple of reasons. First of all, they’re somewhat duplicative of overloading. I mean you can do the same with overloading, and which is indeed what people do today, but yes, you’re right. It’s more typing for sure. I think the other one is subtler, and in retrospect maybe not as important as I thought. Originally in the language design are- our issue with default parameters is that they burned the default into the call site as opposed to leave it up to the implementation. If you do overloads, let’s say you have void f, and then, let’s say, you have void f of index, for example, and void f of index is where the work happens, right? Then in this guy here, you simply say echo 5, because your default is 5. When the user calls f, it is up to you to change- you can change what your default is later in v2 of your API. When you have a call f somewhere, this by the compiler is translated into f of 5 in the call site, because it just copies that value. Now you can never change the default. This gives you more flexibility, but- and I thought that that was important. Perhaps it’s not all that important, but … “

There was also an interesting informal discussion after the session where Michael Palermo (my co-volunteer in the development cabana that day) was discussing the AOP questions with Anders. Anders was not aware of some AOP experimentation that had been done with C# using some Remoting mechanics (System.ContextBoundObject) – Michael couldn’t remember the source at the time. I remembered it being from an old MSDN article that a colleague had once shown me. Itis worth looking at the sample to see how it works – plus it was a good feeling to be one up on Anders! 🙂

Categories: .NET, TechEd

TechEd Blogging: Wednesday's Cabana Question of the Day

Attendee question of the day:

A long running CPU and memory intensive piece of work needs to be done when requested by a user in an ASP.NET application and then reported back to the user when complete. How do you do it without placing too much load on the ASP.NET server?

A possible solution:

Start a new thread from the ASP.NET request. This new thread should not do the work itself but rather use Remoting to invoke the work on a remote server (that may be dedicated to the intensive work). But how do you get updates back to the user? You can either do it in a truly disconnected manner by sending an email to the user when the work is complete or you can have something on the user’s browser poll back to the server for updates. Possibly looking in Cache for updates posted by the thread using the Remoting object. You could do this polling using a simple META REFRESH (ugly) or use something more elegant (and lightweight) such as Remote Scripting.

I implemented a very similar solution to kick off NAnt scripts and watch their output from an ASP.NET application. It used Remoting to a ScriptRunner object hosted by a Windows Service. All output was captured by the ScriptRunner and then retrieved using Remote Scripting calls to get the status update from the thread holding the reference to the Remoted object inside ASP.NET.

Categories: .NET, Remote Scripting, TechEd

TechEd Blogging: "Test Driven Development with ASP.NET" in the Cabanas

After much confusion and schedule changes, I was able to take over Steve Smith’s session on TDD at TechEd today (Steve was unable to attend TechEd due to military service). Many thanks to Brian Marble for making the last minute arrangements!

The attending group was an adhoc bunch. Although TDD is certainly growing in popularity since the group was aware of the concepts and had experiences of using some of the tools! The session was very rushed taking just over an hour – the fastest ever for the slide deck and hands on material.

The following interesting questions were posed afterwards:

  • How do you sell Pair Programming (PP)to management?
    This paper states that PP only incurs a cost of 15% increased time. I would argue that this still assumes that two developers on their own are still 100% productive- whereas two people working together motivate each other and ensure that more productive hours are spent developing each day rather than being occupied by distractions – phonecalls, checking email, support issues, etc. This also says nothing of the improved quality of the code and reduced maintenance costs downstream that PP brings.
  • If you have a large legacy system with many interconnected systems – how do you start with TDD?
    Start with the next feature. Don’t delay starting with TDD. Don’t try to retrofit all your existing code with tests. Rather start with the next required feature and write a small test. Mock out any interconnected systems in the simplest way to write your test. I guess it comes down to
    HowDoYouEatAnElephant! 🙂

I also met Mark Miller and Jason Fredrickson which resulted in a great discussion on the merits of Pair Programming! This resulted in the trading of war stories and my discovering of a new alternative to VNC for pairing – NetOp.

TechEd Blogging: Pair Programming at TechEd

I will be in the Development Cabana in the “Sails” area of the San Diego Convention Center. I have been writing some articles, code, eating icecream and otherwise keeping busy. If you would like to come along and try some Test Driven Development first hand – I am open for pairing and general questions during the following times while I will be in the cabana.

Just ask the concierge for me by name or try to pick me out of the crowd.

  • Monday 24th May – 8:30AM to 1:30PM
  • Tuesday 25th May – 4:30PM to 9PM
  • Wednesday 26th May – 12:30PM to 5PM
  • Thursday 27th May – 8:30AM to 1:30PM

If you come along, you can expect to get some first hand experience with NUnit, NUnitAsp, NCover, C# and some Refactoring.

TechEd Blogging: Bright sunlight and a caterers challenge!

The first day: I arrived at the San Diego Convention Center around 10am via cab ($15 for 4 miles … a little steeper than DC!). The building is very impressive … it is huge with interesting architecture and unusual elevators. Registration was a breeze using the staff line and finding the development cabanas was easy enough with lots of helpful people and great planning.

The area for the cabanas and open PC access is enormous with plenty of available network plugins and wireless access. The strange part is that it is really bright, making it difficult to see any LCD screens. The roof has large canvas “sails“ but there doesn’t appear to be any way to darken the room.

After hanging out at the cabana for a while, I wandered down for lunch and found an even larger room. The dining room seats 7800 people! (picture coming) It is hard to believe that anyone could cater for that many people and still keep the food hot. :-)But numbers aside, the food was superb … I had halibut with zucchini, couscous and potatoes. It is hard to findvegetables cooked well, especially when cooked en masse.

Check back for more poststhis week from TechEd’s Cabana area or stop by and say “hi“ if you are here!

Categories: TechEd

See you at the Microsoft TechEd 2004 Cabanas!

May 3, 2004 2 comments

I will be assisting other developers and meeting the community during Microsoft TechEd 2004 this year. The Developer Tools and Technologies Cabana lounge will be the place to meet developers, trainers and speakers from far and wide.

Get your questions answered on:

  • C#
  • ASP.NET
  • VB.NET
  • Web Services
  • Visual Studio .NET
  • WinForms

If you haven’t already signed up on the RIO Networking system for TechEd, do so now!

If you are a blogger who is attending or speaking at TechEd – sign up your blog on TechEdBloggers.

Categories: .NET, TechEd