A (re)fresh Start

After a painful hard drive crash in my laptop I finally extended my home network and added a dedicated server machine with a RAID5 disk array to minimize future data loss from hard drive failure. This also allowed me to finally separate the web serving duties from my gaming rig, but it caused a couple of days of downtime for my blog while I was juggling hardware and reassembling and reinstalling the machines. Now everything is done and up and running again. And I think the only people who noticed that the blog was down were probably the comment spammers anyway ;-)

I am running Windows Vista Ultimate 32bit on my file server and Windows Vista Ultimate 64bit on my gaming rig. While this might seem a bit reverse it makes sense for me, since my gaming rig is also used for software development and 3D rendering jobs, and it has 4 GB of RAM as opposed to the 2 GB my file server has. Also, it makes automatic processing of recorded TV shows on my file server easier, as I use the excellent and free DVR-MS Toolbox software to automatically detect commercials for me.

That is also the reason why I am running Windows Vista and not Windows Home Server on my file server, since Windows Home Server is lacking any Media Center functionality which is crucial for me since I am using my file server with my Xbox360 Media Center Extender to play back recorded (commercial-free) HDTV programs.

I called this blog post A fresh Start because I am also getting back to the roots of why I started blogging in the first place. After my first (surprisingly popular) posts about different Subtext configuration scenarios on Windows Vista and IIS7 I fell into the habit of rehashing news from other blogs without adding a lot of value to it. Back in March I wrote a blog post about Upcoming Articles, unfortunately none of which ever got written. The problem was that I wanted to produce more content then I had time for while trying to match (or excel) the quality level of people that get paid to blog all day long.

Now, 9 months later, some of the beta products I wanted to write about such as Windows Home Server and Visual Studio 2008 have been released as final products already, and I better leave it to people such as Paul Thurrott to review and write about them in a more timely manner. I have been working on some of the programming projects I announced back then, but with a full-time job and family & friends I simply haven't had the time yet to bring the results into a format that others can understand and use.

So I am taking a fresh stab at my blog by doing what I did in the beginning: When I hit a problem that I cannot find a solution for on Google and I manage to solve it, I will blog about it. Consider this my mission statement! I had such a case today with my latest blog post about Virtual Server on Vista. If I don't have anything to write about in a couple of months, then I won't talk about things you can find on any other blog already. Most people find my blog through keywords and Google anyway, which means I don't expect anyone to ever hit this post and actually read it :-) It is more of a reminder to myself and a marker in time in case I look back at some point in the future and wonder what I have been thinking about.

Enough said, see you when I solve the next problem!

Configuring a separate Virtual Server Administration Web Site with IIS7 on Windows Vista

I installed the freely available Microsoft Virtual Server 2005 R2 SP1 Enterprise Edition on my Windows Vista machine today and noticed that the setup did not let me add the Administration Web Site for Virtual Server on a different web site than the default web site. Instead the only option was to have it added as a virtual directory to the default web site running on port 80. However, I expose the default web site to the outside world (as a matter of fact I run this blog off that machine), so I did not want to have the virtual directory for my Virtual Server exposed to the outside world as well. Since I couldn't find anything on Ben Armstrong's blog about this I decided to share my findings here.

So what does it take to configure IIS7 on Windows Vista to have the Virtual Server Administration Web Site in a separate web site and a different port? Follow these simple steps:

  1. First of all, make sure you are running one of the supported editions of Windows Vista. Basically the Starter and Home editions don't even let you install IIS7, and Home Premium does not support Windows Authentication, so only the Business, Enterprise, and Ultimate editions have the required features.
  2. Before installing Virtual Server, you need to enable the right options for IIS7 in Control Panel -> Programs and Features -> Turn Windows Features on or off. See this post on Ben Armstrong's blog for details on which options need to be installed.
  3. Execute the Virtual Server installer.
  4. Open the Internet Information Services (IIS) Manager from Administrative Tools.
  5. You will see that a virtual directory called VirtualServer has been added underneath your Default Web Site. Right-click on the parent folder of the Default Web Site called Web Sites and select Add Web Site...
  6. Fill in a name. I used Virtual Server, but you can pick any name you want. You can use the DefaultAppPool with the web site, or you can create a separate app pool if needed. However, since the Virtual Server web site is CGI and not ASP.NET, I believe it does not make much difference either way.
  7. The Physical Path should point to C:\Program Files\Microsoft Virtual Server\WebSite or whichever directory you installed Virtual Server into. Make sure it points to the WebSite subfolder.
  8. Pick a port other than 80, so that the web site cannot be accessed from the outside world. If you want to expose the web site to the outside world, you should still pick a port that cannot be easily guessed by a stranger for security purposes. Even if someone guesses the right port the web site will not be completely exposed, since Windows Authentication will require correct credentials to display the web site. By default, the Virtual Server setup will use port 1024 if it creates a separate web site automatically (presumably on a Windows Server 2003 system).
  9. If you are not exposing the web site to the outside world, simply enter localhost as the Host header, otherwise enter your desired Host header. If you want to access the administration web site from a different computer within your network, make sure to also add a second binding to the actual host name of the machine.
  10. Leave the Start web site immediately checkbox checked and click Ok.
  11. Now click on the web site you just created in the web sites tree so that the configuration icons for the web site appear in the IIS management console. You can ignore the ASP.NET configuration settings, since as I said before already this is not an ASP.NET application.
  12. Open the Authentication configuration settings and disable everything except Windows Authentication.
  13. In Handler Mappings, make sure CGI-exe is enabled. If it is not enabled, right-click on it and select Edit Handler Permissions, then check all permissions, in my case Execute was unchecked and needed to be checked.
  14. Done!
  15. Open a browser and test your configuration by navigating to http://<hostname>:<port>/. If you entered localhost in step 9 and for example port 1234 in step 8, the address would be http://localhost:1234/. The Virtual Server Administration Web Site should come up successfully.
  16. You can now remove the virtual directory that was created by the setup from your default web site.

 

Troubleshooting:

  • If you open the web site in your browser and it offers you the CGI application as a download, you did not enable CGI execution on the web site. Make sure you followed steps 2 and 13 above.
  • If the administration web site comes up but says "Could not connect to Virtual Server. Access Denied. Please contact Virtual Server administrator to set the required permissions to manage Virtual Server.", then you did not enable Windows Authentication. Make sure you followed steps 1 and 12 above.
  • If you get a HTTP 400 Bad Request error in your browser, you probably didn't set up the host header for the web site correctly. Make sure you followed step 9 above.

Visual Studio 2008 Beta 2, Silverlight, Rosario August CTP, and more!

Update 3/8/2007 2:32pm: As promised by Brian Harry they released a VPC image of the Visual Studio Team System Code Name "Rosario" August 2007 CTP! Head over to the download page and give it a try! The white paper mentioned on the download page is available here, and additional documentation for the CTP and the new Team Foundation Server is available here.

It's been a while since I posted something since I was busy working on some of my programming projects (so busy I even left the much anticipated iPhone launch day without a comment), but the recent slew of Microsoft announcements just required an update.

