About
Stuff I want to read
New
- http://journal.stuffwithstuff.com/2016/06/16/long-names-are-long/
- https://twitter.com/kubernetesio/status/1214222636437450753?s=19 (List of k8s success stories)
- https://twitter.com/ibuildthecloud/status/1216865498941444096 (k3c - Classic Docker for a k8s world)
- https://blog.arkency.com/how-to-migrate-large-database-tables-without-a-headache/
- https://news.ycombinator.com/item?id=22106482 (How I write back ends)
- https://codelabs.developers.google.com/codelabs/vault-on-gke/index.html
- https://caylent.com/using-hashicorp-vault-on-kubernetes
- https://beepb00p.xyz/unnecessary-db.html
- https://news.ycombinator.com/item?id=22226380 (The missing semester of CS education)
- https://spectrum.ieee.org/tech-talk/computing/software/classical-chinese
- https://google.github.io/styleguide/shellguide.html
- https://www.netmeister.org/blog/ops-lessons.html
- https://gravitational.com/blog/enhanced-session-recording/
- https://news.ycombinator.com/item?id=22491536 (When not to use (f)lex? yacc or bison)
- https://news.ycombinator.com/item?id=22539403 (Bottlerocket: An operating system designed for hosting containers)
- https://twitter.com/b0rk/status/1237528379097616388 (what problems have you run into in practice when using containers?)
- https://www.digitalocean.com/community/tutorials/how-to-record-and-share-terminal-sessions-using-terminalizer-on-ubuntu-18-04
- https://www.digitalocean.com/community/tutorials/how-to-use-nsh-to-run-secure-remote-commands-on-ubuntu-18-04
- https://mosermichael.github.io/jq-illustrated/dir/content.html
- https://news.ycombinator.com/item?id=22299180 (Ask HN: What are some books where the reader learns by building projects?)
- https://redislabs.com/ebook/foreword/ (Redis in Action)
- https://code.flickr.net/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/
- https://instagram-engineering.com/instagration-pt-2-scaling-our-infrastructure-to-multiple-data-centers-5745cbad7834
- https://www.ardanlabs.com/blog/2020/06/python-go-grpc.html
- https://peter.bourgon.org/observability-the-hard-parts/
- https://peter.bourgon.org/go-for-industrial-programming/
- https://www.slideshare.net/billkarwin/how-to-design-indexes-really
- https://www.kernel.org/doc/Documentation/networking/scaling.txt
- https://gravitational.com/blog/scp-familiar-simple-insecure-slow/
- https://news.ycombinator.com/item?id=23662540 (Building a high performance JSON parser)
- https://developers.google.com/web/fundamentals
- https://staffeng.com/stories/
- https://github.com/alexdai186/HighFrequencyTradingSVMs
- https://news.ycombinator.com/item?id=23841491 (Data structures and algorithms I actually used while working at tech companies)
- https://www.linux.com/news/using-tensorflow-js-and-node-red-with-image-recognition-applications/
- https://martinfowler.com/bliki/DesignStaminaHypothesis.html
- https://www.slideshare.net/DavidTan26/improving-how-we-deliver-machine-learning-models-xconf-2019
- https://blog.packagecloud.io/eng/2016/04/05/the-definitive-guide-to-linux-system-calls/
- https://aws.amazon.com/builders-library/leader-election-in-distributed-systems
- https://overcast.fm/+SyoykF_wI?ck_subscriber_id=412059979
- https://github.com/cosmos72/gomacro
- https://www.8bitmen.com/facebook-real-time-chat-architecture-scaling-with-over-multi-billion-messages-daily/
- https://letterstoanewdeveloper.com/
- https://increment.com/testing/i-test-in-production/
- https://www.infoq.com/presentations/go-locks/
- https://google.github.io/eng-practices/review/reviewer/
- https://instagram-engineering.com/making-instagram-com-faster-part-1-62cc0c327538
- https://instagram-engineering.com/making-instagram-com-faster-part-2-f350c8fba0d4
- https://idea.popcount.org/2019-09-20-when-tcp-sockets-refuse-to-die/
- https://medium.com/@copyconstruct/testing-in-production-the-hard-parts-3f06cefaf592
- https://medium.com/@dgryski/consistent-hashing-algorithmic-tradeoffs-ef6b8e2fcae8
- https://blog.benjojo.co.uk/post/you-cant-curl-under-pressure
- https://stackoverflow.blog/2019/10/29/my-most-embarrassing-mistakes-as-a-programmer-so-far/
- https://about.gitlab.com/blog/2019/11/08/the-consul-outage-that-never-happened/
- https://github.com/bpkg/bpkg
- https://slack.engineering/introducing-nebula-the-open-source-global-overlay-network-from-slack/
- https://kasvith.me/posts/lets-create-a-simple-lb-go
- https://theartofmachinery.com/2019/11/14/deployment_debugging_strace.html
- https://www.networkdefenseblog.com/post/wireshark-tcp-challenge-ack
- https://blog.regehr.org/archives/490
Backend engineering
Command Line
- https://opensource.com/article/18/5/bash-tricks
- https://everythingsysadmin.com/2012/09/unorthodoxunix.html
- https://twobithistory.org/2019/08/22/readline.html
- https://news.ycombinator.com/item?id=21281025 (Stupid Unix Tricks)
- https://github.com/alebcay/awesome-shell
- https://dev.to/antjanus/my-favorite-linux-tools-12be
- https://sneak.berlin/20191011/stupid-unix-tricks/
- https://www.wezm.net/technical/2019/10/useful-command-line-tools
Microservices
- https://docs.microsoft.com/en-us/azure/architecture/patterns/
- https://github.com/adrianco/slides (Adrian Cockcroft Microservices)
- https://www.youtube.com/watch?v=1D8hyLWMtfM (How to build an event driven, dynamically re configurable micro services platform by Sven Beauprez)
Read again
- https://github.com/jlevy/the-art-of-command-line
- https://github.com/scrooloose/nerdcommenter (vim plugin for intensely orgasmic commenting)
- https://news.ycombinator.com/item?id=22179841 (Some useful probability facts for Systems Programming)
Golang
- https://blog.golang.org/defer-panic-and-recover (Read the blog posts at the end of the page)
- https://blog.golang.org/error-handling-and-go
- https://golangbot.com/variadic-functions/
- https://golangnote.com/
- https://www.youtube.com/channel/UCx9QVEApa5BKLw9r8cnOFEA/videos (GopherCon videos 2015 to 2019)
- https://auth0.com/blog/authentication-in-golang/
- https://github.com/shomali11/go-interview
- https://github.com/hoanhan101/ultimate-go
Developer tools / Libraries
- https://github.com/zsh-users/zsh-autosuggestions
- https://twitter.com/chaignc/status/1208413293909557248 (agrep; approximate grep)
- https://github.com/hanslub42/rlwrap
- https://github.com/koalaman/shellcheck
- https://github.com/simeji/jid
- https://www.gnu.org/software/global/
- https://github.com/firehol/netdata
- https://github.com/tldr-pages/tldr
- https://github.com/knqyf263/pet
- https://github.com/arnehilmann/markdeck
- https://jsonnet.org/
- https://mermaidjs.github.io/
- https://news.ycombinator.com/item?id=21772610 (Huginn, worth a try)
- https://github.com/ansible-community/ansible-bender (Building docker containers using ansible as the frontend)
- https://flywaydb.org/
- https://github.com/sqshq/sampler
- https://github.com/jorgebastida/awslogs
- https://github.com/wg/wrk
- https://github.com/drakkan/sftpgo
vim
- https://gist.github.com/romainl/56f0c28ef953ffc157f36cc495947ab3 (use output of a command to populate quickfix list)
- https://www.reddit.com/r/vim/comments/4gjbqn/what_tricks_do_you_use_instead_of_popular_plugins/
- https://twitter.com/jreybert/status/895639299663593472?s=03 (vimagit plugin, seems interesting)
- https://twitter.com/MasteringVim/status/911207162319425536?t=1&cn=ZmxleGlibGVfcmVjcw%3D%3D&refsrc=email&iid=fddfb58c14624ed58a20365c9533fcb4&uid=2570069203&nid=244+272699393
- https://twitter.com/VimLinks/status/921350660137930758 (If you enjoy looking at other people's Vim setups, check out this thread)
- https://bluz71.github.io/2017/06/14/a-few-vim-tmux-mappings.html
- https://github.com/junegunn/vim-easy-align
- https://twitter.com/bertvanvreckem/status/926146879603265536 (Vim cheatsheets)
- https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118
- https://www.reddit.com/r/vim/comments/83y4y4/antipatterns_what_not_to_do/
- https://twitter.com/VimLinks/status/1181847015728308225
- https://www.quora.com/What-are-some-time-saving-tips-that-every-Vim-user-should-know/answer/Sam-Tetruashvili (
q:
andq/
) - https://twitter.com/MasteringVim/status/1107701235501674497?s=03 (simplify navigation in large markdown files)
- https://devhints.io/vim
vim plugins
- https://github.com/Raimondi/delimitMate (auto close quotes, parens, brackets, etc)
- https://github.com/tpope/vim-fugitive
Mathematics
- https://static1.squarespace.com/static/54bf3241e4b0f0d81bf7ff36/t/55e9494fe4b011aed10e48e5/1441352015658/probability_cheatsheet.pdf
- https://minireference.com/static/excerpts/noBSguide2LA_preview.pdf
- https://news.ycombinator.com/item?id=22416319 (An intuitive guide to Linear Algebra)
- https://news.ycombinator.com/item?id=22400375 (Mathematics for the Adventurous Self-Learner)
- https://drive.google.com/file/d/1qz4wAmwiKadshhrStxcz-8atb0SFcfQ6/view (Applied Probability for Everyone)
- https://jakevdp.github.io/blog/2018/09/13/waiting-time-paradox/
Specialized tech
- https://news.ycombinator.com/item?id=21724191 (Building a search engine from scratch)
Concurrency
- http://a.co/fn6vB3z (Java Concurrency in Practice)
- http://a.co/3SGv8kq (The Art of Multiprocessor Programming)
- https://pragprog.com/book/pb7con/seven-concurrency-models-in-seven-weeks
- https://docs.oracle.com/javase/tutorial/essential/concurrency/
- https://news.ycombinator.com/item?id=22672128 (Concurrent Programming, with Examples)
Operating Systems
- http://pages.cs.wisc.edu/~remzi/OSTEP/ (Operating Systems: Three Easy Pieces)
- https://pdos.csail.mit.edu/6.828/2018/xv6.html (xv6, a simple Unix-like teaching operating system)
- https://pdos.csail.mit.edu/6.828/2018/xv6/book-rev11.pdf
- https://www.amazon.com/gp/product/1118063333 (Operating Systems Concepts)
General Computing
- http://en.tldp.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/
- https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo (Crash Course Computer Science)
Resource Mining (may be time consuming)
Compilers
- https://eschew.wordpress.com/2020/01/26/undergrad-compilers-from-the-hive-mind/
- https://increment.com/programming-languages/crash-course-in-compilers/
- https://news.ycombinator.com/item?id=20914046 (Ask HN: Compiler Engineers, what would you advise new grads/students to learn?)
- https://craftinginterpreters.com/contents.html
- https://github.com/DoctorWkt/acwj
- https://www.reddit.com/r/ProgrammingLanguages/comments/imzmkh/advice_on_writing_a_new_compiler/
Deep tutorials
- https://viewsourcecode.org/snaptoken/kilo/index.html
- https://news.ycombinator.com/item?id=20164062 (Green threads explained in 200 lines of Rust)
Distributed Systems
- http://book.mixu.net/distsys/
- https://pdos.csail.mit.edu/6.824/index.html
- https://github.com/aphyr/distsys-class
- https://www.youtube.com/playlist?list=PLpl804R-ZwjKCOwWpTZ21eeaBS3uBrMfV (MIT 6.824 Distributed Systems)
- https://dgraph.io/blog/post/solving-jepsen-with-opencensus/
- https://blog.pragmaticengineer.com/operating-a-high-scale-distributed-system/
- https://martinfowler.com/articles/patterns-of-distributed-systems/
PostgreSQL
- https://stackoverflow.com/questions/21277170/postgresql-wrong-converting-from-timestamp-without-time-zone-to-timestamp-with-t
- https://stackoverflow.com/questions/25456465/postgres-timestamp-with-timezone
- http://www.craigkerstiens.com/2013/02/21/more-out-of-psql/
Products
Tough
C++
Books to check out
- https://pragprog.com/book/jbtracer/the-ray-tracer-challenge (The Ray Tracer Challenge: A Test-Driven Guide to Your First 3D Renderer [Jamis Buck])
- http://a.co/9WV6pb9 (TCP/IP Network Administration)
- https://www.bookdepository.com/Continuous-Delivery-Jez-Humble/9780321601919 (Continuous Delivery: Reliable Software Releases through Build, Test and Deployment Automation)
- https://pragprog.com/book/mnee/release-it (Release It!: Design and Deploy Production-Ready Software [Michael T. Nygard])
- https://twitter.com/d_christiansen/status/1035966214072233984 (The Little Typer)
- http://a.co/d/enCy3av (SQL Antipatterns: Avoiding the Pitfalls of Database Programming [Bill Karwin])
- http://a.co/d/2t1RSUS (Seeking SRE: Conversations About Running Production Systems at Scale [David N. Blank-Edelman])
- https://www.amazon.com/gp/product/0978577604/?ie=UTF8&tag=aboutmatthewm-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0978577604 (Even a Geek can Speak: Low-tech presentation skills for high-tech people [Joey Asher])
- https://www.amazon.com/Scalability-Startup-Engineers-Artur-Ejsmont/dp/0071843655 (Web Scalability for Startup Engineers [Artur Ejsmont])
- https://microservices.io/book
- https://www.amazon.com/gp/product/1492040762 (Cloud Native Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud [John Arundel])
- https://news.ycombinator.com/item?id=22029823 (Probabilistic Programming and Bayesian Methods for Hackers)
- https://www.amazon.com/No-bullshit-guide-linear-algebra/dp/0992001021/
- https://news.ycombinator.com/item?id=22346349 (How These Things Work - a book about CS from first principles)
- https://www.amazon.com/99-Variations-Proof-Philip-Ording/dp/0691158835/
- https://www.goodreads.com/book/show/42933.Tai_Pan
- https://www.amazon.com/Building-Microservices-Designing-Fine-Grained-Systems/dp/1492034029/ (Building Microservices [by Sam Newman])
- https://www.amazon.com/Introduction-Mathematical-Thinking-Keith-Devlin-ebook/dp/B009LTPSTO (Introduction to Mathematical Thinking [Keith Devlin])
- https://www.amazon.com/Concurrency-Go-Tools-Techniques-Developers/dp/1491941197/ (Concurrency in Go: Tools and Techniques for Developers [Katherine Cox-Buday])
- https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations-ebook/dp/B07B9F83WM
- https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF (System Design Interview - An insider's guide [Alex Xu])
- http://maizure.org/projects/decoded-gnu-coreutils/
Copyright
The content of the links in this repo are copyright to their respective authors.
This collection of links is licensed under the Creative Commons Attribution 4.0 International License:
Copyright (c) 2019 Yan Han Pang