Coder Social home page Coder Social logo

papers-we-love / papers-we-love Goto Github PK

View Code? Open in Web Editor NEW
83.3K 3.1K 5.6K 225.17 MB

Papers from the computer science community to read and discuss.

Home Page: http://paperswelove.org/

Shell 100.00%
computer-science read-papers meetup papers programming theory awesome

papers-we-love's Introduction

Papers We Love

Discord

Papers We Love (PWL) is a community built around reading, discussing and learning more about academic computer science papers. This repository serves as a directory of some of the best papers the community can find, bringing together documents scattered across the web. You can also visit the Papers We Love site for more info.

Due to licenses we cannot always host the papers themselves (when we do, you will see a 📜 emoji next to its title in the directory README) but we can provide links to their locations.

If you enjoy the papers, perhaps stop by a local chapter meetup and join in on the vibrant discussions around them. You can also discuss PWL events, the content in this repository, and/or anything related to PWL on our Discord server.

Chapters

Let us know if you are interested in starting one in your city!

All of our meetups follow our Code of Conduct.

Past Presentations

Check out our YouTube channel for videos and video playlists.

Info

We're looking for pull requests related to papers we should add, better organization of the papers we do have, and/or links to other paper-repos we should point to.

Other Good Places to Find Papers

Please check out our wiki-page for links to blogs, books, exchanges that are worth a good read.

How To Read a Paper

Reading a paper is not the same as reading a blogpost or a novel. Here are a few handy resources to help you get started.

Applications/Ideas built around Papers We Love

Download papers

Open your favourite terminal and run:

$ ./scripts/download.sh

This will scrape markdown files for links to PDFs and download papers to their respective directories.

See README.md for more options.

Contributing Guidelines

Please take a look at our CONTRIBUTING.md file.

Copyright

The name "Papers We Love" and the logos for the organization are copyrighted, and under the ownership of Papers We Love Ltd, all rights reserved. When starting a chapter, please review our guidelines and ask us about using the logo.

papers-we-love's People

Contributors

bolshoytoster avatar bowmanb avatar chaddcw avatar darrenn avatar dconnolly avatar deltamualpha avatar dmuhs avatar hakutsuru avatar jdmaturen avatar jeremyheiler avatar johnclaus avatar khalian avatar kmulvey avatar leesharma avatar luque avatar mariusratzka avatar mfollett avatar najaf avatar newalexandria avatar newsomc avatar randommood avatar samlecuyer avatar santazhang avatar sks147 avatar sterlingm avatar tekmonkey42 avatar tokenrove avatar videlalvaro avatar zeeshanlakhani avatar zimbabao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

papers-we-love's Issues

CS education and pedagogy folder

i'd like to propose an education folder. spoke briefly with @videlalvaro in IRC and he suggested the comp_sci_fundamentals_and_history folder but the papers i am considering are neither fundamentals or history, which i think would make their discovery difficult if they were put in that category. additionally spoke to @zeeshanlakhani who said that there are education papers in the repo already- though, to me at least, it is unclear where they are, so if we did make new category, i'd be happy to volunteer seeking those out and moving them.

totally understand the desire to keep the categories limited, but i think this is an important and distinct one.

example papers:

Papers We Love #10 - Chris Martens on The Event Calculus as a Linear Logic Program

This issue has been created to start/spark/organize a conversation on the paper The Event Calculus as a Linear Logic Program by Vladimir Alexiev.

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found here.

Description

The event calculus is a system for reasoning about time-indexed truth, i.e. what propositions hold at which times, given a collection of events happening at various times and descriptions of their causal influence.

Alexiev presents a critique of the use of negation-as-failure in the traditional Prolog program implementing the event calculus. He then shows how to use linear logic, a logic of resource use, to implement the calculus in a purely-logical fashion.

A blog post with more detail is here (Part II is still in the works though). Code for my tinkering: https://github.com/chrisamaphone/interactive-lp/tree/master/examples. The relevant files are sec*.clf.

Bio