Most notably Visual Studio 2008 (which has lost the Orcas code name since Beta 1) Beta 2 has been released just three months after Beta 1 as ISO images that contain the installer files as well as Virtual PC images for those who want to take a look at it without making changes to their development environments, together with the .NET Framework 3.5 Beta 2 and Silverlight 1.0 Release Candidate. Make sure to look at the samples and documentation in the Silverlight 1.0 SDK RC as well as the Silverlight Tools Alpha for Visual Studio 2008 Beta 2, which integrates Silverlight with VS2008 (yay!). Instead of rehashing all the download links posted on various websites, I'll gladly refer to Brian Harry's blog, where he wrote up a couple of very nice postings on the release of Visual Studio 2008 Beta 2, the download links for all the different versions that are available including Team Foundation Server and Test Load Agent, and the upgrade process and interoperability with other components. Brian also announced that they reached a milestone with Rosario, which is going to be the next version of Visual Studio after Visual Studio 2008.

Along with these announcements Microsoft released the Secure Content Downloader July 2007 CTP, which allows very comfortably the download of everything listed above using a friendly (and secure) Download Manager that might prove more stable and reliable especially if the servers are under heavy load. Also, make sure to check out Rob Caron's Hitchhiker's Guide to Visual Studio 2008 Part I and Part II for some further information on changes between Visual Studio 2005 and 2008. Finally there is the official Visual Studio Team System 2008 Team Foundation Installation Guide document, which will help setting up the new TFS beta for testing.

Rounding off the round up of updates are the Microsoft Expression Blend 2 August Preview as well as Scott Guthrie's First Look at IronRuby, an excellent addition to the IronPython dynamic language implementation based on the Dynamic Language Runtime (DLR).

Enjoy!

7:42 Minutes of your Life well spent

While reading about the TED idea conference I stumbled over this video of a very impressive Microsoft presentation of the Seadragon and Photosynth technologies. Those who have been following the recent Microsoft Surface and Silverlight products might have heard about or looked at Photosynth, but Seadragon is another very impressive imaging technology which deals with quickly navigating, zooming, and panning through vast amount of image data without using a lot of bandwidth.

The video is only 7:42 minutes long and as I wrote in the blog post title time well spent. If it is any indicator of the quality of this presentation, Blaise Aguera y Arcas (the Microsoft presenter) was caught off guard by sudden applause during the presentation and even made a remark that this has never happened since he joined Microsoft…

Enough said, see for yourself!

Microsoft MIX07 Session Videos Direct Download Links

This year's MIX07 conference is loaded with new and unexpected announcements and introductions of new technologies. To satisfy all the people that tried to get tickets but couldn't get into the sold out conference anymore Microsoft recorded all sessions and keynotes on video and made them available on the MIX07 sessions website. They can be viewed online through the Silverlight plugin or downloaded as WMV files for offline viewing. However, probably due to heavy load the website is fairly slow and times out a lot, so I collected the direct download links for the WMV files and listed them below sorted by Track description. There is also a video RSS feed to stay up to date on newly released videos. I will update this posting as new videos are made available. Enjoy!

Update 05/03/2007 11:04am: Added 20 new videos. There are now 62 videos in total!

Update 05/03/2007 1:38pm: It seems that Microsoft is having some problems with the MIX07 session videos website. While the main MIX07 website is still up, the sessions website only returns "Network path not found" right now, and the download links don't work anymore. I noticed yesterday already that the session filter on the website returned duplicate results, maybe they are fixing that, or maybe some harddrive failure caused the outage. I will post another update as soon as it's working again (and hopefully I don't have to update all the links for that)!

Update 05/03/2007 1:43pm: The website and all the links are working again! There are no visible changes to the site and the duplicates bug is still there, so I assume they only had some problems with their storage.

Update 05/03/2007 2:29pm: Added another 20 new videos. There are now 82 videos in total (a whopping 5.30GB if you download all of them)!

Keynotes:

  • KYN001 - Keynote I (and Q&A): Ray Ozzie, Scott Guthrie. Ray Ozzie explains how Software + Services from Microsoft is pushing the envelope of what's possible on the Web today. Scott Guthrie then delivers an in-depth look at the tools and technologies Microsoft has built for Web developers and designers to help them work better together in creating immersive experiences on the Web. This is followed by a Q&A session with Michael Arrington of TechCrunch interviewing Ray and Scott.
  • KYN002 - Keynote II: Robbie Bach.

Business Decision Maker, Developer:

  • BD001 - Amazon Web Services: Building a 'Web-Scale Computing' Architecture: Jeff Barr. Building a reliable, flexible architecture that can manage the unpredictable nature of today's Internet business is challenging. Jeff Barr, Evangelist for Amazon Web Services, will provide the blueprint for 'Web-Scale Computing' - enabling you to utilize Amazon Web Services to build an elastic architecture that can quickly respond to demand. Barr will demonstrate code samples to show you how to build your application on Amazon Web Services' simple APIs. Barr will also showcase real companies who have built their web apps on Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2).
  • BD002 - Partying with PHP (...and the Microsoft Platform): Joe Stagner. Learn how to spice up PHP using the unique features of the Microsoft platform. PHP is the center of attention as you learn to build and run a PHP application on Microsoft Internet Information Services 7, and also mingle with the Microsoft AJAX library.
  • BD003 - Keyword Services Platform (KSP) from Microsoft adCenter: Dylan Huang, Erynn Peterson, Zhaohui Tang. Come learn how the KSP will revolutionize the search industry by allowing advertisers and developers to build KSP applications using public APIs. This session describes KSP and how it works. It also includes partners that will describe the unique power that this tool offers to advertisers.
  • BD004 - Opening up Windows Live Data: Yaron Goland. Data wants to be free! So come to this technical deep dive to learn how you can POST/GET/PUT/DELETE your way into Windows Live. We'll cover how you can ask users for permission to access and then interact with their Windows Live services (e.g. address book, Spaces, etc.).
  • BD005 - Building a Real, Money-Making Business Application Using Microsoft Virtual Earth: Aric Weiker, John Pope, Matt Goyer, Ken Miller, Vineet Joshi, Nahum Rand. Come hear how companies are enhancing their customer experience on the Web using the Microsoft Virtual Earth Map Control. Hear how everyone from startups to Fortune 500s are taking advantage of the feature-rich, enterprise-ready programming interface Virtual Earth provides. The Virtual Earth team and key partners share state-of-the-art examples and business scenarios that go beyond curiosity and drive real business.
  • BD006 - Broaden Your Market with Windows Live: Dave Nicholson, Keiji Kanazawa, Kitty Leung, Paul Elliott. Build a social application based on the Windows Live contacts, presence, and messaging services. Hear how social applications are benefiting from the robust Windows Live ecosystem.
  • BD007 - Search Capabilities for Dynamic Web Content: Jonathan Hawkins. See what you can do to provide fantastic search results for your Web site. See how to integrate search engine support into your site, how to allow crawlers to index your catalog, and how easy it is to do all of this with ASP.NET.
  • BD008 - Making Money with RSS: Walter VonKoch. Learn how to use RSS to engage with your customer and pull them directly into your world. Find out how to create new revenue opportunities by enabling your customers to purchase directly from your site's RSS feeds.

