- E. Tufte: The Visual Display of Quantitative Information (1983)
- Standard work on data visualization
- M. Itkonen: Typografian käsikirja (2012)
M. Butterick: Practical typography (2013)- L. Verou: CSS Secrets (2014)
J. Keith: Resilient web design
- H. Abelson et al.: Structure and Interpretation of Computer Programs (1996)
- Standard book on FP
- E. Evans: Domain-Driven Design (2003)
- Popularized the notion of DDD
R.T. Fielding: Architectural Styles: Design of Network-Based Software Architectures (2000)- Coined the concept of Representational State Transfer (REST)
E.S. Raymond: Art of Unix Programming- OS design à la Unix
- M. Fowler: Refactoring (1999)
- Standard work on the role of refactoring in software development
R. Gabriel: Worse is better (1989)- R. C. Martin: Clean code (2008)
- Moral lessons on software development
- B. Meyer: Object-Oriented Software Construction (1988)
- Open/closed principle. Defines how every software module ought to behave.
- B. Liskov: Data abstraction and hierarchy. (1988)
- The Liskov subsitution principle: Defines formally what subtyping means.
- E. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software (1994)
- Standard work on design patterns
- B. P. Flannery, et al.: Numerical Recipes in C. The Art of Scientific Computing (1992)
- Standard reference for numerical algorithms
Conditioning, Stability and Finite Precision Arithmetic- Estimating errors
- Defines formally what 'well-conditioned' means
- T. Cormen et al.: Introduction to Algorithms (?)
- Standard reference for algorithms (e.g., Java TreeMap)
- D. J. Bernstein: DJBX33X
- The hashing algorithm used under the hood in many languages
- M. Matsumoto and T. Nishimura: Mersenne twister (1998)
- The PRNG used under the hood in many languages
- G. M. Morton: A computer Oriented Geodetic Data Base; and a New Technique in File Sequencing G. M. (1966)
- Order and iterate over multidimensional data in order of nearest neighbors
- Many applications, one of which is the Geohash service
- B. Bloom: Space/Time Trade-offs in Hash Coding with Allowable Errors (1970)
- Introduced the Bloom filter algorithm
- Non-deterministic membership test for huge datasets
- O(k) lookups and where k is the number of hash functions. No dependence of the cardinality of the dataset!
- V.R. Pratt: Top Down Operator Precedence (1973)
- FP lexer/parser
- Netlib repository
- Old school numerical code from the vaults of the AT&T Bell Laboratories (really old school)
- P. Jaccard: The distribution of the flora in the alpine zone (1912)
- Distance measure of two sets, useful in computing the similarity between arbitrary objects too
- Blog post series on the topic
- NP-complete algorithms: Michael Garey and David Johnson: Computers and Intractability: A Guide to the Theory of NP-Completeness
- Montgomery’s method, Barrett’s algorithm
- Horner's scheme
- H. Warren: Hacker’s Delight (2002)
- P.R. Wilson et al.: Dynamic Storage Allocation: A Survey and Critical Review (1995)
- Everything about memory allocation
F. von Leitner: Scalable Network Programming (2003)- Good stuff on the role of the OS in web programming
- U. Depper: What every programmer should know about memory (2007)
- Nitty gritty details about how RAM works
I. Grigorik: High Performance Browser Networking (2013)- Web programming from the point of view of performance
- A. Koglin: Hashing (2013)
- JSON Web Tokens
- B. Schneier: Applied Cryptography (1993)
- G. Marsaglia: Diehard tests (1995)
- PRNG benchmark
- George Marsaglia was the author of many PRNGs
- Hash flooding attack
R. Kiyosaki: Rich Dad, Poor Dad (2000)B. Graham: Intelligent investor (1949)D. Luenberger: Investment Science- Reference for return calculation / estimation for both fixed-income and equity securities
K. Hämäläinen: Laatuguru- How to measure the quality of an investment portfolio
- Reference for fair-price estimation techniques and equations for various financial key figures
- M. Lewis: Big Short
- M. Lewis: Liar's Poker
- R. Lowenstein: Warren Buffett: The Making of an American Capitalist
- R. Chernow: Titan: The Life of John D. Rockefeller, Sr.
- E. Reingold & N. Dershowitz: Calendrical Calculations (2008)
- RFC 7231: HTTP/1.1 Semantics and Content
- RFC 5545: iCalendar
- RFC 3339: Date and Time on the Internet
- RFC 5246: TLS 1.2
- RFC2104: HMAC: Keyed-Hashing for Message Authentication
- W3C: Document Object Model API
- Whatwg: The URL specification
- Whatwg: The HTML specification
- F. Brooks Jr., The mythical man month (1975)
- Evergreen truths about software and software engineering
- D. Kahneman: Thinking, Fast and Slow (2011)
vcard (tutki myös muita microformaatteja) https://en.wikipedia.org/wiki/VCard
https://github.com/nzakas/computer-science-in-javascript/ https://github.com/enaqx/esds/blob/master/doc/links.md
- Huffman coding