Chris Martens (@chrisamaphone) is a grad student at CMU, studying proof theory and type theory for programming languages. Her thesis project is a logic programming language for designing games and interactive stories.

PWLSF Meeting #3

This issue has been created to start/spark/organize a conversation on the paper Bimodal Multicast paper by Kenneth P. Birman, Mark Hayden, Oznur Ozkasap, Zhen Xiao,. Mihai Budiu, and Yaron Minsky.

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found here. Link to the meetup event is here. The meetup will be streamed and the video will be available immediately after.

Enable wiki for coordination with organizers

Want to enable the wiki so we can use it as a place to share information with organizers? It would be handy to start documenting things better so people know what to do to start one.

PWLSF Meeting #4 - Joel VanderWerf on Calvin

This issue has been created to start/spark/organize a conversation on the Calvin papers.

Modularity and Scalability in Calvin, IEEE 2013 by Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi.

Calvin: Fast Distributed Transactions for Partitioned Database Systems, SIGMOD 2012

Consistency Tradeoffs in Modern Distributed Database System Design, Abadi, 2012

Please offer up questions, comments, or additional information regarding this paper.

Add Thorough Contributing.MD

Things it should cover:

  • Cover naming conventions/formatting (folder/paper)
  • Be specific to the fact that this is a papers repo... do not include books or the like
  • Mention that any and all papers that have notices that do not allow for digital distribution should be removed before PR review
  • Two-Thumbs-Up minimum from PWL organizers/collaborators

CS Education

Would anyone find this useful?

I've got collections of papers, though I'll have to filter for which are sharable..

PWLBOS #1 => Christopher Meiklejohn on "A Note on Distributed Computing"

This is a forum for questions/comments/resources related to the PWLBOS meetup.

-/-

DESCRIPTION:

We will look at A Note on Distributed Computing, a technical report published at Sun Microsystems in November of 1994. This paper specifically focuses on the idea that attempting to provide a unified view of objects, whether they are local or remote, is mistaken. We will briefly discuss the history of this model, starting with the remote procedure call (RPC) mechanism, discuss the differences between non-distributed and distributed objects, and finally provide an example of lessons learned given the problems in Sun’s Network File System (NFS).

BIO:

Christopher Meiklejohn is a Senior Software Engineer with Basho Technologies, Inc. and a graduate student in the College of Computing at Georgia Tech.

PWL#7 => Armon Dadgar on SWIM

Armon Dadgar from Hashicorp presents the SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol paper by Abhinandan Das, Indranil Gupta, and Ashish Motivala.

Please offer up questions, comments, or additional information regarding this paper. For this particular meetup we will try a round of moderated discussions. Pre-submit any topics in this thread.

The meetup is scheduled for Thursday, September 25, 2014 @ 6:30pm - RSVP here > http://www.meetup.com/papers-we-love-too/events/176288712/

Computer Science Education papers?

CS Education is one of the most integral parts of Computer Science's community's growth, but it's often trivialized compared to the more technical aspects of the discipline. Still, I'd argue that the only thing harder than comprehending pointers is teaching them to someone else. Could we consider adding a section on CS Education? I'd be happy to add in some papers myself if there's interest.

PWL#6 => Peter Alvaro: Using Reasoning about Knowledge to Analyze Distributed Systems

Peter Alvaro from UC Berkeley will present the paper "Using Reasoning about Knowledge to Analyze Distributed Systems" by Joseph Halpern.

Please offer up questions, comments, or additional information regarding this paper. For this particular meetup we will try a round of moderated discussions. Pre-submit any topics in this thread.

Thursday, August 21, 2014 - RSVP information here - http://www.meetup.com/papers-we-love-too/events/168821902/

Why do we love this paper?

First, I want to say I've really been enjoying this repository. Thanks for the hard work. I would find it useful to see why a paper is included. After all, this is Papers we Love, not just Papers. Maybe this sort of information could be included in the per-directory README as mentioned in #47? The two motivations for this I have are:

  1. keeping the quality high
  2. helping people understand why a paper is important.
  3. gets really interesting I think. A paper might be interesting because it spawned a new domain, it was exceptionally well-written, or perhaps it was completely wrong about something.