Business Decision Maker:

  • BDM01 - The Emotion of Customer Experience: Lou Carbone. Best-selling author Lou Carbone will change the way you think about customer experience forever. Hear examples of companies bridging the brand canyon' to create on-going emotional connections with their customers. Understand how successful businesses find and manage experience "clues" and differentiate between brand management and experience management. Learn how to make the dynamic shift from making-and-selling to sensing-and-responding. Through illustrations from Fortune 100 clients, Carbone shares how to create and execute a systematic design and delivery of experience clues that will have immense impact on customer value, loyalty, and the bottom line.
  • BDM02 - Starbucks, Windows Presentation Foundation, and StandOut: Remarkable Brand Delivers Remarkable Presentations: Ken Martin, Mike Soucie, Nick Petterssen. Come hear how Starbucks elevates their presentation game using a new and innovative Windows Presentation Foundation (WPF) based presentation application developed by Electric Rain called StandOut Presentation Solution. See how StandOut, with its ground-breaking user interface, was built using Microsoft Expression Blend and WPF to enable design agencies like BLITZ to boost their revenue and service offerings to clients such as Starbucks. BLITZ is helping Starbucks drive bottom line results by building them a rich and engaging cinematic-style presentation template that is editable by StandOut Presenter Edition, keeping the rich design integrity.
  • BDM03 - The Art, Science, and Business of Killer Content Experiences: Kevin Gjerstad. A new wave of Rich, Interactive Content Applications are emerging and are poised to revolutionize the way content is displayed, read and monetized on screen. Hear how various content applications were built and learn about the business goals and usability principles that drove design. Discover how to use the same principles and technologies to create a killer reading experience of your own. A panel of industry insiders, including guests from the New York Times, ad agencies, and design firms, will share their experiences and participate in a Q&A session about creating rich content experiences.
  • BDM04 - Interactive Advertising on the Windows Media Center Platform: Dan Poling, Matthew Rechs, Jason Brush. Come learn about new interactive ad concepts that leverage the power of the Windows Media Center platform to provide an experience that goes well beyond the thirty second video ad and pre-rolls. In this session we cover the ad concepts that are being developed by the Media Center team for the 10ft space and discuss the rationale and assumptions behind them. We take a look at the advertising benefits of this approach which include better measurement, targeting, and increased engagement through interactivity.
  • BDM05 - Using Windows Live Services in Your Own Web Applications: Eddie Dombrower, John Richards, Mike Presz, Scott Swanson. Come learn how to build next generation Web applications that take advantage of Windows Live services. Learn how leading Web sites are using Windows Live to bring more compelling user experiences to market at lower cost and more quickly than ever.

Business Decision Maker, Designer:

  • XB002 - Next Design 3.0, Making Sense of Design Now: GK VanPatter. In the strategic design space, "defuzzing the future" involves helping organizations figure out what their challenges and opportunities actually are and then helping them move forward in human-centered ways. Come see how the new generation of design agencies becomes more involved in complex organizational issues, in the creation of organizations, and in their many innovation-related systems. Learn about the new skills and tools that are needed to transform existing design agencies into organizations that are prepared for new strategic design opportunities.
  • XB003 - ZAP!, WHAM!, KAPOW!: Windows Presentation Foundation and the Next Generation of Online Comic Book Reading: Nathan Dunlap, Robby Ingebretsen. Come see us demonstrate the development of the comic reading experience using the Microsoft Expression suite of design tools. Just as the NY Times Reader project dramatically improves the newspaper reading experience, our Windows Presentation Foundation-based approach to comic reading does the same thing for traditional print-based comic books.
  • XB004 - Creating a Domain Communication Experience on Windows Live: Alan Walsh, Arnold Blinn, Brian Goldstein, Duane J. Schau. Learn how to use Windows Live to create a communication experience on your domain! It begins with registering a domain (e.g., mydomain.com), then adding accounts (e.g., myname@mydomain.com) in that domain. These accounts can be used for Messenger, Spaces, and Hotmail, and are differentiated from @hotmail.com and @msn.com accounts. See how our SDK and Open Membership features allow Web developers to create rich communities and applications that connect people with shared interests. Our current customers include universities, small businesses, affinity groups, social clubs, and families.
  • XB005 - Citius, Altius, Fortius: Windows Presentation Foundation and the 2008 Olympic Games: Yeung Leung, Selina Yang, Laurence Moroney, Yang Jinwen. Come hear how Sohu.com, one of the top Web sites in China, is working with the Beijing 2008 Olympic Organizing Committee to build a "Faster, Higher, Stronger" rich client experience for the 2008 Olympic Games using Windows Presentation Foundation.
  • XB006 - Experience: A Star to Sail Your Ship By: Peter Merholz. Engage in a deep dive on the importance of experience. In this session we cover historical perspective; lay out the evolution of product categories; demonstrate the competitive advantage that experience provides; explain the importance of thinking about your products in a systems fashion; and cap it off with a discussion of Experience Strategy and how it can provide a star to sail your ship by.

Business Decision Maker, Designer, Developer:

  • XBD03 - Web Hosting for Web Designers and Developers: David Kidd, Derek Curtis, Deven Kampenhout. Learn about Windows hosting services and how Service providers meet the needs of the growing designer and developer community by using key products from Microsoft Windows Server. We demonstrate how Windows hosting accounts can scale, be secured, and provide easy access to a broad range of Microsoft tools and technologies. The bottom line is that Windows hosting services allow Developers and Designers to more easily code, deploy, and scale ASP.NET applications.
  • XBD04 - IE7 Past, Present, and Future: Chris Wilson. Hear from Microsoft's Internet Explorer 7 team about the journey from mea culpa to broad market acceptance. Hear what went right, what had to be cut, and how development priorities are set. Also, understand what Microsoft's browser investments mean to you, and make sure you get a voice in shaping the next version of Internet Explorer. Hear about what features and layout issues are being worked on, and let us know what causes you the most problems.
  • XBD05 - Booyah! Designing and Developing Line-of-Business Applications That SIZZLE: Darren Laybourn, Josh Wagoner, Nathan Dunlap. In this session we explore how amping design and taking advantage of data visualization techniques and 3D can make a major impact on usability and ultimately acceptance of line-of-business applications. We follow the Dynamics team's design and development of a next-generation manufacturing production planning tool from vision to eye-popping, jaw-dropping realization in Windows Presentation Foundation. A 3D application that's productive without being gratuitous. Cool!
  • XBD06 - Selling Stuff on the Web in Style with Microsoft Commerce Server: Joe Wasson, Ryan Donovan. See how to create a themed, enterprise ready, e-commerce storefront capable of handling the largest of transactional retail scenarios. Learn how to get the Microsoft Commerce Server 2007 Starter Site running and skinned with Microsoft Expression Web, and how to leverage several underlying capabilities via ASP.NET 2.0. Learn about how to deploy, integrate, and manage the site, and find out what the future holds for the evolution of e-commerce technologies for the Microsoft platform.
  • XBD07 - Enable Windows CardSpace and Information Cards in Your Web Site: Garrett Serack, Mike Jones, Pat Felsted. Do you want to get started with Windows CardSpace, but don't know where to start? CardSpace simplifies and strengthens the authentication experience on the Internet. Whether your Web site runs on ASP.NET, PHP, Java or whatever, you can learn the simple, step-by-step approach to integrating support for information cards in your Web site, with support for Microsoft Internet Explorer 7.0 and FireFox.
  • XBD08 - Lessons Learned: Designer/Developer Productivity in Windows Presentation Foundation: Jonathan Russ, Josh Wagoner. Join the IdentityMine team for an in-depth discussion around lessons learned on Windows Presentation Foundation (WPF) designer/developer workflow and productivity. They look at several real world WPF applications they have built and show you how to help maximize productivity across the entire team from Graphic Designer to Interactive Designer to Developer. Also, get a sneak peek at several of IdentityMine's forthcoming Blendables™ Brand WPF Control products and take the opportunity to participate in an open Q&A session with the team.
  • XBD09 - Building Rich, Interactive E-commerce Applications Using ASP.NET and Silverlight: Mark Townsend, Ori Gershony. Come get a sneak preview of the direction that Microsoft is taking for building Rich Interactive applications. In this session, we focus on e-commerce scenarios enabling developer and designers to create easily extensible and customizable applications that use .NET and Silverlight. See some of the initial concepts currently being developed and find out how you can be part of the community that shapes future extensions to ASP.NET.

