Here are some of the articles I have written. I
will list magazines & dates as I track that down. As best
as I can estimate I have written about 30 articles but most of
them I no longer have a copy of. If you notice one I am missing,
please let me know.
Mea Culpa -
A discussion how my view of managing software developers
has evolved over the last several years. Placed in Software Development.
Total World Domination -
(note: This is the original document - The New Republic edited
it quite a bit before publishing - but this is the only electronic
copy I have.) This was written several years ago (pre-Internet
and pre-DOJ lawsuit) about where Microsoft was headed. Placed in
The New Republic.
Managing Software Development -
An article on managing software development that
was written many many years ago - and I still get comments
about it. My views have changed a little from this - but most
still holds true. Placed in Microsoft Systems Journal (now MSDN
A Japan that can Fail -
I wrote this article about why Japanese companies were not going
to be very successful developing software. A number of Japanese
developers I know found that it struck very true. And the painful
truth has been - that Japanese companies still are not a power
in the software world. This was placed in a Japanese software magazine
An article about why the industry ships buggy software. Alas,
this is still the situation today. This was written for a Japanese
software magazine at the request of the editor and lead to my
writing the book No Bugs!
Goodbye for Now -
An article about why I left
the gaming industry. I received a lot of e-mail from other
game developers saying that they felt the same way about things.
Placed in Game Developer Magazine.
Add-In - Part 0 - an explanation
of what you need to know to write a Word add-in in C#. Placed in
Add-In - Part 1 - an explanation of what you
need to know to write a Word add-in in C#. Placed in CodeProject.
Product Review: JProbe - A review ofJProbe. Placed in JavaPro.
Product Review: IntelliJ IDEA - A review of
IntelliJ. Placed in JavaPro.
Spec - Questions & Answers about unclear
items in Microsoft's WordML spec. Placed in CodeProject.
RTF Spec -
Questions & Answers about unclear
items in Microsoft's RTF spec. Placed in CodeProject.
Sample Word Documents -
This has a very simple word document, in .doc, .rtf, and .xml
format for each character
set. So far all I have is Simplified Chinese, German, and Turkish
but I will add additional files as I get them. If you are running
Word 2003 on WIndows XP and both are the standard versions of
Windows and Word for your country (not a multi-language version,
not a system that has been set to that country), and it is for
a character set not listed here, please create a short document,
save it as a .doc, .rtf, & .xml file and email to email@example.com
and I will add it here.
Earlier Articles (Windows, C++, etc.)
Eliminating Jitter -
This article describes how to properly paint to a window without
having it flicker on the screen during the paint. Placed in MSJ
A program that does a scaling BIT-BLT by writing the machine
code and calling it on the fly. Placed in Computer Language
(now Software Development) I believe.
Binary Search -
A very efficient binary search algorithm that eliminates the
need to use the divide instruction (still the most expensive
application op-code). My first article. Placed in Computer
Language (now Software Development).
A review of BoundsChecker. Placed in PC Magazine.
File Open -
How to properly open a file in DOS. Placed in MSJ
Debugging Alloc -
A malloc/realloc/free wrapper for debugging. Written before there
was a SmartHeap or BoundsChecker.
Temp Files -
An article on how to have high-speed, large temporary files under
How to write a Terminate & Stay Resident DOS program.
Unfortunately I have not kept copies of my slides for most
of the talks I have given at various conferences. So here is
all I have saved.
Coding For Excellence
Slides - This class covers the best possible practices
to use when writing and testing code. We know what constitutes
know how to structure code that is reliable and easy to maintain.
We know the value of such practices as code walkthroughs.
Management the Microsoft Way
Slides - This session
explains Microsoft's system of management and explores how and
why it gives them a tremendous competitive advantage in their
software development efforts.
Why Won't They Push Out Christmas? Delivering High Quality Software
On Time and Under Budget
Slides - It's not
that hard to deliver games on time. Managing software development,
art, music, etc. effectively is actually pretty easy. The trick
is in understanding what to do, and what not to do.
Programming Games under Windows
Slides - From the early days when games were first being written