Awesome
Research papers ![Lists](https://img.shields.io/badge/-more%20lists-0a0a0a.svg?style=flat&colorA=0a0a0a)
The number after the name stands for the year in which the research paper was written in. All research papers are put in their respective category and are sorted from newest to oldest.
Please read contribution guidelines before contributing.
- Artificial intelligence
- Big Data
- Category theory
- Compilers
- Computer science
- Computer vision
- Concurrency
- Databases
- Deep Learning
- Design
- Functional programming
- Garbage collection
- Haskell
- Machine Learning
- Math
- Neural networks
- Operating systems
- Physics
- Programming languages
- Programming
- Psychedelics
- Reverse engineering
- Security
- Statistics
- System design
- Type theory
- Virtualization
- Web
- Other
- Related
Artificial intelligence
- Winner-take-all autoencoders
- A roadmap towards machine intelligence
- Is the brain a good model for machine intelligence?
- Concrete problems in ai safety
Big Data
Category theory
- Backprop as Functor: A compositional perspective on supervised learning - Brendan Fong, David I. Spivak, Rémy Tuyéras (2017)
- The Algebra of Open and Interconnected Systems - Brendan Fong (2016)
Compilers
- Writing parsers like it is 2017
- Calculating correct compilers (2015)
- An incremental approach to compiler construction
- Dynamo: a transparent dynamic optimization system
Computer science
- The Case for Learned Index Structures (2017)
- Squeak makes a good python debugger (2017)
- Dat - Distributed Dataset Synchronisation and Versioning (2017)
- Robots take over the world (2007)
- Let’s go to the whiteboard: (2007)
- How and why software developers use drawings
- How complex systems fail
- How to make ad-hoc polymorphism less ad hoc
- Challenges to adopting stronger consistency at scale
- Naked objects
- Three measurement problems
- A hub-based labeling algorithm for shortest paths on road networks
Computer vision
- An analysis of single-layer networks in unsupervised feature learning - Interesting paper about how using weaker classifiers (kmeans) can get comparable results to more sophisticated ones like deep neural nets with the decisions made before training a model like statistical whitening, picking a large number of features, etc.
- Viola jones robust real-time object detection - Real time face detection method most cameras use today, discusses ensemble learning methods (adaboost) and a clever way to detect features in one O(n) pre-processing step.
- Example-based photometric stereo: shape reconstruction with general, varying brdfs - Discusses how you can reconstruct an objects 3d shape just by analyzing how light reflects off an object's surface.
- Mask r-cnn
Concurrency
Databases
Deep Learning
Design
Functional programming
- How to make ad-hoc polymorphism less ad hoc (1988)
- Lazy functional state threads (1994) - Accessible introduction to the machinery underneath ST and IO.
- The countdown problem (2002)
- Functional program to solve sudoku (2006)
- Infinite sets that admit fast exhaustive search (2007)
- Applicative programming with effects (2008)
- Data types a la carte (2008)
- Parallel Functional Arrays (2017)
- Trees that grow
- Super compilation by evaluation
- Cache Efficient Functional Algorithms
- Breaking through the normalisation barrier: a self-interpreter for f-omega
- Typed self-evaluation via intensional type functions
- Freer monads, more extensible effects
- The Genuine Sieve of Eratosthenes
Garbage collection
Haskell
Machine Learning
- AutoAugment: Learning Augmentation Policies from Data (2018)
- Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm (2017)
- Neural Machine Translation and Sequence-to-sequence Models: A Tutorial (2017)
- Deep voice: real-time neural text-to-speech (2017)
- Dropout: a simple way to prevent neural networks from overfitting (2014)
- A Unifying Review of Linear Gaussian Models (1998)
- Gaussian processes for big data
- Adversarial Patch
- A few useful things to know about machine learning
- The high-interest credit card of technical debt
- InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets
Math
- Polynomial exact-3-sat solving algorithm
- The language and grammar of mathematics
- Comprehending Monads
- Notation as a tool of thought
- A Mathematical Theory of Communication
- Graph isomorphism in quasipolynomial time
- On proof and progress in mathematics
- Introduction to categories and categorical logic
- A notion of a computational step for partial combinatory algebras
- Reading mathematics
- Quotients homophones des groupes libres homophonic quotients of free groups
- A beginner’s guide to forcing
- A lagrangian dual approach to the generalized kyp lemma
- What is good mathematics? (2007)
- On the dimensionality of spacetime
- A cohomological viewpoint on elementary school arithmetic
- Beta reduction is invariant, indeed
- Sketch of a Programme
- A naturalist account of the limited, and hence reasonable, effectiveness of mathematics in physics (2015)
Neural networks
- Neural Ordinary Differential Equations (2018)
- Neural networks and deep learning
- Learning without forgetting
- Neural turing machine
- Densely connected convolutional networks
- Overcoming catastrophic forgetting in neural networks
- Pathnet: evolution channels gradient descent in super neural networks
Operating systems
Physics
- Hamiltonian for the zeros of the Riemann Zeta function (2016)
- General Relativity and Cosmology: Unsolved Questions and Future Directions (2016)
- There are no particles, there are only fields (2012)
- Would Bohr be born if Bohm were born before Born? (2007)
- The holographic solution - why general relativity must be understood in terms of strings (2004)
- Measurement of subpicosecond time intervals between two photons by Interference (1987)
- Bertlmann’s socks and the nature of reality (1981)
- More is different (1972)
- On the Einstein Podolsky Rosen Paradox (1964)
- Deterministic Nonperiodic Flow (1962)
- There's Plenty of Room at the Bottom (1959)
- Forms of Relativistic Dynamics (1949)
- What is life? (1944)
- Can Quantum-Mechanical Description of Physical Reality Be Considered Complete? (1935)
- Possible Existence of a Neutron (1932)
- On the electrodynamics of moving bodies (1905)
Programming languages
Programming
- Scripting: higher level programming for the 21st century
- Notes on postmodern programming
- Recursive make considered harmful
- Kademlia: a peer-to-peer information system based on the xor metric
- Equal rights for functional objects or, the more things change, the more they are the same
- What every programmer should know about memory
- The c standard formalised in coq
- An analysis and survey of the development of Mutation testing
- The Purely Functional Software Deployment Model
Psychedelics
- Crystal structure of an lsd-bound human serotonin receptor
- Towards a biophysical understanding of hallucinogen action (2007)
Reverse engineering
Security
- Some thoughts on security after ten years of qmail 1.0
- Comparative Analysis of Machine-Learning IDS methodologies to detect DDOS (2019)
Statistics
System design
Type theory
- The Syntax and Semantics of Quantitative Type Theory (2018)
- Computational Higher Type Theory I: Abstract Cubical Realizability (2016)
- Cubical Type Theory: a constructive interpretation of the univalence axiom (2016)
- Lambda Calculi with Types (1992)
- Propositions as types
- The derivative of a regular type is its type of one-hole contexts
- On the meanings of the logical constants and the justifications of the logical laws