Designer:

  • DES01 - A View from the Front: Real World Experiences of WPF and Silverlight: Andy Hood. In this session, Andy Hood, Creative Development Director at AKQA, presents a walk-through of several Windows Presentation Foundation (WPF) and Silverlight projects designed and built by AKQA this year, from concept through to design and development, showing how the new range of Microsoft Expression tools were used to bring these ideas to life, and how designers and developers worked together to achieve great user experiences.
  • NEW! DES02 - Building Rich Web Experience with Silverlight and Microsoft Expression Studio for Designers: Celso Gomes. Whether you're animating 2D objects, simulating 3D environments, or creating broadcast-style video experiences, this session shows you the ins and outs of how to create stunning looking sites and Web experiences with Silverlight and Microsoft Expression Studio.
  • NEW! DES03 - Designing with Microsoft Expression Web: Today and Tomorrow: Boris Feldman, Erik Saltwell. Microsoft Expression Web 1.0 is still hot off the presses. Come and get in-depth tips and tricks on this great standards-based design tool. In addition, get a preview of the direction we're taking as version 2.0 expands its universe beyond HTML, CSS, and JavaScript and puts Silverlight, PHP, and ASP.NET within reach.
  • DES04 - Thinking in CSS: How to Build Great Looking Sites: Molly Holzschlag. Delve into CSS with Molly Holzschlag, and look at the power CSS offers to Web developers and designers. Hear Molly's secrets about how to build stunning sites quickly and easily.
  • DES05 - Design in Motion: Video Production Workflow: Ben Waggoner. Creating high quality video is a combination of art and science. Learn the tips from the pros on how to optimize video compression to deliver the best quality at the smallest sizes with Expression Media Encoder, a feature of Microsoft Expression Media.
  • DES07 - Design Rich Client Experiences with Expression Blend and WPF: Celso Gomes, Christian Schormann. Discover Expression Blend and create compelling UX for the Windows client: Draw and animate with vector and bitmap graphics, and add media and 3D. Create interfaces using standard or custom controls and rich layout. Use templates to get the look you want and bind to data for visualization and interactivity.

