For the umpteenth time, I found myself dependent on a code library which had a crashing bug that was unacceptable in code I shipped. What are you supposed to do if you're the chef at Les Halles and your fishmonger is giving you smelly fish?
Working on CityDesk, Part Four
(Tip: to search the Microsoft knowledge base using Google, add site:support.microsoft.com to your query.)
James Pryor is a popular young Harvard philosophy professor who shows The Matrix in class to illustrate points about Epistemology. His article Guidelines on Writing a Philosophy Paper is one of the best tutorials on any kind of writing:
Pretend that your reader is lazy, stupid, and mean. He's lazy in that he doesn't want to figure out what your convoluted sentences are supposed to mean, and he doesn't want to figure out what your argument is, if it's not already obvious. He's stupid, so you have to explain everything you say to him in simple, bite-sized pieces. And he's mean, so he's not going to read your paper charitably. (For example, if something you say admits of more than one interpretation, he's going to assume you meant the less plausible thing.)
I can think of no better advice for the kind of writing that programmers should be doing in designing and documenting their code.
You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.
I’m Joel Spolsky, co-founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make Trello, which lets you organize anything, together, FogBugz, enlightened issue tracking software for bug tracking, and Kiln, which provides distributed version control and code reviews. I’m also the co-founder and CEO of Stack Exchange. More about me.