Gordon Hogenson: Documenting Development Technologies

Play Gordon Hogenson: Documenting Development Technologies
Sign in to queue


Gordon Hogenson is the Visual C++ Documentation Manager; he has worked as a technical writer and test engineer for Visual C++, C# and other Microsoft products for the past 9 years. He has avid interests in many diverse fields, including botany and organic gardening, chemistry, physics, metaphysics and philosophy.



Download this episode

The Discussion

  • User profile image
    Cool interview. I will be getting the book but, not the goat. Wink

    I think it's good to harc back to the unmanged world once in a while. I havent lived in the land of native since around 2001 but, recently I did a project in C++ and ran into an annoying problem in creating a BSTR from a string that was already in a BSTR-esque format (Apparently Apple has something similiar that they propogate to their Windows APIs). Embarassingly and much to my dismay, it took about 3 days to solve what should have/would have been nearly obvious and instant (although I wasnt able to use a debugger, it was a plugin). But the entire time it felt somewhat like I had a labotomy (or, what I imagine a labotomy must be like), dazed and confused.

    -Brian A.
  • User profile image
    The wiki-doc is interesting. Have you guys thought about opening both that and the general docs via public resolvable URI's... ideally if it there was a RDF like concept predicate (i.e. something like a SPARQLish "<doc-uri> <contains-concept> <http://ms.com/concepts/wpf-3d>")... you could do a lot of cool things with that.

  • User profile image
    For a while I was thinking Microsoft had no writers on board.  Good to see that is not the case.

    Technical topics tend to be covered in workplace literature as if books need to be great tomes of wisdom.  Vast swaths of knowledge and experience are treated in depth.  Usually, a minimum of 900 pages is required. 

    So, I was trying to create a managed wrapper written in C# to implement a C++ call to a Win32 API subroutine that gives the program a special privilege.  Bah humbug:  HRESULT.  Of course, such a function should have a managed equivalent, but not yet.  Using P/INVOKE, this should be rather simple.  But it isn't if you cannot immediately get your hands on the decorations that must be put in the C++ function header.  It took Product Support Services several days to correctly identify the decorations.  Something this basic should not be buried in musings on how Microsoft actually implemented versus how they should have implemented something.  In my experience, there is no distinction between practical and vital information versus trivia in technical books.  One must thoroughly plow the books to find the nuggets if they be in the book; something that is not guaranteed.

    For anyone who is interested, the following is an example of the correct decoration:

    extern "C" _declspec(dllexport)  int _stdcall  yBHGQ95Y83Srg76sd24bkVZZ(int togglePosition)
  • User profile image
    Interesting idea.  I wasn't too familiar with RDF, so I looked up some information on it.  One of my colleagues, Tim Allen, is very interested in this kind of technology, but there isn't an organized effort underway to incorporate anything like it... just ideas now.

    I went ahead and passed on the suggestion to one of the PMs who heads up the Wiki project.  If you have some additional ideas on the cool things that could be done, I'd be happy to pass those along as well...Smiley
  • User profile image
    Yes, using P/Invoke from C# can be a pain.  One of the advantages of being able to use an intermediate C++/CLI layer between C# and Win32 is that you could just call the Win32 function normally without messing around with P/Invoke.

    If you do need P/Invoke, you might check out www.pinvoke.net.  While it's not yet complete, it contains a wiki-like library of various P/Invoke API calls that other people have already figured out.  A great timesaver!
  • User profile image
    Anand Raman [MSFT]
    More details abour MSDN Wiki project can be found at http://channel9.msdn.com/ShowPost.aspx?PostID=299490


Add Your 2 Cents