Developer:

  • DEV02 - Just Glue It! Ruby and the DLR in Silverlight: Jim Hugunin, John Lam. The web was built using dynamic languages. Their plain-text format made it easy to mash up scripts to create the next great app. Similarly, dynamic languages will find a home in Silverlight applications where plain-text formats are common. Silverlight can be easily deployed, which means that a wider range of dynamic languages will be used in building browser-hosted applications. In this demo-centric talk, you will see this happen before your eyes as we rapidly create an application by combining code and markup from existing samples in Ruby, Python, JavaScript, and Visual Basic. This unprecedented level of integration is possible since all of these languages are implemented on top of the new Dynamic Language Runtime (DLR).
  • DEV03 - Navigating the Programmable Web: Don Box, Steve Maine. RSS. ATOM. JSON. POX. REST. WS-*. What are all these terms, and how do they impact the daily life of a developer trying to navigate today's programmable Web? Join us as we explore how to consume and create Web services using a variety of different formats and protocols. Using popular services (Flickr, GData, and Amazon S3) as case studies, we look at what it takes to program against these services using the Microsoft platform today and how that will change in the future.
  • DEV04 - Using LINQ to Dramatically Improve Data Driven Development in Web Applications: Anders Hejlsberg. Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. Anders Hejlsberg, Microsoft Technical Fellow and Chief Architect for Microsoft Visual C# and LINQ, will explain how LINQ (Language Integrated Query) unifies these programming models and dramatically improves the experience of creating data intensive Web applications. Anders promises to have few slides and lots of live code demos!
  • DEV05 - Developing ASP.NET AJAX Controls with Silverlight: Nikhil Kothari. This session demonstrates how you can build a new generation of ASP.NET AJAX controls (server and client-side components) that leverage Silverlight to go beyond HTML to enable a new class of compelling user experiences and scenarios. These server controls represent a powerful paradigm that you can leverage to incrementally enrich your ASP.NET applications while preserving a familiar control-based programming model. Silverlight is a cross-platform technology that brings new user interface capabilities such as vector graphics, media, animations and XAML. This talk shows how Silverlight fits naturally into the AJAX development model.
  • NEW! DEV06 - Internet Sites with Microsoft Office SharePoint Server 2007: Tyler Butler. Come learn about the Microsoft Office SharePoint Server enhancements that enable Internet-facing applications and how to take advantage of the content management and site publishing capabilities it offers. We take you from out-of-the-box functionality to custom-developed extensibility options.
  • DEV07 - Building Silverlight Applications Using .NET (Part 2 of 2): Jamie Cool, Nick Kramer. This session demonstrates building a rich interactive application (RIA) using Silverlight. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, znc how to manipulate data with XML and LINQ. (This is the second in a two-part series.)
  • DEV08 - Go Deep with AJAX: Jeff Prosise, Matt Gibbs. Go below the surface of ASP.NET AJAX and see how the Microsoft AJAX Library and the ASP.NET AJAX server controls come together to create a rich platform for developing more immersive, responsive and interactive Web applications. Learn about how ASP.NET AJAX uses JSON serialization and the JavaScript proxies that are created for accessing Web services. The Microsoft AJAX Library provides an asynchronous request lifecycle; learn tips for working with the UpdatePanel control and ways to deploy scripts for greater performance.
  • DEV09 - Building Web-Based Line-of-Business Applications on the Microsoft Dynamics Live CRM Platform: Ben Riga, Dave Porter, Jason Hunt. In this session, we explore how developing applications on the Microsoft Dynamics Live CRM platform can speed up delivery of applications in the cloud. We look at the basics of the Microsoft Dynamics CRM platform and delve into how that extends into the cloud in hosted environments or on the Microsoft hosted Dynamics Live CRM. Finally we look at real-life customer scenarios of loosely coupled systems that extend Microsoft CRM or connect with Microsoft CRM over the cloud.
  • DEV10 - Extending the Browser Programming Model with Silverlight: Stefan Schackow. Learn how to extend your Web applications with Silverlight.
  • NEW! DEV11 - Building Rich Web Experiences Using Silverlight and JavaScript for Developers: Joe Stegman. Windows Presentation Foundation 'Everywhere' (codename) is Microsoft's solution for delivering rich, cross-platform interactive experiences for the Web and beyond. WPF/E will enable the creation of rich, visually stunning and interactive content and applications that run on multiple browsers and operating systems. In this session, learn more about the benefits of WPF/E from a developer perspective and get an introduction to building WPF/E applications using JavaScript and Microsoft developer and designer tools.
  • DEV12 - The Megasite: Infrastructure for Internet Scale: Aber Whitcomb, Allen Hurff, Jim Benedetto. Come hear MySpace share its experiences using Microsoft technologies to run Web applications for the most visited site on the Web. MySpace discusses its best practices for a massively scalable, federated application environment, and how it matured its deployment processes. An open Q&A session lets you pick the brains of engineers from both MySpace and Microsoft.com.
  • NEW! DEV13 - Creating and Delivering Rich Media and Video on the Web with Silverlight, Microsoft Expression Studio, and Windows Server Codename "Longhorn": Brad Abrams, Chris Knowlton, James Clarke. Customer demands for richer UX, multi-platform support, and higher quality video are continually factors in cost of delivery. Learn how you can use Silverlight, Microsoft Expression Studio, ASP.NET and new features for Windows Server codename "Longhorn", separately or together to improve the end-user experience, reduce the cost of video and rich media delivery, and provide monetization opportunities for companies of all sizes. This session is intended for anyone involved in the creation, management, and experience of digital media on the Web.
  • DEV14 - Using Visual Studio Codename "Orcas" to Design and Develop Rich AJAX Enabled Web Sites: Omar Khan. See how Microsoft Visual Studio codename "Orcas" takes Web development to the next level. See a demo-filled tour of all improvements in Visual Studio around ASP.NET and AJAX development. Topics covered include a new standards-based design surface for XHTML and CSS, Intellisense for JavaScript, tools for ASP.NET AJAX, and more.
  • DEV15 - How to Make AJAX Applications Scream on the Client: Cyra Richardson. What can you do about slow AJAX applications? Take a deep technical dive into optimizing your Web code to run faster and more efficiently.
  • DEV16 - Deep Dive on Data Driven Experiences: Aaron Dunnington, Tim Scudder. Come learn how technologies like Silverlight, Language INtegrated Query (LINQ), and SQL Server 2005 can help developers build impactful, dynamic applications that reach the broadest possible audience.
  • DEV17 - Front-Ending the Web with Microsoft Office: Rob Barker. Come learn how to make your Web service instantly recognizable to over 400 million people worldwide. Hear how Microsoft Office has evolved to provide for developers to extend the world's most widely used productivity suite with services from the Web.
  • DEV18 - Rapidly Building Data Driven Web Pages with Dynamic ADO.NET: Samuel Druker, Shyam Pather. Come learn about how new technologies from Microsoft bring together the concepts of dynamic languages and ADO.NET and allow you to quickly develop data driven Web pages using ASP.NET dynamic data controls, scalable to even the most complex databases.
  • DEV19 - High-Speed Development with the AJAX Control Toolkit: David Anson, Shawn Burke. The ASP.NET AJAX Control Toolkit is a set of controls and extenders designed to help ASP.NET developers easily integrate rich client UI features into their Web applications. As a community effort, the toolkit contains controls written by Microsoft and non-Microsoft developers who have joined forces to create a powerful, shared-source library for all to use. Learn how to speed up your development by integrating toolkit components into your applications.
  • DEV20 - Developing Data Driven Applications Using the New Dynamic Data Controls in ASP.NET: Mahesh Prakriya, Polita Paulus. ASP.NET dynamic data controls are part of a powerful, rich new framework that lets you create data driven ASP.NET applications extremely easily. ASP.NET dynamic data controls do this by automatically discovering the schema at runtime, deriving behavior from the database and finally creating an ASP.NET page. Anything that can be inferred from the schema works with almost no user effort. If needed, the page can be further customized either by using static languages such as Microsoft Visual C# or Visual Basic .NET, or dynamic languages such as IronPython, Visual Basic, JScript, etc. In this talk, we show you how to build rich, database driven Web applications from scratch, such as TaskList along with other demos.
  • DEV21 - Developing with Windows Live Spaces: John Bruno. Learn how you can add Microsoft Web Gadgets to Windows Live Spaces, which launched as a blogging service two years ago and has grown into a social networking platform with over 100 million users worldwide. Discover how you can create and distribute your own gadgets, unlock the power of SpacesAPI, and learn how to mashup your Spaces data via RSS, BlogIt, MetaWeblog, and more.
  • DEV22 - Building Silverlight Applications Using .NET (Part 1 of 2): Jamie Cool. This session demonstrates building a rich interactive application (RIA) using Silverlight. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, and how to manipulate data with XML and LINQ. (This is the first in a two-part series.)
  • NEW! DEV23 - IIS7 for Developers: Bill Staples. IIS7 is the most flexible, extensible and customizable Web server on the planet. This session presents a tour of IIS7 and demonstrates the many benefits it offers developers. Learn about the end-to-end extensibility model in IIS7, which was used by the IIS product team to build all of the features in IIS7. We’ll also show off the new distributed configuration system and show how easy it is to deploy applications, including IIS configuration through simple XCopy deployment. This session also covers the improved support in IIS7 for common web programming languages like PHP as well as how to do Server-side Mash-up applications using the best of PHP and ASP.NET.

