Free ebooks - Microsoft Virtual Academy

Who says you can’t get helpful free stuff.


Cool, I scanned the books quickly and was hit by a wave of nostalgia. I saw a book there by Kraig Brockschmidt. Many moons ago I got one of the first, if not the first, book on COM (when it was still called OLE 2.0) which was written by him…

Ah the good old days, memories of the thousands of lines of DDE and OLE 1.0 code I had written and then re-implementing much of it using OLE 2.0.

Who remembers DDE? Now beware, you will show your age :slight_smile:

I could not resist, here it is


I remember it and yes I’m an old geezer and dam proud of it.


Ugh. I quoted myself instead of editing. :frowning:

1 Like

DDE - Remember it damn well :slight_smile: Only say os/2 banks … very happy that I left that behind, years ago.

CORBA, DCOM - fun days ;D

Must be an age thing… :stuck_out_tongue:

Yes… lol

@ taylorza - “Understanding ActiveX and OLE” Best COM book I read, despite not having COM in the title:

One highlight of my career at Microsoft was getting to have lunch with Chappell when he was in town giving a class at our office in a Reston, VA. Super nice guy, to whom I’ll always be grateful, as his book helped me make some important mental connections that helped me differentiate myself in my early dev career.

I don’t miss the bad parts of COM (regsvr32.exe, anyone? Or hunting down unregistered DLLs with OLEView?), but having a decent understanding of what COM did under the covers made it easy to stand out as a VB programmer, back in the day. :slight_smile:

Much more stuff to read:

1 Like

@ Wolfgang Feneberg - That’s a staggering collection. Now all I need is a Lotto win to give me the time to read them all…

1 Like

I still think that COM was one of the most innovative and relevant technologies ever to come out of Microsoft. I’d give Tony Williams a Turing Award for it, if I could. Still the only somewhat workable approach to component evolution (Bluetooth Low Energy services are similar in spirit to immutable COM interfaces, as I’ve tried to describe in chapter VI of my paper here Bluetooth Low Energy for the Last 30 Meters of the Internet of Things - Oberon's IoT blog).

Unfortunately, COM was never completed: type library support was optional and thus rarely available, compilers at the time (except our Component Pascal Direct-To-COM compiler :slight_smile: ) didn’t hide reference counting, there was this unfortunate link with the Windows registry, some less than well-designed OLE2 interfaces, etc.

The WinRT runtime remedies much of that, but it further fragments the programming models on Windows :frowning: And its closed nature (only Microsoft expected to develop new interfaces) is about as far away from the original intention behind COM as possible (i.e., everyone being able to create new interfaces and to mix and match them with others).

Before we embarked on creating our Java RTOS a long time ago, we considered creating an embedded COM operating system. I even gave a talk at OOP in Munich about that idea. I remember Richard Soley being quite shocked about the idea that anyone might prefer COM over CORBA :slight_smile:

I still think the idea worthwhile: how about a tiny and extremely modular embedded microcontroller OS based on COM for the IoT age, with perfect integration with a C# AOT compiler?

1 Like

@ Jason

I have the same problem :smiley:

I never read that one. I always envied you guys in the states, getting the opportunity to talk to the likes of David Chappell. I would like to shake Brent Rectors hand, he once helped me get a job. There was a time when all I did was write DOS software, DOS device drivers and TSRs, eventually the time came to get a job doing Windows programming I picked up ‘Developing Windows 3.1 Applications With Microsoft C/C++’ read it cover to cover (over a thousand pages) I sounded like an expert in the interview (I was not!). I new every windows message could site all the arguments to CreateWindow and the members of WNDCLASS struct. Eventually I hand coded windows for so long that, that stuff is still burned into my brain. I moved to MFC kicking as screaming…

Then came OLE2, I only ever did raw COM work, go MIDL! I did tinker with ATL a little, but I did not like the attribute approach they introduced later and subsequently deprecated. I later realized that that attribute approach was a precursor to .NET attributes, which I love.

Grrr you guys are really making me far too nostalgic, I feel like asking for a techie job again…

Did anyone else here use Visual InterDev?

Or “Viper Space”/“MTS Explorer” ?

Absolutely, the life blood of server hosted COM components. I went through a phase of doing all our business logic as MTS hosted ActiveX components in C++, which could be reused by the .NET team doing web apps (Framework 1.0) and the C++ team building the desktop applications.

But, no to the rest.

@ mtylerjr - Did I use InterDev? You might say that:


Man, that was a long time ago.

Speaking of MTS, I did not write the chapter on that (nor on MSMQ, nor security) as those topics were well outside my depth. Thankfully, I had several great co-workers who pitched in to help me with those topics. Good times.


My Microsoft boss (his name was Jerry Knoll) at the time, continually referred to MTS Explorer as “Viper Space” - but I can find no references to it being called that while googling. Did I imagine it?

@ mtylerjr - No, you didn’t imagine it. Viper was the codename for MTS: