Merge pull request #1 from papers-we-love/master

Update my fork
This commit is contained in:
Alvaro Garcia 2016-06-28 09:47:31 +02:00 committed by GitHub
commit 277f67de00
96 changed files with 768 additions and 183 deletions

27
.github/CONTRIBUTING.md vendored Normal file
View File

@ -0,0 +1,27 @@
## Contributing Guidelines
We have a few guidelines in place to keep the repo clean and easy to navigate. We recommend that you follow these conventions in your pull-request for a speedy merge. Note that every pull request we receive must have Two-Thumbs-Up minimum from PWL organizers/collaborators to be merged.
### Follow the group's ethos
We want to help bring academic research closer to practitioners and we strive to:
* **Adhere to [Papers We Love Code of Conduct](https://github.com/papers-we-love/papers-we-love/blob/master/CODE_OF_CONDUCT.md)**.
* **Keep the quality of papers listed high:** Books, blogposts, and/or reference pdfs don't go through the same review process that academic papers do and we won't add them to this repo.
* **Help people understand why a paper is important:** We ask that you include with your commit an update to the directory README with a short justification of why you love this paper (for example: A paper might be interesting because it spawned a new domain, it was exceptionally well-written, or perhaps it was completely wrong about something.) Take look at this [pull request](https://github.com/papers-we-love/papers-we-love/pull/282/files) as a model.
### Respect content licenses
* **We will only merge pull requests that contain research papers that allow digital distribution.** Papers whose copyright prohibits redistribution will not be accepted; for example [license 1](http://www.acm.org/publications/policies/copyright-policy-v1) from the [ACM digital library](http://www.acm.org/publications/policies/copyright_policy).
* We encourage papers that do not allow digital distribution to be added to a README, with a link to the source URL, in the appropriate subject's folder. For example, [the distributed systems README](https://github.com/papers-we-love/papers-we-love/blob/master/distributed_systems/README.md).
### Follow our commit, naming, and directory-organization conventions
* Directory names are undercased and separated by underscores (example: artificial_intelligence)
* Paper names are undercased and separated by dashes (example: out-of-the-tar-pit.pdf). Use the full title when possible.
* If your pull request includes a binary file, like a `*.pdf` for example, please still include a link to the source URL in the appropriate subject's folder's README file and highlight it with a :scroll: emojii to show that the directory contains the file itself. Here's an example [pull request](https://github.com/papers-we-love/papers-we-love/pull/366/files).
* After raising [this issue](https://github.com/papers-we-love/papers-we-love/issues/290), it would beneficial to also include the *year* along with the title, link, and description/importance when adding paper(s) to a README.
* Please rebase all multi-commit branches/PRs into 1 single commit.
### 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](https://github.com/papers-we-love/papers-we-love/wiki/Creating-a-PWL-chapter) and ask us about using the logo.

9
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@ -0,0 +1,9 @@
## Paper Title:
### Paper Year:
### Reasons for including paper
-
-
-

View File

@ -8,12 +8,12 @@ Papers We Love events are for anyone interested in Computer Science/Computer Eng
**Be an adult, don't be a jerk.**
We value the participation of each member of the community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout the meet-ups and at all Papers We Love events and interactions on the GitHub repository and IRC channel.
We value the participation of each member of the community and want all attendees to have an enjoyable and fulfilling experience. Accordingly, all attendees are expected to show respect and courtesy to other attendees throughout the meet-ups and at all Papers We Love events and interactions on the GitHub repository, IRC or [Slack](https://paperswelove.slack.com/messages/general/) channels.
Need help?
----------
If you are experiencing harassment on or have concerns about content within the [GitHub repo](https://github.com/papers-we-love/papers-we-love), the **#paperswelove** IRC channel on Freenode, or [PapersWeLove.org](http://paperswelove.org) please contact:
If you are experiencing harassment on or have concerns about content within the [GitHub repo](https://github.com/papers-we-love/papers-we-love), the **#paperswelove** IRC channel on Freenode, the **paperswelove.slack.com** Slack, or [PapersWeLove.org](http://paperswelove.org) please contact:
- **Zeeshan Lakhani** [zeeshan@paperswelove.org](mailto:zeeshan@paperswelove.org)
- **Clint Newsom** [clint@paperswelove.org](mailto:clint@paperswelove.org)
@ -43,7 +43,7 @@ Harassment includes offensive verbal comments related to gender, sexual orientat
Participants asked to stop any harassing behavior are expected to comply immediately.
Contributors to the GitHub repository, the Meetup and/or event-related sites, sponsors, or similar are also subject to the anti-harassment policy. Organizers (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment..
Contributors to the GitHub repository, the Meetup and/or event-related sites, sponsors, or similar are also subject to the anti-harassment policy. Organizers (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.
Local Chapters
--------------

View File

@ -1,46 +1,55 @@
## ![Papers We Love](http://papers-we-love.github.io/images/logo-top.svg)
## ![Papers We Love](http://paperswelove.org/images/logo-top.svg)
**Papers We Love** 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](http://paperswelove.org/) for more info.
**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](http://paperswelove.org/) for more info.
Due to [licenses](https://github.com/papers-we-love/papers-we-love#respect-content-licenses) we cannot always host the papers themselves (when we do, you will see a :scroll: 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.
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 [Slack](https://paperswelove.slack.com/messages/general/), after [signing-up](http://papersweloveslack.herokuapp.com/) to join it, or on our *#paperswelove* IRC channel on freenode.
### Chapters
Here are our official chapters. Let us know if you are interested in [starting one](https://github.com/papers-we-love/papers-we-love/wiki/Creating-a-PWL-chapter) in your city!
* [New York City](http://www.meetup.com/papers-we-love/)
* [San Francisco](http://www.meetup.com/papers-we-love-too/) || [Meetup list](https://github.com/papers-we-love/papers-we-love/tree/master/_meetups/SanFrancisco)
* [Amsterdam](http://www.meetup.com/papers-we-love-amsterdam/)
* [Bangalore](http://www.meetup.com/Papers-we-love-Bangalore/)
* [Berlin](http://www.meetup.com/Papers-We-Love-Berlin/)
* [Boston](http://www.meetup.com/Papers-We-Love-Boston-Cambridge/)
* [Brasilia](http://www.meetup.com/papers-we-love-bsb)
* [Boulder](http://www.meetup.com/Papers-We-Love-Boulder/)
* [Bucharest](http://www.meetup.com/papers-we-love-bucharest/)
* [Chattanooga](http://www.meetup.com/Papers-We-Love-Chattanooga/)
* [Chicago](http://www.meetup.com/Papers-We-Love-Chicago)
* [Columbus, Ohio](http://www.meetup.com/Papers-We-Love-Columbus/)
* [Dallas](http://www.papersdallas.com/)
* [Hamburg](http://www.meetup.com/Papers-We-Love-Hamburg/)
* [Hyderabad](http://www.meetup.com/papers-we-love-hyderabad/)
* [Iasi](http://www.meetup.com/Papers-We-Love-Iasi/)
* [Kathmandu](https://www.facebook.com/groups/PapersWeLoveKathmandu/)
* [London](http://www.meetup.com/papers-we-love-london)
* [Los Angeles](http://www.meetup.com/papers-we-love-la)
* [Colorado](http://papersweloveco.org)
* [Ohio](http://www.meetup.com/Papers-We-Love-Columbus/)
* [Berlin](http://www.meetup.com/Papers-We-Love-Berlin/)
* [Pune](http://www.meetup.com/Doo-Things)
* [St. Louis](http://www.meetup.com/Papers-We-Love-in-saint-louis/)
* [Singapore](https://www.facebook.com/groups/paperswelovesg/)
* [Bangalore](http://www.meetup.com/Papers-we-love-Bangalore/)
* [Washington, DC](http://www.meetup.com/Papers-We-Love-DC/)
* [Montreal](http://www.meetup.com/Papers-We-Love-Montreal/)
* [Seattle](http://www.meetup.com/Papers-We-Love-Seattle/)
* [Toronto](http://www.meetup.com/Papers-We-Love-Toronto/)
* [Hamburg](http://www.meetup.com/Papers-We-Love-Hamburg/)
* [Reykjavík](http://www.meetup.com/Papers-We-Love-Reykjavik)
* [Dallas](http://www.meetup.com/Papers-We-Love-Dallas/)
* [Vienna](http://www.meetup.com/Papers-We-Love-Vienna/)
* [Munich](http://www.meetup.com/Papers-We-Love-Munich/)
* [Hyderabad](http://www.meetup.com/papers-we-love-hyderabad/)
* [Madrid](http://www.meetup.com/Papers-We-Love-Madrid/)
* [Amsterdam](http://www.meetup.com/papers-we-love-amsterdam/)
* [Montreal](http://www.meetup.com/Papers-We-Love-Montreal/)
* [Munich](http://www.meetup.com/Papers-We-Love-Munich/)
* [New York City](http://www.meetup.com/papers-we-love/)
* [Paris](http://www.meetup.com/Papers-We-Love-Paris/)
* [Philadelphia](http://www.meetup.com/Papers-We-Love-Philadelphia/)
* [Portland](http://www.meetup.com/Papers-We-Love-PDX/)
* [Pune](http://www.meetup.com/Doo-Things)
* [Reykjavík](http://www.meetup.com/Papers-We-Love-Reykjavik)
* [San Francisco](http://www.meetup.com/papers-we-love-too/)
* [Seattle](http://www.meetup.com/Papers-We-Love-Seattle/)
* [Seoul, Korea](http://www.meetup.com/seoul-tech-society)
* [Singapore](https://www.facebook.com/groups/paperswelovesg/)
* [St. Louis](http://www.meetup.com/Papers-We-Love-in-saint-louis/)
* [Toronto](http://www.meetup.com/Papers-We-Love-Toronto/)
* [Vienna](http://www.meetup.com/Papers-We-Love-Vienna/)
* [Winnipeg](http://www.meetup.com/Papers-We-Love-Winnipeg/)
All of our meetups follow our [Code of Conduct](CODE_OF_CONDUCT.md).
### Past Presentations
View a complete list of [past presentations](https://github.com/papers-we-love/papers-we-love/wiki/Past-Presentations) or check out our [Youtube](http://www.youtube.com/user/PapersWeLove) and [MixCloud](http://www.mixcloud.com/paperswelove/) (audio-only format) channels.
View a complete list of [past presentations](https://github.com/papers-we-love/papers-we-love/wiki/Past-Presentations) or check out our [Youtube](https://www.youtube.com/user/PapersWeLove) and [MixCloud](https://www.mixcloud.com/paperswelove/) (audio-only format) channels.
## Search this Repo!
[@polyfractal](https://github.com/polyfractal) indexed this repository with Elastic Search. Find papers [here](http://findpaperswelove.com) !
@ -51,18 +60,18 @@ We're looking for pull requests related to papers we should add, better organiza
### Other Good Places to Discuss Papers
* [Papers We Love reddit](http://www.reddit.com/r/paperswelove)
* [Papers We Love reddit](https://www.reddit.com/r/paperswelove)
### Other Good Places to Find Papers
* [Bell System Technical Journal, 1922-1983](http://alcatel-lucent.com/bstj/)
* [Bell System Technical Journal, 1922-1983](https://www.alcatel-lucent.com/bell-labs-journals)
* [Best Paper Awards in Computer Science](http://jeffhuang.com/best_paper_awards.html)
* [Facebook](https://www.facebook.com/publications)
* [Google Scholar](http://scholar.google.com/citations?view_op=top_venues&hl=en&vq=eng) (choose a subcategory)
* [Microsoft Research](http://research.microsoft.com/apps/catalog/default.aspx?t=publications)
* [Functional Programming Books Review](http://alexott.net/en/fp/books/)
* [MIT's Artificial Intelligence Lab Publications](http://dspace.mit.edu/handle/1721.1/39813)
* [MIT's Distributed System's Reading Group](http://pdos.csail.mit.edu/dsrg/)
* [MIT's Distributed System's Reading Group](http://dsrg.pdos.csail.mit.edu/)
* [arXiv Paper Repository](http://arxiv.org/)
* [SciRate](https://scirate.com/)
* [cat-v.org](http://doc.cat-v.org/)
@ -72,8 +81,9 @@ We're looking for pull requests related to papers we should add, better organiza
* [Readings in Distributed Systems](http://christophermeiklejohn.com/distributed/systems/2013/07/12/readings-in-distributed-systems.html)
* [Gradual Typing Bibliography](http://samth.github.io/gradual-typing-bib/)
* [Security Data Science Papers](http://www.covert.io/security-datascience-papers/)
* [Research Papers from Robert Harper, Carnegie Mellon University](http://www.cs.cmu.edu/~rwh/papers.htm)
* [Research Papers from Robert Harper, Carnegie Mellon University](http://www.cs.cmu.edu/~rwh/papers.html)
* [Lobste.rs tagged as PDF](https://lobste.rs/t/pdf)
* [The Morning Paper](http://blog.acolyer.org/)
Please check out our [wiki-page](https://github.com/papers-we-love/papers-we-love/wiki/Other-Good-Sources-of-Reading-Material) for links to blogs, books, exchanges that are worth a good read.
@ -84,27 +94,13 @@ Reading a paper is not the same as reading a blogpost or a novel. Here are a few
* [How to read an academic article](http://organizationsandmarkets.com/2010/08/31/how-to-read-an-academic-article/)
* [Advice on reading academic papers](http://www4.ncsu.edu/~akmassey/posts/2012-02-15-advice-on-reading-academic-papers.html)
* [How to read and understand a scientific paper](http://violentmetaphors.com/2013/08/25/how-to-read-and-understand-a-scientific-paper-2/)
* [Should I Read Papers?](http://michaelrbernste.in/2014/10/21/should-i-read-papers.html)
* [The Refreshingly Rewarding Realm of Research Papers](https://www.youtube.com/watch?v=8eRx5Wo3xYA)
## Contributing Guidelines
We have a few guidelines in place to keep the repo clean and easy to navigate. We recommend that you follow these conventions in your pull-request for a speedy merge. Note that every pull request we receive must have Two-Thumbs-Up minimum from PWL organizers/collaborators to be merged.
Please take a look at our [CONTRIBUTING.md](https://github.com/papers-we-love/papers-we-love/blob/master/.github/CONTRIBUTING.md) file.
### Follow the group's ethos
## Copyright
We want to help bring academic research closer to practitioners and we strive to:
* **Keep the quality of papers listed high:** Books, blogposts, and/or reference pdfs don't go through the same review process that academic papers do and we won't add them to this repo.
* **Help people understand why a paper is important:** We ask that you include with your commit an update to the directory README with a short justification of why you love this paper (for example: A paper might be interesting because it spawned a new domain, it was exceptionally well-written, or perhaps it was completely wrong about something.)
### Respect content licenses
* **We will only merge pull requests that contain research papers that allow digital distribution.** Papers whose copyright prohibits redistribution will not be accepted; for example [license 1](http://www.acm.org/publications/policies/copyright-policy-v1) from the [ACM digital library](http://www.acm.org/publications/policies/copyright_policy).
* We encourage papers that do not allow digital distribution to be added to a README in the appropriate subject's folder. For example, [the distributed systems README](https://github.com/papers-we-love/papers-we-love/blob/master/distributed_systems/README.md).
### Follow our naming convention
* Directory names are undercased and separated by underscores (example: artificial_intelligence)
* Paper names are undercased and separated by dashes (example: out-of-the-tar-pit.pdf). Use the full title when possible.
### Copyright
The name "Papers We Love" and the logos for the organization are copyrighted, and under the ownership of Papers We Love NYC, all rights reserved. When starting a chapter, please review [our guidelines](https://github.com/papers-we-love/papers-we-love/wiki/Creating-a-PWL-chapter) and ask us about using the logo.
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](https://github.com/papers-we-love/papers-we-love/wiki/Creating-a-PWL-chapter) and ask us about using the logo.

View File

@ -1 +1,5 @@
[Architectural Styles and the Design of Network-based Software Architectures (REST) by Roy Fielding](https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf)
# API Design
* [Architectural Styles and the Design of Network-based Software Architectures (REST) by Roy Fielding](https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf)
* :scroll: [Little Manual of API Design](api-design.pdf)

View File

@ -1,7 +1,12 @@
## Artificial Intelligence
[Analysis of Three Bayesian Network Inference Algorithms:Variable Elimination, Likelihood Weighting, and Gibbs Sampling](https://github.com/papers-we-love/papers-we-love/blob/master/artificial_intelligence/3-bayesian-network-inference-algorithm.pdf) by Rose F. Liu, Rusmin Soetjipto
* [:scroll:](3-bayesian-network-inference-algorithm.pdf) [Analysis of Three Bayesian Network Inference Algorithms:Variable Elimination, Likelihood Weighting, and Gibbs Sampling](https://github.com/papers-we-love/papers-we-love/blob/master/artificial_intelligence/3-bayesian-network-inference-algorithm.pdf) by Rose F. Liu, Rusmin Soetjipto
[Computing Machinery and Intelligence](http://www.csee.umbc.edu/courses/471/papers/turing.pdf) by A.M. Turing
* :scroll: [Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search](efficient-selectivity-and-backup-operators-in-monte-carlo-tree-search.pdf)
[Judea Pearl](http://bayes.cs.ucla.edu/jp_home.html) folder - Papers by Judea Pearl, 2011 winner of the ACM Turing Award.
* [Computing Machinery and Intelligence](http://www.csee.umbc.edu/courses/471/papers/turing.pdf) by A.M. Turing
* [Judea Pearl](http://bayes.cs.ucla.edu/jp_home.html) folder - Papers by Judea Pearl, 2011 winner of the ACM Turing Award.
* [:open_file_folder: Summary of Papers](judea_pearl/)
* [Mastering the Game of Go with Deep Neural Networks and Tree Search](http://airesearch.com/wp-content/uploads/2016/01/deepmind-mastering-go.pdf) by Silver et al.

View File

@ -1,5 +1,5 @@
## Audio-related Computer Science
[An ethnographic and technological study of breakbeats in Hardcore, Jungle, and Drum & Bass](https://github.com/papers-we-love/papers-we-love/blob/master/audio_comp_sci/an-ethnographic-and-technological-study-of-breakbeats.pdf) by Jason A. Hockman
* :scroll: [An ethnographic and technological study of breakbeats in Hardcore, Jungle, and Drum & Bass](an-ethnographic-and-technological-study-of-breakbeats.pdf) by Jason A. Hockman
[An Industrial-Strength Audio Search Algorithm](https://github.com/papers-we-love/papers-we-love/blob/master/audio_comp_sci/shazam-audio-search-algorithm.pdf) by Avery Li-Chun Wang
* :scroll: [An Industrial-Strength Audio Search Algorithm](shazam-audio-search-algorithm.pdf) by Avery Li-Chun Wang

View File

@ -1,4 +1,4 @@
##Biocomputing
## Biocomputing
Some resources that may assist in understanding papers in this section:
- Polymerase Chain Reaction ( [a short video](http://www.youtube.com/watch?v=2KoLnIwoZKU), [wikipedia](http://en.wikipedia.org/wiki/Pcr))

View File

@ -1,3 +1,5 @@
[An O(1) algorithm for implementing the LFU cache eviction scheme](https://github.com/papers-we-love/papers-we-love/blob/master/caching/a-constant-algorithm-for-implementing-the-lfu-cache-eviction-scheme.pdf) by Prof. Ketan Shah, Anirban Mitra, Dhruv Matani
# Caching
[2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm](http://www.vldb.org/conf/1994/P439.PDF) by Theodore Johnson and Dennis Shasha
* [:scroll:](a-constant-algorithm-for-implementing-the-lfu-cache-eviction-scheme.pdf) [An O(1) algorithm for implementing the LFU cache eviction scheme](https://github.com/papers-we-love/papers-we-love/blob/master/caching/a-constant-algorithm-for-implementing-the-lfu-cache-eviction-scheme.pdf) by Prof. Ketan Shah, Anirban Mitra, Dhruv Matani
* [:scroll:](2q-a-low-overhead-high-performance-buffer-management-replacement-algorithm.pdf) [2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm](http://www.vldb.org/conf/1994/P439.PDF) by Theodore Johnson and Dennis Shasha

View File

@ -10,7 +10,7 @@ This is a cross-listing of papers related to Clojure, it's core, contrib and pop
* [Compiling Pattern Matching to good Decision Trees](http://www.cs.tufts.edu/~nr/cs257/archive/luc-maranget/jun08.pdf)
## Type Theory
* [Practical Optional Types for Clojure](http://frenchy64.github.io/papers/typed-clojure-draft.pdf) (draft)
* [:scroll:](a-practical-optional-type-system-for-clojure.pdf) [Practical Optional Types for Clojure](http://frenchy64.github.io/papers/typed-clojure-draft.pdf) (draft)
## Clojure/West 2014
* Applicative Functional Programming

View File

@ -2,7 +2,8 @@
* [Turing, On computable numbers, with an application to the Entscheidungsproblem](http://www.turingarchive.org/browse.php/B/12) by Alan Turing
* [Mealy, A Method for Synthesizing Sequential Circuits] (http://www3.alcatel-lucent.com/bstj/vol34-1955/articles/bstj34-5-1045.pdf) by George H. Mealy
* :scroll: [Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself](https://github.com/papers-we-love/papers-we-love/blob/master/comp_sci_fundamentals_and_history/story-of-squeak-a-practical-smalltalk-written-in-itself.pdf) by Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace & Alan Kay
* :scroll: [Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I](https://github.com/papers-we-love/papers-we-love/blob/master/comp_sci_fundamentals_and_history/recursive-functions-of-symbolic-expressions-and-their-computation-by-machine-parti.pdf) by John McCarthy
* :scroll: [An Axiomatic Basis for Computer Programming](https://github.com/papers-we-love/papers-we-love/blob/master/comp_sci_fundamentals_and_history/axiomatic-basis-computer-programming.pdf) by C. A. R. HOARE
* :scroll: [On the Computational Complexity of Algorithims](http://www.ams.org/journals/tran/1965-117-00/S0002-9947-1965-0170805-7/S0002-9947-1965-0170805-7.pdf) by J. HARTMANIS AND R. E. STEARNS
* :scroll: [Back to the Future - The Story of Squeak, A Practical Smalltalk Written in Itself](story-of-squeak-a-practical-smalltalk-written-in-itself.pdf) by Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace & Alan Kay
* :scroll: [Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I](recursive-functions-of-symbolic-expressions-and-their-computation-by-machine-parti.pdf) by John McCarthy
* :scroll: [An Axiomatic Basis for Computer Programming](axiomatic-basis-computer-programming.pdf) by C. A. R. HOARE
* [On the Computational Complexity of Algorithims](http://www.ams.org/journals/tran/1965-117-00/S0002-9947-1965-0170805-7/S0002-9947-1965-0170805-7.pdf) by J. HARTMANIS AND R. E. STEARNS
* :scroll: [Hints for Computer System Design](hints-for-computer-system-design.pdf)

View File

@ -0,0 +1,6 @@
## Computational Creativity
* [:scroll:](mexica-a-computer-model-of-a-cognitive-account-of-creativing-writing.pdf) [MEXICA: a computer model of a cognitive account of creative writing.](https://www.researchgate.net/publication/220080099_MEXICA_A_computer_model_of_a_cognitive_account_of_creative_writing) by Rafael Perez Y Perez and Mike Sharples
> This 2001 paper is one of the classics in computational creativity. The Engagement-Reflection cycle that they use, alternating story generation and a set of reflection/revision passes, had a foundational impact on the very young field of narrative generation, the first of its kind to break away from standard theories of events and simulation, and instead look more at the cognitive side of storytelling to inform its approach. - @chrisamaphone

View File

@ -1,14 +1,7 @@
### Rendering
* [Digital Video Stabilization and Rolling Shutter Correction using
Gyroscopes](http://graphics.stanford.edu/papers/stabilization/karpenko_gyro.pdf)
This is a really great paper that is both complex and straightforward.
This paper "present a robust, real-time video stabilization and rolling
shutter correction technique based on gyroscopes". I think
this is a great paper because it makes a clever use of a commodity technology
(smartphones' gyroscopes) to make a state-of-the-art improvement to a
central components of phones: video cameras by removing the shakes
and rolling shutter artifacts of a video in real-time.
* [:scroll:](digital_video_stabilization_and_rolling_shutter_correction_using_gyroscopes.pdf) [Digital Video Stabilization and Rolling Shutter Correction using Gyroscopes](http://graphics.stanford.edu/papers/stabilization/karpenko_gyro.pdf)
This is a really great paper that is both complex and straightforward. This paper "present a robust, real-time video stabilization and rolling shutter correction technique based on gyroscopes". I think this is a great paper because it makes a clever use of a commodity technology (smartphones' gyroscopes) to make a state-of-the-art improvement to a central components of phones: video cameras by removing the shakes and rolling shutter artifacts of a video in real-time.
* [An Improved Illumination Model for Shaded Display](https://www.cs.drexel.edu/~david/Classes/CS586/Papers/p343-whitted.pdf)
@ -38,6 +31,15 @@ and rolling shutter artifacts of a video in real-time.
- [Procedural Modeling of Buildings](http://www.peterwonka.net/Publications/pdfs/2006.SG.Mueller.ProceduralModelingOfBuildings.final.pdf)
- [Instant Architecture](http://www.peterwonka.net/Publications/pdfs/2003.SG.Wonka.InstantArchitecture.high.pdf)
### Mesh Editing
* [PushPull++](http://peterwonka.net/Publications/pdfs/2014.SG.Lipp.PushPull.pdf)
> Of all the ways to manipulate a 3D mesh, push/ technique popularized by SketchUp is one of the most approachable and fun. PushPull++ is a recent paper that elaborates on the technique, cleaning up a lot of edge cases and unlocking new features, using wonderfully straightforward math. The potential for 3D modeling tools or procedural mesh generation APIs built on these simple ideas is very exciting.
> The paper presents the technique and the tool that the authors built. I will focus on the technique, as s the part I loved more in this paper (quote by Ramsey Nasser).
### Shape grammars
* [Shape Grammars and the Generative Specification of Painting and Sculpture](http://shapegrammar.org/ifip/SGBestPapers72.pdf)

Binary file not shown.

View File

@ -1,3 +1,5 @@
# Computer Vision
* [Coupled 3D Reconstruction of Sparse Facial Hair and Skin](http://www.disneyresearch.com/project/coupled-3d-reconstruction-of-sparse-facial-hair-and-skin/)
* [High-Quality Single-Shot Capture of Facial Geometry](http://www.disneyresearch.com/project/high-quality-single-shot-capture-of-facial-geometry/)

View File

@ -1,6 +1,8 @@
# Concurrency
* [Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask](http://sigops.org/sosp/sosp13/papers/p33-david.pdf)
* [Time, Clocks, and the Ordering of Events in a Distributed System](http://www.stanford.edu/class/cs240/readings/lamport.pdf)
* [Time, Clocks, and the Ordering of Events in a Distributed System](http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf)
* [Heap Architectures For Concurrent Languages Using Message Passing](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.1302&rep=rep1&type=pdf)
@ -11,3 +13,7 @@
* [The Semantics of x86-CC Multiprocessor Machine Code](http://www.cl.cam.ac.uk/~pes20/weakmemory/popl09.pdf)
*Note: This contribution here is the focus on the rigorous semantics for x86 multiprocessor programs and an axiomatic definition of the memory model. Their definitions and proofs are backed by the [HOL](http://en.wikipedia.org/wiki/HOL_(proof_assistant))(Higher Order Logic) proof assistant.*
* :scroll: [Experience with Processes and Monitors in Mesa](https://people.eecs.berkeley.edu/~brewer/cs262/Mesa.pdf)
* [Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms](http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)

4
crash_only/README.md Normal file
View File

@ -0,0 +1,4 @@
# Crash-Only Software
* [Crash-Only Software](https://www.usenix.org/legacy/events/hotos03/tech/full_papers/candea/candea.pdf) by Candea and Fox.
* [Microreboot -- A technique for cheap recovery](https://www.usenix.org/legacy/event/osdi04/tech/full_papers/candea/candea.pdf) by Candea, Kawamoto, Fujiki, Friedman, Fox. Follows up on the original crash-only paper to outline a broader strategy of failure management.

View File

@ -1,7 +1,11 @@
* [A Method for Obtaining Digital Signatures and Public-Key Cryptosystems](http://people.csail.mit.edu/rivest/Rsapaper.pdf)
* [Twenty Years of Attacks on the RSA Cryptosystem](https://crypto.stanford.edu/~dabo/papers/RSA-survey.pdf)
* :scroll: [Communication Theory of Secrecy Systems](communication-theory-of-secrecy-systems.pdf)
* [New Directions in Cryptography](http://www-ee.stanford.edu/~hellman/publications/24.pdf)
# Cryptography
* [A Method for Obtaining Digital Signatures and Public-Key Cryptosystems (1977)](http://people.csail.mit.edu/rivest/Rsapaper.pdf)
* [Twenty Years of Attacks on the RSA Cryptosystem (1999)](https://crypto.stanford.edu/~dabo/papers/RSA-survey.pdf)
* :scroll: [Communication Theory of Secrecy Systems (1949)](communication-theory-of-secrecy-systems.pdf)
* [New Directions in Cryptography (1976)](http://www-ee.stanford.edu/~hellman/publications/24.pdf)
* [RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis (2013)](http://www.cs.tau.ac.il/~tromer/papers/acoustic-20131218.pdf)
* [The Moral Character of Cryptographic Work (2015)](http://web.cs.ucdavis.edu/~rogaway/papers/moral-fn.pdf)
## Related Works
### [A Mathematical Theory of Cryptography (1945)](http://www.cs.bell-labs.com/who/dmr/pdfs/shannoncryptshrt.pdf) - Shannon

View File

@ -1 +1,4 @@
# Data Compression
* :scroll: [Data Compression](data-compression.pdf)
> This paper surveys a variety of data compression methods spanning almost 40 years of research, from the work of Shannon, Fano and Huffman in the 40's, to a technique developed in 1986.

View File

@ -0,0 +1,4 @@
# Data Replication
* :scroll: [A comprehensive study of Convergent and Commutative Replicated Data Types](a-comprehensive-study-of-convergent-and-communative-replicated-data-types.pdf)
> Eventual consistency aims to ensure that replicas of some mutable shared object converge without foreground synchronisation. We study a principled approach: to base the design of shared data types on some simple formal conditions that are sufficient to guarantee even- tual consistency. We call these types Convergent or Commutative Replicated Data Types (CRDTs).

View File

@ -1,3 +1,17 @@
# Data Structures
* [Dynamic Hash Tables](http://www.csd.uoc.gr/~hy460/pdf/Dynamic%20Hash%20Tables.pdf)
* [Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms](http://www.research.ibm.com/people/m/michael/podc-1996.pdf)
* [RRB-Trees: Efficient Immutable Vectors](http://infoscience.epfl.ch/record/169879/files/RMTrees.pdf)
* [Cuckoo Hashing](http://www.it-c.dk/people/pagh/papers/cuckoo-jour.pdf)
* [Hopscotch Hashing](http://mcg.cs.tau.ac.il/papers/disc2008-hopscotch.pdf)
## Hosted Papers
* :scroll: [Epidemic Broadcast Trees](epidemic-broadcast-trees.pdf)
* :scroll: [Ideal Hash Trees](ideal-hash-trees.pdf)
* :scroll: [The Least Common Ancestor Problem revisited](lca-revisited.pdf)
* :scroll: [The Level Ancestor Problem simplifed](level-ancestor-simplified.pdf)

View File

@ -1,2 +1,73 @@
# Datastores
* [Calvin: Fast Distributed Transactions for Partitioned Database Systems](http://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf)
* [f4: Facebooks Warm BLOB Storage System](http://www-bcf.usc.edu/~wyattllo/papers/f4-osdi14.pdf)
* [The Case for Determinism in Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/determinism-vldb10.pdf)
* [Consistency Tradeoffs in Modern Distributed Database System Design](http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf)
* [Modularity and Scalability in Calvin](http://sites.computer.org/debull/A13june/calvin1.pdf)
* [Lightweight Locking for Main Memory Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/vll-vldb13.pdf)
* [Cassandra - A Decentralized Structured Storage System](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.6751&rep=rep1&type=pdf)
* [CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data](http://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf)
* [Dont Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS](http://www.cs.cmu.edu/~dga/papers/cops-sosp2011.pdf)
* [Dremel: Interactive Analysis of Web-Scale Datasets](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36632.pdf)
* [F1: A Distributed SQL Database That Scales](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41344.pdf)
* [HaLoop: Efficient Iterative Data Processing on Large Clusters](http://www.ics.uci.edu/~yingyib/papers/HaLoop_camera_ready.pdf)
* [HyperDex: A Distributed, Searchable Key-Value Store](https://cs.uwaterloo.ca/~bernard/hyperdex.pdf)
* [Introduction to a System for Distributed Databases SDD-1](http://www.few.vu.nl/~kgr700/sdd1.pdf)
* [Making Reliable Distributed Systems in the Presence of Software Errors](http://www.erlang.org/download/armstrong_thesis_2003.pdf)
* [Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System](http://zoo.cs.yale.edu/classes/cs422/2013/bib/terry95managing.pdf)
* [Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters](http://www.cs.duke.edu/courses/cps399.28/current/papers/sigmod07-YangDasdanEtAl-map_reduce_merge.pdf)
* [MDCC: Multi-Data Center Consistency](https://amplab.cs.berkeley.edu/wp-content/uploads/2013/03/mdcc-eurosys13.pdf)
* [Optimistic replication](http://pages.cs.wisc.edu/~remzi/Classes/739/Spring2004/Papers/optimistic-survey.pdf)
* [The Dangers of Replication and a Solution](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.2707&rep=rep1&type=pdf)
* [Towards a Next Generation Data Center Architecture: Scalability and Commoditization](http://research.microsoft.com/pubs/79348/presto27-greenberg.pdf)
## Hosted Papers
* :scroll: [Bigtable: A Distributed Storage System for Structured Data](bigtable-a-distributed-storage-system-for-structured-data.pdf)
* :scroll: [Database Metatheory: Asking Big Queries](database-metatheory--asking-the-big-queries.pdf)
* :scroll: [Dynamo: Amazons Highly Available Key-value Store](dynamo-amazons-highly-available-key-value-store.pdf)
* :scroll: [Flat Datacenter Storage](flat-datacenter-storage.pdf)
* :scroll: [Freenet: A Distributed Anonymous Information Storage and Retrieval System](freenet-a-distributed-anonymous-information-and-retrieval-system.pdf)
* :scroll: [Megastore: Providing Scalable, Highly Available Storage for Interactive Services](megastore-providing-scalable-highly-available-storage-for-interactive-services.pdf)
* :scroll: [A Solution to the Network Challenges of Data Recovery in Erasure-coded Distributed Storage Systems: A Study on the Facebook Warehouse Cluster](network-challenges-of-data-recovery-in-erasure-coded-distributed-storage-systems.pdf)
* :scroll: [RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters](rados-a-scalable-reliable-storage-service-for-petabyte-scale-storage-clusters.pdf)
* :scroll: [Spanner: Googles Globally-Distributed Database](spanner-google's-globally-distributed-database.pdf)
* :scroll: [Stasis: Flexible Transactional Storage](stasis-flexible-transactional-storage.pdf)
* :scroll: [TAO: Facebooks Distributed Data Store for the Social Graph'](tao-facebook-distributed-datastore.pdf)
* :scroll: [Transactional storage for geo-replicated systems](transactional-storage-for-geo-replicated-systems.pdf)
* :scroll: [Warp: Multi-Key Transactions for Key-Value Stores](warp-multi-key-transactions-for-key-value-stores.pdf)

View File

@ -1 +1,6 @@
# Design
* [No Silver Bullet — Essence and Accidents of Software Engineering](http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf)
* [Traits: A Mechanism for Fine-Grained Reuse](http://scg.unibe.ch/archive/papers/Duca06bTOPLASTraits.pdf)
* :scroll: [Out of the Tar Pit](out-of-the-tar-pit.pdf)
> We identify common causes of complexity and discuss general approaches which can be taken to eliminate them where they are accidental in nature.

View File

@ -0,0 +1,3 @@
# Digital Currency
* :scroll: [Bitcoin](bitcoin.pdf) * :scroll: [PeerCoin](peercoin.pdf) * :scroll: [PrimeCoin](primecoin.pdf)

View File

@ -1,67 +1,36 @@
# Distributed Systems
* General Papers
* Topics
* [Datastores](#datastores)
* [Physics](#physics)
* [Testing, Verification, and Correctness](#testing-verification-and-correctness)
## External Papers
* :scroll: [A Note on Distributed Computing](http://www.eecs.harvard.edu/~waldo/Readings/waldo-94.pdf)
* [:scroll:](a-note-on-distributed-computing.pdf) [A Note on Distributed Computing](http://www.eecs.harvard.edu/~waldo/Readings/waldo-94.pdf)
* [A simple totally ordered broadcast protocol](http://labs.yahoo.com/files/ladis08.pdf)
* [A simple totally ordered broadcast protocol](http://diyhpl.us/~bryan/papers2/distributed/distributed-systems/zab.totally-ordered-broadcast-protocol.2008.pdf)
* [Above the Clouds: A Berkeley View of Cloud Computing](http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf)
* The Calvin papers:
* [The Case for Determinism in Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/determinism-vldb10.pdf)
* [Consistency Tradeoffs in Modern Distributed Database System Design](http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf)
* [Modularity and Scalability in Calvin](http://sites.computer.org/debull/A13june/calvin1.pdf)
* [Calvin: Fast Distributed Transactions for Partitioned Database Systems](http://www.cs.yale.edu/homes/dna/papers/calvin-sigmod12.pdf)
* [Lightweight Locking for Main Memory Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/vll-vldb13.pdf)
* [Cassandra - A Decentralized Structured Storage System](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.6751&rep=rep1&type=pdf)
* [Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications](http://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf)
* [CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data](http://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf)
* [Dont Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS](http://www.cs.cmu.edu/~dga/papers/cops-sosp2011.pdf)
* [Dremel: Interactive Analysis of Web-Scale Datasets](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36632.pdf)
* [F1: A Distributed SQL Database That Scales](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41344.pdf)
* [HaLoop: Efficient Iterative Data Processing on Large Clusters](http://www.ics.uci.edu/~yingyib/papers/HaLoop_camera_ready.pdf)
* [Hoard: A Scalable Memory Allocator for Multithreaded Applications](http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf)
* [HyperDex: A Distributed, Searchable Key-Value Store](https://cs.uwaterloo.ca/~bernard/hyperdex.pdf)
* [Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial](https://www.cs.cornell.edu/fbs/publications/SMSurvey.pdf)
* [Introduction to a System for Distributed Databases SDD-1](http://www.few.vu.nl/~kgr700/sdd1.pdf)
* [Kafka: a Distributed Messaging System for Log Processing](http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf)
* [Large-scale cluster management at Google with Borg](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/43438.pdf)
* [Linearizability: A Correctness Condition for Concurrent Objects](http://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf)
* [Making Reliable Distributed Systems in the Presence of Software Errors](http://www.erlang.org/download/armstrong_thesis_2003.pdf)
* [Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial](https://www.cs.cornell.edu/fbs/publications/SMSurvey.pdf)
* [Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System](http://zoo.cs.yale.edu/classes/cs422/2013/bib/terry95managing.pdf)
* [Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters](http://www.cs.duke.edu/courses/cps399.28/current/papers/sigmod07-YangDasdanEtAl-map_reduce_merge.pdf)
* [MDCC: Multi-Data Center Consistency](https://amplab.cs.berkeley.edu/wp-content/uploads/2013/03/mdcc-eurosys13.pdf)
* [Hoard: A Scalable Memory Allocator for Multithreaded Applications](http://people.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf)
* [MillWheel: Fault-Tolerant Stream Processing at Internet Scale](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41378.pdf)
* [Omega: flexible, scalable schedulers for large compute clusters](http://research.google.com/pubs/archive/41684.pdf)
* [Optimistic replication](http://pages.cs.wisc.edu/~remzi/Classes/739/Spring2004/Papers/optimistic-survey.pdf)
* [Orleans: Distributed Virtual Actors for Programmability and Scalability] (http://research.microsoft.com/apps/pubs/default.aspx?id=210931)
* [Paxos Made Live - An Engineering Perspective](http://www.cs.utexas.edu/users/lorenzo/corsi/cs380d/papers/paper2-1.pdf)
@ -74,24 +43,20 @@
* [Resilient Overlay Networks](http://nms.lcs.mit.edu/papers/ron-sosp2001.pdf)
* [Sinfonia: A New Paradigm for Building Scalable Distributed Systems](http://research.microsoft.com/en-us/people/aguilera/sinfonia-aguilera-sosp2007.pdf)
* [Sinfonia: A New Paradigm for Building Scalable Distributed Systems](http://www.mshah.org/papers/sosp_2007_aguilera.pdf)
* [Sparrow: Distributed, Low Latency Scheduling](http://people.csail.mit.edu/matei/papers/2013/sosp_sparrow.pdf)
* [The Byzantine Generals Problem](http://www.andrew.cmu.edu/course/15-749/READINGS/required/resilience/lamport82.pdf)
* :scroll: [The Chubby Lock Service for Loosely-Coupled Distributed Systems](http://static.googleusercontent.com/media/research.google.com/en/us/archive/chubby-osdi06.pdf)
* [:scroll:](the-chubby-lock-service-for-loosely-coupled-distributed-systems.pdf) [The Chubby Lock Service for Loosely-Coupled Distributed Systems](http://static.googleusercontent.com/media/research.google.com/en/us/archive/chubby-osdi06.pdf)
* [The Dangers of Replication and a Solution](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.2707&rep=rep1&type=pdf)
* :scroll: [The Join Calculus: a Language for Distributed Mobile Programming](http://research.microsoft.com/en-us/um/people/fournet/papers/join-tutorial.pdf)
* [:scroll:](join-calculus.pdf) [The Join Calculus: a Language for Distributed Mobile Programming](http://research.microsoft.com/en-us/um/people/fournet/papers/join-tutorial.pdf)
* [The Part-Time Parliament](http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf)
* [There Is More Consensus in Egalitarian Parliaments](https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf)
* [Towards a Next Generation Data Center Architecture: Scalability and Commoditization](http://research.microsoft.com/pubs/79348/presto27-greenberg.pdf)
* [Transactional Client-Server Cache Consistency: Alternatives and Performance](http://www.cs.berkeley.edu/~franklin/Papers/p315-franklin.pdf)
* [Unicorn: A System for Searching the Social Graph](http://db.disi.unitn.eu/pages/VLDBProgram/pdf/industry/p871-curtiss.pdf)
@ -104,9 +69,202 @@
* [VL2: A Scalable and Flexible Data Center Network](http://research.microsoft.com/pubs/80693/vl2-sigcomm09-final.pdf)
## Other Hosted Papers
## Related Works
* :scroll: [A History of the Virtual Synchrony Replication Model](a-history-of-the-virtual-synchrony-replication-model.pdf)
* :scroll: [A Hundred Impossibility Proofs for Distributed Systems](a-hundred-impossibility-proofs-for-distributed-computing.pdf)
* :scroll: [A response to Cheriton and Skeen's Criticism of Causal and Totally Ordered Communication](a-response-to-cheriton-and-skeens-criticism-of-causal-and-totally-ordered-communication.pdf)
* :scroll: [A Universal Modular ACTOR Formalism for Artificial Intelligence](a-universal-modular-actor-formalism-for-artificial-intelligence.pdf)
* :scroll: [A Versatile Scheme for Routing Highly Variable Traffic in Service Overlays and IP Backbones](a-versatile-scheme-for-routing-highly-variable-traffic-in-service-overlays-and-ip.pdf)
* :scroll: [Beehive: O(1) Lookup Performance for Power-Law Query Distributions in Peer-to-Peer Overlays](beehive-lookup-performance-for-power-law-query-distributions-in-peer-to-peer-overlays.pdf)
* :scroll: [Byzantine Chain Replication](bizantine-chain-replication.pdf)
* :scroll: [A Byzantine Fault Tolerant Distributed Commit Protocol](bizantine-fault-tolerant-distributed-commit-protocol.pdf)
* :scroll: [Brewers Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services](brewers-conjecture.pdf)
* :scroll: [Chain Replication for Supporting High Throughput and Availability](chain-replication-for-supporting-high-throughput-and-availability.pdf)
* :scroll: [Commodifying Replicated State Machines with OpenReplica](commodifying-replicated-state-machines-with-openreplica.pdf)
* :scroll: [Consensusin the Presenceof Partial Synchrony](consensus-in-presence-of-partial-synchrony.pdf)
* :scroll: [Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms](consistent-global-states-of-distributed-systems-fundamental-concepts-and-mechanisms.pdf)
* :scroll: [Consistent Hashing and Random Trees:
Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web](consistent-hashing-and-random-trees.pdf)
* :scroll: [Copysets: Reducing the Frequency of Data Loss in Cloud Storage](copysets-reducing-the-frequency-of-data-loss-in-cloud-storage.pdf)
* :scroll: [Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](dapper-a-large-scale-distributed-tracing-infrastructure.pdf)
* :scroll: [Distributed Snapshots: Determining Global States of Distributed Systems](distributed-snapshots-determining-global-states-of-distributed-systems.pdf)
* :scroll: [Eluding Carnivores: File Sharing with Strong Anonymity](eluding-carnivores-file-sharing-with-strong-anonymity.pdf)
* :scroll: [End-to-end arguments in system design](end-to-end-arguments-in-system-design.pdf)
* :scroll: [Epidemic Algorithms for Replicated Database Maintenance](epidemic-algorithms-for-replicated-database-maintenance.pdf)
* :scroll: [Harvest, Yield, and Scalable Tolerant Systems](harvest-yield-and-scalable-tolerant-systems.pdf)
* :scroll: [Herbivore: A Scalable and Efficient Protocol for Anonymous Communication](herbivore-a-scalable-and-efficient-protocol-for-anonymous.pdf)
* :scroll: [High-Level Specifications: Lessons from Industry](high-level-specifications--lessons-from-industry.pdf)
* :scroll: [How the Hidden Hand Shapes the Market for Software Reliability](how-the-hidden-hand-shapes-the-market-for-software-reliability.pdf)
* :scroll: [Implementing the Omega failure detector in the crash-recovery failure model](implementing-the-omega-failure-detector-in-crash-recovery-failure-model.pdf)
* :scroll: [Impossibility of Distributed Consensuswith One Faulty Process](impossibility-of-consensus-with-one-faulty-process.pdf)
* :scroll: [In Search of an Understandable Consensus Algorithm](in-search-of-an-understandable-consensus-algorithm.pdf)
* :scroll: [Kelips*: Building an Efficient and Stable P2P DHT Through Increased Memory and Background Overhead](kelips-building-an-efficient-and-stable-p2p-dht-through-increased-memory-and-background-overhead.pdf)
* :scroll: [Large-scale Incremental Processing Using Distributed Transactions and Notifications](large-scale-incremental-processing-using-distributed-transactions-and-notifications.pdf)
* :scroll: [Life beyond Distributed Transactions: an Apostates Opinion](life-beyoud-distributed-transactions-an-apostates-opinion.pdf)
* :scroll: [MapReduce: Simplified Data Processing on Large Clusters](mapreduce-simplified-data-processing-on-large-clusters.pdf)
* :scroll: [Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center](mesos-a-platform-for-fine-grained-resource-sharing-in-the-data-center.pdf)
* :scroll: [Oblivious routing of highly variable traffic in service overlays and IP backbones](oblivious-routing-of-highly-variable-traffic-in-service-overlays-and-ip-backbones.pdf)
* :scroll: [On proof and progress in mathematics](on-proof-and-progress-in-mathematics.pdf)
* :scroll: [P5: A Protocol for Scalable Anonymous Communication](p5-a-protocal-for-scalable-anonymous-communication.pdf)
* :scroll: [Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems](pastry-scalable-decentralized-object-location-and-routing-for-large-scale-peer-to-peer-systems.pdf)
* :scroll: [Paxos Made Moderately Complex](paxos-made-moderately-complex.pdf)
* :scroll: [Paxos Made Simple](paxos-made-simple.pdf)
* :scroll: [Self-stabilizing Systems in Spite of Distributed Control](self-stabilizing-systems-in-spite-of-distributed-control.pdf)
* :scroll: [SIFT: Design and Analysis of a Fault-Tolerant Computer for Aircraft Control](sift-design-and-analysis-of-a-fault-tolerant-computer-for-aircraft-contro.pdf)
* :scroll: [Signal/Collect: Graph Algorithms for the (Semantic) Web](signal-%26-collect-graph-algorithms-for-the-\(semantic\)-web.pdf)
* :scroll: [Slution of a Problem in
Concurrent Programming Control](solution-of-a-problem-in-concurrent-programming-control.pdf)
* :scroll: [Sparse Partitions](sparse-partitions.pdf)
* :scroll: [Stronger Semantics for Low-Latency Geo-Replicated Storage](stronger-semantics-for-low-latency-geo-replicated-storage.pdf)
* :scroll: [The Akamai Network: A Platform for High-Performance Internet Applications](the-akamai-network.pdf)
* :scroll: [The Dining CryptographersProblem:
Unconditional Sender and Recipient Untraceability](the-dining-cryptographers-problem.pdf)
* :scroll: [Tor: The Second-Generation Onion Router](tor-the-second-generation-onion-router.pdf)
* :scroll: [Towards a cloud computing research agenda](towards-a-cloud-computing-research-agenda.pdf)
* :scroll: [Understanding the Limitations of Causally and Totally Ordered Communication](understanding-the-limitations-of-causally-and-totally-ordered-communication.pdf)
* :scroll: [Viewing Control Structures as Patterns of Passing Messages](viewing-control-structures-as-patterns-of-passing-messages.pdf)
* :scroll: [Warp: Multi-Key Transactions for Key-Value Stores](warp-multi-key-transactions-for-key-value-stores.pdf)
* :scroll: [Zab: High-performance broadcast for primary-backup systems](zab-high-performance-broadcast-for-primary-backup-systems.pdf)
* :scroll: [ZooKeeper: Wait-free coordination for Internet-scale systems](zookeeper-wait-free-coordination-for-internet-scale-systems.pdf)
* :scroll: [Tiered Replication: A Cost-effective Alternative to
Full Cluster Geo-replication](tiered-replication-a-cost-effective-alternative-to-full-cluster-geo-replication.pdf)
## Topics
### Datastores
* [Calvin: Fast Distributed Transactions for Partitioned Database Systems](http://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf)
* [f4: Facebooks Warm BLOB Storage System](http://www-bcf.usc.edu/~wyattllo/papers/f4-osdi14.pdf)
* [The Case for Determinism in Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/determinism-vldb10.pdf)
* [Consistency Tradeoffs in Modern Distributed Database System Design](http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf)
* [Modularity and Scalability in Calvin](http://sites.computer.org/debull/A13june/calvin1.pdf)
* [Lightweight Locking for Main Memory Database Systems](http://cs-www.cs.yale.edu/homes/dna/papers/vll-vldb13.pdf)
* [Cassandra - A Decentralized Structured Storage System](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.6751&rep=rep1&type=pdf)
* [CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data](http://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf)
* [Dont Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS](http://www.cs.cmu.edu/~dga/papers/cops-sosp2011.pdf)
* [Dremel: Interactive Analysis of Web-Scale Datasets](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/36632.pdf)
* [F1: A Distributed SQL Database That Scales](http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/41344.pdf)
* [HaLoop: Efficient Iterative Data Processing on Large Clusters](http://www.ics.uci.edu/~yingyib/papers/HaLoop_camera_ready.pdf)
* [HyperDex: A Distributed, Searchable Key-Value Store](https://cs.uwaterloo.ca/~bernard/hyperdex.pdf)
* [Introduction to a System for Distributed Databases SDD-1](http://www.few.vu.nl/~kgr700/sdd1.pdf)
* [Making Reliable Distributed Systems in the Presence of Software Errors](http://www.erlang.org/download/armstrong_thesis_2003.pdf)
* [Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System](http://zoo.cs.yale.edu/classes/cs422/2013/bib/terry95managing.pdf)
* [Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters](http://www.cs.duke.edu/courses/cps399.28/current/papers/sigmod07-YangDasdanEtAl-map_reduce_merge.pdf)
* [MDCC: Multi-Data Center Consistency](https://amplab.cs.berkeley.edu/wp-content/uploads/2013/03/mdcc-eurosys13.pdf)
* [Optimistic replication](http://pages.cs.wisc.edu/~remzi/Classes/739/Spring2004/Papers/optimistic-survey.pdf)
* [The Dangers of Replication and a Solution](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.2707&rep=rep1&type=pdf)
* [Towards a Next Generation Data Center Architecture: Scalability and Commoditization](http://research.microsoft.com/pubs/79348/presto27-greenberg.pdf)
* :scroll: [Bigtable: A Distributed Storage System for Structured Data](../datastores/bigtable-a-distributed-storage-system-for-structured-data.pdf)
* :scroll: [Database Metatheory: Asking Big Queries](../datastores/database-metatheory--asking-the-big-queries.pdf)
* :scroll: [Dynamo: Amazons Highly Available Key-value Store](../datastores/dynamo-amazons-highly-available-key-value-store.pdf)
* :scroll: [Flat Datacenter Storage](../datastores/flat-datacenter-storage.pdf)
* :scroll: [Freenet: A Distributed Anonymous Information Storage and Retrieval System](../datastores/freenet-a-distributed-anonymous-information-and-retrieval-system.pdf)
* :scroll: [Megastore: Providing Scalable, Highly Available Storage for Interactive Services](../datastores/megastore-providing-scalable-highly-available-storage-for-interactive-services.pdf)
* :scroll: [A Solution to the Network Challenges of Data Recovery in Erasure-coded Distributed Storage Systems: A Study on the Facebook Warehouse Cluster](../datastores/network-challenges-of-data-recovery-in-erasure-coded-distributed-storage-systems.pdf)
* :scroll: [RADOS: A Scalable, Reliable Storage Service for Petabyte-scale Storage Clusters](../datastores/rados-a-scalable-reliable-storage-service-for-petabyte-scale-storage-clusters.pdf)
* :scroll: [Spanner: Googles Globally-Distributed Database](../datastores/spanner-google's-globally-distributed-database.pdf)
* :scroll: [TAO: Facebooks Distributed Data Store for the Social Graph'](../datastores/tao-facebook-distributed-datastore.pdf)
* :scroll: [Transactional storage for geo-replicated systems](../datastores/transactional-storage-for-geo-replicated-systems.pdf)
* :scroll: [Warp: Multi-Key Transactions for Key-Value Stores](../datastores/warp-multi-key-transactions-for-key-value-stores.pdf)
### Physics
* :scroll: [“On the Electrodynamics of Moving Bodies” (1905) — Einstein](../physics/on-the-electrodynamics-of-moving-bodies.pdf)
By solving the [asymmetries](http://en.wikipedia.org/wiki/Moving_magnet_and_conductor_problem) that arise in Maxwells equations, Einsteins 1905 paper set the stage for current distributed systems work by demonstrating that there is no absolute frame of reference and by providing an upper bound on the speed of communication.
### <a name="testing-verification-and-correctness"></a>Testing, Verification, and Correctness
* :scroll: [Simple Testing Can Prevent Most Critical Failures:
An Analysis of Production Failures in Distributed
Data-Intensive Systems](https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf)
* :scroll: [IronFleet: Proving Practical Distributed Systems Correct](http://research.microsoft.com/pubs/255833/IronFleet-twocol.pdf)
### [“On the Electrodynamics of Moving Bodies” (1905) — Einstein](../historical/physics/on-the-electrodynamics-of-moving-bodies.pdf)
By solving the [asymmetries](http://en.wikipedia.org/wiki/Moving_magnet_and_conductor_problem) that arise in Maxwells equations, Einsteins 1905 paper set the stage for current distributed systems work by demonstrating that there is no absolute frame of reference and by providing an upper bound on the speed of communication.

View File

@ -1,5 +1,7 @@
# Economics
# Economics
## Auctions and Bidding
* [Auctions and bidding: A guide for computer scientists](http://www.sci.brooklyn.cuny.edu/~parsons/projects/mech-design/publications/bluffers-final.pdf) by Simon Parsons
* [Auctions and bidding: A guide for computer scientists (2011)](http://www.sci.brooklyn.cuny.edu/~parsons/projects/mech-design/publications/bluffers-final.pdf) by S. Parsons, J. Rodriguez-Aguilar, M. Klein
* [Optimal Bidding in Online Auctions (2001)] (http://www.mit.edu/~dbertsim/papers/Revenue%20Management/Optimal%20Bidding%20in%20Online%20Auctions.pdf) by Dimitris Bertsimas, Jerey Hawkinsy, Georgia Perakis

View File

@ -1 +1,3 @@
# Ethics
* [Reflections on Trusting Trust](http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf)

View File

@ -5,4 +5,4 @@ It can be used in the analysis of algorithms [(Wikipedia)](http://en.wikipedia.o
## Included Papers
* [A Theoretician's Guide to the Experimental Analysis of Algorithms](http://davidsjohnson.net/papers/experguide.pdf) (David S. Johnson): An exceptionally well-written guide to correctly evaluating algorithms by experimental analysis. The techniques described in this paper do not only apply to theoreticians although the title might lead one to believe so. The examples used in this paper and specifically the method of listing straight-forward principles illustrated by pit-falls and pet peeves make for an excellent must-read for everyone intending to publish experimental algorithm results.
* [:scroll:](a-theoreticians-guide-to-the-experimental-analysis-of-algorithms.pdf) [A Theoretician's Guide to the Experimental Analysis of Algorithms](http://davidsjohnson.net/papers/experguide.pdf) (David S. Johnson): An exceptionally well-written guide to correctly evaluating algorithms by experimental analysis. The techniques described in this paper do not only apply to theoreticians although the title might lead one to believe so. The examples used in this paper and specifically the method of listing straight-forward principles illustrated by pit-falls and pet peeves make for an excellent must-read for everyone intending to publish experimental algorithm results.

View File

@ -1,6 +1,17 @@
# Functional Programming
* :scroll: [Organizing Programs Without Classes](http://cs.au.dk/~hosc/local/LaSC-4-3-pp223-242.pdf)
* [:scroll:](organizing-programs-without-classes.pdf) [Organizing Programs Without Classes](http://cs.au.dk/~hosc/local/LaSC-4-3-pp223-242.pdf)
* [:scroll:](functional-programming-with-bananas-lenses-envelops-and-barbed-wire.pdf) [Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire](http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf)
From Patrick Thomson's [An introduction to Recursion Schemes](http://patrickthomson.ghost.io/an-introduction-to-recursion-schemes/):
> In 1991, Erik Meijer, Maarten Fokkinga, and Ross Paterson published their now-classic paper Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. Though this paper isnt widely known outside of the functional programming community, its contributions are astonishing: the authors use category theory to express a set of simple, composable combinators, called recursion schemes, that automate the process of traversing and recursing through nested data structures. Though recursion schemes predate Meijer et. als work, this paper brings the enormous abstractive power of category theory to bear on the subject of traversing data structures—its a magnificent example of how category-theoretical concepts can bring both rigor and simplicity to day-to-day programming tasks.
* :scroll: [Equal Rights for Functional Objects or,
The More Things Change, The More They Are the Same](equal-rights-for-functional-objects.pdf)
* :scroll: [Optimal Purely Functional Priority Queues](optimal-purely-functional-priority-queues.pdf)
* :scroll: [Why Functional Programming Matters](why-functional-programming-matters.pdf)
## Applicative Programming
@ -10,7 +21,7 @@
## Concatenative Programming
* :scroll: [Concatenative Programming: An Overlooked Paradigm in Functional Programming](https://github.com/dterei/Research-Papers/blob/master/To%20Read/CONCATENATIVE%20PROGRAMMING%0AAn%20Overlooked%20Paradigm%20in%20Functional%20Programming.pdf)
* :scroll: [Concatenative Programming: An Overlooked Paradigm in Functional Programming](concatenative-programming-an-overlooked-paradigm.pdf)
## Imperative Programming - Functional Programming

View File

@ -1,5 +1,28 @@
# Functional Reactive Programming
* [Functional Reactive Programming, Continued](http://haskell.cs.yale.edu/wp-content/uploads/2011/02/workshop-02.pdf)
* [Event-Driven FRP](http://www.cs.yale.edu/homes/zwan/papers/mcu/efrp.pdf)
* [Real-Time FRP](http://haskell.cs.yale.edu/wp-content/uploads/2011/02/rt-frp.pdf)
* [Asynchronous Functional Reactive Programming for GUIs](http://people.seas.harvard.edu/~chong/pubs/pldi13-elm.pdf)
* [Push-Pull Functional Reactive Programming](http://conal.net/papers/push-pull-frp/push-pull-frp.pdf)
* [Wormholes: Introducing Effects to FRP](http://haskell.cs.yale.edu/wp-content/uploads/2012/08/Winograd-Cort-Wormholes.pdf)
* [Elm: Concurrent FRP for Functional GUIs](https://www.seas.harvard.edu/sites/default/files/files/archived/Czaplicki.pdf)
## Hosted Papers
* :scroll: [A Survey of Functional Reactive Programming](a-survey-of-functional-reactive-programming.pdf)
* :scroll: [Deprecating the Observer Pattern](deprecating-the observer-pattern.pdf)
* :scroll: [FrTime: Functional Reactive Programming in PLT Scheme](frp-in-plt-scheme.pdf)
* :scroll: [Functional Reactive Animation](functional-reactive-animation.pdf)
* :scroll: [RAY: Integrating Rx and Async for Direct-Style Reactive Streams](ray-integrating-rx-and-async-for-direct-style-reactive-streams.pdf)

View File

@ -13,3 +13,9 @@
* [MoviPill: Improving Medication Compliance for Elders - Using a Mobile Persuasive Social Game](http://www.ic.unicamp.br/~oliveira/doc/Ubicomp2010_MoviPill.pdf)
* [Removing Gamification from an Enterprise SNS](http://www.jennthom.com/papers/gamification.pdf)
## Hosted Papers
* :scroll: [Gamification in Education: What, How, Why Bother?](gamification-in-education-what-how-why-bother.pdf)
* :scroll: [Why Students Engage in “Gaming the System” Behavior in Interactive Learning Environments](why-students-engage-in-gaming-the-system-behavior-in-interactive-learning-environments.pdf)

View File

@ -1,7 +1,11 @@
* [A Unified Theory of Garbage Collection](http://www.cs.virginia.edu/~cs415/reading/bacon-garbage.pdf)
* [A LISP Garbage-Collector for Virtual-Memory Computer Systems](https://www.cs.purdue.edu/homes/hosking/690M/p611-fenichel.pdf)
* [Incremental Collection of Mature Objects](http://pdf.aminer.org/000/465/194/incremental_collection_of_mature_objects.pdf)
* :scroll: [Incremental Mature Garbage Collection Using the Train Algorithm](https://www.sics.se/~seif/DatalogiII/Book/train.ps)
* [:scroll:](incremental_mature_garbage_collection_using_the_train_algorithm.pdf) [Incremental Mature Garbage Collection Using the Train Algorithm](https://www.sics.se/~seif/DatalogiII/Book/train.ps)
* [Incremental Garbage Collection: The Train Algorithm](http://www.ssw.uni-linz.ac.at/General/Staff/TW/Wuerthinger05Train.pdf)
* :scroll: The Lisp II Garbage Collector (ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-019.pdf)
* [:scroll:](the_lisp_ii_garbage_collector.pdf) [The Lisp II Garbage Collector](ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-019.pdf)
* [The Treadmill: Real-Time Garbage Collection Without Motion Sickness](http://home.pipeline.com/~hbaker1/NoMotionGC.html)
* [Parallel Generational-Copying Garbage Collection with a Block-Structured
Heap](http://community.haskell.org/~simonmar/papers/parallel-gc.pdf)

View File

@ -1,16 +1,18 @@
## Gossip
If you only read one of these papers, start with the classic Demers, et al paper:
* [Epidemic Algorithms for Replicated Database Maintenance] (http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/parc/techReports/CSL-89-1_Epidemic_Algorithms_for_Replicated_Database_Maintenance.pdf)
# Peer sampling services
Briefly, a peer sampling service is a system that maintains a restricted set (partial view) of the all machines participating in a gossip system.
* [The Peer Sampling Service: Experimental Evaluation of Unstructured Gossip-Based Implementations](http://infoscience.epfl.ch/record/83409/files/neg--1184036295all.pdf)
* [HyParView](http://gsd.di.uminho.pt/jop/pdfs/LPR07b.pdf)
* [HyParView: a membership protocol for reliable gossip-based broadcast](http://asc.di.fct.unl.pt/~jleitao/pdf/dsn07-leitao.pdf)
* [SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol](http://www.cs.cornell.edu/~asdas/research/dsn02-swim.pdf)
# Epidemic broadcast
* [Large-Scale Newscast Computing on the Internet ](http://www.soc.napier.ac.uk/~benp/dream/dreampaper17.pdf)
* [Bimodal Multicast](http://www.csl.mtu.edu/cs6461/www/Reading/Birman99.pdf)
* [Efficient Reconciliation and Flow Control for Anti-Entropy Protocols](http://idning-paper.googlecode.com/svn/trunk/reference/ignore/Scuttlebutt_Efficient_reconciliation_and_flow_control_for_anti-entropy_protocols.pdf)
* [Efficient Reconciliation and Flow Control for Anti-Entropy Protocols](http://www.cs.cornell.edu/home/rvr/papers/flowgossip.pdf)
* [Epidemic Broadcast Trees](http://www.gsd.inesc-id.pt/~ler/reports/srds07.pdf)
# Failure Detectors

View File

@ -1,6 +1,7 @@
# Haskell
* [A History of Haskell: Being Lazy With Class](http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf) by Paul Hudak, John Hughes, Simon Peyton Jones
* :scroll: [Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell](../haskell/tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf) by Simon Peyton Jones
* :scroll: [Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages](../haskell/making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf) by Simon Marlow and Simon Peyton Jones. A classic... describes well the execution model GHC uses for Haskell, and catches the brilliant authors in a design pivot from original intuition to new conclusions based on empirical data.
* :scroll: [A Poor Man's Concurrency Monad](../haskell/a-poor-mans-concurrency-monad.pdf) by Koen Claessen. Paper describes how without adding any primitives to the language, you could define a concurrency monad transformer in Haskell.
* :scroll: [Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell](tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf) by Simon Peyton Jones
* :scroll: [Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages](making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf) by Simon Marlow and Simon Peyton Jones. A classic... describes well the execution model GHC uses for Haskell, and catches the brilliant authors in a design pivot from original intuition to new conclusions based on empirical data.
* :scroll: [A Poor Man's Concurrency Monad](a-poor-mans-concurrency-monad.pdf) by Koen Claessen. Paper describes how without adding any primitives to the language, you could define a concurrency monad transformer in Haskell.
* :scroll: [Parallel Generational-Copying Garbage Collection with a Block-Structured Heap](../garbage_collection/parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf). In Haskell, data immutability forces us to produce a lot of temporary data but also helps to collect this garbage rapidly. This paper explains how the Glasgow Haskell Compiler accomplishes this task in a simple, yet effective, manner with no programmer intervention.

View File

@ -4,7 +4,7 @@ Information retrieval is the activity of obtaining information resources relevan
The included documents are
* [Graph of Word and TW-IDF](http://www.lix.polytechnique.fr/~rousseau/papers/rousseau-cikm2013.pdf) - Francois Rousseau & Michalis Vazirgiannis
* [:scroll:](graph_of_word_and_tw_idf.pdf) [Graph of Word and TW-IDF](http://www.lix.polytechnique.fr/~rousseau/papers/rousseau-cikm2013.pdf) - Francois Rousseau & Michalis Vazirgiannis
The traditional IR system stores term-specific statistics (typically
a term's frequency in each document - which we call TF) in an index.
@ -17,4 +17,35 @@ The included documents are
significantly better results that popular existing models. This
paper won a honorable mention at CIKM 2013.
* [The Anatomy of a Large-Scale Hypertextual Web Search Engine](http://infolab.stanford.edu/~backrub/google.html)
* [:scroll:](pagerank.pdf) [Pagerank Algorithm](http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf) - Lawrence Page, Sergey Brin, Rajeev Motwani and Terry Winograd
This paper introduces the PageRank algorithm, which forms the backbone of
the present day google search engine. Pagerank operates by assessing the
number of incoming and outgoing hyper links to a given web page and ranks the
pages based on the link structure of a page. The authors also implemented
PageRank on the backrub system (now called the Google Search
Engine) in the [Anatomy of a Large-Scale Hypertextual Web Search Engine]
http://infolab.stanford.edu/~backrub/google.html which assigned page ranks to
every webpage in the world wide web. Google is currently the most commercially
sucessful generic search engine in the world.
* [:scroll:](ocapi-trec3.pdf) [Okapi System](http://trec.nist.gov/pubs/trec3/papers/city.ps.gz) - Stephen E. Robertson, Steve Walker, Susan Jones, Micheline Hancock-Beaulieu, and Mike Gatford
This paper introduces the now famous Okapi information retrieval
framework which introduces the BM25 ranking function for ranked
retrieval. It is one of the first implementations of the probabilistic
retrieval frameworks in literature. BM25 is a bag of words retrieval
function. The IDF(Inverse document frequency) term can be interpreted
via information theory. If a query q appears in n(q) docs the probability
of picking a doc randomly and it containing that term :p(q) = n(q) / D,
where D is the number of documents. The information content based on
shannon's noisy channel model is = -log(p(q)) = log (D / n(q)). Smoothing
by adding a constant to both numberator and demoninator leads to IDF term
used in BM25. BM25 has been shown to be one of the best probabilistic
weighting schemes. While the paper was in postscript form, the committer has
changed the format to pdf as per guidelines of papers we love via ps2pdf.
* [:scroll:](hits.pdf) [Hits Algorithm](https://www.cs.cornell.edu/home/kleinber/auth.pdf) - Jon M. Kleinberg
This paper introduces the HITS algorithm, a link analysis algorithm that rates webpages. Unlike the more famous page rank algorithm, the hits algorithm makes a distinction between webpage behavior classifies them as hubs and autho rities. A page is authoratitative (in the sense the page has a large number of incoming links) or acts as a hub (a directory of sort, which can be measured by the number of outgoing link). The hits algorithm computes two scores for a page (authority and hub score) where the algorithm iteratively computes the hub score as sum of authority scores of outgoing links and authority scores as sum of hub scores of incoming links until a convergence is attained. These scores can then be used to rank documents. While this algorithm is famous in academia, its not very widely used in the industry (a variant of this algorithm was used by a company called Teoma which was acquired by AskJeeves)

View File

@ -0,0 +1,51 @@
## Information Retrieval
Information retrieval is the activity of obtaining information resources relevant to an information need from a collection of information resources. (Says Wikipedia).
The included documents are
* [:scroll:](graph_of_word_and_tw_idf.pdf) [Graph of Word and TW-IDF](http://www.lix.polytechnique.fr/~rousseau/papers/rousseau-cikm2013.pdf) - Francois Rousseau & Michalis Vazirgiannis
The traditional IR system stores term-specific statistics (typically
a term's frequency in each document - which we call TF) in an index.
Such a model ignores dependencies between terms and considers a
document's terms to occur independently of each other (and is aptly
called the bag-of-words model). In this paper the authors use a
statistic that uses a graph representation of a document to encode
dependencies between terms and replace the TF statistic with a new
TW statistic based on the graph constructed and achieve
significantly better results that popular existing models. This
paper won a honorable mention at CIKM 2013.
* [:scroll:](pagerank.pdf) [Pagerank Algorithm](http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf) - Lawrence Page, Sergey Brin, Rajeev Motwani and Terry Winograd
This paper introduces the PageRank algorithm, which forms the backbone of
the present day google search engine. Pagerank operates by assessing the
number of incoming and outgoing hyper links to a given web page and ranks the
pages based on the link structure of a page. The authors also implemented
PageRank on the backrub system (now called the Google Search
Engine) in the [Anatomy of a Large-Scale Hypertextual Web Search Engine]
http://infolab.stanford.edu/~backrub/google.html which assigned page ranks to
every webpage in the world wide web. Google is currently the most commercially
sucessful generic search engine in the world.
* [:scroll:](ocapi-trec3.pdf) [Okapi System](http://trec.nist.gov/pubs/trec3/papers/city.ps.gz) - Stephen E. Robertson, Steve Walker, Susan Jones, Micheline Hancock-Beaulieu, and Mike Gatford
This paper introduces the now famous Okapi information retrieval
framework which introduces the BM25 ranking function for ranked
retrieval. It is one of the first implementations of the probabilistic
retrieval frameworks in literature. BM25 is a bag of words retrieval
function. The IDF(Inverse document frequency) term can be interpreted
via information theory. If a query q appears in n(q) docs the probability
of picking a doc randomly and it containing that term :p(q) = n(q) / D,
where D is the number of documents. The information content based on
shannon's noisy channel model is = -log(p(q)) = log (D / n(q)). Smoothing
by adding a constant to both numberator and demoninator leads to IDF term
used in BM25. BM25 has been shown to be one of the best probabilistic
weighting schemes. While the paper was in postscript form, the committer has
changed the format to pdf as per guidelines of papers we love via ps2pdf.
* [:scroll:](hits.pdf) [Hits Algorithm](https://www.cs.cornell.edu/home/kleinber/auth.pdf) - Jon M. Kleinberg
This paper introduces the HITS algorithm, a link analysis algorithm that rates webpages. Unlike the more famous page rank algorithm, the hits algorithm makes a distinction between webpage behavior classifies them as hubs and autho rities. A page is authoratitative (in the sense the page has a large number of incoming links) or acts as a hub (a directory of sort, which can be measured by the number of outgoing link). The hits algorithm computes two scores for a page (authority and hub score) where the algorithm iteratively computes the hub score as sum of authority scores of outgoing links and authority scores as sum of hub scores of incoming links until a convergence is attained. These scores can then be used to rank documents. While this algorithm is famous in academia, its not very widely used in the industry (a variant of this algorithm was used by a company called Teoma which was acquired by AskJeeves)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,6 @@
* :scroll: [A Mathematical Theory of Communication](http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf)
## Information Theory
* :scroll: [A Mathematical Theory of Communication](a-mathematical-theory-of-communication-1948.pdf)
* [Differential Privacy](http://www.msr-waypoint.com/pubs/64346/dwork.pdf)
- How do we quantify the exposure an individual faces from being

View File

@ -1,2 +1,6 @@
## Logic and Programming
* :scroll: [Representing Game Dialogue as Expresions in First-Order Logic](representing-game-dialogue-as-expressions-in-first-order-logic.pdf)
* :scroll: [The Event Calculus as a Linear Logic Program](event-calculus.txt)
* [Purely Functional Lazy Non-deterministic Programming](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.148.524)
* :scroll: [On the Meanings of the Logical Constants and the Justifications of the Logical Laws](http://www.pps.univ-paris-diderot.fr/~saurin/Enseignement/LMFI/articles/Martin-Lof83.pdf)
* [:scroll:](on-the-meanings-of-the-logical-constants.pdf) [On the Meanings of the Logical Constants and the Justifications of the Logical Laws](http://www.pps.univ-paris-diderot.fr/~saurin/Enseignement/LMFI/articles/Martin-Lof83.pdf)

View File

@ -1,11 +1,31 @@
Important machine learning papers
# Machine Learning
## External Papers
* [Top 10 algorithms in data mining](http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf) - While it is difficult to identify the top 10, this paper contains 10 very important data mining/machine learning algorithms
* [A Few Useful Things to Know about Machine Learning](http://homes.cs.washington.edu/~pedrod/papers/cacm12.pdf) - Just like the title says, it contains many useful tips and gotchas for machine learning
* [Random Forests](http://oz.berkeley.edu/~breiman/randomforest2001.pdf) - The initial paper on random forests
* [Random Forests](https://www.stat.berkeley.edu/~breiman/randomforest2001.pdf) - The initial paper on random forests
* [Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data](http://repository.upenn.edu/cgi/viewcontent.cgi?article=1162&context=cis_papers) - The paper introducing conditional random fields as a framework for building probablistic models.
* [Support-Vector Networks](http://rd.springer.com/content/pdf/10.1007%2FBF00994018.pdf) - The initial paper on support-vector networks for classification.
* [The Fast Johnson-Lindenstrauss Transforms](https://www.cs.princeton.edu/~chazelle/pubs/FJLT-sicomp09.pdf)
The Johnson-Lindenstrauss transform (JLT) prescribes that there exists a matrix of size `k x d`, where `k = O(1/eps^2 log d)` such that with high probability, a matrix A drawn from this distribution preserves pairwise distances up to epsilon (e.g. `(1-eps) * ||x-y|| < ||Ax - Ay|| < (1+eps) ||x-y||`). This paper was the first paper to show that you can actually compute the JLT in less that `O(kd)` operations (e.g. you don't need to do the full matrix multiplication). They used their faster algorithm to construct one of the fastest known approximate nearest neighbor algorithms.
*Ailon, Nir, and Bernard Chazelle. "The fast Johnson-Lindenstrauss transform and approximate nearest neighbors." SIAM Journal on Computing 39.1 (2009): 302-322. Available: https://www.cs.princeton.edu/~chazelle/pubs/FJLT-sicomp09.pdf*
* [Applications of Machine Learning to Location Data](ftp://ftp.cs.princeton.edu/techreports/2013/949.pdf) - Using machine learning to design and analyze novel algorithms that leverage location data.
## Hosted Papers
* :scroll: **[A Sparse Johnson-Lindenstrauss Transform](dimensionality_reduction/a-sparse-johnson-lindenstrauss-transform.pdf)**
The JLT is still computationally expensive for a lot of applications and one goal would be to minimize the overall operations needed to do the aforementioned matrix multiplication. This paper showed that a goal of a `O(k log d)` algorithm (e.g. `(log(d))^2)` may be attainable by showing that very sparse, structured random matrices could provide the *JL* guarantee on pairwise distances.
*Dasgupta, Anirban, Ravi Kumar, and Tamás Sarlós. "A sparse johnson: Lindenstrauss transform." Proceedings of the forty-second ACM symposium on Theory of computing. ACM, 2010. Available: [arXiv/cs/1004:4240](http://arxiv.org/abs/1004.4240)*
* :scroll: **[Towards a unified theory of sparse dimensionality reduction in Euclidean space](dimensionality_reduction/toward-a-unified-theory-of-sparse-dimensionality-reduction-in-euclidean-space.pdf)**
This paper attempts to layout the generic mathematical framework (in terms of convex analysis and functional analysis) for sparse dimensionality reduction. The first author is a Fields Medalist who is interested in taking techniques for Banach Spaces and applying them to this problem. This paper is a very technical paper that attempts to answer the question, "when does a sparse embedding exist deterministically?" (e.g. doesn't require drawing random matrices).
*Bourgain, Jean, and Jelani Nelson. "Toward a unified theory of sparse dimensionality reduction in euclidean space." arXiv preprint arXiv:1311.2542; Accepted in an AMS Journal but unpublished at the moment (2013). Available: http://arxiv.org/abs/1311.2542*

View File

@ -1,2 +1,4 @@
## Macros
* [D-Expressions: Lisp Power, Dylan Style](http://people.csail.mit.edu/jrb/Projects/dexprs.pdf)
* [Fortifying Macros](http://www.ccs.neu.edu/racket/pubs/icfp10-cf.pdf)

View File

@ -1,3 +1,5 @@
## Memory Management
* [A Unified Theory of Garbage Collection](http://www.cs.virginia.edu/~cs415/reading/bacon-garbage.pdf)
* [Teaching Garbage Collection without Implementing Compilers or Interpreters](http://faculty.cs.byu.edu/~jay/static/cooper-sigcse2013.pdf)
@ -6,7 +8,25 @@
* [And Then There Were None: A Stall-Free Real-Time Garbage Collector for Reconfigurable Hardware](http://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon12AndThen.pdf)
* :scroll:
[ScatterAlloc: Massively Parallel Dynamic Memory Allocation for the GPU](http://www.icg.tugraz.at/Members/steinber/scatteralloc-1)
- Presents a useful algorithm as well as considerations relevant to
designing algorithms for GPUs.
* [The Slab Allocator: An Object-Caching Kernel Memory Allocator](https://www.usenix.org/legacy/publications/library/proceedings/bos94/bonwick.html)
- [ASCII version](https://www.usenix.org/legacy/publications/library/proceedings/bos94/full_papers/bonwick.a)
- [POSTSCRIPT version](https://www.usenix.org/legacy/publications/library/proceedings/bos94/full_papers/bonwick.ps)
* :scroll: [ScatterAlloc: Massively Parallel Dynamic Memory Allocation for the GPU](http://www.icg.tugraz.at/Members/steinber/scatteralloc-1)
Presents a useful algorithm as well as considerations relevant to designing algorithms for GPUs.
* [:scroll:](making-lockless-synchronization-fast.pdf) [Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation](http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf)
Multicore systems are ubiquitous but modern concurrent programming
techniques still do not see wide-spread adoption. Most concurrent software
(developed in low-level languages) still relies on error-prone and unscalable
memory management techniques for correctness despite the introduction of
superior methods over 30 years ago. Safe memory reclamation allows for
performant and robust memory management that is also suitable for advanced
concurrent programming techniques such as non-blocking synchronization. If
properly used, safe memory reclamation techniques allow improved performance and
simplicity without the complexity of full-blown garbage collection. This paper
provides a terrific overview of common safe memory reclamation mechanisms and
then explores their performance implications.

View File

@ -1,14 +0,0 @@
# Memory Reclamation
* :scroll: [Making Lockless Synchronization Fast: Performance Implications of Memory Reclamation](http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf)
- Multicore systems are ubiquitous but modern concurrent programming
techniques still do not see wide-spread adoption. Most concurrent software
(developed in low-level languages) still relies on error-prone and unscalable
memory management techniques for correctness despite the introduction of
superior methods over 30 years ago. Safe memory reclamation allows for
performant and robust memory management that is also suitable for advanced
concurrent programming techniques such as non-blocking synchronization. If
properly used, safe memory reclamation techniques allow improved performance and
simplicity without the complexity of full-blown garbage collection. This paper
provides a terrific overview of common safe memory reclamation mechanisms and
then explores their performance implications.

View File

@ -1 +1,5 @@
## Networks
* [Bimodal Multicast](http://www.csl.mtu.edu/cs6461/www/Reading/Birman99.pdf)
* [End-to-End Arguments in System Design](http://www.reed.com/dpr/locus/Papers/EndtoEnd.html)
* [Can SPDY Really Make the Web Faster?](http://www.comp.lancs.ac.uk/~elkhatib//Docs/2014.06_Netw.pdf)

3
new_paradigms/README.md Normal file
View File

@ -0,0 +1,3 @@
## New Paradigms
* :scroll: [Cognitive Computing Programming Paradigm: A Corelet Language for Composing Networks of Neurosynaptic Cores](cognitive-computing-programming-paradigm-corelet-language.pdf)

View File

@ -0,0 +1,3 @@
* [Metaobject protocols: Why we want them and what else they can do](http://cseweb.ucsd.edu/~vahdat/papers/mop.pdf)

View File

@ -1,5 +1,13 @@
## Operating Systems
* [Xen and the Art of Virtualization](http://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf)
* [The operating system: should there be one?](http://plosworkshop.org/2013/preprint/kell.pdf)
* [The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors](http://web.mit.edu/amdragon/www/pubs/commutativity-sosp13.pdf)
* :scroll: [Live Migration of Virtual Machines](live-migration-of-virtual-machines.pdf)
* :scroll: [Jails: Confining the omnipotent root.](https://us-east.manta.joyent.com/bcantrill/public/ppwl-cantrill-jails.pdf)
* :scroll: [Solaris Zones: Operating System Support for Consolidating Commercial Workloads](https://us-east.manta.joyent.com/bcantrill/public/ppwl-cantrill-zones.pdf)

View File

@ -0,0 +1,6 @@
## Organizational Simulation
* [:scroll:](common-ground-and-coordination-in-joint-activity.pdf) [Common Ground and Coordination in Joint Activity](http://jeffreymbradshaw.net/publications/Common_Ground_Single.pdf) by Klein, Feltovich, and Woods
> The paper is the result of what happens when people with backgrounds in mathematics, psychology, and artificial intelligence (Feltovich and Bradshaw) get together to ask questions about how teams operate alongside the originators of modern decision-making and cognitive systems engineering research (Klein and Woods). The concepts outlined in the paper have provided frames and directions in designing tools and environments where successful work requires multiple actors (whether they are people or software agents!) to succeed. This seminal paper takes a deep dive into not just people and teamwork, but what comprises the sometimes invisible activity of coordination, collaboration, cooperation, and the contracts and expectations entities have with each other along the way. The paper has had far-reaching influence in multiple domains: military intelligence, space transportation and aviation, and more recently: software engineering and operations on the web. Let me walk you through where this paper came from, what makes this paper critical to the future of software, and a hint about what I'm sure it means about the future. - @allspaw

View File

@ -1,6 +1,6 @@
# Pattern Matching
* :scroll: [Compiling Pattern Matching to good Decision Trees](../pattern_matching/compiling-pattern-matching-to-good-decision-trees.pdf) by Luc Maranget. Paper address the issue of compiling ML pattern matching to efficient decisions trees.
* :scroll: [Extensible Pattern Matching in an Extensible Language](../pattern_matching/extensible-pattern-matching-extensible-language.pdf) by Sam Tobin-Hochstadt. Paper present a sophisticated pattern matcher for [Racket](http://racket-lang.org/), implemented as language extension using macros.
* :scroll: [Warnings for pattern matching](../pattern_matching/warnings-for-pattern-matching.pdf) by Luc Maranget. Paper examine the ML pattern-matching anomalies of useless clauses and non-exhaustive matches.
* :scroll: [Efficient String Matching: An Aid to Bibliographic Search](../pattern_matching/aho-corasick-string-matching.pdf) by Alfred V. Aho and Margaret J. Corasick. A single-pass pattern matching algorithm used in early versions of fgrep and similar projects. [AhoCorasick entry](http://xlinux.nist.gov/dads//HTML/ahoCorasick.html) in NIST's Dictionary of Algorithms and Data Structures.
* :scroll: [Compiling Pattern Matching to good Decision Trees](compiling-pattern-matching-to-good-decision-trees.pdf) by Luc Maranget. Paper address the issue of compiling ML pattern matching to efficient decisions trees.
* :scroll: [Extensible Pattern Matching in an Extensible Language](extensible-pattern-matching-extensible-language.pdf) by Sam Tobin-Hochstadt. Paper present a sophisticated pattern matcher for [Racket](http://racket-lang.org/), implemented as language extension using macros.
* :scroll: [Warnings for pattern matching](warnings-for-pattern-matching.pdf) by Luc Maranget. Paper examine the ML pattern-matching anomalies of useless clauses and non-exhaustive matches.
* :scroll: [Efficient String Matching: An Aid to Bibliographic Search](aho-corasick-string-matching.pdf) by Alfred V. Aho and Margaret J. Corasick. A single-pass pattern matching algorithm used in early versions of fgrep and similar projects. [AhoCorasick entry](http://xlinux.nist.gov/dads//HTML/ahoCorasick.html) in NIST's Dictionary of Algorithms and Data Structures.

View File

@ -1,3 +1,15 @@
# Physics
* :scroll: [On the attraction of two perfectly conducting plates](on-the-attraction-of-two-perfectly-conducting-plates.pdf)
* :scroll: [On the electrodynamics of moving bodies](on-the-electrodynamics-of-moving-bodies.pdf)
* :scroll: [Buridan's Principle](buridans-principle.pdf)
Description by Tom Santero:
> In 1984 Leslie Lamport began to observe the glitch problem [0] occurs in everyday life. Realizing this phenomenon had not been discussed by psychologists of the day, he set out to describe his observations using the classical formalization of Buridan's ass. Lamport initially failed to have this paper published in various scientific journals, being rejected on grounds of superficiality. It wasn't until 2011, when a reader suggested he resubmit to Foundations of Physics, that the paper was eventually published.
> Those familiar with the works of Lamport know him as a logician, his life's work has pushed forward the state of the art in areas of mutual exclusion and distributed systems probably more than any other, and so reading Buridan's Principle might strike us as a bit odd, or even obscure. We're in unfamiliar territory with Lamport. Nonetheless, in this paper, Lamport's casual observations lead him to bridge the gap between the humanities and the sciences, providing us readers with what appears to be a universal law of nature: Buridan's Principle.
> [0] http://research.microsoft.com/en-us/um/people/lamport/pubs/glitch.pdf

Binary file not shown.

View File

@ -2,10 +2,26 @@
* [Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs](http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf)
* [Programming and Reasoning with Algebraic Effects and Dependent Types](http://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf)
* [:scroll:](https://github.com/papers-we-love/papers-we-love/blob/master/plt/programming-with-algebraic-effects-and-handlers.pdf) [Programming and Reasoning with Algebraic Effects and Dependent Types](http://eb.host.cs.st-andrews.ac.uk/drafts/effects.pdf)
* [Programming Languages: History and Future](http://www.csee.umbc.edu/courses/undergraduate/CMSC331/resources/papers/sammet1972.pdf)
* [Soft Typing](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.9333&rep=rep1&type=pdf)
* :scroll: [Composable and Compilable Macros: You Want it When?](https://www.cs.utah.edu/plt/publications/macromod.pdf)
* [:scroll:](https://github.com/papers-we-love/papers-we-love/blob/master/plt/composable-and-compilable-macros-you-want-it-when.pdf) [Composable and Compilable Macros: You Want it When?](https://www.cs.utah.edu/plt/publications/macromod.pdf)
* :scroll: [Propositions as Types](http://homepages.inf.ed.ac.uk/wadler/papers/propositions-as-types/propositions-as-types.pdf)
* :scroll: [Fundamental Concepts in Programming Languages](https://github.com/papers-we-love/papers-we-love/blob/master/plt/fundamental-concepts-in-programming-languages.pdf)
* :scroll: [On Understanding Types, Data Abstraction, and Polymorphism](https://github.com/papers-we-love/papers-we-love/blob/master/plt/on-understanding-types-data-abstraction-polymorphism.pdf)
* :scroll: [Predicate Dispatching](https://github.com/papers-we-love/papers-we-love/blob/master/plt/predicate-dispatching.pdf)
* :scroll: [Principal type-schemes for functional programs](https://github.com/papers-we-love/papers-we-love/blob/master/plt/principal-type-schemes-for-functional-programs.pdf)
* :scroll: [Programming Languages: Application and Interpretation](https://github.com/papers-we-love/papers-we-love/blob/master/plt/programming-languages-application-and-interpretation.pdf)
* :scroll: [The Derivative of a Regular Type is its Type of One-Hole Contexts](https://github.com/papers-we-love/papers-we-love/blob/master/plt/the-derivative-of-a-regular-type-one-hole-contexts.pdf)
* :scroll: [Theory in Programming Practice](https://github.com/papers-we-love/papers-we-love/blob/master/plt/theory-in-programming-practice.pdf)

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,4 @@
* [Communicating Sequential Processes](http://www.cs.ucf.edu/courses/cop4020/sum2009/CSP-hoare.pdf)
## Process Control
* [:scroll:](https://github.com/papers-we-love/papers-we-love/blob/master/processes/communicating-sequential-processes.pdf) [Communicating Sequential Processes](http://www.cs.ucf.edu/courses/cop4020/sum2009/CSP-hoare.pdf)
* [Calculus of Communicating Systems](https://moodle.risc.jku.at/pluginfile.php/3407/mod_resource/content/1/A%20Calculus%20of%20Communicating%20Systems%5B1980%5D.pdf)

View File

@ -13,7 +13,7 @@ Robotics
[Rapidly-Exploring Random Trees: A New Tool for Path Planning](http://msl.cs.uiuc.edu/~lavalle/papers/Lav98c.pdf)
[RGB-D Mapping: Using Depth Cameras for Dense 3D Modeling of Indoor Environments](http://www.cs.washington.edu/robotics/postscripts/3d-mapping-iser-10-final.pdf)
[RGB-D Mapping: Using Depth Cameras for Dense 3D Modeling of Indoor Environments](https://rse-lab.cs.washington.edu/postscripts/3d-mapping-iser-10-final.pdf)

View File

@ -1,7 +1,14 @@
* [Reflections on Trusting Trust](http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf)
* [Internet Census via Insecure Routers](http://internetcensus2012.bitbucket.org/paper.html)
* [Looking inside the (Drop) box](http://ictc.aeoi.org.ir/sites/default/files/US-13-Prado-SSL-Gone-in-30-seconds-A-BREACH-beyond-CRIME-WP_0.pdf)
* [Making Programs Forget: Enforcing Lifetime For Sensitive Data](https://www.usenix.org/events/hotos11/tech/final_files/Kannan.pdf)
* [Breach: Reviving The Crime Attack](http://breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf)
* [Why Silent Updates Boost Security](http://www.techzoom.net/Papers/Browser_Silent_Updates_%282009%29.pdf)
* :scroll: [Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud](http://research.google.com/pubs/archive/41892.pdf)
## Security
* [Reflections on Trusting Trust (1984)](http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf)
* [Internet Census via Insecure Routers (2012)](http://internetcensus2012.bitbucket.org/paper.html)
* [Looking inside the (Drop) Box (2013)](https://www.usenix.org/system/files/conference/woot13/woot13-kholia.pdf)
* [Making Programs Forget: Enforcing Lifetime For Sensitive Data (2011)](https://www.usenix.org/events/hotos11/tech/final_files/Kannan.pdf)
* [Breach: Reviving The Crime Attack (2013)](http://breachattack.com/resources/BREACH%20-%20SSL,%20gone%20in%2030%20seconds.pdf)
* [Why Silent Updates Boost Security (2009)](http://www.techzoom.net/Papers/Browser_Silent_Updates_%282009%29.pdf)
* :scroll: [Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud (2014)](macaroons-cookies-with-contextual-caveats.pdf)
* :scroll: [Insertion, Evasion, and Denial of Service: eluding network intrusion detection (1998)](ids-evasion-ptacek-newsham.pdf)
* :scroll: [SoK: Eternal War in Memory (2013)](sok-eternal-war-in-memory.pdf)
- Classifies memory attacks into a taxonomy that is usable by both black- and white-hats.
- An excellent primer on the different memory-related vulnerabilities that exist, (more importantly) why they exist, and the ways in which various defences act to counter them.

Binary file not shown.

4
smalltalk/README.md Normal file
View File

@ -0,0 +1,4 @@
## Smalltalk
* :scroll: [Design Principles Behind Smalltalk](Design-Principles-Behind-Smalltalk.pdf)
* :scroll: [The Early History of Smalltalk, by Alan Kay](The-Early-History-Of-Smalltalk.pdf)

View File

@ -0,0 +1,3 @@
## Sports Analytics
* :scroll: [Predicting Points and Valuing Decisions in Real Time with NBA Optical Tracking Data](2014-ssac-pointwise-predicting-points-and-valuing-decisions-in-real-time.pdf)

View File

@ -0,0 +1,16 @@
# Sublinear Algorithms
## Hosted Papers :open_file_folder:
* :scroll: **[Probablistic Counting Algorithms for Database Applications](https://github.com/papers-we-love/papers-we-love/blob/master/sublinear_algorithms/1985-Flajolet-Probabilistic-counting.pdf)**
This paper introduces a class of probabilistic counting algorithms with which one can estimate the number of distinct elements in a large collection of data (typically a large file stored on disk) in a single pass using only a small additional storage (typically less than a hundred binary words) and only a few operations per element scanned. The algorithms are based on statistical observations made on bits of hashed values of records. They are by construction totally insensitive to the replicative structure of elements in the file; they can be used in the context of distributed systems without any degradation of performances and prove especially useful in the context of data bases query optimisation
*Flajolet, Philippe, and G. Nigel Martin. "Probabilistic counting algorithms for data base applications." Journal of computer and system sciences 31.2 (1985): 182-209.*
* :scroll: **[An Elementary Proof of a Theorem of Johnson and Lindenstrauss](https://github.com/papers-we-love/papers-we-love/blob/master/sublinear_algorithms/An-Elementary-Proof-of-a-Theorem-of-Johnson-and-Lindenstrauss.pdf)**
A result of Johnson and Lindenstrauss shows that a set of n points in high dimensional Euclidean space can be mapped into an `O(log n/ϵ2)-dimensional` Euclidean space such that the distance between any two points changes by only a factor of `(1 ± ϵ)`. In this note, we prove this theorem using elementary probabilistic techniques.
*Dasgupta, Sanjoy, and Anupam Gupta. "An elementary proof of a theorem of Johnson and Lindenstrauss." Random Structures & Algorithms 22.1 (2003): 60-65.*

5
tdd/README.md Normal file
View File

@ -0,0 +1,5 @@
# Test-Driven Development
## In industrial teams
[Realizing quality improvement through test driven development: results and experiences of four industrial teams](http://www.msr-waypoint.net/en-us/groups/ese/nagappan_tdd.pdf). This paper is important because it one of the few instances of quantitative research about TDD in industrial teams (not in controlled environments)

View File

@ -6,7 +6,7 @@ one-pass processing.
The included documents are:
* :scroll: [Operators on Inhomogeneous Time Series] (http://papers.ssrn.com/sol3/papers.cfm?abstract_id=208278) - Gilles O. Zumbach and Ulrich A. Müller
* [:scroll:](https://github.com/papers-we-love/papers-we-love/blob/master/time_series/operators-on-inhomogeneous-time-series.pdf) [Operators on Inhomogeneous Time Series](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=208278) - Gilles O. Zumbach and Ulrich A. Müller
We present a toolbox to compute and extract information from
inhomogeneous (i.e. unequally spaced) time series. The toolbox

View File

@ -1,2 +1,5 @@
* [One VM to Rule Them All](https://www.cs.purdue.edu/homes/gkrichar/papers/onward2013-wuerthinger-truffle.pdf)
* [One VM to Rule Them All](http://lafo.ssw.uni-linz.ac.at/papers/2013_Onward_OneVMToRuleThemAll.pdf)
- This is an exciting VM implementation that incorporates AST node rewriting and an optimizing compiler. It enables the implementation of, and excellent performance for, a wide range of languages.
* [A Comparison of Software and Hardware Techniques for x86
Virtualization](http://www.vmware.com/pdf/asplos235_adams.pdf)
- virtualization theory background