Designer, Developer:

  • XD001 - Deep Dive on Silverlight Media Integration: Mike Harsh. This session provides an in-depth review of the media functionality available in Silverlight and covers media features, formats supported by Silverlight, high definition video playback, closed captioning, and much more. This session leverages Microsoft Expression Media Encoder, Microsoft Internet Information Services and Windows Media Services to create compelling user scenarios.
  • XD002 - The 30 Minute Social Application: Danny Thorpe, David Cruickshank, Koji Kato, Lynn Ayres, Rex Sorgatz, Mark O'Farrell. Many controls are being developed to open up Windows Live to developers. Come see how you can start using Windows Live services today.
  • NEW! XD003 - AJAX Patterns with ASP.NET: Nikhil Kothari. This session takes a deeper look at the AJAX paradigm by discussing key development patterns. It demonstrates implementing them using a combination of out-of-the-box features and as well as features built by leveraging the extensibility of the platform. Patterns covered range from fundamentals such as networking, search optimization, navigation, and unobtrusive script attachment to user interface usability techniques such as visual notifications, and customization. The demonstrations are illustrated in the context of a simple scenario, but are designed to be applied directly to real-world applications.
  • XD004 - Designing with AJAX: Yahoo! Pattern Library: Bill Scott. With the recent rise in popularity of AJAX, we now have the opportunity to more closely model the real flow of the user. This presents a radical change to the designer paradigm-designers create in "chunks" while users think in "flows". Come explore interaction styles and design principles that can inform future design projects. Come see a set of common design patterns that are currently in vogue and examples that illustrate good design choices and bad design choices.
  • XD005 - Developing for Microsoft Office Live: Don Campbell, Rohit Puri. Come find out how to build and deliver your solutions to Small Businesses via Microsoft Office Live. Learn how Office Live uses a combination of software and services to provide the Web presence, business task automation, and collaboration capabilities that until now, only large enterprises could take advantage of. Find out how building on top of Office Live makes your solution more accessible to small businesses, and more profitable to you!
  • XD006 - Accessing Data Services in the Cloud: Pablo Castro. Come learn about new Microsoft technologies that enable you to make your data available over the Web through a simple REST interface and using open formats such as plan XML, JSON or even RDF. We also discuss the underlying entity framework that makes it easy to model, publish, and program against your data over the Web.
  • NEW! XD007 - Yahoo! on Microsoft .NET 3.0 and Microsoft Expression: Eric Burke, Josh Jacobson. Come see and hear about the amazing experiences Yahoo! has built using Microsoft .NET 3.0 and Microsoft Expression.
  • XD008 - Getting UNSTUCK: Merging Design and Development in a 2.0 World: Kelly Goto, Kristian Bengtsson. If your company is mired in the goo and muck of old-school thinking, throw out your old processes and start collaborating in an agile and innovative way. Talk with workflow veteran and user experience strategist Kelly Goto and creative director of Swedish's strategic communication agency FutureLab, Kristian Bengtsson, about new approaches. Explore how to be courageous, radical and innovative to erase the hard line between front and back design and development teams.
  • XD009 - Windows Presentation Foundation for Developers - Part 2: Kevin Moore, Rob Relyea. Windows Presentation Foundation (WPF) is a paradigm-shifting framework for building rich Windows applications. Learn how to build an application with seamless deployment, rich user experience, great printing, and the ultimate in information visualization. Walk away understanding the fundamentals of the XAML markup and programming model: layout, controls, documents, media, 2d, 3d, data binding, styling and templating. (This is the second in a two-part series.)
  • XD010 - Family.Show: I See Dead People, with Windows Presentation Foundation: Scott Stanfield. For a hobby that revolves around dead people, genealogy is remarkably popular: it's the fastest-growing scene in North America. And a perfect study for Vertigo's next Windows Presentation Foundation (WPF) reference application for Microsoft. Our designers employed every trick in the WPF book (styles, resources, templates, data binding, animation, transforms) to present an innovative visualization of the classic family tree, freeing our developers to concentrate on behind-the-scenes features like XPS, printing, PInvoke wrapper for Windows Vista common dialogs, and Click-Once for WPF. See all of this with hands-on demos and our top-10 list of stuff to know about WPF and Microsoft Expression Blend. And, unlike the real-world case studies, you get the source code.
  • XD011 - Windows Presentation Foundation for Developers - Part 1: Kevin Moore, Rob Relyea. Windows Presentation Foundation (WPF) is a paradigm-shifting framework for building rich Windows applications. Learn how to build an application with seamless deployment, rich user experience, great printing, and the ultimate in information visualization. Walk away understanding the fundamentals of the XAML markup and programming model: layout, controls, documents, media, 2d, 3d, data binding, styling and templating. (This is the first in a two-part series.)
  • XD012 - Windows Presentation Foundation in Real World Development: Eric Burke, Kalani Kordus, Lee Brimelow, Mark Ligameri. Join frog design, Microsoft, and Yahoo! in a discussion and demonstration of the tools and technologies used in the development of the new Yahoo! Messenger. We touch on everything from Microsoft Expression Blend and Microsoft Visual Studio to Photoshop and Cinema 4D.
  • XD013 - Using the Desktop and Web to Power Ultimate User Experience Applications: Eric Hoffman, Michael Bott, Richard Landsman, Roy Ben-Yoseph. Today's web properties aim to differentiate themselves from their competition by offering dramatically better user experiences to their customers. These new web experiences include improved interactivity, integrated media and easy access to ever-increasing varieties of content. Add the convergence widespread broadband and you'll see that content-rich web properties can now strive for the best of all worlds: an opportunity to offer an ultimate user experience application, powered by web. Attend this session to hear how AOL is deploying Windows Presentation Foundation, Silverlight, Gadgets and their Web properties to enhance the experience for their users across AOL content.
  • XD014 - Ink for Designers and Developers: Sam Geroge. Imagine if your users could add handwritten annotations over online photos, greeting cards or video (including live playback of your handwriting). Learn how to use Ink to take your Web sites to new heights of interactivity, personalization, social interaction, and usability. Learn the key design principles for Ink, and see how to code for Ink in the browser and on the server.

Panels:

  • NEW! PAN01 - PANEL DISCUSSION: Great User Experiences for Ad-Supported Content: Carol Kruse, David Watson, Lance Thornswood, Matthew Rechs. Advertising and sponsorships pay for most of the media we get for free: television, radio, and on-line news. Different types of ads have different impacts on the user experience. Learn how to make design decisions that enable you to create high-impact ads without sacrificing a high-quality user experience.
  • NEW! PAN02 - PANEL DISCUSSION: Scrubbing Your AJAX: Daniel Egan, Dennis Hurst, Joshua J. Pennell, Scott Isaacs. Learn how AJAX is being used for good and evil. See where to find vulnerabilities (hint: not just in the code). Discuss methods others are using to overcome challenges and methods for securing AJAX-based applications.
  • NEW! PAN03 - PANEL DISCUSSION: Digital Identity and the Psychology of Security: Kaliya Hamlin, Kim Cameron, Laurie Rae, Marc Canter, Scott Kveton. Identity is our most valuable possession, but a missing layer on the Internet today. Discuss how others are working to reduce the episodes of theft and deception that will cumulatively erode public trust in the Internet.
  • NEW! PAN04 - PANEL DISCUSSION: Beyond the Reader: Improving the Online Media Experience: Alex Horovitz, Filipe Fortes, Roger Black. Is it really possible to make online narrative content glamorous? Smart designers are complementing their traditional strengths in branding and narrative with technologies such as WPF to create highly flexible, readable and vibrant online media products. See how designer-delivered digital media can work on-and-off-line, in-and-outside the browser. Envision next year's portal digital world and how can you become part of it. For producers of newspapers, magazines, and TV content, this is the next Web.
  • NEW! PAN05 - PANEL DISCUSSION: Open Source Applications Using the .NET Platform: Andi Gutmans, Miguel de Icaza, Rob Conery, Sam Ramji, W. Hurley. What are the secrets of successfully co-mingling x-platforms and browsers? Talk to platform veterans and share your Microsoft/OSS interoperability tips and tricks.
  • NEW! PAN06 - PANEL DISCUSSION: Designing the Perfect Podcast Player: Dave Winer. No one makes it now but podcast listeners know what they want. Join Dave and Jon in a solidly spirited and productive discussion.
  • NEW! PAN07 - PANEL DISCUSSION: Can't ASP.NET and PHP Just Get Along? Bill Staples, Jesse Liberty, Joe Stagner, Wez Furlong. How do you make two great technologies go superbly together? Join a spirited yet friendly discussion on PHP and ASP.NET interoperability.
  • NEW! PAN08 - PANEL DISCUSSION: There Is No Free Lunch: Andrew Rashbass, Diane McDade, Marc Hedlund, Trevor Hughes. Advertising supported content and services on the Internet are now taken for granted by most consumers, and marketers have become increasing aggressive in collecting anonymous, and private information from consumers to target more lucrative ads. What should an advertising based business on the Web be looking for in the privacy policies of its advertising partners? How can privacy be used as a competitive advantage? Join our panel of industry experts as we discuss the privacy implications of marketing data collection, and where the line between privacy and monetization should be drawn.
  • NEW! PAN11 - PANEL DISCUSSION: Services on the Web: Build or Buy: Aric Weiker, Don MacAskill, George Moore, Jeff Barr, Matt Goyer. When does it make sense to buy vs build services such as mapping, targeting and reach/frequency control? Join a discussion with companies who have been there and can share their experiences: large companies who chose to add infrastructure over time and new companies starting in the current environment.
  • NEW! PAN12 - PANEL DISCUSSION: Getting Unstuck: Enhancing Designer and Developer Collaboration for Mutual Success: Chris Messina, Kelly Goto, Kristian Bengtsson, Luke Wroblewski. Is your team mired in the goo and muck of old-school thinking? Are your designers and developers divided on their approach and about to throw in the towel? Are you dieing to move to a more agile, innovative approach? Attend the session, then participate in this panel discussion with formerly stuck experts.
  • NEW! PAN13 - PANEL DISCUSSION: Culture, Design, Business, and Technology: What? So What? Now What? Aaron Marcus, Kelly Goto, Royce Lee. How do you make it easy to look bigger and more global than you are? How do you create a maintainable yet personal experience for users around the world? Hear about practices and the trade-offs multi-national companies make to incorporate cultural diversity in user interface design. Talk with companies who touch the global masses successfully every day on incorporating culture to bring results within business, technology, and design groups.
  • NEW! PAN15 - PANEL DISCUSSION: Social Networking: Enabling the Two-Way Street: Aaron Emigh, Dave Morin, Evan Williams, Marc Canter, Mike Walsh. Web applications with a social context are here to stay. Are underlying Social Networks a business or feature? How can they be used to enhance bi-directional communication? Join a rich discussion on the impact of social applications and how best to use them as part of your business.

