Skip to content

cohadar/bookmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

bookmarks

Bookmarks to IT papers/articles worth reading more than once.

[1930] Jacques Herbrand: Recherches sur la théorie de la démonstration (Paris PhD thesis; Herbrand's theorem — foundational for unification and automated theorem proving; French original)

http://www.numdam.org/item/THESE_1930__110__1_0.pdf

[1931] Kurt Gödel: Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I (German original)

https://www.w-k-essler.de/pdfs/goedel.pdf

[1936] Alonzo Church: An Unsolvable Problem of Elementary Number Theory

https://www.ics.uci.edu/~lopes/teaching/inf212W12/readings/church.pdf

[1936] Alan M. Turing: On Computable Numbers, with an Application to the Entscheidungsproblem

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

[1938] Claude E. Shannon: A Symbolic Analysis of Relay and Switching Circuits

https://www.cs.virginia.edu/~evans/greatworks/shannon38.pdf

[1939] Л. В. Канторович: Математические методы организации и планирования производства (founding paper of linear programming; Russian original, reprinted in the 2011 Novosibirsk Selected Works)

https://crystalbook.ru/wp-content/uploads/2021/05/%D0%9A%D0%B0%D0%BD%D1%82%D0%BE%D1%80%D0%BE%D0%B2%D0%B8%D1%87-%D0%9B.%D0%92.-%D0%98%D0%B7%D0%B1%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D1%81%D0%BE%D1%87%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F.-%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%BE-%D1%8D%D0%BA%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B.pdf

[1943] Warren McCulloch & Walter Pitts: A Logical Calculus of the Ideas Immanent in Nervous Activity

https://www.cs.cmu.edu/~./epxing/Class/10715/reading/McCulloch.and.Pitts.pdf

[1945] John von Neumann: First Draft of a Report on the EDVAC

https://web.mit.edu/STS.035/www/PDFs/edvac.pdf

[1948] C.E. SHANNON: A Mathematical Theory of Communication

http://worrydream.com/refs/Shannon%20-%20A%20Mathematical%20Theory%20of%20Communication.pdf

[1949] C.E. Shannon: Communication Theory of Secrecy Systems

https://archive.org/download/bstj28-4-656/bstj28-4-656.pdf

[1950] Alan M. Turing: Computing Machinery and Intelligence

https://courses.cs.umbc.edu/471/papers/turing.pdf

[1950] Richard W. Hamming: Error Detecting and Error Correcting Codes

https://archive.org/download/bstj29-2-147/bstj29-2-147.pdf

[1951] Stephen C. Kleene: Representation of Events in Nerve Nets and Finite Automata (RAND RM-704; republished 1956 in Automata Studies)

https://www.rand.org/pubs/research_memoranda/RM704.html

[1960] John McCarthy: Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I

http://jmc.stanford.edu/articles/recursive/recursive.pdf

[1962] C. A. R. Hoare: Quicksort

https://www.cs.ox.ac.uk/files/6226/H2006%20-%20Historic%20Quicksort.pdf

[1962] Carl Adam Petri: Kommunikation mit Automaten (Bonn PhD dissertation introducing Petri Nets; German original)

https://edoc.sub.uni-hamburg.de/informatik/volltexte/2011/160/pdf/diss_petri.pdf

[1965] E. W. Dijkstra: Solution of a Problem in Concurrent Programming Control

https://rust-class.org/static/classes/class19/dijkstra.pdf

[1965] А. Н. Колмогоров: Три подхода к определению понятия «количество информации» (founding paper of Kolmogorov complexity; Russian original, Проблемы передачи информации)

https://www.mathnet.ru/php/getFT.phtml?jrnid=ppi&paperid=68&what=fullt&option_lang=rus

[1966] Peter J. Landin: The Next 700 Programming Languages

https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/landin-next-700.pdf

[1968] Ken Thompson: Programming Techniques: Regular expression search algorithm

https://www.oilshell.org/archive/Thompson-1968.pdf (also https://swtch.com/~rsc/regexp/regexp1.html)

[1968] E. W. Dijkstra: Go To Statement Considered Harmful

https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf

[1968] Melvin E. Conway: How Do Committees Invent? (Conway's Law)

http://www.melconway.com/Home/pdf/committees.pdf

[1969] C. A. R. Hoare: An Axiomatic Basis for Computer Programming

https://www.cs.cmu.edu/~crary/819-f09/Hoare69.pdf

[1970] E. F. Codd: A Relational Model of Data for Large Shared Data Banks

https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf

[1971] Niklaus Wirth: Program Development by Stepwise Refinement

http://sunnyday.mit.edu/16.355/wirth-refinement.html

[1972] David Parnas: On the Criteria to Be Used in Decomposing Systems into Modules

https://wstomv.win.tue.nl/edu/2ip30/references/criteria_for_modularization.pdf

[1972] Rudolf Bayer & Edward McCreight: Organization and Maintenance of Large Ordered Indexes (B-Trees)

https://infolab.usc.edu/csci585/Spring2010/den_ar/indexing.pdf

[1972] E. W. Dijkstra: The Humble Programmer (Turing Award Lecture, EWD340)

https://www.cs.utexas.edu/users/EWD/ewd03xx/EWD340.PDF

[1972] Jean-Yves Girard: Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur (Paris VII thèse de doctorat d'état introducing System F; French original)

https://girard.perso.math.cnrs.fr/These.pdf

[1973] Alain Colmerauer, Henry Kanoui, Philippe Roussel, Robert Pasero: Un système de communication homme-machine en français (Luminy research report — origin of Prolog; French original)

http://alain.colmerauer.free.fr/alcol/ArchivesPublications/HommeMachineFr/HoMa.pdf

[1973] Л. А. Левин: Универсальные задачи перебора (independent Russian-side discovery of NP-completeness; Russian original, Проблемы передачи информации)

https://www.mathnet.ru/php/getFT.phtml?jrnid=ppi&paperid=914&what=fullt&option_lang=rus

[1974] Donald E. Knuth: Structured programming with goto statement

https://pic.plover.com/knuth-GOTO.pdf

[1974] Dennis M. Ritchie & Ken Thompson: The UNIX Time-Sharing System

https://dsf.berkeley.edu/cs262/unix.pdf

[1974] Barbara Liskov & Stephen Zilles: Programming with Abstract Data Types

https://ics.uci.edu/~jajones/INF102-S18/readings/13_liskov_adt.pdf

[1974] Vint Cerf & Robert Kahn: A Protocol for Packet Network Intercommunication

https://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf

[1976] Whitfield Diffie & Martin Hellman: New Directions in Cryptography

https://ee.stanford.edu/~hellman/publications/24.pdf

[1976] Robert M. Metcalfe & David R. Boggs: Ethernet: Distributed Packet Switching for Local Computer Networks

https://www.cl.cam.ac.uk/teaching/2425/CompNet/files/p395-metcalfe.pdf

[1976] Peter Pin-Shan Chen: The Entity-Relationship Model — Toward a Unified View of Data

https://bowringj.people.charleston.edu/classes/csci%20332/Chen1976.pdf

[1978] Leslie Lamport: Time, Clocks, and the Ordering of Events in a Distributed System

https://lamport.azurewebsites.net/pubs/time-clocks.pdf

[1978] John Backus: Can Programming Be Liberated from the von Neumann Style?

https://cse.msu.edu/~cse452/Readings/backus.pdf

[1978] C. A. R. Hoare: Communicating Sequential Processes

http://spinroot.com/courses/summer/Papers/hoare_1978.pdf

[1978] Rivest, Shamir, Adleman: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems (RSA)

https://people.csail.mit.edu/rivest/Rsapaper.pdf

[1978] Robin Milner: A Theory of Type Polymorphism in Programming

https://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/milner-type-polymorphism.pdf

[1978] Jim Gray: Notes on Data Base Operating Systems

https://jimgray.azurewebsites.net/papers/DBOS.pdf

[1979] Kenneth E. Iverson: Notation as a Tool of Thought (Turing Award Lecture)

https://www.jsoftware.com/papers/tot.htm

[1981] Brian Kernighan: Why Pascal Is Not My Favorite Programming Language

https://www.lysator.liu.se/c/bwk-on-pascal.html

[1982] E.W. Dijkstra: Why numbering should start at zero (& why half-open intervals). (EWD831)

http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF (anything by Dijkstra really: https://en.wikiquote.org/wiki/Edsger_W._Dijkstra)

[1982] Leslie Lamport, Robert Shostak, Marshall Pease: The Byzantine Generals Problem

https://lamport.azurewebsites.net/pubs/byz.pdf

[1983] Butler Lampson: Hints for Computer System Design

https://bwlampson.site/33-Hints/Acrobat.pdf

[1983] Theo Haerder & Andreas Reuter: Principles of Transaction-Oriented Database Recovery (where the ACID acronym was coined)

https://cs-people.bu.edu/mathan/reading-groups/papers-classics/recovery.pdf

[1984] J. H. Saltzer, D. P. Reed, D. D. Clark: End-to-End Arguments in System Design

https://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf

[1984] Ken Thompson: Reflections on Trusting Trust (Turing Award Lecture)

https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflectionsonTrustingTrust.pdf

[1984] Donald E. Knuth: Literate Programming

http://www.literateprogramming.com/knuthweb.pdf

[1984] Andrew D. Birrell & Bruce Jay Nelson: Implementing Remote Procedure Calls

https://web.eecs.umich.edu/~mosharaf/Readings/RPC.pdf

[1985] Michael J. Fischer, Nancy A. Lynch, Michael S. Paterson: Impossibility of Distributed Consensus with One Faulty Process (FLP)

https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf

[1985] Peter Naur: Programming as Theory Building

https://pages.cs.wisc.edu/~remzi/Naur.pdf

[1985] Luca Cardelli & Peter Wegner: On Understanding Types, Data Abstraction, and Polymorphism

http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf

[1986] Richard Hamming: You and Your Research

https://www.cs.virginia.edu/~robins/YouAndYourResearch.pdf

[1986] Fred Brooks: No Silver Bullet — Essence and Accident in Software Engineering

https://worrydream.com/refs/Brooks_1986_-_No_Silver_Bullet.pdf

[1986] David Parnas & Paul Clements: A Rational Design Process: How and Why to Fake It

https://www.cs.tufts.edu/~nr/cs257/archive/david-parnas/fake-it.pdf

[1987] Barbara Liskov: Data Abstraction and Hierarchy (keynote introducing LSP)

https://www.cs.tufts.edu/~nr/cs257/archive/barbara-liskov/data-abstraction-and-hierarchy.pdf

[1988] Michael Stonebraker (ed.): Readings in Database Systems (The Red Book) — link to 5th edition (2015)

http://www.redbook.io/pdf/redbook-5th-edition.pdf

[1988] David D. Clark: The Design Philosophy of the DARPA Internet Protocols

https://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/clark88.pdf

[1988] E. W. Dijkstra: On the cruelty of really teaching computing science (EWD1036)

https://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF

[1988] David Patterson, Garth Gibson & Randy Katz: A Case for Redundant Arrays of Inexpensive Disks (RAID)

https://www.cs.cmu.edu/~garth/RAIDpaper/Patterson88.pdf

[1989] Rob Pike: Notes on Programming in C

http://doc.cat-v.org/bell_labs/pikestyle

[1990] Tim Berners-Lee: Information Management: A Proposal (the original WWW proposal at CERN)

https://www.w3.org/History/1989/proposal.html

[1990] William R. Cook: Object-Oriented Programming Versus Abstract Data Types

https://www.cs.utexas.edu/~wcook/papers/OOPvsADT/CookOOPvsADT90.pdf

[1991] David Goldberg: What Every Computer Scientist Should Know About Floating-Point Arithmetic

https://www.itu.dk/~sestoft/bachelor/IEEE754_article.pdf

[1994] Barbara Liskov & Jeannette Wing: A Behavioral Notion of Subtyping

https://www.cs.cmu.edu/~wing/publications/LiskovWing94.pdf

[1994] L. Peter Deutsch et al.: The Eight Fallacies of Distributed Computing (as compiled and explained by Arnon Rotem-Gal-Oz)

https://arnon.me/wp-content/uploads/Files/fallacies.pdf

[1995] Philip Wadler: Monads for Functional Programming

https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf

[1995] The Linux Bootdisk HOWTO

https://tldp.org/HOWTO/Bootdisk-HOWTO/

[1996] Patrick O'Neil, Edward Cheng, Dieter Gawlick, Elizabeth O'Neil: The Log-Structured Merge-Tree (LSM-Tree)

https://www.cs.umb.edu/~poneil/lsmtree.pdf

[1996] John Ousterhout: Why Threads Are a Bad Idea (for most purposes)

https://web.stanford.edu/~ouster/cgi-bin/papers/threads.pdf

[1996] C. A. R. Hoare: How Did Software Get So Reliable Without Proof?

https://6826.csail.mit.edu/2020/papers/noproof.pdf

[1997] Eric S. Raymond: The Cathedral and the Bazaar

http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/

[1998] Leslie Lamport: The Part-Time Parliament (Paxos)

https://lamport.azurewebsites.net/pubs/lamport-paxos.pdf

[1998] Sergey Brin & Lawrence Page: The Anatomy of a Large-Scale Hypertextual Web Search Engine

http://infolab.stanford.edu/pub/papers/google.pdf

[1999] Erik Naggum: The Long, Painful History of Time

https://naggum.no/lugm-time.html

[2000] Roy Fielding: Architectural Styles and the Design of Network-based Software Architectures

https://roy.gbiv.com/pubs/dissertation/fielding_dissertation.pdf

[2000] From PowerUp To Bash Prompt HOWTO

https://tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html

[2001] Leslie Lamport: Paxos Made Simple

https://lamport.azurewebsites.net/pubs/paxos-simple.pdf

[2002] Paul Graham: The Roots of Lisp

http://languagelog.ldc.upenn.edu/myl/llog/jmc.pdf

[2002] Seth Gilbert & Nancy Lynch: Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services (CAP)

https://www.comp.nus.edu.sg/~gilbert/pubs/BrewersConjecture-SigAct.pdf

[2003] The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/

[2003] Rob Pike: UTF-8 History

https://doc.cat-v.org/bell_labs/utf-8_history

[2003] Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung: The Google File System

https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf

[2003] Joe Armstrong: Making Reliable Distributed Systems in the Presence of Software Errors (PhD dissertation introducing Erlang's "let it crash" philosophy)

https://erlang.org/download/armstrong_thesis_2003.pdf

[2004] Jeffrey Dean & Sanjay Ghemawat: MapReduce: Simplified Data Processing on Large Clusters

https://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf

[2006] Fay Chang, Jeffrey Dean, Sanjay Ghemawat et al.: Bigtable: A Distributed Storage System for Structured Data

https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf

[2007] Pat Helland: Life Beyond Distributed Transactions: An Apostate's Opinion

https://www.cidrdb.org/cidr2007/papers/cidr07p15.pdf

[2007] James Hamilton: On Designing and Deploying Internet-Scale Services

https://www.usenix.org/legacy/events/lisa07/tech/full_papers/hamilton/hamilton.pdf

[2007] Giuseppe DeCandia et al.: Dynamo: Amazon's Highly Available Key-value Store

https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf

[2008] Satoshi Nakamoto: Bitcoin: A Peer-to-Peer Electronic Cash System

https://bitcoin.org/bitcoin.pdf

[2011] Marc Shapiro, Nuno Preguiça, Carlos Baquero & Marek Zawirski: Conflict-Free Replicated Data Types (CRDTs)

https://www.cs.tufts.edu/~nr/cs257/archive/marc-shapiro/CRDTs_SSS-2011.pdf

[2011] Jay Kreps, Neha Narkhede & Jun Rao: Kafka: a Distributed Messaging System for Log Processing

https://notes.stephenholiday.com/Kafka.pdf

[2012] James C. Corbett et al.: Spanner: Google's Globally-Distributed Database

https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf

[2012] Alex Krizhevsky, Ilya Sutskever & Geoffrey Hinton: ImageNet Classification with Deep Convolutional Neural Networks (AlexNet)

https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf

[2013] Jeffrey Dean & Luiz André Barroso: The Tail at Scale

https://www.barroso.org/publications/TheTailAtScale.pdf

[2013] Jay Kreps: The Log: What Every Software Engineer Should Know About Real-Time Data's Unifying Abstraction

https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying

[2014] Torturing Databases for Fun and Profit

https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-zheng_mai.pdf

[2014] Diego Ongaro & John Ousterhout: In Search of an Understandable Consensus Algorithm (Raft)

https://raft.github.io/raft.pdf

[2015] Pat Helland: Immutability Changes Everything

https://www.cidrdb.org/cidr2015/Papers/CIDR15_Paper16.pdf

[2016] David Silver et al.: Mastering the Game of Go with Deep Neural Networks and Tree Search (AlphaGo)

https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf

[2017] Ashish Vaswani et al.: Attention Is All You Need (Transformers)

https://arxiv.org/pdf/1706.03762

[2020] Jared Kaplan et al.: Scaling Laws for Neural Language Models

https://arxiv.org/pdf/2001.08361

[2020] Tom Brown et al.: Language Models are Few-Shot Learners (GPT-3)

https://arxiv.org/pdf/2005.14165

[2021] John Jumper et al.: Highly Accurate Protein Structure Prediction with AlphaFold

https://www.nature.com/articles/s41586-021-03819-2.pdf

[2022] Long Ouyang et al.: Training Language Models to Follow Instructions with Human Feedback (InstructGPT / RLHF)

https://arxiv.org/pdf/2203.02155

[2022] Jason Wei et al.: Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

https://arxiv.org/pdf/2201.11903

[2022] Jordan Hoffmann et al.: Training Compute-Optimal Large Language Models (Chinchilla)

https://arxiv.org/pdf/2203.15556

[2023] Rafael Rafailov et al.: Direct Preference Optimization — Your Language Model is Secretly a Reward Model (DPO)

https://arxiv.org/pdf/2305.18290

[2024] Evan Hubinger et al.: Sleeper Agents — Training Deceptive LLMs That Persist Through Safety Training

https://arxiv.org/pdf/2401.05566

About

Bookmarks to IT articles worth reading more than once.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors