Tuesday, June 29, 2004

Visual Studio 2005 Beta 1 Released

Visual Studio 2005 has been released. The redistributable .NET Framework 2.0 Beta 1 has also been released. Microsoft are also releasing betas of what they call "Express" versions of Visual Studio (you can download them from that link). I'm assuming these Express versions are going to be released free of charge, or at least very cheaply.

Monday, June 28, 2004

Project Looking Glass

Sun Microsystems are open-sourcing their next-generation Linux desktop called Project Looking Glass. For screenshots of this 3D UI look here.

Introducing Avalon 3D

LonghornKerry Hammit, Program Manager on the Longhorn Avalon team, introduces the new 3D features in the WinHEC build of Longhorn. View video at 56K, 150K or 300K.

Saturday, June 26, 2004

Microsoft TechEd 2004

TechEd 2004 highlights:
  • Managing the Software Lifecycle with Visual Studio 2005
    Speaker: Rick LaPlante
    In today's business climate, companies are under increased pressure to save resources by better managing how applications are designed, developed, tested, and deployed. In Visual Studio 2005, Microsoft and its partners will offer advanced application lifecycle management tools and processes that will assist organizations in delivering their solutions on time and under budget. In this general session, you will get the first-ever glimpse of Microsoft's new enterprise tools and see how Visual Studio 2005 combines its historic leadership in developer productivity with a focus on tight integration, to deliver new products that will forever change the way you write software.
  • Visual C++ 2005: The Language of Choice for Native and .NET
    Speaker: Herb Sutter
    Visual C++ 2005 introduces an improved C++ language design for taking advantage of the .NET Framework without leaving behind any native features. Hear from the lead architect of the new language design and see how it brings C++ language strengths like deterministic finalization and templates to .NET development and why that matters for your code's performance and robustness, how it seamlessly integrates new CLR features like generics with existing features like templates, and why using CLR and C++ features (including generics and templates) together directly delivers more power and ease than either feature delivers alone. Get the inside scoop on the latest enhancements that make C++ the most powerful development language.
  • Visual C++: Under the Covers-Targeting the CLR
    Speaker: Kang Su Gatlin
    Do you trust trusted code? If you're a C++ developer who's leery of targeting the CLR with your highly tuned and optimized C++ sources, attend this session. Explore advanced topics including MSIL code generation, internals of native/managed interop mechanisms, .netmodule linking, and more.
  • Visual C++: Using the .NET Framework in Win32/MFC Applications
    Speaker: Kate Gregory
    Are you a MFC developer confused about the Microsoft roadmap for Visual C++? Do you want to learn how you can enable your MFC applications with new features using the .NET Framework? (Did you know that was even possible?) Attend this session and learn a variety of techniques for extending and reusing your tried-and-true MFC applications and components with the .NET Framework. Become your own Upgrade Wizard and take your MFC code into a new era.
  • Visual Studio: IDE Tips and Tricks
    Speaker: Jason Weber
    The Visual Studio IDE team has packed their favorite 50 tips and tricks into a fun and informative session to help you make the most of Visual Studio. It doesn't matter if you're writing Visual Basic or C++, using Visual Studio 7.x or Visual Studio 2005, writing web or client apps. You're guaranteed to learn something new. And those who think you know everything there is to know about the Visual Studio IDE, do you know how much your code weighs? We'll show you how to find out.
  • Visual Studio: Top Ten Ways to Customize and Extend the IDE
    Speakers: Ken Hardy; Craig Skibo
    Have you ever wanted to add a menu command or a new window to Visual Studio? Are you interested in adding new features to the Visual Studio IDE? This session tackles the most popular scenarios using the full range of extensibility, including Visual Studio Macros, the Automation Object Model, and the VSIP SDK. See how to use them together.
  • .NET Framework: Migrating to Managed Code
    Speakers: Richard Lander; Adam Nathan
    Dive into managed code without having to start from scratch. Take advantage of existing unmanaged code, including COM components from Microsoft Office or flat APIs such as Win32, with CLR Interop. Adopt techniques for finding and understanding problems using CLR Debug Probes. Learn how easy it is to host the CLR in an unmanaged environment such as C++ or VB6 as another approach to managed code adoption. In addition to demonstrating these technologies, we provide best practices and guidance on how to overcome common pitfalls. Using these techniques, you will able to add managed code to your existing applications and components without needing to rewrite your code.
  • .NET Framework: CLR - Under the Hood
    Speaker: Jeff Richter
    In this talk, software legend Jeffrey Richter will describe how the CLR works "Soup to Nuts." Learn about the CLR's execution model including intermediate language, verification, JIT compilation, metadata, and assembly loading. Explore the runtime relationship between code, types, objects. A thread's stack, and the heap. See how the CLR's garbage collector knows what objects are in use and what objects are not in use so that unused objects can have their memory reclaimed. After this talk, you'll have a great understanding of how the CLR does the things it does.
  • Windows Forms: Overview of New Features and ClickOnce Deployment in Visual Studio 2005
    Speaker: Joe Stegman
    Building and deploying Windows Forms applications takes a giant step forward in Windows Forms 2.0. Learn how Windows Forms 2.0 makes it easy to build professional looking application and see demonstrations of the new Grid, ToolBar, Menu and Layout controls. See how Windows Forms 2.0 makes it easier to deploy and update a Windows Forms application with a technology called ClickOnce. Walk through improvements to the Windows Forms designers including demonstrations of snap lines and smart tags. This session will also explore new data features designed to make it easier to bind to business objects as well as process data asynchronously. See demonstrations of other new Windows Forms 2.0 features including a WebBrowser control, MaskEdit control, Splitter control, Data Component, Sound API and a new Client Configuration API.
  • Visual Studio 2005 Enterprise Tools: Software Project Management
    Speaker: Lori Lamkin
    Learn how to take advantage of the combined power of Visual Studio, the Microsoft Office System, and industry proven practices to successfully manage software projects--from conception to deployment.
  • Visual Studio 2005 Enterprise Tools: Enterprise-Class Source Control and Work Item Tracking
    Speaker: Brian Harry
    Get an introduction to the new software configuration management system included in the Visual Studio 2005 enterprise tools. See how an integrated and extensible source code control and work item tracking system can boost your team's productivity by significantly streamlining your development processes.
  • Visual C# 2005: Language Enhancements
    Speaker: Anders Hejlsberg
    Learn about the new features available in Visual C# 2005 directly from Anders Hejlsberg, Distinguished Engineer and lead designer for the C# programming language. Learn how new language constructs like generics, iterators, anonymous methods, and partial types will help you write more powerful and productive code.
  • Visual C# Best Practices: What's Wrong With this Code?
    Speaker: Eric Gunnerson
    There's more to writing good C# code than learning the syntax. It's also important to know the best practices. Eric will present numerous examples of problems he's seen in the wild, invite you to find the error, and explain how to avoid the issue.
  • Visual C# 2005: IDE Enhancements for the C# Developer
    Speaker: Joe Nalewabau
    See how Visual C# 2005 brings code-focused productivity to the next level! Regardless of what type of applications you are building, Visual C# 2005 offers a host of new IDE features designed to significantly increase your productivity whether you're understanding, modifying, writing or debugging code. Anson and Joe will try and outdo each other with dueling demos as they show off the major C# IDE features, explain the motivation behind them and show how they all integrate together to create a great development experience.

