Resources and reference materials for computer scientists and programmers. A work in progress.
Algorithms
- Introduction to Algorithms, Third Edition My Favorite reference Answer Key for 2nd Ed. , 3rd Ed.
- Algorithms Jeff Erickson's wonderful free resource
- Mathematics for Computer Science Not for the faint of heart
- Mathematics for Computer Science The MIT OCW course using the above text
- Models of Computation Intro/ Intermediate theory
- The Algorithm Design Manual, 3rd Edition A good practical reference
- Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching, 3rd Edition An excellent read for the C programmer
- Algorithms in C, Part 5: Graph Algorithms, 3rd Edition
- VISU ALGO Visualizing data structures and algorithms through animation
- Visualizations of Graph Algorithms A great site from TUM's math department
- Algorithms for Modern Hardware A practical site
- A Gentle Introduction to Algorithm Complexity Analysis
- Algorithms for Big Data Jelani Nelson's Harvard lecutures for Advanced Algorithms
Data Structures / Object Oriented Design
- Design Patterns: Elements of Reusable Object-Oriented Software The essential OOAD reference
- Open Data Structures (C++) A very good and Free resource
- Design Patterns in Modern C++
- A pplying UML and Patterns. A free book
- Object Oriented Programming A free book
General Programming
- The Architecture of Open Source Applications
- Elements of Programming Theoretical and very useful
Networking
- Trex: intel traffic generator
- The Cyber Plumber's Handbook
- netlink - netlink library for go
- Peterson's Computer Networks: A Systems Approach
Framework examples/Implementations
- Google Online Boutique FKA: Hipster Shop. A microservices example
- Mastodon Open Source social networking
- Sock Shop
- Robot shop
- Project pod tato Head
Benchmarking
Certificates
Visualization
- Flamegraphs
- Matplotlib
- Graphviz
- Rust Macro Railroad live demo link
- D3 Tidy Tree Have not used it but it looks great
- El Grapho Looks cool haven't tried it.
Data Analysis
Networking Tools
C++ Libraries
Rust
- This week in Rust
- Rust repo
- Rust Playground
- Idiomatic Rust
- Rust RFCs
- 35 Rust Learning Resources Every Beginner Should Know in 2022
- The Rustonomicon
- SERDE rust: ser/deserialization
- Beginners series to Rust
- A Guide to Porting C/C++ to Rust
- Rust API Guidelines Checklist
Data Sources
Monitoring
Vulnerability Scanning
Programming Languages
- Stanford CS 242 Haven't looked at it in depth but it might be useful
- Introduction to Compilers and Language Design Looks good haven't read it
Architecture
Machine Learning
- The Principles of Deep Learning Theory Free (for now)
- Postgres ML Looks promising
K8s
- CNCF Cloud Native Interactive Landscape
- Kubetools - A Curated List of Kubernetes Tools
- k3s lightweight Kubernetes
- Kubecon '20 slides
- Container Network Interface Specification
- Plugins
- bandwidth : Allows bandwidth-limiting through use of traffic control tbf (ingress/egress)
- firewall : A firewall plugin which uses iptables or firewalld to add rules to allow traffic to/from the containe
- portmap : An iptables-based portmapping plugin. Maps ports from the host’s address space to the container
- sbr : A plugin that configures source based routing for an interface (from which it is chained)
- tuning : Changes sysctl parameters of an existing interface
- bridge : Creates a bridge, adds the host and the container to it
- ipvlan : Adds an ipvlan interface in the container
- macvlan : Creates a new MAC address, forwards all traffic to that to the container
- ptp : Creates a veth pair
- host-device : Moves an already-existing device into a container
- dhcp : Runs a daemon on the host to make DHCP requests on behalf of a container
- host-local : Maintains a local database of allocated IPs
- static : Allocates static IPv4/IPv6 addresses to containers
- Docs
- Related Non Academic Articles:
- Productivity Tools:
OpenSource