Tags: , , , , , | Categories: Development, Event Posted by bsstahl on 12/14/2008 11:48 AM | Comments (0)

Joe Guadagno has posted his summary of The Best of PDC in PHX. This was a great event and I want to make sure those who put it together, spoke, and sponsored it know we are tremendously appreciative of their efforts.  This includes: Joseph Guadagno, Scott Cate and Rob Bagby as well as Microsoft, Robert Half Technology, TekSystems and GoDaddy.

I think that the best summary I can give of my experience at this event is through the tweets I sent in real-time while there.  A few others tweeted about the event as well and you can see all tweets about the event on Twitter Search.  Below, are what I think are my tweets most representative of the experience.

At first I hated that C# didn't have optional params. Now I know that life is better w/o them. Sorry C# 4.0.

Wells Fargo Center has much more comfy chairs than most conference centers #PDCPHX

"...and I say 'thingey' in the most technical way possible." - Rob Bagby #phxpdc

Did Rob Bagby just invoke Don Box? #phxpdc

XBox at the bottom of the hierarchy of needs Rob? #phxpdc

I don't envy @scottcate having to follow Rob Bagby at #phxpdc

Rob Bagby on Intellisense: "I just got nerdly goosebumps". #phxpdc

Notepad!!! #phxpdc

To the non-dev-geek members of my family: no I will not stfu about #phxpdc

I always feel so dirty after demos involving json. #phxpdc

Tunneling an HTTP Put through a Post seems like a massive cluge. #phxpdc

W00t, I finally got @stupiderr on Twitter!

Declarative programming, what a concept... #phxpdc

Rob Bagby is weakening on his anti-Twitter stance. Hit him now while his defenses are down. Resistance is Futile. #phxpdc

"automagically" is a word whose time has come and gone.

It's important for me to know what's available in the Ajax world, but I have no desire to live there anymore. Silverlight FTW!

OK, let's talk Silverlight! #phxpdc

@stupiderr "genie blink"? I am so uncool!

Azure Party Planning Services now live! #phxpdc

Rob Bagby can give presentations on the same topic 2 days in a row that are totally different and both awesome. #phxpdc

#phxpdc Crowd reference to "Hailstorm". Nicely done sir.

Imo the best example of cloud service bus at PDC was in the Don Box/Chris Anderson keynote. #phxpdc

He already said, "you don't need schema"... #phxpdc

First "Animal House" reference of the day goes to Rob. #phxpdc

I don't like the SOAP API for SDS right now. SQL string queries are so 1990s. #phxpdc

Using Linq to project query results into a POCO is awesome. #phxpdc

@steeleprice it means CLR Obj to me. That Linq trick should work in VB too. But then again, I'll always be VB at heart.

@scottcate, @jguadagno, and Rob were all amazing today! Great event! Thank you all!

Tags: , , , , | Categories: Development, Event Posted by bsstahl on 11/1/2008 7:20 PM | Comments (0)

Day 2 was a more focused day for me at PDC 2008. After attending the morning keynotes, which included the first peeks at Windows 7 features as well as a terrific (as always) code-only presentation on programming against the cloud by Don Box and Chris Anderson, I headed over to the hands-on-labs where I spent the rest of the day working with Azure and creating applications that run in the cloud. I also received my Azure key and began the process of setting up a virtual machine to house the Azure tools.

Real-Time Updates on Twitter

Just a reminder that much of what is happening here at the PDC is being posted in real-time (or close to it) on Twitter.  My Twitter updates can be found at http://twitter.com/bsstahl and you can follow all of the PDC action using this Summize (Twitter Search) query http://search.twitter.com/search?q=pdc+OR+pdc08+OR+pdc2008

Keynotes

Day 2 keynotes focused on the client side of Windows development. Not surprisingly, this included Windows 7 and WPF development improvements as well as Silverlight and ASP.NET development. Some things that caught my attention in the keynotes included features of Windows 7 like its ability to "live" on a domain, but still participate in a "Home Group" when your work laptop is brought home.  Multi-monitor support also looks to be vastly improved including the ability to work multi-monitor in a remote desktop session. Scott Guthrie also introduced a number of new controls and tools for developing applications in WPF and Silverlight including a Ribbon control that appears intended to make your WPF apps look like Windows Forms apps.

Chris Anderson and Don Box Keynoting PDC2008

