# 📚 Knowledge > an attempt to centralize my studies/links/annotations for reference purposes At the moment this is not useful for anyone but myself, if at some point I find it usefult I'll make it public. (click to see the large version) ### More info > Information about the links * 🌍 - Interesting Link * 📰 - Article / Paper * 📕 - Book * ðŸ’ŧ - Project * 🎓 - Online Course * 📞 - Video Presentation / Content * ðŸŽĨ - Slides Presentation * ✍🏞 - Written/Made by me * 📝 - My annotations * 🆓 - Free / No money required * 💰 - Paid * 💊🏞 - Practice * ðŸĶ - Person to Follow on Twitter * ⭐ïļ - Favourite Option (when there are many alternatives) ## References * Site Reliability Engineering * Culture * General Overview * [Site Reliability Engineering - How Google Runs Production Systems](https://landing.google.com/sre/books/) 📕 🆓 * [Annotations](/) - Coming Soon * [The Site Reliability Workbook - Practical Ways to Implement SRE](https://landing.google.com/sre/books/) 📕 🆓 * [SRE - Keeping Google up and running 24/7](https://www.youtube.com/watch?v=yXI7r0_J29M) 📞 🆓 * Google Series on SRE - class SRE implements DevOps * [What's the Difference Between DevOps and SRE?](https://www.youtube.com/watch?v=uTEL8Ff1Zvk) 📞 🆓 * [SLIs, SLOs, SLAs, oh my!](https://www.youtube.com/watch?v=tEylFyxbDLE) 📞 🆓 * [Risk and Error Budgets](https://www.youtube.com/watch?v=y2ILKr8kCJU) 📞 🆓 * [Toil and Toil Budgets](https://www.youtube.com/watch?v=IvQ-15-yE_c) 📞 🆓 * [Now SRE Everyone Else with CRE!](https://www.youtube.com/watch?v=GQPzaq-owYM) 📞 🆓 * [Managing Risks as a Site Reliability Engineer](https://www.youtube.com/watch?v=4kGu1_M7Igg) 📞 🆓 * [Actionable Alerting for Site Reliability Engineers](https://www.youtube.com/watch?v=CGldVD5wR-g) 📞 🆓 * [Observability of Distributed Systems](https://www.youtube.com/watch?v=SoZZzB-yTOk) 📞 🆓 * [Incident Management](https://www.youtube.com/watch?v=n4y9dwinPBQ) 📞 🆓 * [Postmortems and Retrospectives](https://www.youtube.com/watch?v=UBe7U2b3tsA) 📞 🆓 * Use cases * [Christof Leng - Site Reliability Engineering at Google](https://www.youtube.com/watch?v=d2wn_E1jxn4&) 📞 🆓 * [Squarespace - Implementing SLOs for a New Service](https://www.youtube.com/watch?v=ffbGyHPWwZM) 📞 🆓 * [Circonous - Shipping Software with an SRE Mindset](https://www.youtube.com/watch?v=TZWWkvxFXls) 📞 🆓 * [Circonous - Latency SLOs Done Right](https://www.youtube.com/watch?v=iPotMqzOsDI) 📞 🆓 * People to Follow * [Liz Fong-Jones](https://twitter.com/lizthegrey) ðŸĶ * [Seth Vargo](https://twitter.com/sethvargo) ðŸĶ * Software Engineering * Programming Languages * Paradigms * [Coursera - Programming Languages - Part A](https://www.coursera.org/learn/programming-languages) 📞 🎓 🆓 * [Coursera - Programming Languages - Part B](https://www.coursera.org/learn/programming-languages-part-b) 📞 🎓 🆓 * [Coursera - Programming Languages - Part C](https://www.coursera.org/learn/programming-languages-part-c) 📞 🎓 🆓 * **Functional Programming Languages** * Haskell * General Overview * [Haskell From First Principles](http://haskellbook.com) 📕 💰 * [Book Exercises](https://github.com/marceloboeira/hffp) 📝 💊🏞 🆓 * [Simon Peyton Jones - Escape from the ivory tower - the Haskell journey](https://www.youtube.com/watch?v=re96UgMk6GQ) 📞 🆓 * [Simon Peyton Jones - A History of Haskell - being lazy with class](https://www.youtube.com/watch?v=06x8Wf2r2Mc) 📞 🆓 * [Andrew Rademacher - Demystifying Haskell](https://www.youtube.com/watch?v=apBWkBDVlow) 📞 🆓 * Use cases * Facebook * [Bryan O'Sullivan - The Bright Side of High Level Languages](https://www.youtube.com/watch?v=kGa78HQv_LQ) 📞 🆓 * [Jon Coens - The Road to Running Haskell at Facebook Scale](https://www.youtube.com/watch?v=sl2zo7tzrO8) 📞 🆓 * Practice * [The Monad Challenges](http://mightybyte.github.io/monad-challenges/) 💊🏞 🆓 * Concepts * Functional Programming * [Computerphile - Functional Programming & Haskell](https://www.youtube.com/watch?v=LnX3B9oaKzw) 📞 🆓 * Lambda Calculus * [Computerphile - Lambda Calculus](https://www.youtube.com/watch?v=eis11j_iGMs) 📞 🆓 * [Lambda Calculus - Fundamentals of Lambda Calculus & Functional Programming](https://www.youtube.com/watch?v=3VQ382QG-y4) 📞 🆓 * [Lambda Calculis - Church Encodings && Combinators](https://www.youtube.com/watch?v=pAnLQ9jwN-E) 📞 🆓 * The Y Combinator * [Computerphile - Y Combinator](https://www.youtube.com/watch?v=9T8A89jgeTI) 📞 🆓 * Monads * [Computerphile - What is a Monad?](https://www.youtube.com/watch?v=t1e8gqXLbsU) 📞 🆓 * **Systems Programming Languages** * Rust * [The Rust Programming Language](https://doc.rust-lang.org/stable/book/) 📕 🆓 * [Annotations](https://github.com/marceloboeira/trpl) 📝 * SubProjects * [grab](https://github.com/marceloboeira/grab) 👋🏞 like grep, but simpler [Chapters' 12/13 project]. * [dull](https://github.com/marceloboeira/dull) ðŸĪŠ a dummy multi-thread HTTP server [Chapter's 20 project]. * General Overview * [Aaron Turon - Rust: confident, productive systems programming](https://www.youtube.com/watch?v=C6dNx9pY7p8) 📞 🆓 * [Steve Klabnik - The History of Rust](https://www.youtube.com/watch?v=79PSagCD_AY) 📞 🆓 * Use cases * [Raph Levien - A Modern Editor Built in Rust](https://www.youtube.com/watch?v=SKtQgFBRUvQ) 📞 🆓 * Testing Frameworks * [Speculate](https://github.com/utkarshkukreti/speculate.rs) Adds RSpec like behavior to rust via macros * Go * Garbage Collector * [Golang's Realtime GC in Theory and Practice](https://www.youtube.com/watch?v=bMujSVMarqY) 📞 🆓 * Programming Topics * Algorithms and Data Structures * [Udacity - Intro to Data Structures and Algorithms by Google](https://eu.udacity.com/course/data-structures-and-algorithms-in-python--ud513) 🆓 🎓 📞 * [Coursera - Algorithms - Part 1 - Elementary data structures, sorting, and searching algorithms](https://www.coursera.org/learn/algorithms-part1) 🆓 🎓 📞 * [Coursera - Algorithms - Part 2 - Graph and string-processing algorithms](https://www.coursera.org/learn/algorithms-part2) 🆓 🎓 📞 * [Courated List of the 10 best free resources](https://medium.freecodecamp.org/these-are-the-best-free-courses-to-learn-data-structures-and-algorithms-in-depth-4d52f0d6b35a) 📰 🆓 * Databases * SQL * Postgres * MySQL * Cassandra * NoSQL * KeyValue * [BoJack](https://github.com/marceloboeira/bojack) ✍🏞 ðŸ’ŧ 🆓 * [Why you should build your own NoSQL database](https://medium.com/@marceloboeira/why-you-should-build-your-own-nosql-database-9bbba42039f5) ✍🏞 📰 🆓 * Distributed Systems * Event Sourcing / CQRS * [Go Back to the Future with Event Sourcing and CQRS](https://www.youtube.com/watch?v=iGt0DBOWDTs) 📞 🆓 * [Event Sourcing You are doing it wrong - David Schmitz](https://www.youtube.com/watch?v=GzrZworHpIk) 📞 🆓 * [The Many Meanings of Event-Driven Architecture - Martin Fowler](https://www.youtube.com/watch?v=STKCRSUsyP0) 📞 🆓 * [An Introduction to CQRS and Event Sourcing Patterns - Mathew McLoughlin](https://www.youtube.com/watch?v=9a1PqwFrMP0) 📞 🆓 * [Go Back to the Future with Event Sourcing and CQRS](https://www.youtube.com/watch?v=iGt0DBOWDTs) 📞 🆓 * Streaming * [Kafka](https://kafka.apache.org) * [Introduction to Kafka](https://www.youtube.com/watch?v=UEg40Te8pnE) 📞 🆓 * [Commit Logs in an Age of Microservices - Tim Berglund](https://www.youtube.com/watch?v=bbotWkCLuF0) 📞 🆓 * Internals * [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) 📰 🆓 * [How Kafka's Storage Internals Work](https://thehoard.blog/how-kafkas-storage-internals-work-3a29b02e026) 📰 🆓 * Kinesis * ["Distributed Commit Log: Application Techniques for Transaction Processing" by David McNeil](https://www.youtube.com/watch?v=X2g0FFOV2e0) 📞 🆓 * Commit Log * [Commit Logs in an Age of Microservices - Tim Berglund](https://www.youtube.com/watch?v=bbotWkCLuF0) 📞 🆓 * Build your Own * [Corfu - A distributed shared log](https://blog.acolyer.org/2017/05/02/corfu-a-distributed-shared-log/) 📰 🆓 * [Building a Distributed Message Log from Scratch by Tyler Treat - Video](https://www.youtube.com/watch?v=oKbm9XFxB2k) 📞 🆓 * [Building a Distributed Log from Scratch, Part 1: Storage Mechanics](https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-1-storage-mechanics/) 📰 🆓 * [Building a Distributed Log from Scratch, Part 2: Data Replication](https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-2-data-replication) 📰 🆓 * [Building a Distributed Log from Scratch, Part 3: Scaling Message Delivery](https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-3-scaling-message-delivery/) 📰 🆓 * [Building a Distributed Log from Scratch, Part 4: Trade-Offs and Lessons Learned](https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-4-trade-offs-and-lessons-learned/) 📰 🆓 * [Building a Distributed Log from Scratch, Part 5: Sketching a New System](https://bravenewgeek.com/building-a-distributed-log-from-scratch-part-5-sketching-a-new-system/) 📰 🆓 * Code * [travisjeffery/Jocko](https://github.com/travisjeffery/jocko) - Distributed commit log service in Go * [zowens/commitlog](http://github.com/zowens/commitlog) - Append-only commit log library for Rust * People to Follow * [Tyler Treat](https://twitter.com/tyler_treat?lang=en) ðŸĶ * Operations * Terminal * [Set of Bash Oneliners](https://github.com/onceupon/Bash-Oneliner) ðŸ’ŧ 🆓 * Operating Systems * Courses * [CS8803 - Introduction to Operating Systems](https://eu.udacity.com/course/introduction-to-operating-systems--ud923) 🎓 🆓 * [Annotations and Exercises](https://github.com/marceloboeira/CS8803) 📝 * Base Book (Choose 1): * [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/) 📕 🆓 ⭐ïļ * [Operating System Concepts](https://www.amazon.com/Operating-System-Concepts-Abraham-Silberschatz/dp/1118063333/ref=dp_ob_title_bk) 📕 💰 * [Operating System Concepts: Essentials](https://www.amazon.com/Operating-Concepts-Essentials-Abraham-Silberschatz/dp/1118804929/ref=sr_1_1?s=books&ie=UTF8&qid=1415311059&sr=1-1&keywords=operating+system+concepts+essentials) 📕 💰 * [Modern Operating Systems](https://www.amazon.com/Modern-Operating-Systems-4th-Edition/dp/013359162X/ref=dp_ob_title_bk) 📕 💰 * Computer Architecture * [TUHS Lectures](https://minnie.tuhs.org/CompArch/Lectures/) 🆓 📰 🎓 * [Introduction to Systems Architecture](https://minnie.tuhs.org/CompArch/Lectures/week01.html) * [Instruction Set Architecture Design](https://minnie.tuhs.org/CompArch/Lectures/week02.html) * [Addressing Modes & CPU Internals](https://minnie.tuhs.org/CompArch/Lectures/week03.html) * [Execution Flow, Branches, Function Calls](https://minnie.tuhs.org/CompArch/Lectures/week04.html) * [User- and Kernel Mode, System Calls, I/O, Exceptions](https://minnie.tuhs.org/CompArch/Lectures/week05.html) * [CPU Memory Management, Context Switching](https://minnie.tuhs.org/CompArch/Lectures/week06.html) * [Introduction to Operating Systems](https://minnie.tuhs.org/CompArch/Lectures/week07.html) * [Processes](https://minnie.tuhs.org/CompArch/Lectures/week08.html) * [Introduction to Memory Management](https://minnie.tuhs.org/CompArch/Lectures/week09.html) * [Virtual Memory, Disk Devices](https://minnie.tuhs.org/CompArch/Lectures/week10.html) * [Filesystems & Their Performance](https://minnie.tuhs.org/CompArch/Lectures/week11.html) * [IPC, Synchronisation and Threads](https://minnie.tuhs.org/CompArch/Lectures/week12.html) * Threads * ["An Introduction to Programming with Threads"](https://s3.amazonaws.com/content.udacity-data.com/courses/ud923/references/ud923-birrell-paper.pdf) by Birrell 📰 🆓 * POSIX Threads (PThreads) * [PThreads / POSIX Threads Coding Examples](https://computing.llnl.gov/tutorials/pthreads/) 📰 🆓 * [Beyond Multiprocessing: Multithreading the Sun OS Kernel by Eykholt](https://s3.amazonaws.com/content.udacity-data.com/courses/ud923/references/ud923-eykholt-paper.pdf) 📰 🆓 * [Implementing Lightweight Threads by Stein and Shah](https://s3.amazonaws.com/content.udacity-data.com/courses/ud923/references/ud923-stein-shah-paper.pdf) 📰 🆓 * Virtual Memory * mmap * [How processes get more memory](https://www.youtube.com/watch?v=XV5sRaSVtXQ) 📞 🆓 * [How to Map Files into Memory in C (mmap)](https://www.youtube.com/watch?v=m7E9piHcfr4) 📞 🆓 * Linux * [Linux Cross Reference](https://elixir.bootlin.com/linux/v3.17/source/include/linux/kthread.h#L66) 🌍 🆓 * [Interactive Linux Kernel Map](http://www.makelinux.net/kernel_map/) 🌍 🆓 * Reference Youtube channels * [Jacob Sorber](https://www.youtube.com/channel/UCwd5VFu4KoJNjkWJZMFJGHQ) * Network * [Computer Networks, 5th Edition](http://www.mypearsonstore.com/bookstore/computer-networks-9780132126953?xid=PSED) 📕 💰 * Protocols * TCP * Build Your Own * [Implementing TCP in Rust (part 1)](https://www.youtube.com/watch?v=bzja9fQWzdA) 📞 🆓 * [Implementing TCP in Rust (part 2)](https://www.youtube.com/watch?v=OCpt1I0MWXE) 📞 🆓 * [Implementing TCP in Rust (part 3)](https://www.youtube.com/watch?v=8GE6ltLRJA4) 📞 🆓 * [Implementing TCP in Rust (code)](https://github.com/jonhoo/rust-tcp) 🆓 * Monitoring * Metrics * Prometheus * [Prometheus: Up & Running: Infrastructure and Application Performance Monitoring](https://www.amazon.de/gp/product/1492034142?pf_rd_p=99260c3e-e149-406d-b475-c299891fcd91&pf_rd_r=M0874DR76K58PTVG1NV7) 📕 💰 * InfluxDB * [InfluxDB - Time Series Database](https://www.youtube.com/watch?v=2SUBRE6wGiA) 📞 🆓 * Infrastructure as Code * [What is IaC?](https://www.youtube.com/watch?v=RO7VcUAsf-I) 📞 🆓 * [Getting Started with IaC](https://www.youtube.com/watch?v=G3D14I5_NIk) 📞 🆓 * Orchestration * Kubernetes * [Kubernetes Up and Running](http://shop.oreilly.com/product/0636920043874.do#tab_04_2) 📕 💰 * [Key Kubernetes Concepts](https://towardsdatascience.com/key-kubernetes-concepts-62939f4bc08e) 📰 🆓 * Provisioning * Terraform * [Introduction to Terraform](https://www.youtube.com/watch?v=h970ZBgKINg) 📞 🆓 * [Infrastructure as Code in the Real World?](https://www.youtube.com/watch?v=S6vS5mzivFo) 📞 🆓