Visual Studio Code Name "Orcas" Beta 1 Released

It seems like Microsoft is finally getting a handle on meeting their own timelines, or in this case even beating the previously announced "late April to early May" timeframe for the release of Beta 1 of the next version of Visual Studio. As of now only the Virtual PC version is available, meaning that you can download a whole VPC image that has the Orcas Beta 1 installed on Windows XP for easy testing without having to install the components on your own development machine. Within the next couple of days they will most likely also release the installation package version like they did for the March 2007 CTP. You can get the VPC version of Beta 1 here, and if you don't have the latest Virtual PC 2007 yet, you can download that here. On the official Visual Studio Orcas Download website there is also a link for a VPC image with Team Foundation Server included, but at the time of writing this blog entry the link did not work yet.

Update 4/19/2007: The TFS version download link is working now. Also, check out Soma's interview with Channel9 on the release of Orcas Beta 1.

Update 4/30/2007: In related news Microsoft just released a stand-alone version of the .NET Framework 3.5 Beta 1, so if you are interested in only the new features without having a full-blown Visual Studio Orcas underneath, you can get the 2.9MB download right here.

Once the download completes I will finally make good on my promise of writing up a review of Orcas and provide some snazzy screenshots of new features! Stay tuned for updates!

And the award for worst product name of the year goes to...

...Microsoft for the official product name for a sub-set of WPF technology previously known under the code name WPF/E: Silverlight. Sure, it's a catchier name than WPF/E (for non-geeks), but I seriously wonder if it will help to turn it into the Flash killer it wants to be. You can read more on Soma's Blog about the announcement they made at the NAB conference in Las Vegas, and you can also check out my previous post on the early preview versions of WPF/E. Other tech blogs will have similar announcements over the next couple of days, but Brad Abrams from the Microsoft .NET Ajax team and Nikhil Kothari both posted their first comments already. The otherwise boring Silverlight website has one nice section in form of a collection of blogs that cover the technology behind Silverlight.

Update 4/30/2007: Today at Mix07 some Silverlight related downloads and technologies were announced (read here and here for details). Hit the links for details:

Upcoming Articles

As a naturally geeky person I am interested in a lot of different technologies, which I have spent a decent amount of my spare time on. Enough time that I feel I should write down some of my experiences, so maybe somebody else will be able to do the same in less time. Since the list of things I want to write about seems to get longer and longer, I decided to start by writing down that list. In a way this post will serve as a table of contents for articles I am going to write, and I will link each item in the list to the respective article after it has been written. That being said, I might write other posts not in this list, and I probably won't go back and update this post with new articles, either. It's more like a snapshot of ideas that are in my head right now and which I don't want to forget.

The posts I want to write can be split into two sections:

Various technologies. This is anything that has to do with using software or setting something up, configuration, etc.

  • From TV to TV Part 1: Recording HDTV with Windows Vista MCE
  • From TV to TV Part 2: Converting DVR-MS video streams into MPG, WMV, XviD, x264 etc.
  • From TV to TV Part 3: Tools, Converters, Comparisons
  • Microsoft Windows Home Server Beta Testing
  • Visual Studio Code Name "Orcas" March 2007 CTP Review
  • Online Polls: A Comparison *

Programming: Different projects I've been working on or wanted to work on.

  • Developing an Outlook 2007 plugin: Duplicate Email Finder
  • Developing a Windows Vista sidebar gadget: Yet another Weather Gadget
  • Developing an ASP.NET application with AJAX Extensions: My Download Section
  • Developing a .NET 3.0 application with the Flickr API: Managr
  • Developing a Framework: Board-based Puzzle Framework
  • Developing a Visual Studio 2005 plugin
  • Developing user controls for Subtext: Flickr, Technorati, Google Ads

 * I actually thought it would be neat to add an online poll here to see if anybody out there had a preference on what I should write about first, but when I started looking for a suitable online poll engine I could not decide which one I should use, and I also could not find a good article that compared the available choices, so I thought I'll just start with that comparison myself!

The Irony of Downtime

I've been wanting to write a couple of new articles for my blog for a while now, and this one was not supposed to be one of them, especially not the first. However, certain events call for certain actions, and this is one of those times I guess.

Let me begin by explaining the title of this post: A couple of weeks ago I upgraded my server machine with new hardware. There was not a single second downtime while I was doing the upgrade, since I had moved the blog temporarily over to my laptop (and I don't think anybody noticed a difference in performance). After the upgrade was done I moved the blog back (the actual operation was updating the database to reflect recent visits and comments, since there were no code changes and no new posts) and everything was fine. Then, however, something happened which does not happen very often, for whatever reason (I'm still not sure why) I got a new IP from my ISP without noticing it, and then for the last 11 days or so my A entry was pointing to the old IP which didn't work anymore. Since I've been getting around 20 hits per day (on a good day even two or three times as many) that means that a few people must have noticed the blog was gone, and I know from my own experience how annoying it can be to follow a link which does not work anymore. Sorry to anyone who falls into that group of people and who is reading this now! The fact that even during my hardware upgrade I moved the blog over to my laptop shows that I am actually trying to keep the blog online under any circumstances.

