David Thielen  
Home On Programming Articles, Etc. Blogs Resume

Articles

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.

Non-Programming Articles

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 Magazine).

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 (in Japanese).

Bugs - 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.

C# Articles

Word Add-In - Part 0 - an explanation of what you need to know to write a Word add-in in C#. Placed in CodeProject.

Word Add-In - Part 1 - an explanation of what you need to know to write a Word add-in in C#. Placed in CodeProject.

Java Articles

Product Review: JProbe - A review ofJProbe. Placed in JavaPro.

Product Review: IntelliJ IDEA - A review of IntelliJ. Placed in JavaPro.

Office

WordML 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 david@thielen.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 (I think).

BIT-BLT - 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).

BoundsChecker - A review of BoundsChecker. Placed in PC Magazine.

File Open - How to properly open a file in DOS. Placed in MSJ (I think).

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 DOS.

TSR - How to write a Terminate & Stay Resident DOS program.

Speaking

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 good practice. We 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 for Windows.