Learning in public
A weekly-ish livestream session where I read a CS paper, annotate it, and take notes — join me on Twitch!
Completed sessions
Session
0b101
, “Ironies of Automation” by Lisanne Bainbridge (part A) on 8 May ‘22Session
0b100
, “The Design and Implementation of a Log-Structured File System” (part B) on 24 Apr ‘22Session
0b11
(part A), “The Design and Implementation of a Log-Structured File System” (part A) on 10 Apr ‘22Session
0b10
, “The UNIX Time-sharing System” (part B) on 27 Mar ‘22Session
0b1
, “The UNIX Time-sharing System” (part A) on 13 Mar ‘22Session
0b0
, “How to read a paper” by S. Keshav, on 5 Mar ‘22My literature notes
Three pass approach
Get a general idea of the paper
- Should take five to ten minutes
- Read title, abstract, and intro
- Read section, subsection headings
- Read conclusion
- Glance over references (noting which ones you’ve read before)
- Should be able to answer the Five C’s (see below)
- Most folks only take one pass, so take care with your headings, abstract, intro, and conclusion
Grasp the paper’s content
- Should take up to an hour
- At the end of this pass, you should be able to summarize the main thrust – with supporting details – to someone else
- Read with greater care, but ignore details
- Take notes in the margins as you go along
- Be critical when reviewing figures, diagrams, illustrations
- Note which relevant references you haven’t read before
- If you didn’t grok the paper after this pass, you might be tired; the paper might not have been written well; or you might need more background information to make the most of the paper’s contributions
Dive deep into the details
- May take four to five hours for the beginner, an hour for an experienced reader
- Making the same assumptions as the authors, attempt to recreate their work
- At the end of it, you should be able to explain the details of the paper from memory
- You should also have determined hidden assumptions, missing citations, and potential issues
Five C’s
- Category
- Context
- Correctness
- Contributions
- Clarity
Doing a literature survey
(Maybe only one step: finding an existing survey when doing research using Google Scholar or CiteSeer)
- Start searching Google Scholar or CiteSeer using some well-chosen keywords
- Identify three to five recent papers on the subject at hand
- Do one pass on each paper, then check their related sections
- Determine the key researchers and papers by finding the most-cited ones across the papers’ related works
- Go to those researchers’ websites and find to which conferences they’ve submitted papers recently
- Those conferences’ websites will have links to the most recent top papers in the field
- Make two passes through these papers
- (optional) If these papers cite a paper you haven’t already collected, go get it, and repeat these steps.
Upcoming sessions
- Dynamo: Amazon’s Highly Available Key-value Store
- Communicating Sequential Processes
- Why Programming is a good medium for expressing poorly understood and sloppily-formulated ideas
- A literature review on TBD
- Let me know your favorite paper