This unfortunate experience brought up two thoughts/questions again:

  1. Hosting the blog on my own server vs. a hosted solution: When I set up this blog I didn't know if anyone would actually be reading it, but thanks to Phil Haack my posts about running and debugging Subtext on Windows Vista and IIS7 have received some attention (which is one of the reasons why I have been meaning to follow up with a couple of additional articles), which showed to me that the initial intent for creating this blog was absolutely spot on. With a growing number of readers I guess it would make sense to move to a hosted solution at some point, so that annoying problems like this IP change don't come up again. However, my decision to run the blog on my own server was made simply because of the unique enviroment I have been able to work on, which is the relatively fresh Windows Vista operating system and the latest version of IIS which runs on it. I have not looked around yet to see if there are hosting providers which offer IIS7 hosting, but I'm sure by now there are some. IIS7 is not the only reason, though. I also wanted the blog to be only one part of my web site (and I admit as of now it is still the only part there is), and then add other things such as a download section for code examples and little tools and utitilies I have written, so using my own server seemed easier. At some point I might decide to just move the blog to a hosted server and leave other experimental things on my own server, that might be a good compromise. If anyone knows of a good, fast, and cheap ASP.NET 2.0 hosting provider (SQL Server 2005 and AJAX Extensions would be awesome, too), please comment on this post and let me know!
  2. Finding a solution for the actual problem: So far I have not explained why this whole thing happened in the first place. Well, I am running my server on a Comcast Cable Modem line which does not have a static IP. However, since I got the internet connection (almost two years ago) I have had only a handful of IP changes, and all of them without exception have been related to changes I did in my network or TV setup and which required a restart of the cable modem. If I don't do anything, neither does Comcast, and I can run with the same IP for months. Basically I've been treating it like a static IP, thinking that I know when it changes and what to do when it does. Obviously this assumption has been proven wrong by the fact that I got a new IP without noticing it, so I've been thinking about possible solutions:
    1. Instead of directly pointing my A entry to my IP address, I could use a service such as DynDns to make sure that even on those rare occasions when the IP changes everything keeps working fine. I actually tried this approach in the very beginning, but with very unsatisfying results. Maybe someone else can explain to me if there is a way to configure a GoDaddy domain to forward to another IP without actually exposing that IP? What I mean is the following scenario: Let's say my DynDns hostname is needforgeek.dyndns.org. Now if I set up my needforgeek.com to forward to that name, entering http://blog.needforgeek.com will do the right thing and find the blog, but your browser address bar will say http://blog.needforgeek.dyndns.org at that point. I don't want that. I want it to always say needforgeek.com, especially if other people link to posts I need it to work correctly, and also for Google caching and other search engines I want it to be stored with the right domain name. As of now I have not been able to figure out a better way than to point my A entry directly to my IP. If you know how to do this, feel free to leave a comment!
    2. I've been thinking about a good way to programmatically update the A entry if my IP changes. Granted, this will still lead to a 2 (best case) to 48 hour (worst case) gap in which the blog won't be reachable, but that still sounds much better than 11 days (which by the way I did not notice earlier because of sickness and work and the fact that I hadn't written a post in a while). Unfortunately GoDaddy does not seem to offer an API to do something like that (which would be really sweet), instead they have this hack they call web portal for configuration. I call it a hack because you can see how it switches between an ASP.NET and a PHP application as you move through the different configuration pages. That is not very consistent, and I can only wonder why they would do something like that. I hope at some point it will all be within the same web application. So my only way to do it is by using frameworks such as NUnitAsp to execute the necessary buttons clicks and field entries automatically. NUnit is actually a test framework, but it simulates user actions such as entering a username and password and clicking a button, so that should actually get me pretty far. It would be nice to know if something like this exists already, then I wouldn't have to write it, but so far Google did not bring up anything useful in that direction.
    3. A different approach but in the same direction as the second bullet point would be a little tool that notifies me if my IP changes. That is actually very easy to do, so easy that I am tempted to do it as a Windows Vista Sidebar Gadget, since I've been meaning to write an article on that topic anyway.

This has become a pretty long post, not sure if anyone is interested in that much detail :-) Anyway, I'll try to make sure this does not happen again, and follow up in a while with the solution I have decided on!

Update (2007-02-24): I just had another downtime of a couple of hours, this time my router somehow decided not to let any traffic through anymore. This has never happened before, nonetheless it convinced me that I should find some cheap hosted space for this blog to prevent any further "never-happened-before" events from ocurring. I'll give another update once I found a good hosting provider and moved the blog over.

Update 2 (2007-03-06): And another downtime, I simply lost connectivity and had to restart the cable modem, and then subsequently update the A entry with my new IP, which took another couple of hours to update. These random outages are quite annoying and I really need to move the blog to a more reliable server soon!

Visual Studio 2005 Service Pack 1 available now

As expected (wait a second, does that mean Microsoft actually stuck to the announced release schedule? I guess they did...) the first Service Pack for Visual Studio 2005 was released at the end of last week. From the Visual Studio Developer Center web site you can get to the download links for the different Visual Studio Editions (including Express) as well as the Service Pack for Team Foundation Server (TFS) which was released at the same time.

Update: While trying to find more information on the actual bugs that have been fixed in the Service Pack I stumbled over Leslie Giblett's blog post, which provides details on bug fixes for the IDE, the Compiler Back End and Front End, as well as for the Libraries.

Update 2: A more recent and official knowledge base article with bug fixes for Service Pack 1 has been released as well as the Service Pack 1 Update Beta for Windows Vista.

For Windows Vista users there will be a separate service pack to address certain compatibility issues with Visual Studio 2005, and a beta version for that update will be made available over the next couple of days. The final version of the update is expected shortly after the consumer launch of Windows Vista at the end of January 2007.

Note 1: The service pack also includes an update for the Microsoft Visual Studio 2005 Tools for the Microsoft Office System (which you can install separately or might have installed as part of Visual Studio Team Suite or Developer Edition). This portion of the service pack will alert you to uninstall the Microsoft Visual Studio 2005 Web Application Projects hot fix if it is installed. The Web Application Project update was available as a separate hot fix for Visual Studio 2005 and is not automatically uninstalled or updated by the service pack, it has to be uninstalled manually. Unfortunately, since the service pack for Tools for Office is separate from the service pack for Visual Studio 2005 even with a failure it will continue and launch the installer for the Visual Studio service pack. I canceled that and uninstalled the Web Application Project hot fix first before running the installer again.

Note 2: When trying to install the Service Pack I got the following message: "Error 1718. File <tempfile> did not pass the digital signature check. For more information about a possible resolution for this problem, see http://go.microsoft.com/fwlink/?LinkId=73863." The knowledge base says it has something to do with not enough memory being available to verify the MSI installer package. If you are affected by this, follow the link to see instructions for a workaround. The workaround did not work for me, but re-downloading the 430 MB Service Pack worked. Other things I did was close out all programs and disable any virus scanner during the installation.

Note 3: The installation takes really long with very little feedback! The installation screen would sit there saying "0 seconds remaining" for 15 minutes without any visible action, but eventually it will continue. Also, since the update for Tools for Office is a separate upgrade, there will be two prompts, one to tell you that the update installed successfully, and one to kick off the update for Visual Studio 2005 (therefore letting the update run unattended is only possible if you check in between updates). The Tools for Office update took about 15 minutes on my system (with no other programs running!), the second one another 30 minutes.

Considering the size and time it takes to install the service pack it would probably be a good idea to follow Heath Stewart's instructions on Slipstreaming Visual Studio 2005 Service Pack 1 so that future installations of Visual Studio automatically include the service pack.

«July»
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
www.flickr.com
This is a Flickr badge showing public photos from Sertelegger. Make your own badge here.