Trip report – PDC05 (day one)

Earlier this month, I was fortunate enough to attend this year’s PDC in Los Angeles. As it turns out, PDC ran during the same time as EMC | Documentum’s own developer conference. I was able to provide significant content for multiple sessions at the latter event and both were quite successful in my view and from what I’ve heard.

PDC05 reminded me of “PDC Y2K” in that much of what was discussed was nearly baked and ready for release. In fact, I heard more than one Microsoft employee talk about “assuming” the existence of such things as SQL Server 2005 (aka “Yukon”), Visual Studio 2005 (aka “Whidbey”), etc. This was actually refreshing for me. In recent years it’s been more of a challenge to engage with executive sponsors on Microsoft related endeavor due to Microsoft’s poor track record of on-time delivery. Beginning with the aforementioned products and throughout 2006, this should change (i.e. Microsoft’s substantial delivery pipeline is well-oiled).

I’ve already made a couple of posts on PDC05 (ref. [1], [2], [3]); so I won’t rehash what I’ve already stated. This trip report intends to accomplish at least two objectives: (1) provide information from the event and (2) offer what I believe the information means. For perhaps obvious reasons, my blog will not publicly declare a call to action for my employer–this I will do via internal, private means, and it is perhaps the most important content to digest. (So, my co-workers, stay tuned! :-))

So, without further adieu…

Tuesday 9/13/2005 (continued)

The “Big Room” space was excellent. I took the following panorama of it before attendees took it over for the rest of the conference. It’s layout did result in increased collaboration by placing the collaborative space up front and center and causing everyone to walk by that space on their way to anything else (e.g. meals, expo hall, hands-on labs, internet alley, book store, etc.).

After the day’s keynotes (ref. [1]video/transcript, [2]transcript) I attended the following breakout sessions: COM202, FUN302 and OFF304.

Before I detail my session experiences, I recall my impression of JavaOne earlier this year. Already I’ve heard Microsoft employees talk about importance of and value Microsoft places upon feedback. IMHO, it’s more challenging to guide and direct an open community than it is to drive a controlled ecosystem. Feedback is only one facet of participation. Giving feedback is different than making the decision or the change itself.

COM202 A Lap around the Windows Communications Foundation – Omri Gazitt

  • I attended this session because I believe that service orientation (SO) is establishing itself as a major architectural trend.
  • Microsoft is ahead of Sun on developer support for web services and Connected Systems.” Note: Be careful not to relax due to platform bias. There are two dominant platforms and their healthy competition make rapid change and advancement inevitable.
  • There was standing room only and many attendees stood. As all attendees would later learn, if not leverage, Microsoft had a reasonable overflow room plan in place for the event. This allowed attendees to attend what they wanted to attend rather than be forced to even second choice sessions for lack of room.
  • .NET Remoting – a “near” programming model (i.e. invocation calls appear to be local calls)
  • Service orientation was first begun in Microsoft back in 2000 (as stated during Bill Gates’ keynote–why PDC 2000 was so important and perhaps the most important PDC to date). There would be more of this timeline presentation throughout PDC05, which gave me the impression that a “mature technology” message is important to Microsoft. Time after release will only tell the truth about effective maturity, though.
  • The core abstraction in WCF is message passing.
  • Similar concepts in WCF to the original Berkeley sockets work
  • The ABC’s of endpoints…Easy as ABC
  • ClientChannel and ServiceHost make connections real.
  • The planned demo was skipped due to time constraints (i.e. the previous session ran long).
  • Decorated CLR interfaces (i.e. special attribution)
  • You can host services just about anywhere.
  • Leverage config XML to declare
  • “Indster” is a simple file-sharing app that Omri wrote in a few days. The speaker made his source available via the CommNet.
  • Contracts are probably the most obvious implementation of SO (service orientation) in WCF.

FUN302 Programming with Concurrency (Part 1): Concepts, Patterns, and Best Practices – Jan Gray

  • I attended this session because I believe that concurrency is under-appreciated in software development, generally speaking, and the way to continue to achieve substantial peformance gains moving forward on modern hardware will be to leverage concurrency.
  • Jan works in the Office of the CTO as an architect focused on models for concurrent programming.
  • Parallelism and scalability…toward a responsive application–not just its UI
  • Show internal states and partial results.
  • Exploit pre- and post-processing.
  • Define async states and behaviors so that each is a feature, not a bug.
  • Apply same ideas to responsive libraries (e.g. document thread safe sync usage).
  • To maintain the current perf rate, you must understand and exploit concurrent software (ref. “Concurrency for Performance” slide).
  • About a 100 W per chip is about all that can be cooled (i.e. physical driver for multi-core chip designs).
  • Parallelism isn’t a panacea and sometimes it’s inappropriate.
  • Jan gave a CLR perf talk at PDC 2003; so, it would be insightful to compare those slides with his PDC05 slides.
  • Deadlocks are easier to debug than race conditions.