Archive for 2005

09.13.05

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.

09.06.05

DS2 done and Flight Sims

Posted in General at 6:52 pm by jw

Finished Dungeon Seige 2 on the weekend.  The story has an interesting twist at the end – haven’t made my mind up yet if I actually like it or not.  Started on the Veteran level but only made it part way through the first mission before I realized that I have a bunch of games piled up waiting to play and spending a few more weeks to finish on the tougher levels can wait, for now.

So, I dug out my Flight Sims again, which continue to draw me back into them for some strange reason.  My wife swears she’s never letting me anywhere near a real life airplane though while she watches me go through some voluntary and involuntary acrobatics. 

My biggest problem with civilian flight sims is the real lack of drive to actually do anything.  Sure you can fly pretty much anywhere in the world you want to in FS2004 but without a good reason to actually fly a certain route you’re pretty much lost for goals.  Well, I got my hands on Airliner Pilot and a demo of FSPassengers and had some fun messing around with them.  Here’s my take on them:

FSPassengers
I think I actually killed more passengers than I got safely to their destination in FSPassengers (which is all the fault of a stupid Beechcraft that didn’t clear the runway fast enough at LAX).  Overall I managed to have a lot more success with this product than I did with Airliner Pilot, but it seems a lot more simplistic.  It’s fun bringing on passengers, hearing the hostess go through the flight safety routine and loving the apparent Kiwi accents on everyone but at least in the demo it still seemed pretty open ended on where you actually are supposed to fly your passengers.  I’ll have to check around some and see if the full version actually assigns you routes to go with or not because jumping in a 737 full of passengers at San Francisco and choosing where to fly really just doesn’t seem like a realistic scenario.

Airliner Pilot
This seems a lot more involved, but I didn’t have much success actually completing a flight.  Every time I tried, the electronics on my Dash-8 cut out at some point and that’s pretty much game over for trying to do anything useful (nothing works very well after that).  I’m not sure if it’s a bug or if it’s what happens when I get too far off course but it’s annoying because the whole simulation seems rather interesting until the point I lose power.

I also jumped onto FlightSim.com and grabbed a whole bunch of interesting landings which have been entertaining for me, and confirming my wife’s fears about my piloting skillz as I park aircraft all over the landscape.  I will say I have no idea how any sane pilot could land at the old Hong Kong airport from the northern approach though.  Just seems completely impossible to me unless you’re taking a huge dive or jumping sideways a half mile just prior to touchdown.

Lastly I played a little with Wings Over Vietnam which was kinda fun but runs a little like an arcade game when put up against something like Falcon 4.0, which is another game I’m yet to master.  It was vaguely satisfying though to jump into a plane, shoot down a half dozen MIGs and leave with a successful mission though, even while figuring out the keyboard/joystick controls as I was dogfighting (well, the obvious joystick controls I had pretty much down first of course).

In my reading, I finished 3001: Final Odyssey and wasn’t terribly impressed.  Clarke seems much better at short stories than full blown novels and especially a series.  When whole chapters are copied verbatim from previous books it really disappoints and the plot was really pretty simplistic.  Now I’m working on Deus Irae and then I’m going to have to go ebook shopping again!

09.02.05

Tabbed browsing and IE

Posted in General at 2:26 pm by jw

Some people may think I’m nuts, but Firefox wasn’t the entire solution to my web browsing desires.  I played some with Deer Park as well and definitely think it’s a nice upgrade to Firefox, but some areas I still prefer Internet Explorer.  Love it or hate it, the ability to host ActiveX controls is a beautiful thing in IE for the end user’s experience.  Sure they can cause security holes, but the fact I have to restart Firefox (or Deer Park) every time I install a new extension is very, very annoying – especially if I have a whole bunch of tabs open.

Now, I’m beta testing IE7 at the moment and have been vaguely impressed with it (it’s better than IE6) but I can’t comment too much on it thanks to NDAs and EULAs and other fancy stuff.  Although it does have tabbed browsing, I wanted to look for IE6 based solutions as well because tabbed browsing really is a good thing!  So far I’ve tried Maxthon and Avant and both are fairly impressive but also very similar in their features and failures.  My biggest annoyance of both browsers is the fact their tabs implementation leaves quite a bit to be desired – it’s more like an MDI environment where you can tile, maximize and do other stuff which isn’t necessarily what I want, especially when I accidentally tile my dozen or two tabs and have to fix it somehow.

The biggest gripe though of these two browsers is also the reason I was looking to a tabbed based IE – to support Onfolio, which I continue to use and love.  Neither Maxthon or Avant will display the Onfolio bar for me, which makes them rather useless for a good replacement to IE or Firefox.  IE7 has it’s own set of problems (which are mostly from the fact it’s beta and some sites don’t recognize the user agent yet).  Still, I’m looking for more tabbed IE implementations to mess with so I’m sure I’ll report on more in the future.

Totally off topic, I’m still playing and enjoying Dungeon Siege 2, have tinkered more with my myriad of Flight Sims (love Falcon 4.0 even though the AI still pwns me) and am tinkering with some sports games to get my knowledge up to scratch so I can seriously compete in the Fantasy Football league!  Life’s just too busy…

Next entries » · « Previous entries