Friday, June 25, 2004

The C++ Source

Chuck Allison is editing a new C++ online journal: The C++ Source.

Whiteboard with Anders Hejlsberg

Excellent session considering dynamic languages, C#, AOP etc.: Whiteboard with Anders Hejlsberg.

Christopher Brumme on Channel 9

Some videos of Christopher Brumme on Channel 9: What is the future of the .NET CLR?, Will there be improvements to .NET's garbage collector?

MSH (Monad)

MSH (codename Monad) is a replacement shell that will probably be available once Visual Studio 2005 has shipped - since it only seems to require the .NET Framework 2.0.

"Monad is a way to automate the system. It has four components. First is it's as interactive and composable as kshell or bash. So if you're familiar with those types of shells, we have those capabilities. It's also as programmatic as say Perl or Ruby. So when you really need to get great automation to really get sophisticated, you don't have to switch tools. The same tool can be both interactive and programmatic. Third is we've focused in on some production-oriented capabilities of it, like VMS's DCL or the AS400. We're really focused in on trying to solve admins' problems. And then fourth, we go and we take all the management information in your system and make it as easy to find as files in the file system. So for developers it's a way that they can participate in Microsoft's strong focus in on automation, and to line up with our initiatives around dynamic systems, and it's a hosting environment. So you'll see how this is very different than traditional approaches, how in this world we have commands, we call them commandlets, and they're .NET classes. And then MSH is a hosting environment that takes your .NET classes and surfaces them as commands where the hosting environment does a ton of the traditional work you had to do as a developer before. So you'll see you just get fantastic productivity out of this environment." - Jeffrey Snover, Microsoft.