The 2nd Keynote of the day was Don Box and Chris Anderson's fantastic presentation on developing applications that bring cloud computing into the enterprise. Clearly the most engaging of all of the Microsoft speakers, this duo put together, over the course of the 1.5 hour session, a series of services that ran both in the cloud and within the firewall, and linked the two securely, but in real-time.  You would not be wasting your time if you were to view the video of this keynote online.

Hands-On Labs

The remainder of my day, after lunch, was spent in the hands-on labs working through the prescriptive samples provided by Microsoft for their Azure product. I was able to complete the first two of these labs which detailed the process of creating websites and services in the cloud that used local-storage and queues to perform a number of relatively simple tasks. These labs clearly answered my question from yesterday morning, with the answer that I expected. That is, an Azure "Web Role" is a web page or SOAP service that runs in the cloud. As such, everything (that I can think of) that I might need to run on my own servers, can be outsourced into the cloud, to provide the availability of virtually unlimited scale with amazing reliability. The still-unanswered question here is price, but since the CTP is free, I will continue to move in this direction until I find a reason to change course.

Day 3 Preview

Day 3 looks to be futures day, with the keynote focusing on Microsoft Research properties and technologies. Watch Twitter for all the action as it occurs.

Tags: , , , , | Categories: Event Posted by bsstahl on 10/30/2008 12:29 AM | Comments (0)

Windows Azure

As you've probably already heard, the big announcement coming out of PDC 2008 Day 1 was "Windows Azure", Microsoft's Cloud Computing Operating System. This is a very interesting story since it has implications, in theory at least, for developers working in any size organization, who need to provide public services that could potentially scale globally or massively. I won't spend time on the specifics right now since there are many who are more knowledgeable than me who have already written about it.  I do however, have a few open questions on the topic, which I hope to have answered either in sessions today, or in the hands-on-labs.  These include the pricing model (i.e. whether it will really be affordable for the "garage developer"), as well as what actually constitutes an Azure "web role". If, as I suspect, a web role can be a SOAP service or an ASP.NET web page, then the model makes a lot of sense to me and I will definitely be spending some time becoming familiar with the features and capabilities of this tool.  I have sketched-out a simple application model that I hope to implement, either in the hands-on-labs or in the online community preview, sometime today.  Since I have not yet been granted access to the public CTP, I suspect this will have to occur in the hands-on-labs.

The Future of .NET Development

The other major topic of the sessions I attended during day 1 was the future of development on the .NET platform.  Specifics here included details of Visual Studio 2010 as well as a fantastic language futures talk given by Anders Hejilsberg, the father of C#.  According to Anders, "The major theme of C# 4.0 is Dynamic Programming" which will allow C# applications to interact with dynamic languages such as JavaScript and Ruby, as well as providing dynamic typing features within C# itself.  While, in most cases, I wouldn't (and I think Anders wouldn't) recommend using dynamic typing mechanisms, there are times where it is the most appropriate way (sometimes the only way) of performing the task at hand.

Anders Hejilsberg, the Father of C# at PDC 2008

Another feature of future versions of C# include the concept of the compiler as a service. That is, the C# compiler, sometime down the road, is expected to be made available within the application model, useable by applications. We have had other methods of dynamically generating code in the past, but no model nearly as compelling as utilizing the same compiler Visual Studio uses, as a component of the .NET framework.

Sessions Available Online

We are being told that videos of every session will be available online via http://www.microsoft.com/pdc 24-hours after the session. From day 1, I definitely recommend checking out the keynote as an interesting, although far from complete, overview of Azure.  I also recommend Anders' talk on C#.  There was one session that looked interesting that I couldn't get into called "C# IDE Tips and Tricks" that seemed interesting which I will be checking-out online within the next week or so. 

Day 2 begins...now.

Tags: , | Categories: Event Posted by bsstahl on 10/29/2008 6:47 AM | Comments (0)
I'm getting ready to head over to the Los Angeles Convention Center for the start of PDC 08. For those not here, you can watch the Ray Ozzie keynotes live on the web via http://www.istartedsomething.com/20081026/pdc-08-keynote-live-streams/ .  The Microsofties on Twitter are doing a great job of pumping-up the excitement for these keynotes with lots of comments on the media embargos and quips about how important this event is to Microsoft's future. I'll be publishing more information as it becomes available.
Tags: , | Categories: Event Posted by bsstahl on 10/26/2008 8:51 PM | Comments (0)

