Just found the reading materials from my first systems class. 😍 Pretty great list. I loved the class and many people are surprised that it didn’t involve any coding whatsoever.

(Sorry for the lack of alt text, it’s too long for Mastodon’s limits. The photos are of a bound book with the reading list replicated here: https://web.mit.edu/6.033/2007/wwwdocs/reference.html)

@irene One of the great moments of revelation that has occurred in my adult life happened when one of David Farber ("grandfather of the Internet") students told me about his work on the DCS - distributed computer system - at UC Irvine in the late 1960s.

Before that I had viewed computer networks as collections of individual computers that happened to have links. After that I changed my entire view of networking to think of them as complex distributed systems, filled with feedback loops and one-way influences via often long-latency and certainly error prone channels.

I still find that an important view of our networks and I am finding it sad that so many of us "Internet types" do not understand that clinging to the old way of thinking inhibits our ability to understand, diagnose, and repair what is becoming one of, if not our most important, lifeline, communications and system-foundational infrastructure.

@karlauerbach I love stuff like this. Stuff like this is why I do what I do (research) because I not only get to have the aha moments myself but I get to create them for other people too.

@irene My hobby horse right now (and has been for several years) is a sense that we need to step outside of our present computer/networking sense of design methods and begin to look to how living things do it.

Living stuff is robust (although it accepts the concept of death as a useful tool, something we humans don't like to accept.)

Life aims at survival, not necessarily optimum use of resources. We need to think of that more.

I don't know how to do this - my tiny little step is to recognize that living things do not "deprecate" old methods, they just layer new methods on top. Yet in our human designs we often replace what worked with what works better (or at least seems to work better even if it can't handle cases the old methods did.)

One aspect I never followed was work at Univ of New Mexico about how systems can recognize "self" from "others" - based on biological methods of immunity response.

@irene Whenever I see reading lists like these, I wonder if students really read all of the papers. I know my students here in Germany wouldn't exactly be happy if they had to read that much stuff – and many students sadly barely touch anything beyond the provided lecture slides and exercises...
@me_ I was just talking to @elba about that! And yes, I did get the sense that people read the papers. I certainly did based on my notes that I wrote in the margins. @dan would know better, he actually taught the class. But this class was certainly not an outlier even for classes that included coding labs. The senior level OS, database and distributed systems classes have a very similar format but with coding labs and a project.

@irene @me_ @elba Well, I'm realizing that the last time I taught that class was 15 years ago (yikes!), but my impression was that most people did read all the papers. Or at least most of them (hey, the students are busy!)

I don't know what the students are like these days, but it looks like the class is still taught using basically the same format.

@dan @irene @me_ @elba Dan we need to get the band back together, for one last grad class
@dev @irene @me_ @elba my relationship with the local university is now such that they no longer ask me to teach their classes, grad or otherwise
@dan @irene @me_ @elba woodland university time? (If that doesn’t ring a bell I forgor the name of your house)
@dev @dan @irene @me_ @elba we starting a pirate college?
@dev @dan @irene @me_ @elba All I know is that Miso is the Dean
@dan @dev @irene @me_ @elba "Many are not called, but few are not chosen." I think I read that somewhere?
@eeide @dan @dev @me_ @elba should I offer to teach a class on sexism in CS? I have a great case study of how not to encourage women to stay in their PhD
@dan @irene @me_ @elba MIT is a special place. There's no way I would get Waterloo undergrads to read all these papers. But also MIT had faculty as recitation instructors where there was discussion of the papers in small groups (plus a token grad student doing one recitation section).
@va2lam @irene @me_ @elba hey that was me! The students had a choice between Butler Lampson and me. I hope I made it at least a slightly harder choice for them.
@va2lam @irene @me_ @elba for a while my CV listed the (true) statement "highest student evaluation of any instructor who was not named Butler Lampson"
@dan @va2lam @me_ @elba you should have gone with “does not have a Turing award” although you probably got higher ratings than several Turing award winners.
@dan @irene @me_ @elba yeah, I did the minimal TAing during grad school and certainly not a recitation. Butler Lampson was on my committee though.
@va2lam @dan @me_ @elba no, I’ve heard from my friends that are faculty at MIT that the students don’t want to do it any more either. I think they’ve had to either cut many of the coding assignments or readings or split the class over two semesters with less content.
@irene @dan @me_ @elba was it 12 units? That really is a bit more than 12 units of content.
@va2lam @dan @me_ @elba yeah it was. Hilariously I took a light load that semester just to account for that. Then the next semester I took 6.828, 6.824 and 6.830 at the same time because 6.033 was a prerequisite for all of them and technically that was the same load as the quarter before.
@irene @dan @me_ @elba I TAd 6.826 which is certainly less popular!
@va2lam @dan @me_ @elba oh I don’t think they offered that when I was there. I TAd 828 but it was only about 50 students I think.

@irene @elba @dan Good to know, thanks! I think 6.033 is a sophomore (year 2) course?

I'm preparing a somewhat similar undergrad course "System Programming" for our next winter term. I'm unsure if this will be a compilers course with focus on middle/backend (optimizations/code generation), since we currently don't have a compilers course, or a course similar to 6.033 that discusses systems in a vertical way, focussing on HW/SW interaction. I think I'll include more paper reading in any case...

@me_ @irene @elba The official story used to be that students were discouraged from taking it in their 2nd year so that they'd have more experience with computer systems, but in practice most people took it either in their 2nd or 3rd year.
@dan @me_ @elba I was GOING to take it my second year but someone I was dating was TAing it so I had to wait until my third year. 😤
@dan @me_ @elba and by someone I mean @dan. We did get married so I guess I will forgive him. Or hold a grudge forever.
@me_ @irene It's only a lot of reading if you actually read it.
@irene I'm currently wondering which of your and @dan 's papers are on reading lists of various classes now. Dan had a good postgres one iirc
@irene "Worse is More" is under appreciated.
It effectively predicts the rise of so much in open source, where "good enough and free/low cost" was adequate