Here is a sample:

    using System;
    using System.Management.Automation;

    namespace GetCommands
        [Cmdlet("get", "Environment")]
        public class GetEnvironment: Cmdlet
            public override void BeginProcessing()

This would be used as follows:

    MSH C:\> $environment = get-Environment

The thing to notice is the commandlet passes a .NET object (which is also available to the next consumer along the pipe). For example, it is now possible to do the following:

    MSH C:\> write-console $environment.OSVersion.ToString()

    Microsoft Windows NT 5.1.2600.0

The .NET Show has a demonstration of MSH (see the Enter The Programmer section) in Longhorn Fundamentals.

Wednesday, June 23, 2004

The History of Programming Poster

There are over 2,500 documented programming languages. O'Reilly have a poster that documents the most important.

How Microsoft Lost the API War

Joel Spolsky makes some interesting points about Microsoft being in danger of losing out to weblications in his article "How Microsoft Lost the API War". Could this be the death of Microsoft? I doubt it; there is more input into the Microsoft coffer than just Windows.

Visual Studio 2005 making waves

Dana Epp blogs about a recent demonstration of Visual Studio 2005 Team System and thinks "Microsoft just might have done it right". Note the warning towards the end that the tight nature of the coupling between the source control and bug tracking might be cause for concern for developers that have invested heavily in alternatives such as Perforce or FogBUGZ. Also see Eric Sink's discussion on The Future of SourceGear Vault in light of Microsoft's announcement.

Update: Korby Parnell also indicates that it will not be easy to integrate third-party tools into version 1 of Team System.

Sunday, June 20, 2004

Another alternative iPOD?

The iRiver iHP 100 series gets lots of good reviews. Since the OQO is not yet available and is going to be expensive, I might look at getting the next generation of iRiver - the iRiver iHP 340.

Thursday, June 17, 2004

Alternative iPOD?

Even though I like the look of the iPOD, it fails on a number of levels including lack of WMA playback (I've ripped most of my CDs to WMA). I've always been waiting for a decent PDA to do a similar role to the iPOD, but all PDAs have relatively small memory. There is a new 40 GB gadget that can perform the role of PDA and iPOD and runs Windows XP: OQO Model 01 uPC. Trouble is, it costs $2,000. So I might be waiting a little longer.

View a video here and here.

Sunday, June 13, 2004

Book: Windows Command-line

With all the new development tools (Eclipse, Java Studio Creator and Visual Studio 2005) it is easy to forget the power of the command line. A recent book "Windows Command-line Administrators Pocket Consultant" by William Stanek does exactly what it says on the tin - apart from fitting into my pocket (it has 256 pages). With the upcoming MSBuild system, I'll be using this more and more.

Thursday, June 10, 2004

Visual Studio 2005

Visual Studio 2005 should (fingers crossed) be here within a year. There are many new features; the following appeal to me: