09.15.05

PDC Day 2 (short version)

Posted in General at 5:41 am by jw

DirectX 10.  Watch this space for more details.  Blame Reyek for taking me out to this awesome bar for the lack of updates…

09.13.05

PDC Day 1

Posted in General at 4:01 pm by jw

The keynote, as expected, was a pretty amazing show.  I’m sure the video of Bill Gates and Napolean Dynamite will become somewhat of an internet classic, probably even more so if someone cut/pastes it up.

Some of the more interesting points:

  • Office 12 and Windows Vista will be released in the same timeframe, currently H2 ‘06.
  • Vista has a gadgets bar on the right which is extensible, much like some of the stuff Apple did recently with Tiger.
  • IE7 is tabbed (which we already knew), but in addition it includes “quick tabs” where it tiles a preview of each tab on the screen and lets you choose between them.
  • IE7 has “shrink to fit” printing, and quick buttons to remove the header/footer if you want.
  • The RSS store IE7 uses is actually a part of Vista and accessible from any application through standard APIs.
  • Office 12 has a new interface paradigm, with menus replaced by tabbed toolbard much like 3d Studio Max.  It also has all sorts of pretty GUI junk that managers will just die for.
  • Outlook 12 has tasks better integrated with “flags” on emails and other tasks throughout the OS.
  • Outlook 12 has native RSS integration.
  • Outlook 12’s search is integrated with the Vista search features.
  • Outlook 12 will download Sharepoint documents for offline usage.
  • Sharepoint will act as a store for all office documents and allow all sorts of advanced file sharing (demo was sharing individual powerpoint slides through Sharepoint).

From Jum Allchin’s keynote:

  • Jim still can get an XT running with Windows 1.03 on it.
  • The PC will always be ahead of the game consoles, in Jim’s opinion.
  • There was a demo of Crytek’s efforts with Vista/DirectX 10 which allows some pretty amazing graphics from what appeared to be their new Far Cry engine (trees all have detailed shadow, etc.)
  • Vista does all sorts of cute 3d stuff with the windows.
  • The default user on Vista is not an administrator – this can very well break stuff but at least it makes it more secure.
  • “Superfetch” is a really cool technology that will use unused memory on the system to prefetch applications based on prior usage patterns.  It will even load stuff onto free space in a USB Flash Disk for faster loading…
  • Vista provides a configurable sandbox for applications which can prevent IE, ActiveX controls, or pretty much anything from accessing parts of the filesystem or registry.
  • Infocards is Microsoft’s new Passport effort, which is a front end to any internet or local identification system, including Passport’s competitors.
  • The “People Near Me” service looks kinda cool, but really like an extension of NetMeeting which allows P2P connections for files etc.

Don Box and some of his lackeys gave a presentation on LINQ, Atlas and Avalon:

  • SQL-style queries are native withing C# (and I assume other .NET languages), which can span data sources which includes any IEnumerable element.
  • Indigo wires up easily with these queries.
  • A bunch of demos showed all the cool stuff you could do with very little coding.

Following lunch, I went to the breakout sessions.  First was a cool tutorial on writing a compiler for .NET, which was really interesting but not at all worth writing stuff about in the blog.  The next talk on monad was incredibly good though, and makes me really keen to get a hold of it and try it out:

  • Monad is the new command line shell for Windows (will probably be called Microsoft Shell or ‘msh’).
  • Monad provides an incredibly flexible interface which uses an object I/O model instead of the standard stream based I/O.
  • The Monad object system is fully extensible by third parties through the use of Cmdlets and Providers.
  • Cmdlets are command that run in the monad pipeline (like “ps”, “where”, “sort”, format-table” etc.)
  • Providers appear as “drives”, which can be registry hives, databases, WMI trees, environment variables.

Windows Storage advances in Vista:

  • NFS will be part of Windows.
  • Symlinks will be fully implemented in Windows Vista and Longhorn Server.  The only issue is that if you aren’t using Vista/Longhorn on both client and server (assuming symlinks are on a shared folder) then you won’t be able to use those symlinks.
  • Remote Differential Compression allows syncronization from any Vista/Longhorn machine to any other and does so without copying entire files (does diffs with minimal network bandwidth).  Great for keeping folders synchronized between two machines.  This technology will be ported to the DFS copying system as well.
  • Transactional support for file read/writes and registry read/writes that can participate in any distributed transaction.

