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