Next week I will be attending the Microsoft Professional Developer's Conference in Los Angeles. This will be my 6th PDC (of, I believe, 10).  I will be attempting, as I have done in the past, to blog each session that I attend, as well as other events and functions at the PDC. I will also be updating my status on Twitter (http://www.twitter.com/bsstahl) on a regular basis.

My current schedule looks like this:

Sunday, Nov. 26th:

  • 1:40 PM - US Flight 29 PHX-LAX Arrives 3:08 PM PDT
  • Hotel Check-in
  • Conference Registration

Monday, Oct 27th:

  • 8:30 AM - Keynote Address with Ray Ozzie, Amitabh Srivastava, Bob Muglia & David Thompson
  • 11:00 AM - 1 of the following sessions:
    • Microsoft Visual Studio Team System: A Lap Around VSTS 2010 with Cameron Skinner
    • A Lap around Cloud Services Part 1 with Manuvir Das
  • 12:45 PM - 1 of the following sessions:
    • Microsoft Visual C# IDE: Tips and Tricks with Dustin Campbell
    • Microsoft Expression Blend: Tips & Tricks with Peter Blois & Douglas Olson
  • 1:45 PM - The Future of C# with Anders Hejlsberg
  • 3:30 PM - 1 of the following sessions:
    • Microsoft Silverlight, WPF and the Microsoft .NET Framework: Sharing Skills and Code with Ian Ellison-Taylor
    • A Lap around Cloud Services Part 2 with John Shewchuk
  • 5:15 PM - 1 of the following sessions:
    • Framework Design Guidelines with Brad Abrams & Krzysztof Cwalina
    • Microsoft .NET Framework: Overview and Applications for Babies with Scott Hanselman
    • Agile Development with Microsoft Visual Studio with Lori Lamkin & Sunder Raman
    • IronRuby: The Right Language for the Right Job with John Lam

Tuesday, Oct 28th:

  • 8:30 AM - Keynote Address with Ray Ozzie, Steven Sinofsky, Scott Guthrie & David Treadwell
  • 11:00 AM - Keynote Address with Chris Anderson & Don Box
  • 12:00 PM - AZ PDC Lunch Meet-Up at the Microsoft Store
  • 12:45 PM - 1 of the following sessions:
    • Building Search-Driven Portals with Microsoft Office SharePoint Server 2007 and Microsoft Silverlight with Stein Danielsen & Jan Helge Sageflat
    • Windows Presentation Foundation Animation, YouTube, iTunes, Twitter, and Nintendo's Wiimote with Dan Fernandez, Scott Hanselman, Brian Peek & Clint Rutkas
    • Visual Studio Debugger Tips & Tricks with John Cunningham
  • 1:45 PM - 1 of the following sessions:
    • Developing Applications Using Data Services with Mike Flasko
    • A Lap around the Live Framework and Mesh Services with Ori Amiga
    • Project "Velocity": A First Look with Murali Krishnaprasad
    • A Lap around "Oslo" with Douglas Purdy & Vijaye Raji
  • 3:30 PM - 1 of the following sessions:
    • Microsoft Silverlight Futures: Building Business Focused Applications with Jamie Cool
    • Microsoft Silverlight 2 for Mobile: Developing for Mobile Devices with Amit Chopra & Giorgio Sardo
    • Live Services: Making your Application More Social with Angus Logan
  • 5:15 PM - 1 of the following sessions:
    • Entity Framework Futures with Tim Mallalieu
    • Developing Connected Home Applications and Services for Windows Home Server with CJ Saretto & Fabian Uhse
    • Live Services: Building Applications with the Live Framework with Raymond Endres
  • 7:00 PM - Attendee party at Universal Studios

