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

update forked repo
This commit is contained in:
Liu Ye 2020-07-22 15:55:51 +08:00 committed by GitHub
commit b36fe6b01e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 8773 additions and 97 deletions

View File

@ -8,7 +8,7 @@ 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, IRC or [Slack](https://paperswelove.slack.com/messages/general/) channels.
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, [gitter](https://gitter.im/papers-we-love/), or [Slack](https://paperswelove.slack.com/messages/general/) channels.
Need help?
----------

View File

@ -1,4 +1,6 @@
## ![Papers We Love](http://paperswelove.org/images/logo-top.svg)
[![Gitter](https://badges.gitter.im/papers-we-love/community.svg)](https://gitter.im/papers-we-love/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
**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.
@ -21,18 +23,15 @@ Here are our official chapters. Let us know if you are interested in [starting o
* [Bhubaneswar](https://www.facebook.com/groups/pwlbbsr/)
* [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/)
* [Buenos Aires](https://paperswelove.org/buenos-aires/)
* [Cairo](http://www.meetup.com/Papers-We-Love-Cairo/)
* [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/)
* [Gothenburg](https://www.meetup.com/Papers-We-Love-Gothenburg/)
* [Guadalajara](https://www.facebook.com/pwlgdl/)
* [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/)
* [Iowa City](https://www.meetup.com/techcorridorio)
* [Kathmandu](https://www.facebook.com/groups/PapersWeLoveKathmandu/)
* [Kyiv](https://www.facebook.com/groups/PapersWeLoveKyiv)
@ -40,18 +39,11 @@ Here are our official chapters. Let us know if you are interested in [starting o
* [London](http://www.meetup.com/papers-we-love-london)
* [Los Angeles](http://www.meetup.com/papers-we-love-la)
* [Madrid](http://www.meetup.com/Papers-We-Love-Madrid/)
* [Medellín](https://www.meetup.com/paperswelovemde/)
* [Montreal](http://www.meetup.com/Papers-We-Love-Montreal/)
* [Mumbai](https://www.meetup.com/Papers-We-Love-Mumbai/)
* [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/)
* [Porto](https://www.meetup.com/Papers-We-Love-Porto)
* [Pune](http://www.meetup.com/Doo-Things)
* [Raleigh-Durham](https://www.meetup.com/Papers-We-Love-Raleigh-Durham/)
* [Reykjavík](http://www.meetup.com/Papers-We-Love-Reykjavik)
* [Rio de Janeiro](https://www.meetup.com/pt-BR/papers-we-love-rio-de-janeiro/)
* [San Diego](http://www.meetup.com/Papers-We-Love-San-Diego/)
* [San Francisco](http://www.meetup.com/papers-we-love-too/)
@ -79,7 +71,7 @@ We're looking for pull requests related to papers we should add, better organiza
### Other Good Places to Find Papers
* [2 Minute Papers](https://www.youtube.com/user/keeroyz)
* [Bell System Technical Journal, 1922-1983](https://www.alcatel-lucent.com/bell-labs-journals)
* [Bell System Technical Journal, 1922-1983](https://www.bell-labs.com/our-research/technical-journal/)
* [Best Paper Awards in Computer Science](http://jeffhuang.com/best_paper_awards.html)
* [Facebook](https://research.fb.com/publications/)
* [Google Scholar](http://scholar.google.com/citations?view_op=top_venues&hl=en&vq=eng) (choose a subcategory)
@ -96,7 +88,7 @@ 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/the-definitive-security-datascience-and-machinelearning-guide/)
* [Research Papers from Robert Harper, Carnegie Mellon University](http://www.cs.cmu.edu/~rwh/papers.html)
* [Research Papers from Robert Harper, Carnegie Mellon University](https://www.cs.cmu.edu/~rwh/papers/index.html)
* [Lobste.rs tagged as PDF](https://lobste.rs/t/pdf)
* [The Morning Paper](http://blog.acolyer.org/)
@ -116,6 +108,18 @@ Reading a paper is not the same as reading a blogpost or a novel. Here are a few
* Love a Paper - [@loveapaper](https://twitter.com/loveapaper)
### Download papers
Open your favourite terminal and run:
```bash
$ ./scripts/download.sh
```
This will scrape markdown files for links to PDFs and download papers to their respective directories.
See [README.md](./scripts/README.md) for more options.
## Contributing Guidelines
Please take a look at our [CONTRIBUTING.md](https://github.com/papers-we-love/papers-we-love/blob/master/.github/CONTRIBUTING.md) file.

View File

@ -4,5 +4,5 @@
* Referenced by [Two Secure Coding Tools for Analyzing Android Apps](http://blog.sei.cmu.edu/post.cfm/secure-coding-tools-analyzing-android-apps-118) :
* [Analyzing Inter-Application Communication in Android](https://www.eecs.berkeley.edu/~daw/papers/intents-mobisys11.pdf)
* [Effective Inter-Component Communication Mapping in Android with Epicc: An Essential Step Towards Holistic Security Analysis](http://www.cse.psu.edu/~duo114/pubs/octeau-sec13.pdf)
* [Effective Inter-Component Communication Mapping in Android with Epicc: An Essential Step Towards Holistic Security Analysis](http://docteau.github.io/pubs/octeau-sec13.pdf)
* [FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps](http://www.bodden.de/pubs/far+14flowdroid.pdf)

6
bioinformatics/README.md Normal file
View File

@ -0,0 +1,6 @@
Bioinformatics
===========
## Sequence Analysis
* [SneakySnake: A Fast and Accurate Universal Genome Pre-Alignment Filter for CPUs, GPUs, and FPGAs (2019)](https://arxiv.org/abs/1910.09020v2)
* [Shouji: a fast and efficient pre-alignment filter for sequence alignment (2019)](https://arxiv.org/ftp/arxiv/papers/1809/1809.07858.pdf)
* [Shifted Hamming distance: a fast and accurate SIMD-friendly filter to accelerate alignment verification in read mapping (2015)](https://doi.org/10.1093/bioinformatics/btu856)

View File

@ -0,0 +1,6 @@
# Braincomputer Interface
- [Brain-computer interfaces for communication and control](http://www.cs.cmu.edu/~tanja/BCI/BCIreview.pdf)
- [Breaking the silence: Brain-computer interfaces (BCI) for communication and motor control](https://onlinelibrary.wiley.com/doi/full/10.1111/j.1469-8986.2006.00456.x)
- [Learning to Control a BrainMachine Interface for Reaching and Grasping by Primates](https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.0000042)
- [BrainNet: A Multi-Person Brain-to-Brain Interface for Direct Collaboration Between Brains](https://arxiv.org/pdf/1809.08632.pdf)

View File

@ -1,3 +0,0 @@
## Clustering Algorithms
[On the resemblance and containment of documents](https://www.cs.princeton.edu/courses/archive/spr05/cos598E/bib/broder97resemblance.pdf) (Andrei Z. Broder)

View File

@ -4,11 +4,11 @@
by Chris Okasaki (2003) ([DOI])
* [Combinatorial Analysis and Computers]
by Marshall Hall Jr. and Donald E. Knuth (1965)
by Marshall Hall Jr. and Donald E. Knuth (1965)
[Flattening Combinators: Surviving Without Parentheses]:
https://web.archive.org/web/20170828181221/http://www.westpoint.edu:80/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp03flat.pdf
[DOI]:
https://doi.org/10.1017/S0956796802004483
[Combinatorial Analysis and Computers]:
http://poncelet.math.nthu.edu.tw/disk5/js/computer/hall-knuth.pdf
https://web.archive.org/web/20170904072400/http://poncelet.math.nthu.edu.tw/disk5/js/computer/hall-knuth.pdf

View File

@ -28,7 +28,7 @@ This is a really great paper that is both complex and straightforward. This pape
* [Light Propagation Volumes in CryEngine 3](http://www.crytek.com/download/Light_Propagation_Volumes.pdf)
### Bump mapping
* [Interactive Horizon Mapping: Shadows for bump-mapped surfaces](http://research.microsoft.com/en-us/um/people/cohen/bs.pdf)
* [Interactive Horizon Mapping: Shadows for bump-mapped surfaces](https://www.ppsloan.org/publications/bs.pdf)
### Interior mapping
* [Interior Mapping: A new technique for rendering realistic buildings](http://www.proun-game.com/Oogst3D/CODING/InteriorMapping/InteriorMapping.pdf)
@ -54,3 +54,8 @@ This is a really great paper that is both complex and straightforward. This pape
- A seminal paper that lead to many interesting applications in
graphics as well as more broadly in design; see also the
bibliography at [shapegrammar.org](http://shapegrammar.org/).
### Simulating Ocean Water
* [Simulating Ocean Water](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.9102&rep=rep1&type=pdf)
- Seminal paper on water surface simulation and rendering.

View File

@ -6,3 +6,7 @@
* [Panorama Weaving:
Fast and Flexible Seam Processing](http://www.sci.utah.edu/~bsumma/projects/weaving/)
* [Object Identification for Computer Vision Using Image Segmentation](https://ieeexplore.ieee.org/document/5529412)
* [Computer Vision Based Detection and Localization of Potholes in Asphalt Pavement Images](https://ieeexplore.ieee.org/document/7726722)

View File

@ -10,7 +10,7 @@
* [Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 (2017)](https://papers.mathyvanhoef.com/ccs2017.pdf) (Mathy Vanhoef, Frank Piessens)
## Related Works
### [A Mathematical Theory of Cryptography (1945)](http://www.cs.bell-labs.com/who/dmr/pdfs/shannoncryptshrt.pdf) - Shannon
### [A Mathematical Theory of Cryptography (1945)](https://www.iacr.org/museum/shannon/shannon45.pdf) - Shannon
The original classified memo for Bell Labs that was republished in 1949 as ["Communication Theory of Secrecy Systems"](communication-theory-of-secrecy-systems.pdf).
### :scroll: [A Mathematical Theory of Communication (1948)](../information_theory/a-mathematical-theory-of-communication-1948.pdf) - Shannon

View File

@ -1,4 +1,23 @@
# 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.
> 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.
## Scientific Data Compression
* :scroll: [Fast Error-bounded Lossy HPC Data Compression with SZ](fast_error_bounded_Lossy_hpc_data_compression_with_sz.pdf)
> This is the first version of SZ. In this paper, SZ is introduced to achieve data reduction using regression-based data point prediction.
* :scroll: [Significantly Improving Lossy Compression for Scientific Data Sets Based on Multidimensional Prediction and Error-Controlled Quantization](Significantly_Improving_Lossy_Compression_for_Scientific_Data_Sets_Based_on_Multidimensional_Prediction_and_Error-Controlled_Quantization.pdf)
> This work is known as SZ-1.4. In this work, SZ employs multi-dimensional data prediction so that data with dimension larger than 1 is no longer linearized into single dimension before compression. In this way, more data locality is preserved thus compression ratio is improved.
* :scroll: [Error-Controlled Lossy Compression Optimized for High Compression Ratios of Scientific Datasets](Error-Controlled_Lossy_Compression_Optimized_for_High_Compression_Ratios_of_Scientific_Datasets.pdf)
> This work is known as SZ-2.0. In this work, authors proposed an online selection tool between 2 predictors, the mean-integrated Lorenzo predictor and linear regression-based predictor. Users can choose the predictor that yields larger compression ratio with higher prediction accuracy.
* :scroll: [Fixed-Rate Compressed Floating-Point Arrays](fixed-rate_compressed_floating_point_arrays.pdf)
* :scroll: [FPC: A High-Speed Compressor for Double-Precision Floating-Point Data](fpc_a_high_speed_compressor_for_double_precision_floating_point_data.pdf)

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
* [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](https://www.cs.rochester.edu/u/scott/papers/1996_PODC_queues.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)
* [Cuckoo Hashing](https://www.cs.tau.ac.il/~shanir/advanced-seminar-data-structures-2009/bib/pagh01cuckoo.pdf)
* [Fenwick Tree](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.14.8917&rep=rep1&type=pdf)
* [Hopscotch Hashing](http://mcg.cs.tau.ac.il/papers/disc2008-hopscotch.pdf)

View File

@ -0,0 +1,13 @@
# Distributed File Systems
* [Sun NFS](http://www.cs.ucf.edu/~eurip/papers/sandbergnfs.pdf)
* [Google (GFS)](https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf)
* [Hadoop (HDFS)](https://storageconference.us/2010/Papers/MSST/Shvachko.pdf)
* [Ceph](https://www.ssrc.ucsc.edu/Papers/weil-osdi06.pdf)
* [Coda](http://www.coda.cs.cmu.edu/ljpaper/lj.html)
* [Frangipani](https://pdos.csail.mit.edu/6.824/papers/thekkath-frangipani.pdf)

View File

@ -63,7 +63,7 @@
* [Unicorn: A System for Searching the Social Graph](http://db.disi.unitn.eu/pages/VLDBProgram/pdf/industry/p871-curtiss.pdf)
* [Unikernels: Library Operating Systems for the Cloud](http://anil.recoil.org/papers/2013-asplos-mirage.pdf)
* [Unikernels: Library Operating Systems for the Cloud](http://unikernel.org/files/2013-asplos-mirage.pdf)
* [Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms](http://www.cs.utexas.edu/~shmat/courses/cs395t_fall04/chaum81.pdf)

View File

@ -6,6 +6,8 @@
* [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
* [Online Ad Auctions (2009)](online-ad-auctions.pdf) by Hal Varian
## Open Source
* [The Simple economics of Open Source (2000)](http://www.people.hbs.edu/jlerner/simple.pdf) by Josh Lerner and Jean Tirole
* [The Simple Economics of Open Source (2000)](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=224008) by Josh Lerner and Jean Tirole

Binary file not shown.

View File

@ -1,6 +1,14 @@
# Fault Protection
# Program Faults and Verification
## External Papers
[Fault detection](https://en.wikipedia.org/wiki/Fault_detection_and_isolation), and [program validation](https://en.wikipedia.org/wiki/Software_verification_and_validation), and [formal validation](https://en.wikipedia.org/wiki/Formal_verification) are highly interrelated topics. Each deal with proving or disproving the correctness of systems as intended, and the classification of incorrect behavior.
## Program Verification
* [Coq: The worlds best macro assembler?](https://research.microsoft.com/en-us/um/people/nick/coqasm.pdf)
* :scroll: [Epitaxis: a system for syntactic and semantic software queries](epitaxis-a-system-for-syntactic-and-semantic-software-queries.pdf)
## Fault Protection
* [GN&C Fault Protection Fundamentals](https://trs.jpl.nasa.gov/bitstream/handle/2014/41696/08-0125.pdf)
> As software becomes more and more integrated in our daily lives, we

View File

@ -8,14 +8,14 @@
* [Exploring the Potential of Gamification Among Frail Elderly Persons](http://gamification-research.org/wp-content/uploads/2011/04/12-Gerling.pdf)
* [From Game Design Elements to Gamefulness: Defining “Gamification”](http://dl.dropboxusercontent.com/u/220532/MindTrek_Gamification_PrinterReady_110806_SDE_accepted_LEN_changes_1.pdf)
* [From Game Design Elements to Gamefulness: Defining “Gamification”](https://uwaterloo.ca/scholar/sites/ca.scholar/files/lnacke/files/From_game_design_elements_to_gamefulness-_defining_gamification.pdf)
* [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)
* [Removing Gamification from an Enterprise SNS](https://dl.acm.org/doi/pdf/10.1145/2145204.2145362)
## 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)
* :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,4 +1,4 @@
* [A Unified Theory of Garbage Collection](http://www.cs.virginia.edu/~cs415/reading/bacon-garbage.pdf)
* [A Unified Theory of Garbage Collection](https://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon04Unified.pdf)
> An overview for programmers and language implementors for understanding different garbage collection algorithms.
* [A LISP Garbage-Collector for Virtual-Memory Computer Systems](https://www.cs.purdue.edu/homes/hosking/690M/p611-fenichel.pdf)

View File

@ -47,4 +47,14 @@ The included documents are
* [:scroll:](authoritative-sources-in-a-hyperlinked-environment.pdf) [Authoritative Sources in a Hyperlinked Environment](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 authorities. 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)
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 authorities. 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

@ -1,6 +1,6 @@
# Functional Programming
* [:scroll:](organizing-programs-without-classes.pdf) [Organizing Programs Without Classes](http://cs.au.dk/~hosc/local/LaSC-4-3-pp223-242.pdf)
* :scroll: [Organizing Programs Without Classes](organizing-programs-without-classes.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/):

View File

@ -2,26 +2,27 @@
* [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)
* [: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)
* [:scroll:](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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:](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:](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [Fundamental Concepts in Programming Languages](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [On Understanding Types,
Data Abstraction, and Polymorphism](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [Predicate Dispatching](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [Principal type-schemes for functional programs](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [Programming Languages: Application and Interpretation](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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: [The Derivative of a Regular Type is its Type of One-Hole Contexts](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/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)
* :scroll: [Theory in Programming Practice](https://github.com/papers-we-love/papers-we-love/blob/master/languages-theory/theory-in-programming-practice.pdf)

3
languages/C++/README.md Normal file
View File

@ -0,0 +1,3 @@
# C++
* [Why C++ is not just an Object-Oriented Programming Language-Original](http://www.stroustrup.com/oopsla.pdf)

3
languages/C/README.md Normal file
View File

@ -0,0 +1,3 @@
# C
* [The Development of the C Language-Original](https://www.bell-labs.com/usr/dmr/www/chist.pdf)

3
languages/Go/README.md Normal file
View File

@ -0,0 +1,3 @@
# Go
* [Go Lang Original Paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.138.6297&rep=rep1&type=pdf)

5
languages/Java/README.md Normal file
View File

@ -0,0 +1,5 @@
# Java
* [Java Original Paper](https://pdfs.semanticscholar.org/ee07/8894734c70589cb9653e2169a4342ae02355.pdf)
* [Java Whitepaper](http://www.stroustrup.com/1995_Java_whitepaper.pdf)

View File

@ -4,13 +4,4 @@ Programming language theory (PLT) is a branch of computer science that deals wit
## Included Papers
* :scroll: [On the Expressive Power of Programming Languages](scp91-felleisen.ps.gz) [sciencedirect](https://www.sciencedirect.com/science/article/pii/016764239190036W)(Matthias Felleisen): "The literature on programming languages contains an abundance of informal
claims on the relative expressive power of programming languages, but there
is no framework for formalizing such statements nor for deriving interesting
consequences. As a first step in this direction, we develop a formal notion
of expressiveness and investigate its properties. To demonstrate the theory's
closeness to published intuitions on expressiveness, we analyze the expressive
power of several extensions of functional languages. Based on these results,
we believe that our system correctly captures many of the informal ideas on
expressiveness, and that it constitutes a good basis for further research in this
direction. " (abstract)
* :scroll: [On the Expressive Power of Programming Languages](scp91-felleisen.ps.gz) [sciencedirect](https://www.sciencedirect.com/science/article/pii/016764239190036W)(Matthias Felleisen): "The literature on programming languages contains an abundance of informal claims on the relative expressive power of programming languages, but there is no framework for formalizing such statements nor for deriving interesting consequences. As a first step in this direction, we develop a formal notion of expressiveness and investigate its properties. To demonstrate the theory's closeness to published intuitions on expressiveness, we analyze the expressive power of several extensions of functional languages. Based on these results, we believe that our system correctly captures many of the informal ideas on expressiveness, and that it constitutes a good basis for further research in this direction. " (abstract)

View File

@ -1,29 +1,59 @@
# 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](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 probabilistic models.
* [Support-Vector Networks](http://rd.springer.com/content/pdf/10.1007%2FBF00994018.pdf) - The initial paper on support-vector networks for classification.
* [Top 10 algorithms in data mining](https://www.researchgate.net/publication/29467751_Top_10_algorithms_in_data_mining)
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](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 probabilistic 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](http://www.berkkapicioglu.com/wp-content/uploads/2013/11/thesis_final.pdf) - Using machine learning to design and analyze novel algorithms that leverage location data.
* [Applications of Machine Learning to Location Data](http://www.berkkapicioglu.com/wp-content/uploads/2013/11/thesis_final.pdf)
* ["Why Should I Trust You?" Explaining the Predictions of Any Classifier](http://www.kdd.org/kdd2016/papers/files/rfp0573-ribeiroA.pdf) - This paper introduces an explanation technique for any classifier in a interpretable manner.
Using machine learning to design and analyze novel algorithms that leverage location data.
* [Multiple Narrative Disentanglement: Unraveling *Infinite Jest*](http://dreammachin.es/p1-wallace.pdf) - uses an unsupervised approach to natural language processing to classify narrators in David Foster Wallace's 1,000-page novel.
* ["Why Should I Trust You?" Explaining the Predictions of Any Classifier](http://www.kdd.org/kdd2016/papers/files/rfp0573-ribeiroA.pdf)
* [ImageNet Classification with Deep Convolutional Neural Networks](http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf) - This paper introduces AlexNet, a neural network architecture which dramatically improved over the state-of-the-art in image classification algorithms and is widely regarded as a breakthrough moment for deep learning.
This paper introduces an explanation technique for any classifier in a interpretable manner.
* [Interpretable machine learning: definitions, methods, and applications](https://arxiv.org/pdf/1901.04592.pdf) - This paper introduces the foundations of the rapidly emerging field of interpretable machine learning.
* [Multiple Narrative Disentanglement: Unraveling *Infinite Jest*](http://dreammachin.es/p1-wallace.pdf)
Uses an unsupervised approach to natural language processing that classifies narrators in David Foster Wallace's 1,000-page novel.
* [ImageNet Classification with Deep Convolutional Neural Networks](http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf)
This paper introduces AlexNet, a neural network architecture which dramatically improved over the state-of-the-art in image classification algorithms and is widely regarded as a breakthrough moment for deep learning.
* [Interpretable machine learning: definitions, methods, and applications](https://arxiv.org/pdf/1901.04592.pdf)
This paper introduces the foundations of the rapidly emerging field of interpretable machine learning.
* [Distilling the Knowledge in a Neural Network](https://arxiv.org/pdf/1503.02531.pdf)
This seminal paper introduces a method to distill information from an ensemble of neural networks into a single model.
* [Truncation of Wavelet Matrices: Edge Effects and the Reduction of Topological Control](https://reader.elsevier.com/reader/sd/pii/0024379594000395?token=EB0AA78D59A9648480596F018EFB72E0A02FD5FA70326B24B9D501E1A6869FE72CC4D97FA9ACC8BAB56060D6C908EC83) by Freedman
In this paper by Michael Hartley Freedman, he applies Robion Kirby “torus trick”, via wavelets, to the problem of compression.
* [Distilling the Knowledge in a Neural Network](https://arxiv.org/pdf/1503.02531.pdf) - This seminal paper introduces a method to distill information from an ensemble of neural networks into a single model.
## Hosted Papers
@ -39,3 +69,11 @@
*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*
* :scroll: **[Understanding Deep Convolutional Networks](Understanding-Deep-Convolutional-Networks.pdf)** by Mallat
Stéphane Mallat proposes a model by which renormalisation can identify self-similar structures in deep networks. [This video of Curt MacMullen discussing renormalization](https://www.youtube.com/watch?v=_qjPFF5Gv1I) can help with more context.
* :scroll: **[General self-similarity: an overview](General-self-similarity--an-overview.pdf)** by Leinster
Dr. Leinster's paper provides a concise, straightforward, picture of self-similarity, and its role in renormalization.

View File

@ -1,5 +1,48 @@
## Mathematics
* [:scroll:](transcendence-of-pi.pdf) [The Transcendence of pi](https://github.com/papers-we-love/papers-we-love/blob/master/mathematics/transcendence-of-pi.pdf) by Steve Mayer
* :scroll: [The Transcendence of Pi](transcendence-of-pi.pdf) by Steve Mayer
* :scroll: [Tilings](tilings.pdf) by Ardila
The paper covers a broad swath of the topic on analysis of tiling, and related strategies.
* :scroll: [From Dominoes to Hexagons](from-dominoes-to-hexagons.pdf) by Thurston
A paper on the generalization of tilings across different base planes.
* :scroll: [Graph Isomorphism and Representation Theory](graph-isomorphism-and-representation-theory.pdf) by Daniel Litt
The *graph isomorphism problem* shows how to construct graphs using a simple building-block ("basis"). The same method applies to finding different building blocks to construct the same things. This technique can be applied to file systems, greplin, trees, virtual DOM, etc.
A short paper, it also shows how to use `𝔰𝔩₂()` as a simple mathematical object that leads into the area of real mathematics—represention theory.
* [Conway's ZIP proof](https://www.maths.ed.ac.uk/~v1ranick/papers/francisweeks.pdf) by George Francis and Jeffrey Weeks
This paper presents a classification proof: "How can it be that you know something about _all possible_ `X`, even the `xϵX` you havent seen yet?" The well-diagramed discussion requires no calculus, crypto, ML, or dense notation, making it good for most knowledge levels.
* [Packing of Spheres](http://neilsloane.com/doc/Me109.pdf) by N. Sloane
Discusses the role of E8 & Leech lattices in optimal codes for mathematically-ideal compression. Ikosahedrons, a tool in this investigation, are also presented.
* [Some Underlying Geometric Notions](https://pi.math.cornell.edu/~hatcher/AT/AT.pdf) by Hatcher
High-Level survey which relates disparate topics, e.g. Platonic solids (A-D-E), Milnors exceptional fibre, and algebra.
* [What is a Young Tableaux?](https://www.ams.org/notices/200702/whatis-yong.pdf) by Alexander Yong
Young Tableau appear in combinatoric problems, representation theory, and the calculus of Grassmannians. Another common topic is sorting, and smarter ways to organise sub-sorts.
### Topology
* [Topology of Numbers](https://pi.math.cornell.edu/~hatcher/TN/TNbook.pdf) by hatcher
* [Applied Algebraic Topology and Sensor Networks](https://www.math.upenn.edu/~ghrist/preprints/ATSN.pdf) by Robert Ghrist
* :scroll: [Intro to Tropical Algebra Geometry](intro-to-tropical-algebraic-geometry.pdf)
Recently there have been some papers posted about tropical geometry of neural nets. Tropical is also said to be derived from CS. This is a good introduction.
* [Elements of Algebraic Topology: Sheaves](https://www.math.upenn.edu/~ghrist/EAT/EATchapter9.pdf) by Ghrist
Seminal writing on topological structures, from one most lauded books 'Elements of Algebraic Topology'

Binary file not shown.

Binary file not shown.

BIN
mathematics/tilings.pdf Normal file

Binary file not shown.

View File

@ -1,6 +1,6 @@
## Memory Management
* [A Unified Theory of Garbage Collection](http://www.cs.virginia.edu/~cs415/reading/bacon-garbage.pdf)
* [A Unified Theory of Garbage Collection](https://researcher.watson.ibm.com/researcher/files/us-bacon/Bacon04Unified.pdf)
* [Teaching Garbage Collection without Implementing Compilers or Interpreters](https://cs.brown.edu/~sk/Publications/Papers/Published/cgkmf-teach-gc/paper.pdf)

View File

@ -2,6 +2,6 @@
* [Bimodal Multicast](http://www.csl.mtu.edu/cs6461/www/Reading/Birman99.pdf)
* [End-to-End Arguments in System Design](http://www.deepplum.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)
* [Can SPDY Really Make the Web Faster?](http://www.eecs.qmul.ac.uk/~tysong/files/IFIPNetworking14.pdf)
* [Datacenter Traffic Control: Understanding Techniques and Trade-offs](https://osf.io/6qzxc/)
* [B4: Experience with a Globally-Deployed Software Defined WAN](https://dl.acm.org/citation.cfm?id=2486019)

View File

@ -8,7 +8,6 @@
## Jails and containers
* :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)
* :scroll: [Jails: Confining the omnipotent root.](http://phk.freebsd.dk/pubs/sane2000-jail.pdf)
* :scroll: [Solaris Zones: Operating System Support for Consolidating Commercial Workloads](https://www.usenix.org/legacy/event/lisa04/tech/full_papers/price/price.pdf)

View File

@ -1,6 +0,0 @@
## 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,19 @@
# Pattern Matching
[Pattern matching algorithms](https://en.wikipedia.org/wiki/Pattern_matching) extend beyond strings, to include trees and other data structures.
🧭 Part of the pattern-matching group, in PWL
* [Pattern Matching](../pattern_matching/README.md)
* [Stringology](../pattern_stringology/README.md)
----
* :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.
## Clustering Algorithms
* [On the resemblance and containment of documents](https://www.cs.princeton.edu/courses/archive/spr05/cos598E/bib/broder97resemblance.pdf) (Andrei Z. Broder)

View File

@ -1,5 +1,13 @@
# Stringology
[Stringology](https://en.wikipedia.org/wiki/String_(computer_science)#String_processing_algorithms) refers to one of the various kinds of string processing algorithms.
🧭 Part of the pattern-matching group, in PWL
* [Pattern Matching](../pattern_matching/README.md)
* [Stringology](../pattern_stringology/README.md)
## External Papers
* [A Taxonomy of Suffix Array Construction Algorithms](http://www.cas.mcmaster.ca/~bill/best/algorithms/07Taxonomy.pdf)

10
privacy/README.md Normal file
View File

@ -0,0 +1,10 @@
## Privacy
* [k-ANONYMITY: A model for Protecting Privacy (1998)](https://dataprivacylab.org/dataprivacy/projects/kanonymity/kanonymity.pdf)
* [Differential Privacy(2006)](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/dwork.pdf)
* [Robust De-anonymization of Large Sparse Datasets(2008)](https://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf)
* [Broken Promises of Privacy: Responding to the Surprising Failure of Anonymization(2010)](https://www.uclalawreview.org/broken-promises-of-privacy-responding-to-the-surprising-failure-of-anonymization-2/)
* [Timing Attacks on Web Privacy(2000)](https://sip.cs.princeton.edu/pub/webtiming.pdf)
* [Protecting Browser State from Web Privacy Attacks(2006)](https://crypto.stanford.edu/sameorigin/sameorigin.pdf)
* [KHyperLogLog: Estimating Reidentifiability and
Joinability of Large Data at Scale(2019)](https://storage.googleapis.com/pub-tools-public-publication-data/pdf/40bc2804cbd3e41ed28dc8991316361eca48630c.pdf)

View File

@ -1,3 +0,0 @@
# Program Verification
* [Coq: The worlds best macro assembler?](https://research.microsoft.com/en-us/um/people/nick/coqasm.pdf)

View File

@ -9,7 +9,7 @@ Robotics
[Online Trajectory Generation: Basic Concepts for Instantaneous Reactions to Unforeseen Events](http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5350749)
[Probablistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces](http://www.kavrakilab.org/sites/default/files/kavraki1996prm-high-dim-conf.pdf)
[Probablistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces](https://www.cs.cmu.edu/~./motionplanning/papers/sbp_papers/PRM/prmbasic_01.pdf)
[Rapidly-Exploring Random Trees: A New Tool for Path Planning](http://msl.cs.uiuc.edu/~lavalle/papers/Lav98c.pdf)
@ -29,7 +29,7 @@ planning. The problem of motion planning scales exponentially with the
degrees of freedom a robot has and the degrees of freedom the obstacles
in an environment have. Thus, planning with high degrees of freedom leads to many problems
such as incompleteness and extremely slow speed. The PRM method was the first to
propose a sampling-based stratey to deal with motion planning and
propose a sampling-based strategy to deal with motion planning and
created a practical method for offline planning of robot manipulators.
The RRT method modified PRM by using a tree structure rather than a
graph so that non-holonomic and other constraints could be considered

22
scripts/README.md Normal file
View File

@ -0,0 +1,22 @@
# Scripts
Scripts for working with repository content.
## Download Utility
A convenience script to download papers. This will scrape the README.md files for URLs containing links to pdfs and download them to their respective directories.
The download utility is idempotent and can be run multiple times safely.
### Usage
Open your favourite terminal and run:
```bash
$ ./scripts/download.sh
```
Optionally, to download specific topics specify their directories as arguments:
```bash
$ ./scripts/download.sh android concurrency
```

46
scripts/download.sh Executable file
View File

@ -0,0 +1,46 @@
#!/bin/bash
# Guard clause check if required binaries are installed
which wget > /dev/null || { echo "Error: wget not installed." ; exit 1 ; }
which egrep > /dev/null || { echo "Error: egrep not installed." ; exit 1 ; }
# Recursively traverse directories in repo scraping markdown file for URLs
# containing pdfs. Downloads pdfs into respective directories.
download_for_directory() {
cd $1 || { echo "Error: directory not found." ; exit 1 ; }
for f in *; do
if [[ -d ${f} ]]; then
download_for_directory ${f} &
fi
done
# Scrape URLs from markdown files
urls=$(ls | cat *.md 2> /dev/null | egrep -o 'https?://[^ ]+' | grep '\.pdf' | tr -d ')')
for url in "$urls"; do
# Ignore empty URLs
if [[ ! -z ${url} ]]; then
wget ${url} --no-clobber --quiet --timeout=5 --tries=2
fi
done
cd ..
echo "$1 done."
}
# If no directories are supplied, iterate over the entire repo.
if [[ "$#" -eq 0 ]]; then
REPO_ROOT_DIR="$(dirname $0)/.."
download_for_directory ${REPO_ROOT_DIR}
else
# Iterate over the specified directories
for dir in "$@"
do
download_for_directory ${dir}
done
fi
# Wait for child processes to terminate
wait

7
search-engines/README.md Normal file
View File

@ -0,0 +1,7 @@
# Search Engines Original Papers
* [Google](http://infolab.stanford.edu/pub/papers/google.pdf)
* [Bing](https://arxiv.org/pdf/1802.04914.pdf)
* [Yahoo](https://www.kdd.org/kdd2016/papers/files/adf0361-yinA.pdf)

View File

@ -1,17 +1,23 @@
## Security
Security
===========
* [Reflections on Trusting Trust (1984)](http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf)
* [Internet Census via Insecure Routers (2012)](https://internetcensus2012.bitbucket.io/paper.html)
* [Internet Census via Insecure Routers (2012)](https://www.researchgate.net/publication/279069631_The_Internet_Census_2012_Dataset_An_Ethical_Examination)
* [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)
* [A survey of coordinated attacks and collaborative intrusion detection (2010)](https://www.tk.informatik.tu-darmstadt.de/fileadmin/user_upload/Group_TK/zhou2010survey.pdf)
* [Meltdown (2018)](https://meltdownattack.com/meltdown.pdf)
* [Spectre Attacks: Exploiting Speculative Execution (2018)](https://spectreattack.com/spectre.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)
## Hardware Security
* [Meltdown (2018)](https://meltdownattack.com/meltdown.pdf)
* [Spectre Attacks: Exploiting Speculative Execution (2018)](https://spectreattack.com/spectre.pdf)
* [DRAM Row Hammer (2014)](https://people.inf.ethz.ch/omutlu/pub/dram-row-hammer_isca14.pdf)
- Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
* :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.

View File

@ -1,10 +0,0 @@
## Software Engineering
* [Studying Attitudes and Social Norms in Agile Software Development (2019)](https://arxiv.org/pdf/1904.09225.pdf) by Lucas Gren
> This paper reviews research on attitudes and social norms and connect it to the agile software development context. Author proposes additional theories from social psychology that would most certainly be useful for further sense-making of human factors-related research on agile teams.
* [Happiness and the productivity of software engineers (2019)](https://arxiv.org/ftp/arxiv/papers/1904/1904.08239.pdf) by Daniel Graziotin & Fabian Fagerholm
> This paper provides an overview of studies on the happiness of software developers. You will learn why it is important to make software developers happy, how happy they really are, what makes them unhappy, and what is expected for their productivity while developing software.
* [Why Software Projects need Heroes (Lessons Learned from 1100+ Projects) (2019)](https://arxiv.org/pdf/1904.09954.pdf) by Suvodeep Majumder, Joymallya Chakraborty, Amritanshu Agrawal & Tim Menzies
> This paper explores the effect of having heroes in projects, from a code quality perspective. Authors identify the hero developers of 1100+ open source GitHub projects. Based on the analysis, they find the majority of all projects are *"hero" projects* and commits from *hero developers* (who contribute the most code) result in far fewer bugs than other developers -- which is contrary to the literature.

View File

@ -0,0 +1,21 @@
# Software Engineering Organizations
The [practice of software engineering](https://en.wikipedia.org/wiki/Software_engineering), and [its history](https://en.wikipedia.org/wiki/History_of_software_engineering) is, itself, a complex study in [humanity](https://en.wikipedia.org/wiki/No_Silver_Bullet), [coordination](https://en.wikipedia.org/wiki/Software_development_process), and communication.
## Software Engineering
* [Studying Attitudes and Social Norms in Agile Software Development (2019)](https://arxiv.org/pdf/1904.09225.pdf) by Lucas Gren
> This paper reviews research on attitudes and social norms and connect it to the agile software development context. Author proposes additional theories from social psychology that would most certainly be useful for further sense-making of human factors-related research on agile teams.
* [Happiness and the productivity of software engineers (2019)](https://arxiv.org/ftp/arxiv/papers/1904/1904.08239.pdf) by Daniel Graziotin & Fabian Fagerholm
> This paper provides an overview of studies on the happiness of software developers. You will learn why it is important to make software developers happy, how happy they really are, what makes them unhappy, and what is expected for their productivity while developing software.
* [Why Software Projects need Heroes (Lessons Learned from 1100+ Projects) (2019)](https://arxiv.org/pdf/1904.09954.pdf) by Suvodeep Majumder, Joymallya Chakraborty, Amritanshu Agrawal & Tim Menzies
> This paper explores the effect of having heroes in projects, from a code quality perspective. Authors identify the hero developers of 1100+ open source GitHub projects. Based on the analysis, they find the majority of all projects are *"hero" projects* and commits from *hero developers* (who contribute the most code) result in far fewer bugs than other developers -- which is contrary to the literature.
## 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

@ -0,0 +1,3 @@
# Systems modeling
- [Statecharts: A Visual Formalism for Complex Systems](http://www.inf.ed.ac.uk/teaching/courses/seoc/2005_2006/resources/statecharts.pdf)

View File

@ -27,7 +27,7 @@
### Introduction
* [Unikernels: Library Operating Systems for the Cloud](http://anil.recoil.org/papers/2013-asplos-mirage.pdf)
* [Unikernels: Library Operating Systems for the Cloud](http://unikernel.org/files/2013-asplos-mirage.pdf)
* [Unikernels: the rise of the virtual library operating system](https://cacm.acm.org/magazines/2014/1/170866-unikernels/fulltext)
* [Maximizing hypervisor scalability using minimal virtual machines](https://core.ac.uk/download/pdf/35074556.pdf)
* [Breaking up is hard to do: security and functionality in a commodity hypervisor](https://open.library.ubc.ca/media/download/pdf/24/1.0052016/1)