Thoughts?

consider adding some of these misc links to books/articles/papers/etc

While these aren't all technically "research papers", they are still amazing, exotic and free educational reading resources i've collected over the last few years, so I'll link them just in case you guys want to display some of them.

Operating Systems: Three Easy Pieces
Communicating Sequential Processes (CSP)
Unixca's historical links archive
Programming UNIX Sockets in C - Frequently Asked Questions
C Craft
Ken Thompson Q&A
The Cathedral and the Bazaar
What every programmer should know about memory
Linux Technology Reference
1024cores
switch
command center
asktog
The Art of Unix Programming
stitz zeager math books

That should be enough for right now. I still have a bunch more, so if you guys want me to post more interesting links just let me know you guys are interested via a reply in this issue's comments.

PWL-SF Meeting #1

This issue has been created to start/spark/organize a conversation on the paper Dapper, a Large-Scale Distributed Systems Tracing Infrastructure by Benjamin H. Sigelman, Luiz André Barroso, Mike Burrows, Pat Stephenson, Manoj Plakal, Donald Beaver, Saul Jaspan and Chandan Shanbhag.

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found in this repo or here.

Figure out to remove previous fork altogether.

Arc90 deleted the original repo, which should have removed the fork altogether. Instead, we're now forked from somewhere else (a team using the fork of the old, original repo). I emailed github and hope we can process in the best way.

Create an automated way of refuting PDF submissions for papers with strict licensing

Soliciting ideas.

We need a list of publishers that do not allow redistribution of papers. We can then parse PDFs with this list and a simple python script, and reject files that appear to be under copyright.

  • create a list of publishers
  • write a python script to parse pdfs with list
  • add to post commit hook to reject files that appear to be under copyright

Papers We Love #9 - Camille Fournier on The Chubby lock service for loosely-coupled distributed systems

@skamille

This issue has been created to start/spark/organize a conversation on the paper The Chubby lock service for loosely-coupled distributed systems by Mike Burrows.

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found here or in the repo.

Description

Distributed consensus is often discussed in terms of algorithms: Paxos, ZAB, RAFT, etc. But while the algorithms may be more or less mind-bending, for me the more interesting aspect of distributed consensus is creating systems that support it for the general use case. This paper, on Google's Chubby lock service, is the story of happens when a system stops being a polite theory, and starts getting real-world use.

To anyone who has worked in depth as a distributed systems engineer, Chubby is a beautiful paper. It is not a paper about algorithms and their limits, or a toy fringe system created by grad students to test a hypothesis. It is a paper that describes the real tradeoffs that real systems engineers make when designing something to solve a large set of problems well enough. This paper shows the key insights that the authors had as to how such a system might be used, and awareness of what it should do well, and what it should not try to do well. It details how Chubby was designed, but then goes further to describe how it ended up being used when released to the wild, and the surprises and consequences of these design decisions.

Bio

Camille Fournier (@skamille) is the CTO at Rent the Runway. In her limited spare time, she works on various open source projects including Apache ZooKeeper.

PWL#5=> Henry Robinson on Impossibility of Distributed Consensus with One Faulty Process

This issue has been created to start/spark/organize a conversation on the paper Impossibility of Distributed Consensus with One Faulty Process by Fischer, Lynch and Patterson.

Henry will be focusing on the JACM version of the paper, not the PODS version. The JACM version is linked in the paper title above and you can also find it at: http://macs.citadel.edu/rudolphg/csci604/ImpossibilityofConsensus.pdf.

If anyone really wants extra reading, you might consider the following:

Please offer up questions, comments, or additional information regarding this paper.

How to read an academic paper

It may be nice to have a brief paragraph on how to read academic papers. It may not be completely straightforward to everyone attending.

Here are a few useful links:

Thanks for starting this group, it was the kick in the pants I was looking for ❤️

need url checking?

hello all