Wednesday, Oct 29th:

  • 8:30 AM - Keynote
  • 10:30 AM - 1 of the following sessions:
    • Live Services: Live Framework Programming Model Architecture and Insights with Dharma Shukla
    • Exposing Connected Home Services to the Internet via Windows Home Server with Brendan Grant & CJ Saretto
    • Panel: The Future of Programming Languages with Gilad Bracha, Douglas Crockford, Anders Hejlsberg, Erik Meijer, Wolfram Schulte & Jeremy Siek
  • 12:00 PM - Silverlight Controls Roadmap with Shawn Burke
  • 1:15 PM - 1 of the following sessions:
    • SQL Server 2008: New and Future T-SQL Programmability with Michael Wang
    • Improving .NET Application Performance and Scalability with Steve Carroll & Ed Glas
  • 3:00 PM - 1 of the following sessions:
    • Live Services: Mesh Services Architecture and Concepts with Abolade Gbadegesin
    • "Dublin": Hosting and Managing Workflows and Services in Windows Application Server with Dan Eshner
    • Offline-Enabled Data Services and Desktop Applications with Pablo Castro
  • 4:45 PM - Live Services: Building Mesh-Enabled Web Applications Using the Live Framework with Arash Ghanaie-Sichanie
  • 6:00 PM - Ask-the-Experts

Thursday, Oct 30th:

  • 8:30 AM - 1 of the following sessions:
    • SharePoint 2007: Creating SharePoint Applications using Visual Studio 2008 with Chris Johnson
    • Microsoft Visual Studio Team System Team Foundation Server: How We Use It at Microsoft with Stephanie Saad
    • Research: Contract Checking and Automated Test Generation using Pex with Mike Barnett & Nikolai Tillmann
  • 10:15 AM - 1 of the following sessions:
    • Live Services: The Future of the Device Mesh with Jeremy Mazner
    • Microsoft Silverlight 2: Control Model with Karen Corby
  • 12:00 PM - 1 of the following sessions:
    • Live Services: Notifications, Awareness, and Communications with John Macintyre
    • Services Symposium: Cloud or No Cloud, the Laws of Physics Still Apply with Gianpaolo Carraro
  • 1:45 PM - An Introduction to Microsoft F# with Luca Bolognese
  • 4:20 PM - US Flight 152 LAX-PHX Arrives 5:40 PM MST
  • 6:00 PM - Collapse in an exhausted heap on my bed

All of this, of course, is subject to significant change...

Tags: , , , , , , , , , , | Categories: Development, Event Posted by bsstahl on 11/3/2003 1:48 AM | Comments (0)
Instead of posting a summary of the last 2 days of the PDC, I decided to summarize the entire PDC as best I can by creating a glossary of terms. These terms came out of the PDC as either new, having a modified meaning, or greater importance than before.


WinFX – The code-name for the next generation of the .NET Framework. Key features of WinFX include Indigo, Avalon and WinFS.

Longhorn – The code-name for the next generation of Windows built on, and to work with, WinFX. Longhorn provides the user interface features of Avalon, the file-system improvements of WinFS, and the service support of Indigo.

Indigo – The code-name for a set of managed services in the .NET Framework created to support a unified coding structure for applications developed using the services model. In a very-real sense, Indigo makes the SOAP implementation available to all types of services, not just web services and unifies the three main development standards for architecting solutions using the services model, Web Services, .NET Remoting, and Enterprise Services, under one set of managed objects.

WinFS – Vast improvements in the Windows File System that take us closer to being able to view the file system as a relational database. The addition of extensible metadata schema on top of NTFS will allow users to view data in various ways without having to physically reorganize the data. For example, you could view documents by project first, then author, or author first, then project, without having to change the underlying structure of the file system. Currently, with folders, we can only choose one way or the other.

Avalon – The code-name for the next generation of graphics processing engines in Windows which, among many other things, will put much of the graphics processing burden where it belongs, in the GPU (graphics processing unit) rather than using standard CPU cycles. This will allow for vast improvements in application graphics without impacting performance.

Yukon – The code-name for the next generation of SQL Server. Yukon runs in-process with the Common Language Runtime allowing queries to be executed using any CLR language. Yukon also provides support for XQuery allowing procedures to return query results from XML data which was returned as a result of a T-SQL query. Yukon also provides full support for SQL Cache Invalidation.

Whidbey – The code-name for the next generation of the Visual Studio.NET IDE. Whidbey provides developers with the language tools that help create applications that take advantage of the new features of WinFX and aid in the development of applications that utilize the Services Model.

Orpheus – The code-name for the next generation of Visual Studio.NET after Whidbey.

Services Model – The design philosophy in which application tiers are divided into services by functionality. Often, these tiers are divided into Presentation Services, Business Services (Business Logic) and Data Services. Indigo is designed to support the creation and interaction of these services.