Was a long day today with lots of stuff I had to go through.  Picked up the PDC ‘05 build of Windows Vista which I’ll probably put onto my laptop at some time in the future.  Some of the stuff does make me think Vista will be a good platform after all for upgrading to.

PDC – Preconf Day 2

Posted in General at 3:01 am by jw

I had this big thing half typed up.  Then I put my machine into hibernate to save the battery and it froze when I started it up again.  It’s been doing that a lot lately – guess it’s time to install Vista so I get a fresh system.  I’ll try to write it out again, but that’s probably a good thing as things are always better the second time around.

Today I spent my time going to the Visual C++ Internals conference.  It was kicked off by Stanley Lippman, who was basically the original C++ developer after Bjarne Stroustrop.  His history of the C++ language and definitely the number of anecdotes of those times were a great way to start the morning off, and despite the fact he went overtime and didn’t even manage to finish all his slides it was still very much an enjoyable and educational time.

Following Stanley were 4 other members of the Visual C++ who discussed in depth the features and pitfalls of the compiler as it relates to the new C++\CLI language, interop and performance scenarios.  Some of the things I learned were:

  • In VC2005, C++ is a full fledged .NET language which can produce pure IL from native C++ code.
  • Multiple inheritance is possible, even when targetting the .NET runtime.
  • The compiler manages an awful lot of the Disposable semantics for you, using them to provide both destructors (X::~X) and finalizers (X::!X).
  • You can declare managed objects “on the stack” now, but it really puts them on the managed heal anyway.
  • Destructors are not guaranteed to be called, especially when the class is used from another language, like C#.
  • You have to be careful in all sorts of places within mixed mode code to avoid traps the interop layer lays around the place for you.
  • There’s a whole bunch of optimization “hints” that are available which I didn’t know about (eg __restrict).
  • The compiler puts all sorts of cookies and stuff into the stack to attempt to detect stack smashing.

During the talk, the power even managed to go out for about 45 minutes thanks to a worker cutting the wrong line somewhere.  Made the talk which was already going long end up about an hour later than scheduled, but that’s all ok because it was very interesting stuff.

Later in the evening I went to some of the “Birds of Feather” sessions where they basically set aside rooms for people to talk about similar things.  Here’s a quick summary of the three sessions I attended:

.NET/Java interop

  • Web services are the recommended way to go, at least people seemed to be having the most success with it.
  • Use simple types and avoid anything much more difficult, look at WS-I’s basic profile.
  • IKVM.NET is an interesting method of interop that recompiles Java bytecodes into .NET CIL.
  • EAI vendors have translation APIs and implementations.
  • Microsoft seems ahead of the curve on standards implementation for web services.
  • JNBridge allows Java classes to be called from .NET.
  • Some people talked about using RMI to talk to Java but no one had a good solution that actually did it.
  • JBImp is a Microsoft provided tool with J# that converts really old bytecodes.
  • Visual Mainwin was mentioned but no one had any real comments about it.

DirectX

  • OpenMP is an interesting technology being pushed to allow developers to better take advantage of multiple execution units, primarily for XBox 360 development.
  • DirectX 10 (on Vista, with LDDM drivers) will provide for multiple Direct3D apps running at once without having arguments about who owns the primary surface.
  • Companies seem to be supporting DirectX much better than OpenGL, at least from a developer perspective.
  • Devs shouldn’t attempt 3d modelling.  It’s hard.
  • XNA is a really cool thing for game development houses that supports their workflow process and even has hooks for non-Microsoft toolsets (such as PS3, GC etc)
  • Managed DirectX for .NET 2.0 should be available for beta testing soon.

