Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-stuff
Curated list of miscellaneous reading material.
https://github.com/lvn/awesome-stuff
Last synced: 1 day ago
JSON representation
-
Systemsy Stuff
-
"NoSQL" Systems
- Megastore: Providing Scalable, Highly Available Storage for Interactive Services - a database built on top of Bigtable. It is probably better known in the form of [Google Cloud Datastore](https://cloud.google.com/datastore/docs/concepts/overview).
- Bigtable: A Distributed Storage System for Structured Data - The *other* original NoSQL datastore. Bigtable is interesting mainly because of its single-machine I/O optimizations.
- Spanner: Google’s Globally-Distributed Database - version concurrency control.
-
General Databases
- Readings in Database Systems - aka *the* red book (for databases, not the other one), new and in website form. Awesome introductory readings on databases.
- The Gamma Database Machine Project - popularized -- but did not introduce -- the concepts of sharding, and hash join algorithms.
-
DHTs
-
"Big data"
- The Google File System - an early example of a modern distributed file system.
- MapReduce: Simplified Data Processing on Large Clusters - A very simple abstraction for doing large-scale data processing.
- Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing - an abstraction that improves over (and subsumes) MapReduce in a few ways. It is probably more well-known as the core of a system called [Spark](http://spark.apache.org/).
-
Consensus
- The Part-Time Parliament - Leslie Lamport's super confusing paper on the Paxos protocol.
- Paxos Made Simple - A somewhat simpler to understand paper on the same topic, by the same author.
- In Search of an Understandable Consensus Algorithm - introduced Raft, a consensus algorithm that seems to be becoming more popular than Paxos.
- The Part-Time Parliament - Leslie Lamport's super confusing paper on the Paxos protocol.
- Paxos Made Simple - A somewhat simpler to understand paper on the same topic, by the same author.
-
Distributed Transactions
-
Operating Systems
- Showstopper! - About the development of Windows NT. Given the amount of computing analogies, I think this is intended for a nontechnical audience. Still a great read regardless, with lots of insight into various OS design decisions.
-
Cluster Management
- The Datacenter as a Computer
- The Datacenter Needs an Operating System - Zaharia et al. makes a very good case for why we need OS-like functionality for large clusters of machines.
- Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center - Also by Zaharia et al.; introduced the idea of a two-level datacenter scheduler.
- Large-scale cluster management at Google with Borg - Unbeknownst to everyone, Google has had a datacenter operating system for more than a decade. This is the precursor to the open-source [Kubernetes](https://kubernetes.io/).
- Omega: flexible, scalable schedulers for large compute clusters - documents a project that attempted to replace Borg. Interestingly, this was published *before* the Borg paper.
- The Chubby lock service for loosely-coupled distributed systems - describes how Google does metadata storage for distributed systems.
-
Misc.
-
-
Architecture
-
Misc.
- ZeroMQ - The Guide - Good intro to messaging patterns and ZeroMQ.
- Scaling Pinterest
- How We've Scaled Dropbox
- Facebook and Memcached
- Storage Systems at a Rapidly Scaling Startup with a Small Team - A story from Data@Scale of how Instagram scaled their datastores.
- How Does a Relational Database Work?
- Why You Should Never Use MongoDB
- Adventures in message queues
- Edgestore
-
-
Machine Learning
-
Startups
-
Misc.
- Good and Bad Reasons to Become an Entrepreneur
- Founders at Work - Collection of interviews with various tech entrepreneurs.
- Secrets of the Rockstar Programmers - Interviews of software experts.
- The Hard Thing About Hard Things - on the unglamorous parts of running a company.
- Viral Loop - How successful tech startups grow virally.
- Once You're Lucky, Twice You're Good - A look at the startup world just before the 2008 crisis.
- What’s Your Hour in ‘Silicon Valley Time’? - explains the concept of Silicon Valley Time, i.e. stages of a tech startup.
- Are "Better" Ideas More Likely to Succeed? An Empirical Analysis of Startup Evaluation
- Work Hard, Live Well
- Meta-Programming: A Software Production Method - a paper on organizing software developers for productivity.
- Three Stories
- Secrets of the Rockstar Programmers - Interviews of software experts.
- Once You're Lucky, Twice You're Good - A look at the startup world just before the 2008 crisis.
- Early Excite History - slides on the history of Excite. Has some discussions near the end about why Google survived and Excite didn't.
- Startup Product Development
-
-
Product
-
Misc.
-
-
Career
-
Misc.
- Breakout Career Notes - Collections of career tips from tech entrepreneurs and VCs.
-
-
Mildly Interesting
-
Misc.
- Brian Bi on K&R C - Blog post about early installment weirdness in the C language.
- Codepen Thing - A really awesome visualization of a Fourier transform.
-
-
Blogs
-
Misc.
- Jamie Zawinski - well-known Netscape/Mozilla engineer.
- Purple Motes - Interesting stuff from history
- Ben Horowitz - one half of a16z.
-
-
Random
-
Misc.
- The Codeless Code - Zen koans, but for software development.
- Bay Area to Standard American English Translator
-