Microspeak: Turds

Raymond Chen

In Microspeak, a turd is a graphics glitch which results in old pixels appearing on the screen when they shouldn’t. Perhaps they are not being erased properly, or instead of being erased, they move to an unwanted location. The source of the problem could be failing to mark a region for redrawing after something changed, or it could be that the drawing code ran into a problem and failed to draw over the old pixels. The problem might be that the code whose job it is to remove the object from the screen ran into a problem and didn’t actually remove it, resulting in an on-screen object that nobody really is keeping track of. Whatever the reason, these “junk pixels” go by the name turds. For non-English speakers: turd is a boorish term for dung. The term turds are more generally applied to objects that don’t serve any purpose but never got cleaned up. For example, they might be files and registry keys that didn’t get deleted when you uninstalled an application, or user accounts for employees who left the company years ago, or C++ objects that some code forgot to delete. If you upgrade your dogfood machine from build to build, there may be files left over from earlier builds that aren’t being used by the product any more. A build system may create temporary files that only get erased up when you do a “make clean”. Note that this particular term turd is not formal Microspeak. You won’t find it in a specifications document. But you may encounter it in a bug report or hear it in a casual discussion. Personally, I don’t use the term. For the graphics glitches, I prefer to use the word artifact. The leftover stuff that didn’t get cleaned up I simply call dirt.

Bonus chatter: There was one project that actually tried to introduce the word turd as a formal technical term:

If a transaction has been superseded by another transaction, a marker is left behind in the original transaction record which redirects the resolver to the new transaction. This marker is known as the Transaction Under Redirection Descriptor (TURD).

I bet the developer who came up with that spent way too much time making up turd-related jokes in other parts of the specification.


Discussion is closed.

Feedback usabilla icon