# Thursday, 26 November 2009

I teach a course at Trent University on Object Oriented Analysis and Design with UML, and have done since the last century. I teach my students how to make decisions about the systems they will some day build, and how to draw diagrams that communicate those decisions to others. We find as often as not that the act of trying to make the diagram leads us through the thought processes that are needed to make good decisions. That brings huge value even if you never show the diagram to anyone else and never update it.

I've never been a big fan of "technical documentation" in the form of a giant binder that some poor person has to keep up to date any time the code changes. If you want to know all the methods of the Employee class, why not use Intellisense or the Object Browser or the like? But that doesn't mean I don't like making those diagrams at the beginning, when they help me to do my thinking. I also make them when I have something to explain, including when I bring a new person onto a project. So how much do I love this quote?

the UML ... was to be a language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system—in short, a graphical language to help reason about the design of a system as it unfolds. Most diagrams should be thrown away, but there are a few that should be preserved, and in all, one should only use a graphical notation for those things that cannot easily be reasoned about in code.

It's in an interview I already linked to, but it took Patrick Smacchia to point our those sentences to me. As I wind up the last few weeks of the course, it's nice to know that my position on the point of the diagrams and deliverables is aligned with one of my heroes.


Thursday, 26 November 2009 20:38:10 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Tuesday, 24 November 2009

Pete Brown has a terrific two part series on sensor programming in Windows 7. Part 1 has a link for where to get the board, and fills you in on the new architecture. Lots of helpful links and screenshots here, including one to Pietro Bambrati that includes some changes to the racing game sample to make the accelerometer work and one to his video showing you how to install and test it.

Part 2 starts with this nice summary of your options as a developer:

There are three different ways you can use the accelerometer API. You can, of course, go directly against the COM API and generate your own wrappers and pinvokes. You can use the managed wrappers provided in the SDK, or you can use the Windows API Code Pack which includes support for the sensor API and a number of other Windows 7-specific enhancements. In this case, I decided to use the code pack in concert with WPF 4.

Hard to argue with that! Pete has written an AccelerometerJoystick you can use in any "controller" situation - and be sure to think beyond just games!

Definitely read and watch, and let Pete and Pietro save you some time!


Tuesday, 24 November 2009 20:12:13 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Sunday, 22 November 2009

I saw this on Scott Hanselman's blog:

It's three little meters - memory, CPU, and Disk IO. Each has a jump list with the obvious tasks - starting Task Manager, for example. It's really simple to do (read the code yourself) thanks to Code Pack.

What will you do over a weekend with it?


Sunday, 22 November 2009 19:46:36 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Friday, 20 November 2009

It's time for another release of the Windows® API Code Pack for Microsoft® .NET Framework. Yay! This is a pretty small release (which is why the version just went from 1.0 to 1.0.1) with some bug fixes, performance improvements, and more documentation and samples. It's getting a little attention :-)

  • Yochay gives the excellent advice to "consider this library as if you wrote it yourself, as if it is your own code" and reminds you that while it's "the closest thing to an “official” managed API for Windows", it is not a supported product you can call somebody for help with.
  • Mahmoud, who's actually running a Code Pack blog (though I think both Yochay and I have more Code Pack posts).
  • Sasha, like me a friend of the Code Pack, also has a summary of Yochay's PDC talk - you should download and watch it.
  • Kevin Griffin wrote a nice Code Pack article a day before the new version was announced, but all his praise is still valid :-)

If you're already a Code Pack fan, just go get the latest version. If you're not, you should be - it means just a line or two of code to make your application look and behave like a real Windows 7 app.

And are you wondering what's next for Code Pack?

See why I said to download and watch Yochay's talk?


Friday, 20 November 2009 15:11:58 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Wednesday, 18 November 2009

Developer Night in Canada is a fun podcast from John Bristowe and Joey deVilla of Microsoft Canada.

Episode 1 - my friend Joel Semeniuk. He's talking about the tool formerly known as Team Systems, and about the way he makes software. The Work Item Manager I told you about gets a mention too. Worth a listen!


Wednesday, 18 November 2009 14:44:19 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Monday, 16 November 2009

Nice blog post from Scott Guthrie while I was getting ready for Tech Ed Europe. It has a whole laundry list of good stuff in WPF 4, but what jumped out for me was the Windows 7 light up content.

What can you expect? Jumplists (items and tasks), icon overlays and progress bar, thumbnail buttons, thumbnail clipping, all of it. Nice.


Monday, 16 November 2009 14:36:16 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Saturday, 14 November 2009

I had to check Wikipedia to be sure how to spell that :-). I thought this was a good post to pull some images off my camera and be a little touristy.

Here is the U-Bahn (subway) station nearest the hotel. We rode the subways back and forth each day, about 30 minutes each way including changing lines, and all free thanks to a transit pass that I believe Kylie ("I'm 4 and a half and I'm a PC") might have created for us. Mine got crumpled and soggy but worked perfectly.

Here we all are headed into the Messe one morning. Big, isn't it?

This one shows you a little more of what we were up against. The big round thing is just the entrance to the complex. The red brick building with a big 2 on it had the speaker room in it. Behind it are other buildings of the same size with the exhibition halls, pavilions etc, and past that the food rooms. The blue-grey building with the 7 on it is the one that held all the breakouts. And yes, we had to go outside (and it rained a fair bit) when going from building to building - but only for 20 or 30 feet.

I have a bit of a running joke on my blog about donuts. Some Tech Eds have 'em ... and some don't. This one did. Apparently they're not called Berliners in Berlin. (And btw, JFK didn't say what you're thinking.)

Finally, here's all that's left of the wall in most spots:

And the Brandenburg Gate at night makes a very compelling image. We walked through, East to West.

Next year? I sure hope so.


Saturday, 14 November 2009 20:15:27 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Thursday, 12 November 2009

The second-last day is drawing to a close and I am getting tired. At Tech Ed Europe I actually attend sessions as well as preparing for my own and attending the various dinners and get-togethers. Throw in some attempt to do actual work rather than pressing pause on all my other projects for a full seven days, and there isn't much time for sleep.

Yesterday was my Code Pack session, featuring the mysterious disappearing slides. Some of you may have noticed a little consternation on my part when I came back from the first demo. Here's what happened. I prepared my slides for this talk following the schedule the organizers asked for, and actually uploaded them in October to be prepared for the attendees. Then one night, just as I was falling asleep, I decided I wanted to add slides that highlighted the actual code in each demo that was specific to the taskbar or the overlay or whatever. The next day, I did just that and I uploaded the deck again.

When I got to my room for the tech check, I ran through the deck on the room machine and - hey! my new slides are not in that deck! So I went back to the speaker room (which is about a mile away) and gave them to the nice "powerpoint team" that sits there waiting for all the speakers who ignore the schedule and work on their slides while on the plane. I heard them on the radio pushing the slides to the room.

An hour before my talk, I got to the room, waited while someone else did a tech check, then got set up. I paged through the "new" deck - and the code slides weren't there! Everyone remembered getting new ones from me yesterday. But they weren't there. I pulled a USB stick out and copied the deck from my laptop to the room machine.

And yet, when I did the talk moments later - they still weren't there! Did I double-click the old deck instead of the new? Did I maybe dream the entire thing? Who knows. But here they are now, attached to this post. Interleave these into the deck you got from CommNet, one after each demo.

One more day of Tech Ed... one more day of sessions and meeting people.


codeslides.pptx (372.92 KB)
Thursday, 12 November 2009 11:15:59 (Eastern Standard Time, UTC-05:00)  #    Comments [0]