The Sunday Paper


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 ‘22

  • Session 0b100, “The Design and Implementation of a Log-Structured File System” (part B) on 24 Apr ‘22

  • Session 0b11 (part A), “The Design and Implementation of a Log-Structured File System” (part A) on 10 Apr ‘22

  • Session 0b10, “The UNIX Time-sharing System” (part B) on 27 Mar ‘22

  • Session 0b1, “The UNIX Time-sharing System” (part A) on 13 Mar ‘22

  • Session 0b0, “How to read a paper” by S. Keshav, on 5 Mar ‘22

    My literature notes

    Three pass approach

    1. 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
    2. 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
    3. 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
    1. Category
    2. Context
    3. Correctness
    4. Contributions
    5. Clarity

    Doing a literature survey

    (Maybe only one step: finding an existing survey when doing research using Google Scholar or CiteSeer)

    1. Start searching Google Scholar or CiteSeer using some well-chosen keywords
    2. Identify three to five recent papers on the subject at hand
    3. Do one pass on each paper, then check their related sections
    4. Determine the key researchers and papers by finding the most-cited ones across the papers’ related works
    5. Go to those researchers’ websites and find to which conferences they’ve submitted papers recently
    6. Those conferences’ websites will have links to the most recent top papers in the field
    7. Make two passes through these papers
    8. (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