External Resources
Here lists some useful external links.
Conferences
Company Driven
Google:
- Google IO
- Google Cloud Next
- Chrome Summit
- Android Summit
Amazon:
- AWS re:invent
Facebook:
Adobe:
- Adobe MAX https://max.adobe.com/
Oracle:
- Code One (previous JavaOne) https://www.oracle.com/code-one/
Language Specific
C++:
- Cppcon: https://cppcon.org/
Java:
Software
- StrangeLoop: https://www.thestrangeloop.com/
- Strata: http://strataconf.com/
- Fluent
- OSCON:open source convention
- GotoCon: http://gotocon.com/
- springone https://springone.io/
AI/ML
- KDD
- ICML
- NIPS
Conference Videos
Learning Websites
Programming
https://en.wikipedia.org/wiki/Elvis_operator
Languages
Java
- List of Java Enhancement Proposals(JEP): http://openjdk.java.net/jeps/0
- www.baeldung.com
- http://tech.jonathangardner.net/wiki/Why_Java_Sucks
Go
- Go memory management: https://povilasv.me/go-memory-management/
Python
- class method vs staticmethod https://stackoverflow.com/questions/136097/what-is-the-difference-between-staticmethod-and-classmethod-in-python
- python sorting: https://docs.python.org/3/howto/sorting.html
Bash
JavaScript
SQL
Algorithms
- https://www.algorithm-archive.org/
- Boyer Moore string search algorithm:https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm
- http://www.fusu.us/2013/07/median-in-large-set-across-1000-servers.html
Github Collections
open graph protocol
CheatSheet
- Mac OS X Keyboard Shortcuts: https://support.apple.com/en-us/HT201236
Online Books/Tutorials
Public Cloud: AWS, GCP, Azure
- cloud comparison: http://comparecloud.in/
- AWS: restrict HTTP referrer https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-4
- BigQuery Public Data: https://cloud.google.com/bigquery/public-data/
- https://github.com/s3tools/s3cmd
DevOps / SRE
- https://www.safaribooksonline.com/library/view/the-site-reliability/9781492029496/ch01.html
- https://github.com/michael-kehoe/awesome-sre-cheatsheets
Databases
- mysql vs postgres: https://hackernoon.com/showdown-mysql-8-vs-postgresql-10-3fe23be5c19e
- data base for distributed locking:(Dynamo) https://aws.amazon.com/blogs/database/building-distributed-locks-with-the-dynamodb-lock-client/
- database for message queue: RDS(Mysql) https://segment.com/blog/introducing-centrifuge/
- aurora: https://www.percona.com/blog/2015/11/16/amazon-aurora-looking-deeper/
- https://githubengineering.com/mysql-high-availability-at-github/
- LFU cache:https://yq.aliyun.com/articles/278922
- cosmos db: http://muratbuffalo.blogspot.com/2018/08/azure-cosmos-db.html
Architecture / Stack
- https://stackshare.io/
- Facebook Architecture: https://www.quora.com/What-is-Facebooks-architecture-6
- system design calculation: http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html
- draw architecture diagram https://www.draw.io/
- web architecture 101 https://engineering.videoblocks.com/web-architecture-101-a3224e126947?ref=abhimanyu
- AI in infra: https://code.fb.com/data-infrastructure/spiral-self-tuning-services-via-real-time-machine-learning/
- https://github.com/xingshaocheng/architect-awesome
- google production env: https://www.youtube.com/watch?v=dhTVVWzpc4Q
- https://soulmachine.gitbooks.io/system-design/content/cn/
- https://github.com/donnemartin/system-design-primer
- configurator: https://code.fb.com/data-infrastructure/location-aware-distribution-configuring-servers-at-scale/
Super Computer / Quantum Computer
ML/Math
- mf in python http://www.quuxlabs.com/blog/2010/09/matrix-factorization-a-simple-tutorial-and-implementation-in-python/
- https://en.wikipedia.org/wiki/Non-negative_matrix_factorization
- calibration: https://en.wikipedia.org/wiki/Calibration_%28statistics%29#In_classification
- https://en.wikipedia.org/wiki/Isotonic_regression
- Explaining the Predictions of Any Classifier https://arxiv.org/abs/1602.04938
Interview
- https://algorithmsdatascience.quora.com/Summary-of-some-Interview-questions
- https://www.springboard.com/blog/machine-learning-interview-questions/
- https://www.quora.com/What-are-the-best-interview-questions-to-evaluate-a-machine-learning-researcher
- https://www.geeksforgeeks.org/binary-tree-set-3-types-of-binary-tree/
Web
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Links
- 12 Factor App: http://12factor.net/
- Improve website speed: https://developers.google.com/speed/
- Bit Twiddling Hacks: http://graphics.stanford.edu/~seander/bithacks.html#BitReverseObvious
- JavaScript Style Guide: https://github.com/airbnb/javascript
- free programming ebooks: http://www.oreilly.com/programming/free/
- What Every Programmer Should Know About Memory
- The Java Virtual Machine Specification
- JSR 133(Java Memory Model) FAQ
- Companion webpage to the book "Mathematics for Machine Learning"
- High Performance Browser Networking
- Cloud Native Infrastructure
- NaN
Online Judge/Challenges
Github Repos
https://github.com/mr-mig/every-programmer-should-know https://github.com/mbeaudru/modern-js-cheatsheet
Versus
attributes vs vars vs properties https://stackoverflow.com/questions/7374748/whats-the-difference-between-a-python-property-and-attribute https://stackoverflow.com/questions/7969949/whats-the-difference-between-globals-locals-and-vars
Articles
A good read: Education of a Programmer https://hackernoon.com/education-of-a-programmer-aaecf2d35312
airbnb https://medium.com/airbnb-engineering/building-services-at-airbnb-part-1-c4c1d8fa811b https://medium.com/airbnb-engineering/building-services-at-airbnb-part-2-142be1c5d506 https://medium.com/airbnb-engineering/reconciling-graphql-and-thrift-at-airbnb-a97e8d290712
serverless https://read.acloud.guru/six-months-of-serverless-lessons-learned-f6da86a73526 backend https://read.acloud.guru/why-do-you-care-so-much-about-your-backend-when-your-customers-dont-81f4e6433593
https://tech.instacart.com/implementing-hyperloglog-in-redshift-and-tableau-a62081c98e1c https://tech.instacart.com/scalability-tip-move-business-logic-out-of-db-c7740661b0ef
https://twitter.com/aleksbur/status/1002448211255152641?s=11
https://www.safaribooksonline.com/library/view/the-site-reliability/9781492029496/
Internet Scale Services Checklist: https://gist.github.com/padajo/c4b5fde1b682aca43dc2a56366653b19
Share Nothing Architecture: https://en.wikipedia.org/wiki/Shared_nothing_architecture
https://news.ycombinator.com/item?id=13892581
Distributed Lock Manager: https://en.wikipedia.org/wiki/Distributed_lock_manager
Shadow Paging https://en.wikipedia.org/wiki/Shadow_paging
https://hackernoon.com/a-url-shortener-service-using-go-iris-and-bolt-4182f0b00ae7
http://blog.gainlo.co http://horicky.blogspot.com https://www.hiredintech.com/classrooms/system-design/lesson/52 http://www.lecloud.net/tagged/scalability http://tutorials.jenkov.com/software-architecture/index.html http://highscalability.com/
https://brandur.org/cloud-databases https://brandur.org/aws-intrinsic-static
DiskIO:
- part 3: https://medium.com/@ifesdjeen/on-disk-io-part-3-lsm-trees-8b2da218496f
- part 4:https://medium.com/@ifesdjeen/on-disk-storage-part-4-b-trees-30791060741
COST in the land of databases https://github.com/frankmcsherry/blog/blob/master/posts/2017-09-23.md
Unicorn Search(Facebook) https://research.fb.com/publications/unicorn-a-system-for-searching-the-social-graph/
http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html
Blogs
- High Scalability
- All Things Distributedhttp://www.allthingsdistributed.com/)
- Jepsen: testing distributed systems
- Metadata
- Scalable Startup
- https://brandur.org
Company’s Official Engineering Blog
- Google Research Blog
- Google Big Data Blog
- Uber
- Lyft
- Airbnb
- Netflix
- GitHub
- Quora
- Yelp
- Square
- Dropbox
- Yammer
- Etsy
- Foursquare
- Cloudera
- WebEngage
- BankSimple
- SoundCloud
- Flickr
- Bandcamp
- Oyster
- Groupn
- Songkick
- Twilio
- Bitly
- Godaddy
- Wayfair
Tools and Frameworks
- MapReduce
- Bigtable
- Dynamo Paper
- Dynamo
- Memcached
- Cassandra
- HBase
- MongoDB
- Redis
- Storm
- Zookeeper
- Kafka
- The Chubby lock service for loosely-coupled distributed systems
- The Google File System
Real World Architecture
- YouTube
- Flickr
- Amazon
- Stack Overflow
- Tumblr
- TripAdvisor
- Scaling Mailbox
- Salesforce
- ESPN
- Uber
- DropBox
- AirBnB Machine Learning
- facebook database automation: https://code.facebook.com/posts/180455938822278/under-the-hood-mysql-pool-scanner-mps-/
High Level Discussion
- [Harvest, Yield and Scalable Tolerant Systems](http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=2C771DC6FD1CD96C9BA324EDD5A9C233?doi=10.1.1.33 .411&rep=rep1&type=pdf)
- On Designing and Deploying Internet Scale Services
- The Perils of Good Abstractions
- Latency Exists, Cope!
- Latency: The New Web Performance Bottleneck
- Chaotic Perspectives
- Data on the Outside versus Data on the Inside
- Stevey's Google Platforms Rant
- Discipline and Focus
- A Conversation with Werner Vogels
- Scalability
- Data Management for Internet-Scale Single-Sign-On
- [Large-scale Incremental Processing Using Distributed Transactions and Notifications](http://static.googleusercontent.com/media/research.google .com/en//pubs/archive/36726.pdf)
- CAP Twelve Years Later: How the "Rules" Have Changed
- Consistency vs. availability: eventual consistency by Werner Vogels
- Eventually Consistent
- Avoiding Two Phase Commit, Redux
- 2PC or not 2PC, Wherefore Art Thou XA?
- Your Coffee Shop Doesn’t Use Two-Phase Commit
- You Can’t Sacrifice Partition Tolerance
- Scalable agreement: Toward ordering as a service
- Scalable Eventually Consistent Counters over Unreliable Networks
- The key to synchronizing clocks over networks is taming delay variability.
- Consistent Hashing and Random Trees
- CDN
Consensus
- The Part-Time Parliament
- Paxos Made Simple
- Paxos Made Live - An Engineering Perspective
- How to Build a Highly Available System Using Consensus
- Recon guring a State Machine
Wiki Pages
Links
- https://github.com/neo4j
- https://github.com/elastic
- http://martinfowler.com/eaaCatalog/
- http://www.enterpriseintegrationpatterns.com/patterns/messaging/toc.html
- https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
- http://www.hiredintech.com/system-design
- http://queue.acm.org/detail.cfm?id=2884038
- http://blog.cloudera.com/
- http://www.kegel.com/c10k.html
- http://rango.swoole.com/archives/381
- http://blog.sina.com.cn/yfx416
Data Cleaner's Cookbook
http://www.datafix.com.au/cookbook/
Non-tech
- Personal finance for engineers https://cs007.blog/
Books
- Code Complete: A Practical Handbook of Software Construction
- Head First Design Patterns
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Pragmatic Programmer: From Journeyman to Master
- Rework
- Structure and Interpretation of Computer Programs
- Refactoring: Improving the Design of Existing Code
- The Art of Computer Programming
- Compilers: Principles, Techniques, and Tools
- Code: The Hidden Language of Computer Hardware and Software
- Working Effectively with Legacy Code
- Surely You're Joking, Mr. Feynman!
- The Little Schemer
- The Seasoned Schemer
- Agile Software Development, Principles, Patterns, and Practices
- Domain-Driven Design
- The Design of Everyday Things
- Modern C++ Design
- The Best Software Writing I
- The Practice of Programming
- Pragmatic Thinking and Learning: Refactor Your Wetware
- Software Estimation: Demystifying the Black Art
- The Passionate Programmer
- Hackers: Heroes of the Computer Revolution
- Algorithms + Data Structures = Programs
- Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application
- Computer Graphics: Principles and Practice in C
- The Elements of Computing Systems: Building a Modern Computer from First Principles
- Refactoring to Patterns
- Modern Operating Systems
- The Deadline: A Novel about Project Management
- The C++ Programming Language
- Patterns of Enterprise Application Architecture
- Computer Systems: A Programmer's Perspective
- Agile Principles, Patterns, and Practices in C
- Growing Object-Oriented Software, Guided by Tests
- Object Thinking
- Hackers & Painters: Big Ideas from the Computer Age
- The Soul of A New Machine
- The Timeless Way of Building
- About Face: The Essentials of Interaction Design
- Here Comes Everybody: The Power of Organizing Without Organizations
- The Tao of Programming
- The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation
- Philip & Alex's Guide to Web Publishing
- Object-Oriented Analysis and Design with Applications
- Computability: Turing, Gödel, Church, and Beyond
- Masterminds of Programming: Conversations with the Creators of Major Programming Languages
- The Productive Programmer
- The Art of Deception: Controlling the Human Element of Security
- Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp
- How to Solve It: A New Aspect of Mathematical Method
- Smalltalk-80: The Language and its Implementation
- Introduction to Functional Programming
- No Bugs!: Delivering Error Free Code in C and C++
- The Non-Designer's Design Book
- Universal Principles of Design