This is a place for me to collect and collate interesting articles related to distributed systems, algorithms, tooling, etc.
- Docker and Jenkins : Data that persists
- BigArray Tutorial
- Why are projects always behind schedule?
- Don't call yourself a programmer
- Big Company vs Startup Comp
- Ken Thompson - Reflections on trusting trust
- 10 Things Bitly forgot to Monitor
- High Scalability - All time favourites
- 10 Practical Docker Tips
- Haskell Game Server - Part 1
- Haskell Game Server - Part 2
- Let's build a web server
- Starting a tech startup with c++
- Who builds a house without drawing blueprints
- Testing SQL Lite
- Project Oberon - the making oi a computer from grounds up
- Files are hard
- Tinystat
- How To Remove Duplicates In A Large Dataset Reducing Memory Requirements By 99%
- Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory
- When Should Approximate Query Processing Be Used?
- Understanding Distributed Analytics Databases, Part 1: Query Strategies
- Microservice Implementation withh Docker
- Golang Web Development
- BGP spoofing
- How Learning Smalltalk can make you a better Programmer
- 621+ Programming Resources
- Automated Testing on Devices
- Distributed Logging Architecture
- Writing a Linux debugger
- Chris Stucchio
- Thomas Watson - github
- Make Printers Great Again - Thomas Watson
- Dr. Gleb Bahmutov, PhD
- RabbitMq- with Java
- Stavros Stuff
- Programming blogs every programmer must read
- marc-andreessen
- Being privacy aware
- Reverse-engineering native-apps by Intercepting Network
- Programming Books Every Programmer Should Read
- Thrill - Big Data Processing in C++
- A simple game in Haskell
###Build Stacks
- Medium Architecture Stack
- Service Architectures at Scale: Lessons from Google and eBay
- Kubernetes
- Debug Linux Software
- Apache Kafka, Samza, and the Unix Philosophy of Distributed Data by Martin Kleppmann - a very good introduction to the Samza/Kafka approach to stream processing with particular attention to how this approach relates to the Unix philosophy of small, stand-alone, interchangable tools.
- Personalized Recommendations at Etsy by Robert Hall of Esty. Excellent post that summarizes in reasonable detail the approach that Etsy takes in generating recommendations from products to its customers. This post complements Conjecture, Etsy's framework for these recommendations. Strongly suggested for those interested in learning about recommender systems or applied linear algebra.
- The world beyond batch: Streaming 101 by Tyler Akidau. A medium length introduction the fundamental concepts of stream processing by one of the authors of Google's in-house solution, MillWheel. This is an excellent introduction for those completely new to stream processing. The two biggest take-aways are that stream processing systems that do not provide a consistent view of the data should not be trusted and that for time-based computation, event-time windows, while the most difficult to achieve, are the only approach worth pursuing.
##Performance##
- You're probably wrong about caching by Mike Solomon. Good summary of potential downsides of using caching to increase system performance.
###Outages Postmorterm GitLab Database Outage
###Resources