July 2008 - Posts
Over the past month, I’ve made the rounds of several Southern California user groups and the San Diego Code Camp presenting “Dynamic Languages and the DLR.”
· San Gabriel Valley .NET on June 18
· IASA SoCal/SoCal .NET Architecture on June 19
· SoCal Code Camp, San Diego on June 28
· LA C# on July 1
· Inland Empire .NET on July 8
· I’m scheduled for San Diego .NET on August 26
Each presentation works off the same theme but the delivery has focused on the audience. You can download the presentation material here http://mvasoftware.com/media/p/47.aspx. Dynamic Languages are providing us a great additional set of tools for our development toolbox. I’m exposing architects and developers to potential ways to leverage the unique strengths of dynamic languages. These include leveraging code execution in the browser by pushing data and code dynamically from the business tier at run time and building unit tests with dynamic languages. I’ll be posting more content on these areas in the near future.
On July 1, a bunch of new sessions were added to the PDC. You can see the full list of sessions that have been published (so far) at the PDC site.
Here are some interesting sessions:
An Introduction to F#
Learn about Microsoft's new language, F#, a typed functional programming language for the .NET Framework. F# combines functional programming with the runtime support, libraries, tools, and object model of .Net. Understand how F# asynchronous workflows help tame the complexity of parallel and asynchronous I/O programming and how to use F# in conjunction with tools such as Parallel Extensions for .NET.
Architecture Without Big Design Up Front
Visual Studio Team System, code-name "Rosario" Architecture Edition, introduces new UML designers, use cases, activity diagrams, sequence diagrams that can visualize existing code, layering to enforce dependency rules, and physical designers to visualize, analyze, and refactor your software. See how VSTS extends UML logical views into physical views of your code. Learn how to create relationships from these views to work items and project metrics, how to extend these designers, and how to programmatically transform models into patterns for other domains and disciplines.
Deep Dive: Dynamic Languages in .NET
The CLR has great support for dynamic languages like IronPython. Learn how the new Dynamic Language Runtime (DLR) adds a shared dynamic type system, a standard hosting model, and support for generating fast dynamic code. Hear how these features enable languages that use the DLR to share code with other dynamic and static languages like VB.NET and C#.
Future Directions for Visual Basic
Come learn about the new capabilities in the next version of the language, including: extensions to LINQ, syntax simplifications, and improvements to the IDE. We'll provide insight into the direction of the language, including dynamic binding, meta-programming, and scripting.
The Future of C#
In this talk Microsoft Technical fellow and C# Chief Architect Anders Hejlsberg outlines the future of C#. He will describe the many forces that influence and shape the future of programming languages and explain how they fit into C#.
Visual C++: 10 is the New 6
Get more done. The next version of Visual C++ is all about improving developer productivity for large-scale applications. Learn about the IntelliSense and browsing experiences, changes to the project and build system, project-less browsing, collaboration through remote symbol indexing, and custom visualization of symbolic information.
Microsoft Silverlight: Building Business Applications
What if you could develop your solutions with the ease pioneered by Microsoft Office Access, deploy them like an Internet application, and take advantage of the power of Microsoft .NET? Learn about an exciting new technology that is all about making business applications for RIA (Rich Internet Applications) much easier to build. In this session, hear how we've made n-tier application development as simple as traditional 2-tier, provided application level solutions to developers, and how we're doing all of this with the same .NET platform and tools on both the client and server.
Microsoft Silverlight: Developing for Mobile Devices
Silverlight provides on mobile devices the same great capabilities you are familiar with on the desktop, but there are some differences you should understand when targeting mobile devices. This session shows you how to make your Silverlight applications device agnostic as well as how to optimize your designs for multiple targets.
Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft
Take a detailed look at the present and future of Team Foundation Server (TFS). With close to 14,000 users, 2,000 projects, 33 million files, and over 2 million work items, Microsoft runs one of the largest known installations of TFS. In this session we share our internal best practices for version control, branching and merging, work item tracking, metrics, reporting, testing, and integrations with TFS.
Microsoft Visual Studio Team System: Software Diagnostics and Quality for Services
In this session we present processes and tools from the upcoming Visual Studio Team System code name "Rosario" release and Microsoft Research and show how we deliver on quality, scalability, and experience goals for the new class of applications that demand rich UI, service consumption, and frequent release.
Plus, a whole lot on architecting and developing cloud services including Mesh Services and Virtual Earth v next.
In addition to the INETA Community Champion award, another really exciting new program that INETA has launched this year is the Community Excellence Award.
The INETA Community Excellence Award is given to individuals for their extraordinary efforts and prolonged contributions to the developer community at both the local and national levels. Through their commitment and passion, these people have made profound impacts that will be sustained for years. In honor of their accomplishments, the Community Excellence Award is a one-time award of recognition that will last a lifetime.
There are many great leaders in our midst, so we are counting on the developer community to nominate the people who you believe most deserve this recognition. The INETA Champs Selection committee will then select the recipients from the most compelling nominations.
The first Community Champions Recipients have been announced and you can see them on the Community Excellence section of the INETA website. If you know of somebody who has spent year after year contributing to the User Group Community, please take a moment to nominate them so that they have an opportunity to be recognized for their dedication and work.
Share this post: Email it! | bookmark it! | digg it! | reddit!
INETA Rewards those Active in the User Group Community
An XBox or MSDN Subscription to the 10 Most Active Contributors in the User Group Community each quarter.
How? By doing what you are doing already, you stand to win:
a) Valuable Prizes: An MSDN Subscription. And, if you already have one, you can choose an XBox instead.
b) The Fame and Prestige of having an award to hang on your wall that shows that INETA recognizes your contributions to the User Group Community.
c) Official Recognition on the INETA Website for one year.
All of your peers will be able to see that you stand out above the crowd. If the opportunity presents itself for you to show your dedication to the User Group Community in a public way, there is no better way than to show off your name highlighted on the website of a highly respected organization like INETA.
d) A Badge for your website showing that you are a Community Champion.
When folks visit your website, blog or any other place where you publicly post your work, they will see that you are a Community Champion.
Oooohhhh. Recognition by INETA? Valuable Prizes? An award to hang on my wall? A Badge? How can I participate?
Well, I am glad that you asked.
INETA has long been known for it's support of User Groups and this year, there are a number of great new programs supporting the User Group Community. The Community Champs program is one of them. INETA wants to recognize individuals who are demonstrating their involvement in the User Group community. The program is aimed at rewarding those that are the most active with the prizes and award mentioned above. It is INETA's way of recognizing the ones that really bring the community together. So, in short, if you are the kind of person who helps to run user group meetings, codecamps, or helps out in any number of other ways, you should let INETA know the kind of activities that you are involved in. If you are very active, you may be recognized by INETA in a very public and spectacular way for the activities that you currently do to help the user group community.
INETA and Community-Credit are making it happen.
Community Credit has been helping to recognize fellow developers for the past number of years for their accomplishments and INETA has been the mainstay of User Groups for many years, so it is no surprise that the two would be working together to make this great program possible. Best of all, the contributions that you record will also count toward Community Credit prizes, so you may even have a chance to be rewarded with a Geeky, Community Credit prize as an added bonus.
How do I submit my contributions?
Visit the INETA website and go to the Champions section, sign in and let INETA know what you are doing by recording your contributions. The current quarterly period counts for contributions during period of June 30th, 2007 to June 30th, 2008. The final submissions can be made until July 14th. Keep in mind that the end of this current quarter is coming up pretty soon, so if you have been very active over the last year, be sure to enter them soon so that you don't miss this great opportunity.
What are the benefits of participating?
If you are an individual who is always contributing to the User Group Community, you do it because you like it. You don't do it because you expect to be rewarded. At the same time, if you just happen to be rewarded and recognized then that makes it that much better. Imagine playing on an XBox that you received as a thanks for all of your hard work. It makes the games just a little bit more fun. Using your MSDN subscription that you "earned" makes the tools just a little bit better and seeing the award hanging on your wall is a reminder to you and your colleagues just how committed you are.
Can anybody participate?
Unfortunately, the current period (being our first) is for participants in North America only.
With TechEd being split into two weeks for Developers and IT Pros, it was a long experience for me. I covered both weeks for INETA. The first week we had the whole team on board and a lot of community stuff going on. We kept the INETA kiosk area well staffed, especially during session breaks, to meet with the many folks who stopped by. INETA sponsored the Birds of a Feather sessions for the week, the BOF team did a great job keeping everything running smoothly. I enjoyed being a part of the BOF experience, see my Dynamic Languages at TechEd post. I had a chance to attend several sessions that included:
Pat Helland – Metropolis: Interchangeability of Operations
I wish I could have attended all of Pat’s sessions but this was it. Using his Metropolis analogy, his focus here is on the parallels of Manufacturing Goods to Structured Data and Operations. Standardization drove changes is manufactured goods leading to mass production and interchangeable components. The parallel is driving changes in data operations. Following the session I had the opportunity for some engaging discussion on extending the concept. I suggested looking at the quality push brought about by the Japanese auto manufacturers in the 70’s and 80’s and paralleling with the shift toward test driven development.
Mark Russinovich – The Case of the Unexplained
I attended the repeat presentation and it was packed. Great presentation style, Mark walked among the audience before start of session chatting and getting a sense of points of interest. The presentation covered tools, techniques and insight by peering beneath the surface for solving of sluggish performance, error messages, applications crashes, system hangs and blue screens.
Doug Seven - End-to-End Application Lifecycle Management with Microsoft Visual Studio Team System
Another great job of presentation delivery. Had a chance to chat with Doug afterward of both Rosario and effective presentations. Doug recommends Presentation Zen and Made to Stick.
John Lam – see separate post
Scott Hanselman – Car or Motorcycle: Choosing the ASP.NET MVC Framework
Scott’s presentations are always good, I like his way of making things understandable. In this presentation he provided a good description of the MVC framework. The MVC is about alternatives, its not for everyone or every project, rather it allow you to choose the best tool for the job. MVC provides some real benefits in terms of TDD and it plays well with others.
Ted Neward – Pragmatic Architecture: The Role of an Architect
Always good, Ted was busy doing 5 presentations. I caught just one that starts with the “… what is a software architect?” It’s Ted’s pragmatism and delivery style that made this presentation interesting and engaging.
I’m a big fan of getting the user experience right. The UX presentations by David Platt and Mark Miller provided some contrasting views on this important topic. Both made us think about the cost of lost productivity. There is a lot more to UX than these presentations could cover but I’m glad to see greater mind share around improving UX. Architects need to get their heads into this space in greater depth.
Mark Miller – The Science of a Great User Experience
Mark had a lot of good material in his presentation, backed up with good examples. He had a lot of material but kept the pace lively to get through it. In a couple of spots in his presentation his passion crossed over the line on appropriateness to the venue however.
David Platt – Why Software Sucks
Pragmatic, a little more conservative than Mark, but he made the connection with the audience.