i come over as a contributor from another project (https://github.com/vhf/free-programming-books) and seeing the similarities of the format of both repos, i wondered if you have a need for a semi automated url check of all the submitted papers.

i wrote this https://github.com/borgified/url_checker which i'm currently using to weed out all the broken urls from the vhf/free-programming-books repo. i'm volunteering to adapt my script to help you check for broken urls in your project too, if there is such a need.

how it might work:

  1. run the script. (it sends output to STDOUT about broken links found)
  2. i copy the output and create an issue here for someone to confirm the problem (in case of false negatives) and they can make changes to your repo accordingly.
  3. repeat, more frequently if there are a lot of new additions

Codex

This repository could provide some value by creating a codex of symbols/notation commonly used in mathematics/computer science papers. When reading a paper, I need to look up what specific symbols mean, finding that information isn't always easy. Having a codex might help ease deciphering code/examples.

I realize that symbols may take on different meaning depending on the paper. Hoping for other perspectives on this.

Papers We Love DC #1 => Caitie McCaffrey on Orleans

. @CaitieM20

This issue has been created to start/spark/organize a conversation on the paper Orleans: Distributed Virtual Actors for Programmability and Scalability

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found here: http://research.microsoft.com/pubs/210931/Orleans-MSR-TR-2014-41.pdf

Description

High-scale interactive services demand high throughput with low latency and high availability, difficult goals to meet with the traditional stateless 3-tier architecture. The actor model makes it natural to build a stateful middle tier and achieve the required performance. However, the popular actor model platforms still pass many distributed systems problems to the developers.

The Orleans programming model introduces the novel abstraction of virtual actors that solves a number of the complex distributed systems problems, such as reliability and distributed resource management, liberat- ing the developers from dealing with those concerns. At the same time, the Orleans runtime enables applications to attain high performance, reliability and scalability.

This paper presents the design principles behind Orleans and demonstrates how Orleans achieves a simple programming model that meets these goals. We describe how Orleans simplified the development of several scalable production applications on Windows Azure, and report on the performance of those production systems.

Bio

Caitie McCaffrey is a Backend Brat, Distributed Systems Diva, and Tech Lover. She is currently a Software Engineer at HBO, and prior to that worked at 343 Industries. Her focus is on Web Services, Distributed Systems, and Big Data. She is passionate about creating fun, social, and collaborative entertainment experiences. Caitie has a degree in Computer Science from Cornell University, and has worked on several video games including Gears of War 2, Gears of War 3, and most recently Halo 4. She currently is working at HBO on the HBO Go services. She maintains a blog at CaitieM.com and frequently discusses technology and entertainment on Twitter @CaitieM20

Feature request: audio for papers on papers-we-love

It would be awesome if some tracheally-gifted community volunteers would put up some recordings of papers-we-love papers on SoundCloud or similar. Would it be a violation of the authors' rights to do so? Some entrepreneurial spirit could throw together a podcast and slap some ads on it... I'd listen to it during my commute!

PWLSF Meeting #2

This issue has been created to start/spark/organize a conversation on the paper The Akamai Network: A Platform for High-Performance Internet Applications by Erik Nygren, Ramesh K. Sitaraman, and Jennifer Sun.

Please offer up questions, comments, or additional information regarding this paper.

Paper can be found here.

Traits: A Mechanism for Fine-Grained Reuse

I think this is a good candidate for inclusion. The problem is that I can't tell if the license applies? This is what it says:

  Permission to make digital or hard copies of part or all of this work for personal or classroom use is
  granted without fee provided that copies are not made or distributed for profit or direct commercial
  advantage and that copies show this notice on the first page or initial screen of a display along
  with the full citation. Copyrights for components of this work owned by others than ACM must be
  honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers,
  to redistribute to lists, or to use any component of this work in other works requires prior specific
  permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 1515
  Broadway, New York, NY 10036 USA, fax:
  + 1 (212) 869-0481, or [email protected].
  C 2006 ACM 0164-0925/06/0300-0331 $5.00

If that is good enough I can submit a PR with a PDF included.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.