Five Worlds
Something important is almost never mentioned in all the literature about programming and software development, and as a result we sometimes misunderstand each other. You’re a software develo…
Something important is almost never mentioned in all the literature about programming and software development, and as a result we sometimes misunderstand each other. You’re a software develo…
May 2002 "We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele, co-author of the Java spec In the software business there is an ongoing struggle between the pointy-headed academics, and another equally formidable force, the pointy-haired bosses. Everyone knows who…
1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary. RFC1392, the Internet Users' Glossary , usefully amplifies this as: A person who delights in having an intimate understanding of the…
Elaborate usability tests are a waste of resources. The best results come from testing no more than 5 users and running as many small tests as you can afford.
We spend a lot of time on this site talking about exciting Big Picture Stuff like .NET versus Java, XML strategy, Lock-In, competitive strategy, software design, architecture, and so forth. All thi…
This page is a slice of the history of concurrent programming, focusing on one particular lineage of Hoare's language of communicating sequential processes (CSP) [1] [1a] . Concurrent programming in this style is interesting for reasons not of efficiency but of clarity. That is, it is a widespread mistake to think…
Here’s a theory you hear a lot these days: “Microsoft is finished. As soon as Linux makes some inroads on the desktop and web applications replace desktop applications, the mighty empir…
August 2002 (This article describes the spam-filtering techniques used in the spamproof web-based mail reader we built to exercise Arc . An improved algorithm is described in Better Bayesian Filtering .) I think it's possible to stop spam, and that content-based filters are the way to do it. The Achilles heel of the…
The management training program we’re starting up here at Fog Creek will take about three years and will be relatively intensive. Among other things, there will be a required reading list con…
The idea of advertising is to lie without getting caught. Most companies, when they run an advertising campaign, simply take the most unfortunate truth about their company, turn it upside down (…
The current version of this article is The Guerrilla Guide to Interviewing, Version 3.0.
In March, 2000, I launched this site with the shaky claim that most people are wrong in thinking you need an idea to make a successful software company: The common belief is that when you’re …
A motley gang of anarchists, free-love advocates, and banana-rights agitators have hijacked The Love Boat out of Puerto Vallarta and are threatening to sink it in 7 days with all 616 passengers and…
Chapter 1: Controlling Your Environment Makes You Happy Most of the hard core C++ programmers I know hate user interface programming. This surprises me, because I find UI programming to be quintess…
Have a look at this little chart: [Source: Iris Associates] This is a chart showing the number of installed seats of the Lotus Notes workgroup software, from the time it was introduced in 1989 thro…
This piece has gotten a lot of attention over the years. I have heard a lot of people saying that they had been "inspired" by it. I fear that what they meant was that they were inspired by the one pull-quote that people tend to quote from it, and ignored the rest. So if someone has linked you to this page, or if…
When great thinkers think about problems, they start to see patterns. They look at the problem of people sending each other word-processor files, and then they look at the problem of people sending…
It occurred to me recently that The T Project had no coherent presence on the web. There's Olin's history , but I thought something a bit more calm and dignified is in order.