| > I'd argue that most of those are acting like FILO queues anyways, since you typically don't need random access to clothes in a washing machine/from the to-be-washed pile. Except in emergencies. But I regularly need stuff from the "hanging on the clothes drier"/"in the basket ready to come upstairs"/"in a big pile on the end of the bed ready to be put in the wardrobe" ones. > but it isn't caching as described in the article, It's still caching. It's just a prefetch cache - using quiet time to prefetch my clothes for when they are needed very quickly. > so excellent organization is (probably) the best way to cut down on overall time. I'm not sure it is. Excellent organisation has quite a write-time overhead. In most cases, the amount of effort to organise everything perfectly is going to outweigh the fractional time saving I'd get on most mornings. And in this case I'm also not looking to optimise overall time. I'm specifically looking to optimise speed to access it in the morning. >This is _still_ not caching, since you weren't going to sit down and perform some access intensive operations on your wallet and keys in the morning, I would be. If I had to go and get my single credit card from the filing cabinet where I keep the rest of them, then go and get my work pass from a "work" pile, my keys from the key box, my coat from the closet, my shoes from the shoe cupboard, my bus pass from my transport drawer, my daughter's school bag from her school-related pile etc, etc. The author makes it pretty clear that he's talking about caching in exactly this way "Caching is such an obvious thing because we do it all the time. I mean, the amount of information I get . . . certain things I have to keep track of right now, a bunch of things I have on my desk, and then other things are filed away, and then eventually filed away into the university archives system where it takes a whole day to get stuff out of it if I wanted. But we use that technique all the time to try to organize our lives." At the end of the day, it's never going to be a cache in the true computer sense of the work - there's not a separate copy being made (except in the case of my keys, where I've got exactly that, but that's more for failover than for caching) - but the idea of grouping things by speed of access in a given scenario rather than by category is analogous enough to caching to be worth discussing. If you want to call it "locality of reference", that's fine (and the link even talks about caching as one form of it). But one critical factor of an analogy is that it's a reasonably well understood term, and I strongly suspect that a lot more people would understand cache than locality of reference. |
I do think that analogies should be less, for want of a better term, leaky than those presented in the article: if they hadn't dragged CS topics into the discussion, I would've upvoted a reasonable productivity article and left it at that.