My brain, as the Far Side cartoon says, is full.
(Sorry about the lack of posts for a month. School happened. It's winding up now.)
In lieu of actual content, here's the reading list for 6.824, MIT's distributed systems course, which is what's been occupying a large number of my waking hours for the last four months. We built a distributed filesystem for it. Whee, Paxos.
It's frustrating when academic papers don't list their date of publication. I usually end up going through the sources and taking the maximum of the publication dates there as a rough estimate of it, for mental calibration purposes, but that's annoying. It's kind of depressing how many of these project are nominally open source but have been like "we're going to post the source Real Soon Now" since they were published. It's really depressing how few of these projects have obviously become something "real people" (by which I mean developers) actually use. I know other academic papers build on these ideas and closed-source commercial software probably borrows the ideas a lot but we never know, but still, the projects themselves seem like such… dead ends. Without doing a literature search it's hard to get from the paper about project X to all the things which have used it or built on it, except in the relatively rare occasion where the research project has gone on to commercial or open-source success, eg. TOR. It took me a decent bit of digging to figure out that anybody still cared about CoralCDN, for instance — the -announce mailing list last saw substantive traffic in 2006. I kept feeling déjà vu — I'm pretty sure I'd run into the Chord routing model before, for instance — but I couldn't figure out whether I'd read or been told about it in 6.033, or if somebody like OpenFT had picked it up (which I paid attention to when I was in high school, but which is another project that may or may not be dead). My biggest random take-away from this course is that I need to read up on AFS and Zephyr and whatever other distributed systems I use a lot and figure out how the concepts we learned about get applied in those systems.
Ramble ramble. Anyway — I find distributed systems an interesting, if sometimes maddening, area of study, which continue to be relevant with mumble cloud computing mumble peer-to-peer mumble stuff. I want to play with them more.