The conclusion drawn at the end of the article "Fuck it, don't clean the house!" isn't really supported by the (interesting!) discourse preceding it.

~

Having lived for the past ten years in various sorts of multi-person housing situations, there is indeed almost always a mismatch of who wants what cleaned how much.

The solution that sort-of works is to make sure everyone has their own space (bedrooms, usually) and then to agree upon some bare level of cleanliness for the commons area. In turn, the commons area is kept fairly empty: the more stuff you put in a space the harder it is to get everyone to agree on what to do with that stuff, and the harder it is to both keep it clean and notice that it's dirty in the first place.

One of my roommates and I had very compatible outlooks on what "clean" means: he's very detail oriented and was brought up scrubbing floors with toothbrushes towards a standard of cleanliness you only get in the whitest and most suburban of backgrounds, and I'm very very functional in mindset--clean is good, but organized is better. Between the two of us, I kept the large stuff organized and looking neat, and he'd handle a lot of the semi-periodic drudgery of scrubbing floors and whatnot. I would of course pitch in as requested, but that's kind of how it shook out.

Other roommates I've had have not always been so good. A road to disaster is "Whoever made the mess, clean it up", and a surer road does not exist. To wit:

One of my old apartments during school was shared one summer by two other students, one of whom was (and is!) a dear friend of mine. All of us had fairly libertarian fuck-you-got-mine leanings, and so we all agreed that "whoever made the mess, clean it up" was a good policy.

Naturally, this requires that all parties both keep an accurate account of what they've made dirty, and also that they clean things up on request. Both of these things do not happen in the real world.

It came to a head one day when I discovered that I could not use the sink, because both basins had become filled with dishes (no dishwasher was available, so we hand-washed our dishes). You cannot cook in a kitchen without a functioning sink, and so I crossly began processing all of the pots, pans, dishes, cups, and assorted crap that had accumulated.

While elbow deep in this, my roommates come out of their respective bedrooms and begin chatting with me. The conversation was as predictable as it was unproductive: "I have no problem doing my dishes, but if you can't prove that they're mine, it's not fair to ask me to do them."

It wasn't until they saw the fires of hell burning in my eyes as I struggled to resist the urge to beat them both to death with the frying pan I'd been failing to clean that they stopped this absurd line of discussion.

~

My current living situation is much better, precisely because we're all on the same page: we're all going to be mildly inconvenienced from time to time, but we have better things to do than optimize the arrangement of household problems.

Whoever kills the toilet paper goes and finds more. Whoever finds the dishwasher full and cycled unloads the dishes. Whoever notices the trash is too full empties it.

Certain tasks do have an affinity--I, for example, always vacuum up after my dog's fur. Other roommate always cleans up pans after they've cooked. It all works.

The big trick is to respect the people you live with, to have empathy for them, and most importantly to realize that in the long-term you are going to be a lot better off if you adopt a policy of "I'll fix this as soon as I find an issue". That works especially because it keeps things from building to a point where they get to be an issue.

Stop-the-world garbage collection, in real-life as in systems engineering, is not the best policy for normal work.

~

Long story short, I think that anyone who wants to really get a gut-level feeling about concurrency and OS design should live in close proximity with other people for a while. It gives you a new appreciation for those issues.