Debugging

  • Apparently windbg is pronounced “Windbag”.  I hadn’t heard that one before.
  • Dump files are really cool things for debugging (which I already knew).
  • Debugging concurrency stuff is hard (which I also had a lot of experience knowing).
  • Someone hinted there was a way to drill into the STL in the VC2003 debugger.
  • Debugging concurrency stuff is really hard.

We had to leave the Debugging talk a little early because the shuttle busses decided their last run was 10:30pm.  I barely made it out in time.

Off to sleep for me now.  Have to listen to Bill Gates’ keynote tomorrow morning at 8:30am.

09.11.05

PDC – Preconf Day 1

Posted in General at 11:31 pm by jw

The PDC itself is pretty amazing.  It’s only the first day of pre-conference and there must be over 2000 developers there already.  They have a huge hall set up just to feed us all, and it’s also shared with a whole bunch (like 200 or more) of desktops running Vista and XP just so we can all connect to the internet at once if we want to.  The entire place is wired with WiFi so getting online with our own laptops is also a snap.  I just couldn’t really write up a good summary as the sessions were going on even though the internet worked fine – the stuff was just too interesting (for me).

If today was any indication, this is going to be an awesome conference.  Today was a 6 hour session with David Solomon and Mark Russinovich on Windows Internals – it really was a great look into how the Windows kernel works and what developers should and shouldn’t do to take advantage of it.  They also went into some detail on what’s new “under the hood” in Vista which looks interesting, but I’m not sure it’s particularly compelling yet.

Couple of interesting tidbits I learned (and probably will forget all too soon):

  • Vista is collapsing everything back into a single (multiprocessor) kernel executable.
  • XP-64 is really the same kernel as Windows 2003, not XP.
  • 64 bit Windows does funky stuff with directories and the registry when running 32 bit programs
  • Vista gets rid of the kernel memory limits (aside from the standard 2G limit) – there’s no more fixed sizes for stuff.
  • Vista uses the 2003 model for having independant run queues for each CPU.
  • The default login session is no longer ‘0’ – might make some apps that assume that break.
  • People still remember Mark from when he figured how to turn Workstation into Server, and he got Dave into trouble even though Dave did nothing and didn’t even know Mark at that stage.
  • You can DoS windows by creating a whole bunch of kernel objects.
  • userinit.exe is the process that does all the group policy assignments.  This gives me evil ideas.
  • Vista will have fast user switching on domain accounts.

There’s a bunch more stuff I have in notes, but to go into all that would take forever.

I noticed a room full of 64 bit Alienware PCs (looked like 64 of them) playing the 64 bit Far Cry on the way out.  Was pretty interesting and running very, very smoothly even at high resolution.  Looks like they were all networked together though I’m not sure if it was all playing the same networked game.  AMD is definitely getting good traction on their 64 bit CPUs in the dev community.

More tomorrow…

In LA for PDC

Posted in General at 12:22 am by jw

I made it to Los Angeles in one piece for PDC ‘05.  I swear that every time I fly I get worse, but at least this time I had all my sim flights in my mind and knew exactly what was going on the whole way.  I do have to remember not to sit up the back of planes though – it’s the worst place for the ride because it bounces you around a lot more and you get much more engine noise.  Connecting at O’Hare was just annoying – I hate that airport.

One fun thing – I always enjoy the flight over the Rockys and the Grand Canyon.  Could see Las Vegas in the distance but couldn’t quite make out the Hoover Dam.  I have to get into Flight Sim some more and fly around that place a bit so I am sure to recognize everything next time I go.  The guy across the aisle from me had a GPS on – should have thought of that and taken mine too!  Would have been cool in a geek sort of way.

Anyway – I’m here in the Westin Bonaventure which is a pretty amazing hotel – 5 interlinked towers and every room has a pretty good view.  I get to see the outside elevators going up and down through my window as well so it’s probably a good thing my wife isn’t with me or we’d never have the curtains open!  Was kinda weird to go downstairs at 6pm and find none of the resteraunts open and have to get the (crazy expensive) room service, but it was a very nice meal.

Well, PDC “pre-sessions” tomorrow.  I’ll report back on what I hear that isn’t NDA’d.

Next entries » · « Previous entries