SQL Cache Invalidation – The interaction between SQL Server and ASP.NET that allows the database to invalidate HTML stored in the IIS cache when the data that the page is based on becomes stale. This ability exists, using new utilities from Microsoft at a table level from SQL Server versions 7 and 2000 and is available to the row level in SQL Server Yukon.
Tags: | Categories: Event Posted by bsstahl on 11/1/2003 1:08 PM | Comments (0)
Thanks to Microsoft's hosting of a party for all conference attendees at Universal Studios, I haven't yet put together a summary of conference day 3. I hope to summarize days 3 and 4 together and post them by late Friday morning.
Tags: , , , , , | Categories: Event Posted by bsstahl on 10/31/2003 7:24 AM | Comments (0)
The morning sessions of Day 2 were highlighted by drill-downs into Yukon and WinFS. The most impressive demo of the conference so far was done during the WinFS drill-down by Gord Mangione and Tom Rizzo. They used the Information Agents of WinFS to configure their voicemail application so that when a call came in from a client matching specified custom criteria, and the calendar showed that the user was busy, it would respond to the caller with the time the user's calendar next showed him free.

WinFS may finally make good on the decade-old promise of turning the file-system into a relational database. Its metadata features, including extensible schema, appear poised to make the file-system as programmatically accessible as a database server, with many of the same query capabilities including natural language or SQL style queries.

Yukon also appears to be a major improvement in development technology. This next generation of SQL Server provides CLR (Common Language Runtime - AKA, the .NET Framework) in-process to the SQL Server. This will allow developers to separate the application (or system) tiers physically as well as logically, improving performance, scalability, security, maintainability and extensibility. It will also allow queries to be written in any CLR language, provides structured exception handling for those queries (including in T-SQL) and will allow us to build queries that easily integrate data from various sources (including Web Services).

Needless to say, I am rather excited about many of these developments and am looking forward to installing Longhorn and Yukon on development servers when I return to the real world.
Tags: , , , , | Categories: Event Posted by bsstahl on 10/31/2003 5:30 AM | Comments (0)
With the exception of the previously mentioned security problems the remainder of day 2 went quite well. I attended sessions on Web design using ASP.NET Whidbey, the new features in Visual Basic.NET under Whidbey, as well as a talk on using Whidbey to program mobile devices such as Pocket PCs and Smartphones. Some of the most interesting topics from these sessions included the concept of Master Pages, which is similar to a frameset without actually using frames, the new navigation controls provided with Whidbey such as the breadcrumb, sitemap, and menu controls, and the use of SQL Server Cache invalidation to improve the application performance by caching objects without having to worry about those objects becoming stale.

By far the most interesting items were in the Visual Basic features update. The new version of VB that ships with Whidbey will include even more tools to promote code reuse since as “Operators” which will allow us to define how operators such as the plus sign (+) or multiplication sign (*) work with our objects. We will also be able to define both narrowing and widening conversions for our objects which will allow the use of cType with those objects, we will have access to strongly typed collections (i.e. new collection(of myObject)), and will be able to make use of “Generics” which, among many other things, will enable us to create items such as nullable scalars.

I’ll post more from my information overload as time allows!
Tags: , , , , , , , | Categories: Event Posted by bsstahl on 10/30/2003 3:53 AM | Comments (0)

Day 1 of the 2003 PDC was mainly architectural overviews of many of the up-and-coming features of the new Microsoft platforms and tools. The Keynote by Bill Gates and Jim Allchin gave many of us our first look at the new features of Longhorn, the code-name for Microsofts next generation operating system. The three key features of Longhorn that were demonstrated were: Indigo - the tools to implement application architectures built on the services model, WinFS - file system improvments that will allow us to organize and view data in new and innovative ways, and Avalon - the presentation engine that takes advantage of Indigo and WinFS (among other things). More details of this presentation are available here from Microsoft.

Bill Gates Speaks at PDC 2003

Afternoon breakout sessions included an Architectural overview of Whidbey, the code name for the next generation of Visual Studio .NET development tool. I also was lucky enough to see what was possibly the best presentation I have ever seen. This presentation, given by Don Box and entitled "Indigo": Services and the Future of Distributed Applications is a must-see and will hopefully be made available on Microsoft's website. Don related this history of object-oriented development to the current enhancements of the services architecture, and presented key guidelines for developing using this architecture, both now and in the future.

Tomorrow, I intend to look further under the covers of a number of these technologies including Whidbey, Indigo, Avalon, and possibly Yukon, the code-name for the next generation SQL server.