Why the titles are not subject names but some weird goals kind of thing?
I always had issues relating what I am studying to how I am going to use it. A foolish attempt to resolve this is to mention
the why of the syllabusinstead ofthe syllabus name(subject). Also it’s easier to tell the why then to assign a subject because the resources I have under them are somewhat unstructured.
Whenever I have a new information resource, I categorize it at entry. It can go under any one of these:
- This page,
/docs/updates/syllabi- The full syllabus
- Dump file 1 Technical learning resources (need a better name no cap)
- Dump file 2 Engineering blogposts
- Dump file 3 anti_lib
I try my best to not repeat links across these pages. I have not setup any automated link checker for either duplication/backlinks/linkrots etc.
This is my syllabi created in October'22.
💼 HB01: How businesses works #
Understand basic economics #
- The personal MBA (Book)
- Economics in One Lesson (Book)
- An-Introduction-to-Stock-Options-for-the-Tech-Entrepreneur-or-Startup-Employee
- Economics études: books, papers and courses
- Supply & Demand: An interactive explainer
- The Guide to Stock Options Conversations | Hacker News
- Marginal Revolution University (Course)
- Financial Markets (Course)
- Microeconomics: The Power of Markets (Course)
- Innovation Systems for Science, Technology, Energy (Course)
Additional cherry for businesses #
- Understand how VCs work
- Venture Dealr
- Startup to exit: Lessons from a first-time founder
- Marketing to Minorities | Patrick McKenzie | BoS 2010
- Strategy Letter V – Joel on Software
- Ask HN: Learning about fundraising as first-time tech founders | Hacker News
- The bubble has popped for unprofitable software companies
- Working for a Dating Website (2015) | Hacker News
- /r/smallbz
Understand how to start #
- The Minimalist Entrepreneur (Book)
- MAKE Bootstrapper Handbook (Book)
- https://x.com/_swanand/status/1802609282380136563 (esop)
- Startup School: The First 100 Days - Stanford CS183F - Spring 2017 - YouTube
- Startup Handbook by Julian Shapiro
- Patio11’s Greatest Hits
- Start Small, Stay Small
- Paul Buchheit at Startup School 08 - YouTube
- Tyler tringas (StoreMapper): Micro Saas - YouTube
- Bootstrapping Side Projects To Profit by Pieter Levels
- David Heinemeier Hansson at Startup School 08 - YouTube
🥕 HB02: Become more confident with problem solving #
Revisit the basics #
- [-] Grokking Algorithms (Book)
- [-] How to solve it (Book)
- [-] Skiena’s Algorithms (Course)
- GoDS (Go Data Structures)
- Bitshifting Operations (Course)
- Primegen Course
- Teaching, Playing, and Programming: Designing a Data Structure
- Algorithms and Data Structures Cheatsheet
Deal with long term fears #
- How to prove it (Book)
- Graphs
- Dynamic programming
- Optimization
- [-] Recursion
- Hash table & Bloom filters
- Immutable DS
🆘 HB03: Get back at basic math #
Get introduced #
- Do basic school math for 7 days straight from KhanAcademy (Course)
- [-] Why Math? (Book) : Basics Revisit
- Homepage for A Gentle Introduction to the Art of Mathematics
- Notes on the Euler formula - Eli Bendersky’s website
- Pikuma: Fundamental Math for Game Developers
- Calculus Learning Guide – BetterExplained
- Math — Susan Rigetti
- How to Read Mathematics
- An Introduction to Number Theory
- Number theory explained from first principles
Resurface basic comp sci math #
Permutations and numbers #
Linear Algebra #
- Introduction to LA - GS (Book) | Graphical Notes
- Linear Algebra (Course)
- Algebra 1 | Math | Khan Academy
- Life Lesson from Stanford CS Prof John Ousterhout - YouTube
- Essence of linear algebra - YouTube (Course)
- LA done right (Book)
🌎 HB04: Get a grip over Web Development #
Get your HTTP basics right #
- [-] Basics
- How Did REST Come To Mean The Opposite of REST?
- restful is a scam, but browsers are cool | Lobsters
- A New Definition of HTTP
- How HTTPS works - How HTTPS works
- The state of HTTP in 2022
- The HTTP crash course nobody asked for | Hacker News
- Use of HTTPS Resource Records
- Tracing HTTP Requests with tcpflow · Anantha Kumaran
- What Is a URL | Azeem Bande-Ali | Engineering Manager
- Introduction to HTTP Multipart | Hacker News
- Headers
- Caching
- SSE
- Cookies
- Usecases
React and Typescript way to mastery #
- Javascript
- JavaScript language overview - JavaScript | MDN
- Learn javascript in Y Minutes
- Modern Javascript: Everything you missed over the last 10 years
- Standard built-in objects - JavaScript | MDN
- [-] JavaScript Garden
- Eloquent JavaScript
- Understanding the Event Loop, Callbacks, Promises, and Async/Await in JS
- React
- State Management
- Client state
- Server state
- Typescript
Get a hold of web engineering #
- High Performance Browser Networking (Book)
- The ultimate single-page app
- Load Testing: An Unorthodox Guide
- Engineering for Slow Internet | Hacker News
- The web’s clipboard, and how it stores data of different types
- Optimizing images with the HTML picture tag | jfhr
- How many ways can you slice a URL and name the pieces? - Tantek
- Improving Performance with HTTP Streaming
- Video
- Devtools
- Browsers
- Web-workers
- Websockets
- The WebSocket Handbook | Hacker News
- Server-Sent Events, WebSockets, and HTTP
- Django 4.2 w async StreamingHttpResponse, SSE and PG LISTEN/NOTIFY
- The hidden complexity of scaling WebSockets | Hacker News
- I Wrote Websockets “From Scratch” - YouTube
- Websockets: The Powerful Protocol
- WebSockets for fun and profit - Stack Overflow Blog
- Implementer’s Guide to WebSockets - Cookie Engineer’s Web Log
- Back to basics: Why we chose long-polling over websockets | Hacker News
- WebSockets: Shaping Real-time Communication | by Atakan Serbes | Oct, 2023 | Medium
- Ask HN: How do you scale WebSocket? | Hacker News
- Woe be unto you for using a WebSocket | Hacker News
- Writing a toy WebSocket server from scratch | Hacker News
- Direct Sockets: Proposal for a future web platform API | Hacker News
- Show HN: DriftDB – an open source WebSocket backend for real-time apps
Time for Webassembly #
- The Go WebAssembly ABI at a Low Level - Xe
- WebAssembly and its platform targets
- WASI Support in Go | Hacker News
- WebAssembly: A new development paradigm for the web - YouTube
- The tug-of-war over server-side WebAssembly
- Reaching the Unix Philosophy’s Logical Extreme with Webassembly - Xe Iaso
- www which wasm works
- Understanding Wasm, Part 2: Whence Wasm - Chris Dickinson
- Determinism is WebAssembly’s hidden superpower
- Performance of WebAssembly runtimes in 2023 | Frank DENIS random thoughts.
- WebAssembly Text Code Samples | Hacker News
- The State of WebAssembly 2023
- Adding Python support to Wasm Language Runtimes
- I Was Understanding WASM All Wrong! 🤯 - YouTube
- missing the point of webassembly | Lobsters
- Understanding every byte in a WASM module | Hacker News
- WASI 0.2.0 and Why It Matters | Hacker News
- FAAS in Go with WASM, WASI and Rust - Eli Bendersky’s website
- Check burntcarrot/wasmninja
- A world to win: WebAssembly for the rest of us | Hacker News , Lobsters
- Tools
- Advanced
- Experiment
Other experiments with web that are worth #
Get your web security right #
- CS253 - Web Security (Course)
- The Copenhagen Book (Book)
- </> htmx ~ Web Security Basics (with htmx)
- Everything You Ever Wanted to Know About Web Authentication
- End-to-End Encryption in the Browser | Excalidraw Blog
- Certificates
- Merkle Town: Explore the certificate transparency ecosystem | Hacker News
- Aiken & Driscoll & Webb (Illustrated TLS and QUIC) 🌟
- Why Certificate Lifecycle Automation Matters | Hacker News
- Introducing Sunlight, a CT implementation built for scalability, ease of operation, and reduced cost - Let’s Encrypt
- We build X.509 chains so you don’t have to | Hacker News
- https://news.ycombinator.com/item?id=41106205
- Pwned Certificates on the Fediverse | Hacker News
- The Certificate Authority model does not work for LAN devices | Lobsters
- X CA manager
- Certificate Authorities and the Fragility of Internet Safety | Azeem Bande-Ali | azeemba.com
- https://www.ccadb.org/
- Running one’s own root Certificate Authority in 2023 | Hacker News
- HTTPS
- Mediocre Engineer’s guide to HTTPS
- Expanding what HTTPS means | Lobsters
- TLS Certificate
- The ACME Protocol in Practice and Reality — Matt Holt
- The Embarrassing State of Enterprise ACME Support
- Which Root Certificates should you trust? Find out with CertInfo - Raymii.org
- Ask HN: Why SSL certs are not decentralized? | Hacker News
- Filling in the Knowledge Gap: HTTPS/TLS Certificates | Lobsters
- SSH over HTTPS
- The Difference Between Root Certificate Authorities, Intermediates, and Resellers
- Shortening the Let’s Encrypt chain of trust | Hacker News
- Understanding the Limitations of HTTPS – text/plain
- Easy HTTPS for your private networks | Hacker News
- HSTS preload adoption and challenges
- CSRF, CORS, and HTTP Security headers Demystified
- The fascinating world of HTTP Strict-Transport-Security | Ergomake
- The browsers biggest TLS mistake | Lobsters
- Challenge Types - Let’s Encrypt
- How CDNs Generate Certificates · Fly
- SSH PKI on top of Web PKI | Paul’s page
- TLS
- SNI
- Server Name Indication - Wikipedia
- Writing an SNI Proxy in 115 Lines of Go
- Things like green tunnel bypass SNI detection using things like http chunking etc.
- [-] CORS
- [-] Cache your CORS, for performance & profit | HTTP Toolkit
- Public CDNs Are Useless and Dangerous | HTTP Toolkit
- [-] A design philosophy for CORS middleware libraries
- Introduction to CORS for Go programmers - Eli Bendersky’s website
- CORS is such a mess. What are current best practices?
- Figuring out the state of the art in CSRF protection
- [-] CSRF
🐂 HB05: Computer graphics #
Basics of CG #
- A trip through the Graphics Pipeline 2011: Index | The ryg blog
- CS 4600 - Fall 2022 - Introduction to Computer Graphics (Course)
- 3D Programming Fundamentals - YouTube (Series)
- How do I become a graphics programmer?
- The GJK Algorithm: A weird and beautiful way to do a simple thing | Hacker News
- CS 5610/6610 - Interactive Computer Graphics (Course)
- The Book of Shaders (Book)
- LearnOpenGL - Introduction (Book)
- Animation and Interactivity
- https://mrl.cs.nyu.edu/~perlin/graphics/
- Simulating water over terrain | Hacker News
Ray tracing #
WebGPU #
Easings #
ThreeJS #
- Three.js Tutorials
- I wish I knew this before using React Three Fiber
- GitHub - pmndrs/drei: 🥉 useful helpers for react-three-fiber
- React Three Fiber Camera’s Explained
- Build a 3D World in React with Three.js - {React Three Fiber Tutorial}
- The magical world of Particles with React Three Fiber and Shaders
🔍 HB06: Basic security knowledge upgrade #
Server, sessions and web #
OAuth and OIDC and Tokens #
- OAuth2
- OAuth.com - OAuth 2.0 Simplified (Book)
- A simple application of OAuth: Mastodon’s API - Dan Schnau dot com
- Sign in with GitHub in Go - Eli Bendersky’s website
- Google OAuth is broken (sort of) | Hacker News
- OAuth is Not User Authorization
- Oh-Auth – Abusing OAuth to take over millions of accounts | Hacker News
- Why is OAuth still hard in 2023? | Hacker News
- OAuth 2 Simplified • Aaron Parecki
- Does OAuth2 have a usability problem? (yes!)
- An Introduction to OAuth 2 | DigitalOcean
- A Guide To OAuth 2.0 Grants - Alex Bilbie
- Understanding OAuth2 and OpenID Connect
- OIDC
- [-] Others
- [-] JWT
For personal knowledge #
Cryptography #
- CSCI-UA.9480: Introduction to Computer Security (Course)
- An intensive introduction to cryptography (Book)
- Cryptography 101 with Alfred Menezes – Video lectures, notes, and exercises in all areas of applied cryptography
- Crypto 101 (Book)
- Practical Cryptography for Developers (Book)
- Cryptography | Computer science | Computing | Khan Academy (Course)
- Intuition for Cryptography | Azeem Bande-Ali | azeemba.com
- Going Bark: A Furry’s Guide to End-to-End Encryption
- On the Word “Nonce” in Cryptography and the UK - Dhole Moments
- https://gist.github.com/geekodour/fa5561f3873af9a3ff1e0675368e91a8
- How To Learn Cryptography as a Programmer
- Cryptography is not Magic
- [-] Passwords
🐲 HB07: Become functional #
Be at ease with Python #
- Fluent Python, the lizard book (Book)
- Designing Pythonic library APIs
- Welcome! | practical-python
- Ten Python datetime pitfalls, and what libraries are (not) doing about it | Arie Bovenberg
- GitHub - dabeaz-course/python-mastery: Advanced Python Mastery (course by @dabeaz)
- PEP 703 – Making the Global Interpreter Lock Optional in CPython | peps.python.org 🌟 (Python GIL)
- The Ultimate Guide to Error Handling in Python - miguelgrinberg.com
- Progress on no-GIL CPython [LWN.net]
- How to create a Python package in 2022
- Things I’ve learned about building CLI tools in Python
- How virtual environments work
- Thoughts on the Python packaging ecosystem | Pradyun Gedam
- Python Packages (Not well known but good)
- Things I’ve learned about building CLI tools in Python
- zedr/clean-code-python: Clean Code concepts adapted for Python
- GitHub - satwikkansal/wtfpython: What the f*ck Python? 😱 (Satwik all round A1 guy btw!)
- [-] Caching a lot of methods in Python - death and gravity
- [-] Python 3 Module of the Week — PyMOTW 3
- Generator Tricks for Systems Programmers
- David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015 - YouTube
- https://github.com/dabeaz/blog/blob/main/2023/three-problems.md
- https://github.com/dabeaz/blog/blob/main/2023/different-refactoring.md
- David Beazley: Discovering Python - PyCon 2014 - YouTube
- https://github.com/dabeaz/blog/blob/main/2021/barely-interface.md
- Namespaces and Scope in Python – Real Python
- A crash course in Python “comprehensions” and “generators”
- What new Python features are the most useful for you? | Hacker News
- Learn by reading code: Python standard library design decisions explained
- Using python decorator with or without parentheses - Stack Overflow
- Data Classification: Does Python still have a need for class without dataclass
- The Hitchhiker’s Guide to Python! — The Hitchhiker’s Guide to Python
- Python’s “Disappointing” Superpowers - lukeplant.me.uk
- Bo Bayles Annex - Yo, I heard you like decorators
Be at ease with shell scripting and my local system #
- Spend time reading manuals for tools that I use
- Get cheatsheets organized. Think shift from cheat to
org-mode+fzf+rg - Setup some basic emacs snippets for shell scripting
Be building with Golang #
- [-] Basics
- [-] GitHub - teivah/100-go-mistakes: 📖 100 Go Mistakes and How to Avoid Them
- The absurd cost of finalizers in Go | Lobsters
- Go Enums Suck
- fixing the other go loop bug
- Writing secure Go code | Hacker News
- Debugging Go with stack traces (evanjones.ca)
- How I write unit tests in Go | Hacker News
- Context Control in Go | Hacker News
- A practical introduction to PostgreSQL in Go (Golang)
- Client-side pagination in Go (range-over function edition) - Vladimir Varankin
- Interfaces Are Not Meant for That | Lobsters
- How I write HTTP services in Go after 13 years | Hacker News 🌟
- How Golang Handles HTTP
- Go internals: invariance and memory layout of slices - Eli Bendersky’s website
- Thanos coding style guide
- A Tour of Go
- Effective Go - The Go Programming Language (Book)
- What is a Go function variable? | Lobsters
- Chris’s Wiki blog/programming/GoFinalizerCostsNotes
- Frequently Asked Questions (FAQ) - The Go Programming Language
- What’s the proper way to wrap errors in Go? - YouTube
- a{low:high:max} in Golang — A Rare Slice Trick | Blog | build-your-own.org
- Learn Go with Tests - Learn Go with tests (Course)
- Gopherfest 2015 | Go Proverbs with Rob Pike - YouTube
- [-] More Basics
- Writing HTTP client middleware in Go
- A silly mistake that I made with io.TeeReader
- Which Go router should I use? (with flowchart)
- Structured logging in Go with slog
- How to Use //go:embed · The Ethically-Trained Programmer
- Interface Upgrades in Go (2014) | Hacker News
- Error handling in Go web apps shouldn’t be so awkward | Lobsters
- The Two Reasons I Prefer Passing Struct Pointers Around · Preslav Rachev
- [-] Concurrency (Not super go specific)
- Container CPU Requests & Limits Explained with GOMAXPROCS Tuning
- introconcurrency
- Solving Concurrency Bugs Using Schedules and Imagination | Ankush Menat
- The Little Book of Semaphores – Green Tea Press (Book, mostly pseudo, python and little c)
- Tips for concurrent programming | Lobsters
- Preemption in Go: an introduction - Unskilled
- GopherCon Europe 2024: Raghav Roy - Using Formal Reasoning to Build Concurrent Go Systems - YouTube
- Notes on structured concurrency, or: Go statement considered harmful — njs blog
- Concurrency Freaks: How to (not) invent concurrent algorithms
- Time is not a synchronization primitive | Lobsters
- Concurrency in Go (Course)
- LearnConcurrency · golang/go Wiki · GitHub
- loong/go-concurrency-exercises
- How itch.io uses Coroutines for non-blocking IO | Lobsters
- The Art of Concurrency in Go with this
- File Locks on Linux | Hacker News
- Data related
- Others
🚢 HB08: Server Admin and network troubleshooter #
Deploying systems #
- caching - Can one cache and secure a REST API with Cloudflare? - Stack Overflow 🌟
- So you want to build your own data center | Hacker News
- School Of SRE (Book)
- [-] Infrastructure as Code, Patterns and Practices w Python and Terraform (Book)
- Where does my computer get the time from? | Hacker News (NTP)
- Terraform best practices for reliability at any scale - Substrate
- Can We Make Idiot-Proof Infrastructure pt1? | Lobsters
- Git from the Bottom Up (Book)
- https://github.com/jvns/nginx-playground/ (Read code, tiny app)
- Achieving High Availability with HAProxy and Keepalived
- Sysadmin basics revisit
- 11 years of hosting a SaaS - Alex Ghiculescu’s Newsletter
- DevOps, SRE, and Platform Engineering
- How I write backends
- Building a serverless secured dead drop - Ayende @ Rahien
- Using Atomic Transactions to Power an Idempotent API
- How I run my servers | Lobsters
- Django for Startup Founders
- How Kinopio is Made
- How Mozilla’s Rust dramatically improved our server-side performance
- futurice/backend-best-practices
- The secret inside One Million Checkboxes | Lobsters
- Cheap Infra
- [-] Arc Note: Datasette - Simon Willison
- One process programming notes (with Go and SQLite)
- Life after Heroku: What’s a dev to do? - Reaktor
- Deploying Containers using Nomad and Traefik
- (A few) Ops Lessons We All Learn The Hard Way
Maintaining Services #
- I’ve operated petabyte-scale ClickHouse® clusters for 5 years
- Architecture Notes (Series)
- The Software Architecture of Palia
- How Standard Ebooks serves millions of requests per month with a 2GB VPS; or, a paean to the classic web - Alex Cabal
- How We’re Keeping Our Free Tier Sustainable by Preventing Abuse | Blog
- Introducing “Database Performance at Scale”- ScyllaDB (Book)
- A tale of three architectures - daverupert.com
- AWS Well-Architected (AWS, Book/Workshop)
- Why I recommend Renovate over any other dependency update tools · Jamie Tanna | Software Engineer
- Reddit - Postmortem
- DSLs are a waste of time | Lobsters
- Gregory Szorc’s Digital Home | Modern CI is Too Complex and Misdirected
- Delivering Value with Platform Engineering - Max Countryman
- How to leverage Cloudflare Stream for high-availability and low-cost video streaming
- So, you want to deploy on the edge? - /dev/knill
- Debugging in production · jbd.dev
- Cache invalidation really is one of the hardest problems in computer science – Surfing Complexity
- Debugging latency · jbd.dev
- Why All My Servers Have an 8GB Empty File
- Ask HN: Is a self-MitM HTTPS proxy that injects API keys useful?
- Understanding AWS Services for Modern Cloud Architectures - Bas codes
- Determine the number of threads to fire off in a machine w n cores
- Event Sourcing and Microservices – Unix Style
- How to set an ideal thread pool size
- General guidance when working as a cloud engineer
- leandromoreira/cdn-up-and-running
- Learn how to build a simple streaming platform based on the Real Time Messaging Protocol
- Dukaan vs Shopify
- Retries
- [-] Rate limiting
- Load Balancing
- Planning
- SLO
- Scalability
- Understand could costs
Containers #
- [-] Containers
- The podman manning (Book)
- [-] https://github.com/containers/podman/blob/main/docs/tutorials/performance.md
- Using ARG in a Dockerfile – beware the gotcha | Hacker News
- [-] Go, Containers, and the Linux Scheduler | Hacker News
- Troubleshooting containers - iko’s logs
- Containers are chroot with a Marketing Budget - Earthly Blog
- Containers from first principles
- Ramblings from Jessie: Setting the Record Straight: containers vs. Zones
- How to Escape a Container | Hacker News
- Building healthier containers - kintoandar
- What even is a container: namespaces and cgroups
- Learning Containers From The Bottom Up
- [-] Deep dives
- Liz
- [-] Docker
- [-] Production-ready Docker packaging for Python developers
- BuildKit in depth: Docker's build engine explained | Hacker News
- Computers Are Bad: Docker
- Docker and the OCI container ecosystem
- Rails on Docker | Hacker News
- Crafting container images without Dockerfiles | Adolfo Ochagavía
- Linux post-installation steps for Docker Engine | Docker Documentation
- Run the Docker daemon as a non-root user (Rootless mode) | Docker Documentation
- Docker security | Docker Documentation
- Securing Docker Containers
Kubernetes #
- jamiehannaford/what-happens-when-k8s
- Kubernetes and back - Why I don’t run distributed systems - davd.io
- Bare-Metal Kubernetes, Part I: Talos on Hetzner | Hacker News
- Why Kubernetes needs an LTS | Lobsters
- Running Databases on Kubernetes | QuestDB
- Kubernetes is Not a Hosting Platform — Dan Palmer
- Upgrading Kubernetes - Methodology | Lobsters
- everything-useful-i-know-about-kubectl
Oops! Observability #
- [-] General
- SRE School: Health Checking
- Six ways to shoot yourself in the foot with healthchecks
- SRE School: Instrumentation
- SRE School: No Haunted Forests
- Techniques and numbers for estimating system’s performance from first-principles
- Observability replacing monitoring?
- Ice and Fire: How to read icicle and flame graphs
- Monitoring tiny web services | Hacker News
- [-] Tactical
- “How NOT to Measure Latency” by Gil Tene - YouTube
- Building for Failure: Hidden dangers in Event-Driven Systems – Encore Blog
- librariesio/metrics: What to measure, how to measure it. (this is not really about telemetry)
- Correlating Signals Efficiently in Modern Observability
- [-] Metrics For Your Web Application’s Dashboards
- Monitoring is a Pain | Lobsters
- the two drivers of cardinality.
- Current problems in the alerting space
- Advanced stuff
- [-] Prometheus
- A deep dive into logging ecosystem | Parseable
Oh CI/CD #
Network must be up! #
- General Networking
- Computer Networks: A Systems Approach (Book)
- Computer Networking : Principles, Protocols and Practice
- vlan - Relation between Ethernet and 802.11 headers
- CS-340 Intro to Computer Networking - YouTube (course)
- The Internet explained from first principles
- Networks all the way down, part 2. | The ryg blog
- Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD - IT Notes
- Better IX network quality monitoring
- IP
- What happens when
- https://github.com/alex/what-happens-when
- How does a Linux machine connect to the internet, really? | Lobsters
- How do Routers Work, Really?
- How Did I Get Here?
- What happens when you type in ‘www.cnn.com’
- Where does my computer get the time from? – Tony Finch
- A Day in the Life: The Global BGP Table | Hacker News
- Tailscale
What’s up DNS? #
- [-] Why is DNS still hard to learn?
- The secret life of DNS packets (2019) | Hacker News
- [-] (All) DNS Resource Records
- Using dig
- Section 2 - Domain Naming (Chapter)
- What happens when you update your DNS?
- Toying with DNS | Kailash Nadh | India FOSS 3.0 | FOSS United - YouTube
- OpenAI Status - API, ChatGPT & Sora Facing Issues
- DNS “propagation” is actually caches expiring
- Learning Center — NsLookup.io (Nice Series, Read all of it)
- DNS for Rocket Scientists (Book)
- Implementing
- Case studies
- Logs Told Us It Was DNS, It Looked like DNS, It Had to Be DNS, It Wasn’t DNS
- Intercepting t.co links using DNS rewrites | Lobsters
- Journeying into XDP: Fully-fledged DNS service augmentation | APNIC Blog
- DNS0: The European public DNS that makes your internet safer
- Replit - Why We Built Our Own DNS Infrastructure
- What I learned from making a DNS client in Rust
- Chromium’s impact on root DNS traffic | APNIC Blog
- How does GeoDNS work?
- Hardening unused (sub)domains | Hacker News
- .io domains considered harmful | Lobsters
- The death of a TLD
- The Sisyphean Task Of DNS Client Config on Linux · Tailscale
- Deeper fax
- mDNS
🐔 HB09: Remove database fear #
DB general knowledge #
- Stanford intro to DB course (HDD/Course)
- [-] Intro to Database Systems (Fall 2023)]]
- Home - CS 186 (Course)
- CMU 15-799 Special Topics in Databases: Query Optimization (Spring 2025)
- [-] Database Design for Google Calendar: a tutorial | Database Design Book 🌟
- [-] Database design of Timelinize
- [-] On-site search design patterns for e-commerce: schema structure, data driven ranking & more
- Database Fundamentals
- Things I Wished More Developers Knew About Databases
- How Modern SQL Databases Are Changing Web Development
- Relational Databases Explained
- Why databases use ordered indexes but programming uses hash tables
- [-] Demystifying Database Transcations | Dinesh Gowda
- [-] Sketch of a Post-ORM
- What is the correct way to model
- [-] Normalization
- [-] Primary Keys
SQL Basics #
- [-] Do you really need foreign keys? | Hacker News
- SQLBolt - Learn SQL - Introduction to SQL
- [-] Learn SQL with Datasette - Tutorial
- SQL Injection Prevention - OWASP Cheat Sheet Series
- https://github.com/remysucre/blog/blob/main/posts/sql-eq.md
- The Case of a Curious SQL Query • Buttondown
- Upsert in SQL | Hacker News
- What are some good resources to practice SQL? (Practice through exercises)
- Python: Just Write SQL | Hacker News
- How To Generate SQL Statements with ChatGPT – Ben Forta
- Grouping digits in SQL | Peter Eisentraut
- Ask HN: How do you test SQL? | Hacker News
- Learn SQL with Real Data using Dolt | DoltHub Blog
Context on DBs #
- Architecture of a Database System (Book)
- Readings in Database Systems (Book)
- Wide Column Store NoSQL vs SQL Data Modeling - YouTube
- Database Migrations
- A primer on Roaring bitmaps: what they are and how they work
- [-] Mini-LSM Overview - LSM in a Week
- What is a Query Optimizer for?
- [-] The growing pains of database architecture
- How Query Engines Work | Hacker News
- Database Performance at Scale: A Practical Guide | SpringerLink (book)
- Things every developer absolutely, positively needs to know about database indexing
- How RocksDB works - Artem Krylysov
- [-] B-tree
- Representing Columns in Query Optimizers • Buttondown
- Building a distributed log using S3 (under 150 lines of Go) - blag
- [-] Consistency Models
- Reading lists
Joins #
SQLite #
- SQLite for beginners - YouTube
- Tracking SQLite Database Changes in Git | Lobsters
- Why SQLite? Why Now? 🐇 - Tantamanlands
- SQLite the only database you will ever need in most cases
- SQLite: Past, Present, and Future
- Why you should probably be using SQLite | Hacker News
- SQLite’s Automatic Indexes | Hacker News
- SQLite Functions for Working with JSON | Hacker News
- [-] New trends in sqlite
- Deeper dives
- [-] Experiments
- Advanced usage
Postgres #
- The Art of PostgreSQL (Book)
- pg is enough
- My notes on Gitlab’s Postgres schema design (2022) | Hacker News
- Identifying slow PostgreSQL queries | Sophia Willows
- The business information server
- How Postgres Triggers Can Simplify Your Backend Development | The Mythical Engineer
- Inside logical replication in PostgreSQL: How it works
- PostgreSQL Internals: 3 Things to Know About UPDATE Statements | Patrick’s Engineering Blog
- Explaining The Postgres Meme
- An overview of distributed Postgres architectures | Hacker News
- Exploring a Postgres query plan | notes.eatonphil.com
- PostgreSQL Indexes Can Hurt You: Negative Effects and the Costs Involved
- [-] PgBouncer is useful, important, and fraught with peril - JP Camara
- Why people care about PostGIS and Postgres | Hacker News
- Brane Dump: PostgreSQL Encryption: The Available Options
- Building a Streaming Platform in Go for Postgres | Hacker News
- PG advisory locks in Go with built-in hashes | Lobsters
- “UPDATE Considered Harmful” by Jeremy Taylor - YouTube
- Optimizing Postgres’s Autovacuum for High-Churn Tables | Tembo
- Scaling Postgres to 1 Million Connections | Lobsters
- Getting Postgres logs in a GitHub Action
- Understanding partitioning and sharding in Postgres and Citus
- Ways to shoot yourself in the foot with Postgres | Hacker News
- Indexing a column of a large postgres table | Lobsters
- Creating a search engine with PostgreSQL | Hacker News
- PostgreSQL at low level: stay curious! · Erthalion’s blog
- The part of Postgres we hate the most: MMVC
- HTTP vs. WebSockets: Which protocol for your Postgres queries at the Edge - Neon
- Postgres as queue | Hacker News
- Postgres operations (wiki has more stuff) / Backup etc.
- I’ve to make sections in notes about replication, migration, backup, recovery, other things that are more specific to handling the data in prostgres and moving it around when needed
- Introducing pgroll: zero-downtime, reversible, schema migrations for Postgres | Lobsters
- Postgres Incremental Backup | Hacker News
- Migrating from Supabase
- Supabase Local Dev: migrations, branching, and observability
Too long Redis #
- Learn Redis the hard way (in production)
- Redis Explained
- Caching patterns - Database Caching Strategies Using Redis
- What are write-through and write-behind caching? | Redisson
- Four ways to shoot yourself in the foot with Redis
- Do You Need Redis? PostgreSQL Does Queuing, Locking, & Pub/Sub
- Build Your Own Redis with C/C++ | Build Your Own Redis with C/C++
- How to Boost Mastodon Server Performance with Redis - The New Stack
🐖 HB10: Become pragmatic #
Gain old wisdom #
- The Pragmatic Programmer (Book)
- How to Design Programs, Second Edition (Book)
- Building Blocks for Theoretical Computer Science (Course) 🌟
- Cognitive Load In Software Development | Lobsters
- Software Engineering’s Greatest Hits - YouTube
- Practices of Reliable Software Design | Lobsters
- paoramen - Fear of over-engineering has killed engineering altogether
- A Sketch of the Biggest Idea in Software Architecture
- HugoMatilla/Refactoring-Summary
- Things software developers should learn about learning | Hacker News
- Software Engineering at Google (Book)
- Wisdom from computing
- Coding theory by Venkatesan Guruswami (Book)
- A guide on how to be a Programmer
- A Philosophy of Software Design | John Ousterhout
- Can Great Programmers Be Taught? - John Ousterhout - Agile LnL - YouTube
- Clever vs Insightful Code • Hillel Wayne
Advice by other people #
- Manual Work is a Bug
- My Approach to Building Large Technical Projects – Mitchell Hashimoto
- Code review
- TigerStyle!
- My Heroku values · GitHub
- Systems design 2: What we hope we know - apenwarr
- Good performance is not just big O - Julio Merino (jmmv.dev)
- Why Domain-Driven Design?
- In defense of simple architectures
- Always Measure One Level Deeper
- DDD
- Crash course on Domain-Driven Design
- A Daily Practice of Empirical Software Design - Kent Beck - DDD Europe 2023 - YouTube
- Practical DOD • 2021 • Conference Guide • Handmade Seattle (Data Oriented Design) (different from the other DOD)
- The Definition of Senior: A Look at the expectations for Software Engineers
- My Principles for Building Software
- Nat Friedman
- Learnings from 5 years of tech startup code audits
- Things I Learnt from a Senior Software Engineer | Neil Kakkar
- Synchronization is bad for scale
- Stop your (business rules) engines! - Ad Hoc
- My guiding principles after 20 years of programming
- Mike Acton’s Expectations of Professional Software Engineers
- The Hardest thing about Engineering is Requirements
- How to Debug – Embedded in Academia
- Write code that is easy to delete
- Code Doesn’t Happen to You
Testing shit #
Learn more about API design #
General API #
- An API for data that changes over time
- https://third-bit.com/sdxjs/module-loader/
- API Design Patterns (Book)
- Nibble Stew: Plain C API design, the real world Kobayashi Maru test
- No Abstractions: our API design principle | Hacker News
- The importance of verifying webhook signatures | Snyk
- Guidelines for writing useful libraries | Kislay Verma
- Finding and fixing eventual consistency with Stripe events | Lobsters
- What If I Don’t Actually Like My Users?
- The Design of Everyday APIs – roguelynn
- How Do I Make This Hard to Misuse?
- How To Design A Good API and Why it Matters - YouTube
- API Improvement Proposals
Web API design #
- GraphQL vs. REST - Speaker Deck
- Advice for Operating a Public-Facing API - joshua stein
- The Elements of APIs (2021) | Hacker News
- How to (and how not to) design REST APIs | Lobsters
- How to (and how not to) design REST APIs | Lobsters 2
- API Versioning Has No “Right Way”
- How to design better APIs
- Secrets to Great API Design | Nylas
- RFC7807 - Problem Details for HTTP APIs | Paul’s page 🌟
- API Best Practices for crafting superior APIs | Atakan Serbes | Medium
- Webhooks
- Feature Flags
- Pagination
- Extraction
🌺 HB11: Languages and how they are made #
Experiment with Rust #
Experiment with Elixr #
Remove fear of compilers #
- Demitry Udemy Courses (Course)
- Why Split Lexing and Parsing Into Two Separate Phases? | Lobsters
- Distinguishing an Interpreter from a Compiler | Lobsters
- Writing a Compiler is Surprisingly Easy (part 1) | Hacker News
- How to learn compilers: LLVM Edition - Low Level Bits 🇺🇦
- Build a Compiler in Five Projects
- On Learning Compilers and Creating Programming Languages | Lobsters
- Anders Hejlsberg on Modern Compiler Construction - YouTube
- Lexical Scanning in Go - Rob Pike - YouTube
- Why Take a Compiler Course? – Embedded in Academia
- Why Learn Compilers
- Write a compiler with David Beazley | Cracking The Code
- Why we need to know LR and recursive descent parsing techniques
- How to Compile Your Language
- Mapping High Level Constructs to LLVM IR — Mapping High Level Constructs to LLVM IR documentation
No really, PLT fr #
- A Gentle Intro to PLT
- CAS 761: Generative Programming
- Cuis Smalltalk and the History of Computing’s Future (with Juan Vuletich) - YouTube
- A Tour of the Lisps | Hacker News
- 2017 ACM PPoPP Keynote: It’s Time for a New Old Language - YouTube
- BNF and EBNF: What are they and how do they work?
- The Mathematician’s Weapon | An Introduction to Category Theory, Abstraction and Algebra | #SoME3 - YouTube
- How should I read type system notation? - Programming Language Design and Implementation Stack Exchange
- [1409.2378] Design Guidelines for Domain Specific Languages
- Programming Languages, Part A,B,C (Course)
- CIS352 by Kristopher Micinski
No time for Functional programming #
DIY projects #
- Learn C • Build Your Own Lisp (Book)
- An Introduction to Parser Combinators - Varun Ramesh’s Blog
- Tiark’s Notebook - Just write the fucking parser
- Crafting Interpreters (Book) See malavbhavsar/rlox for section 1
- Building a high performance JSON parser | Hacker News
- Writing An Interpreter In Go | Thorsten Ball (Book)
- Writing A Compiler In Go | Thorsten Ball (Book)
- Writing a simple JSON parser | notes.eatonphil.com
- Evaluating Algebraic Expressions using Parser Combinators - Varun Ramesh’s Blog
🦆 HB12: Comfortable w Distributed Systems #
General Dist Sys #
- https://github.com/aphyr/distsys-class (topic notes/general idea) 🌟
- [-] Courses
- [-] 6.824: Distributed Systems(2020) (Course)
- [-] Distributed Systems lecture series - YouTube (Course, MK)
- https://www.scs.stanford.edu/22sp-cs244b/labs/project.html (good project ideas in dist sys)
- CSE138 (Distributed Systems) lectures, Spring 2021 - YouTube (LK)
- [-] Distributed Systems 3rd edition (Book, 2017)
- Distributed systems for fun and profit (Book, Good for casual reading, might print)
- Putting Our Thinking CAP On: Taking a Look at the CAP Theorem | Bo Ingram
- [-] Consistent hashing
- [-] Clocks & Time
- [-] Clocks
- [-] Lamport clocks | Lobsters
- [-] Lamport Clocks | Hacker News
- [-] Too many clocks at my home
- [-] Utilizing highly synchronized clocks in distributed databases
- [-] What are the Magical Clocks for? • Buttondown
- [-] Clocks and Causality - Ordering Events in Distributed Systems
- [-] Who invented vector clocks? - decomposition ∘ al
- [-] Living without atomic clocks: Where CockroachDB and Spanner diverge
- [-] Time ordering
- [-] Lamport
- [-] Clocks
- [-] Consensus
- [-] Paxos Algorithm (2 lectures & materials by LL the great) 🌟
- Raft Viz presentation
- [-] Raft is (Equivalent to) Paxos, VR
- [-] The Raft Consensus Algorithm (2015) | Hacker News
- [-] Implementing a distributed key-value store on top of implementing Raft in Go
- [-] Students’ Guide to Raft - Jon Gjengset
- [-] Raft does not Guarantee Liveness in the face of Network Faults (2020) | Lobsters
- How OmniPaxos handles partial connectivity
- [-] Implementing Raft: Part 0 - Introduction - Eli Bendersky’s website
- [-] Garage, our self-hosted distributed object storage solution | Hacker News (Read the discussion around raft)
Designing better systems #
- Hints for Distributed Systems Design 🌟
- “Hopelessness and Confidence in Distributed Systems Design”
- Globally Distributed Postgres · Fly
- Software Architecture Design for Busy Developers
- [-] 50 years later, is two-phase locking the best we can do? | Hacker News
- GUIDs Are Not The Only Answer - by Utsav Shah
- Breaking Changes in Distributed Systems | Azeem Bande-Ali | azeemba.com
- Designing Distributed SQL Engine
- [-] The genius of long polling - YouTube
- Writing a circuit breaker in Go | Redowan’s Reflections
- A Foolish Consistency: Consul at Fly.io · The Fly Blog
- [-] Avoiding fallback in distributed systems (2020) | Lobsters
- Systems design for advanced beginners | Robert Heaton
- The Log: What every software engineer should know about real-time data
- [-] Message Queues
- Let’s Talk About Queues • Talks • Conference Guide • Handmade Seattle
- Investigating an Event Queue Hang: The Code Works Correctly · GitHub
- To Message Bus or Not: Distributed Systems Design
- IPC - Message Queues | Goodness’s blog
- The Big Little Guide to Message Queues (2020) | Hacker News
- No sleep until we build the ideal pub/sub library in Go | Lobsters
- Simple event broker tries Tiger Style | Lobsters
- Modern Message Queue Services and Cloud Storage - Alibaba Cloud Community
🐅 HB13: Really wanna Systems #
A word of warning for self here, I am interested in this stuff but it seems like there are not too many directly applicable jobs or projects I can work on, so study these accordingly.
But this info in-directly will always be helpful for me in other areas.
Basics #
- spencertipping/shell-tutorial
- Getting Better at Linux With 10 Mini-Projects (Make these with rust)
- Intercepting and modifying Linux system calls with ptrace | notes.eatonphil.com
- Adventures of Linux Userspace at Meta - media.ccc.de
- Greybeard Qualification - Linux Internals - YouTube
- What Is Systems Programming, Really? (2018) | Hacker News
- A simple, arena-backed, generic dynamic array for C
- Getting up in another processes memory - YouTube
- Two kinds of threads pools, and why you need both | Lobsters
- Linux Page Cache for SRE | Viacheslav Biriukov
- [-] FD
Virtualization #
- vijay03/cs378-f19: Repo for CS 378 (Course)
- Sandboxing and Workload Isolation · Fly
- Emulator 101
- Firecracker internals: Inside the technology powering AWS Lambda (2021)
- How VT-x, KVM and QEMU Work Together – Binary Debt
- Clocks, Timers and Virtualization silly onions — Opinionated articles
- KVM host in a few lines of code
- Hypervisor Development in Rust Part 1 - memN0ps
- dpw/kvm-hello-world: A minimal kvm example
- Write your Own Virtual Machine
Finally File-systems and Storage #
- http://www.nobius.org/dbg/practical-file-system-design.pdf (Book)
- Building and operating a pretty big storage system called S3 | All Things Distributed
- GitHub - gotoco/dummyfs: Simple Linux Filesystem designed for learning purposes
- Writing a file system from scratch in Rust · carlosgaldino
- ext4 Data Structures and Algorithms — The Linux Kernel documentation
- A minimum complete tutorial of Linux ext4 file system (2017) | Hacker News
- Evan Jones
- Basics
- ZFS
Performance #
BPF & eBPF #
- XDP for Game Programmers
- bpfman
- Videos
- lizrice/ebpf-beginners
- eBPF - Introduction, Tutorials & Community Resources
- X-Ray vision for Linux systems | 0x.tools
- BPF, eBPF, XDP and Bpfilter
- tcpdump only uses BPF, not eBPF. BPF is a simpler language that, among other … (Good comment compares BPF and eBPF)
- Notes on BPF & eBPF
- Linux runtime security agent powered by eBPF | Hacker News
- A thorough introduction to eBPF {LWN.net}
- BPF: what’s good, what’s coming, and what’s needed {LWN.net}
- eBPF and systems performance – O’Reilly
- Why is the kernel community replacing iptables with BPF?
Strace #
- The Definitive Guide to Linux System Calls | Packagecloud Blog
- Strace little book
- strace Wow Much Syscall strace Wow Much Syscall
- How does strace work? | Packagecloud Blog
- Introduction to strace | The Road to Elysium
- Debugging Software Deployments with strace — The Art of Machinery
- Why strace doesn’t work in Docker
🕸 HB14: Scraping and Archival #
Become spiderman #
- [-] Web Scraping: Data for Everyone | Hacker News
- [-] Youtube’s Anti-adblock and uBlock Origin - And a Dinosaur
- [-] The business of extracting knowledge from academic publications | Hacker News
- [-] webscraping-open-project (solid outline)
- [-] lorien/awesome-web-scraping (good pointers)
- [-] Learn Playwright & Puppeteer | Checkly
- the lab: https://substack.thewebscraping.club/t/the-lab
Become spiderman at scale #
- How to crawl a quarter billion webpages in 40 hours | DDI , also HN Thread
- Show HN: how I built the largest open database of Australian law | Hacker News
- Ask HN: Have you ever used anti detect browsers for web scraping?
- Analysis of Bot Protection systems
- How to choose the right proxy service for your bots and scraping
- A Raspberry Pi as a decent residential proxy | wiringbits
Archiving for the greater good #
- [-] WARC
- Getting Started - Digital Archiving
- Web Pages Must Live Forever
- Archiving URLs · Gwern.net
- How to archive your work digitally – The Creative Independent
- The business of extracting knowledge from academic publications | Hacker News
- Introduction | Archives, Ethics and the Law in India
- iipc/awesome-web-archiving
Maintaining archives #
㊙ HB15: Working with data #
Probability and Statistics #
- MCCC: Probability
- [-] STATISTICS 101 Playlists – Brandon Foltz
- [-] Statistical Rethinking | Richard McElreath (Book + Course), Follow PyMC implementation
- [-] Stats Without Tears (Book)
- Probably Overthinking It: There is still only one test
- Common statistical tests are linear models (or: how to teach stats)
- Statistical Formulas For Programmers – Evan Miller
- Jake Vanderplas - Statistics for Hackers - PyCon 2016.mp4 - YouTube
- John Rauser keynote: “Statistics Without the Agonizing Pain” – Strata + Hadoop 2014 - YouTube
- Seeing Theory (Book)
- the_statistics_handbook
- Programmers Need To Learn Statistics Or I Will Kill Them All
- StatQuest with Josh Starmer - YouTube
- research!rsc: The Magic of Sampling, and its Limitations
- Percentiles
Do the work with Data science #
- Data Science from Scratch, 2nd Edition (Book)
- [-] Everyday Data Science (Book)
- Data Analysis for Business, Economics, and Policy - Gabors Data Analysis (Book)
- 10 Ways to Be Data Illiterate (and How to Avoid Them) - Jason Liu
- Effective Pandas (Book) / Effetive polars book now
- The Polars vs pandas difference nobody is talking about | Labs
- SQL for data scientists in 100 queries | Hacker News
- [-] Efficient Python Tricks and Tools for Data Scientists (Book)
- Goodbye, Data Science – r y x, r
- Exploratory data analysis for humanities data | Hacker News
- Most data work seems fundamentally worthless | Hacker News
- Why Business Data Science Irritates Me - by shako
- How you average numbers matters
- SQL for Analysis
- Practical SQL for Data Analysis | Haki Benita
- A Beginner’s Guide to Sequence Analytics in SQL
- SQL should be the default choice for data transformation logic
- Stochastic gradient descent written in SQL | Hacker News
- DuckDB: Crunching Data Anywhere, From Laptops to Servers • Gabor Szarnyas • GOTO 2024 - YouTube 🌟
- Pandas and Numpy
- Data Analysis with Python (Course)
- Articles: Speed up your data science and scientific computing code
- Pandas Illustrated: The Definitive Visual Guide to Pandas
- pandas 2.0 and the Arrow revolution (part I)
- Pandas Tutorials - YouTube
- 101 NumPy Exercises for Data Analysis (Python) - ML+
- Brandon Rhodes - Pandas From The Ground Up
- Pandas and Polars
- [-] ML and Stats
- PCA
- Anomaly Detection (Time-Series)
Data processing #
- [-] Data Engineering
- Data Team | The GitLab Handbook
- Learning Resources - Data Engineering Wiki (Wiki)
- Lessons Learned from Scaling to Multi-Terabyte Datasets – Build Great Things
- [-] Designing Data-Intensive Applications (Book)
- [-] How we improved push processing on GitHub - The GitHub Blog
- The uses and abuses of Cloud Data Warehouses
- Building a weather data warehouse part I: Loading a trillion rows of weather data into TimescaleDB
- cohost! - “how (not) to write a pipeline”
- Batch processing
- Stream Processing
- GitHub - risingwavelabs/awesome-stream-processing: A collection of demos showcasing how stream processing can be used to solve real-world problems. 🌟
- Streaming joins are hard | Hacker News
- ATProto for distributed systems engineers - AT Protocol
- Using Clickhouse to scale an events engine · getlago/lago Wiki · GitHub
- Streaming 101: The world beyond batch – O’Reilly
- How do streaming APIs work
- Apache Flink: Batch as a Special Case of Streaming
- A Dash of Technology: The Essentials Behind Building a Streaming API
- Why local state is a fundamental primitive in stream processing – O’Reilly
- Case studies
- Parquet: more than just “Turbo CSV”
- Analyzing multi-gigabyte JSON files locally | Lobsters
- Data diffs: Algorithms for explaining what changed in a dataset
- Stream Processing vs Real-time OLAP vs Streaming Database
- Notes on streaming large API responses | Hacker News
- A comparison of data processing frameworks – Kapernikov
- Comparison
- Others
Machine Learning #
- [-] Basics
- https://bbycroft.net/llm 🌟
- [-] [2206.13446] Pen and Paper Exercises in Machine Learning
- Machine Learning in C (Episode 1) - YouTube
- [-] Neural Networks: Zero To Hero
- GPT in 60 Lines of NumPy | Jay Mody
- [-] Neural Networks from Scratch in Python - YouTube
- 3Blue1Brown
- Introduction - Hugging Face NLP Course
- [-] RLHF Book | Hacker News
- Tuning
- [-] Deep Learning
- [-] L8 Large Language Models (LLMs) — Guest Instructor Hao Liu - YouTube
- [-] RL Course by David Silver - Lecture 1: Introduction to Reinforcement Learning - YouTube
- https://www.bishopbook.com/ 🌟
- https://d2l.ai/
- https://udlbook.github.io/udlbook/
- [-] Practical Deep Learning for Coders 🌟
- [-] DeepL Sys Lectures
- Deep Learning @ VU | DLVU
- [2106.10165] The Principles of Deep Learning Theory
- RL
- Systems
- Embeddings
- [-] What are embeddings?
- [-] The best way to use text embeddings portably is with Parquet and Polars | Hacker News
- Text embeddings reveal almost as much as text | Hacker News
- Train faster static embedding models with sentence transformers | Hacker News
- Here comes the Muybridge camera moment but for text. Photoshop too (Interconnected)
- [-] Embeddings: What they are and why they matter
- 40 million embeddings to find who knows what on Hacker News | Wilson Lin
- Embeddings are a good starting point for the AI curious app developer | Hacker News
- Tools to explore
- https://fasttext.cc/
- https://github.com/explosion/floret (fork of fasttext)
- SAE what?
Deploying stuff #
- [-] L1
- [-] IndicLLM Suite – AI4BHĀRAT 🌟
- Introduction - Hugging Face Course
- [-] Full Stack Deep Learning
- Modules and details (ServerlessML)
- [-] L2
- [-] Patterns for Building LLM-based Systems & Products
- [-] Building LLM applications for production
- Infrastructure set-up & open-source scripts to train a 70B model from bare metal | Hacker News
- [-] MLOps guide
- [-] https://github.com/featurestoreorg/featurestore-benchmarks
- Chapter 10 Tools for Developing Pipelines | The Pragmatic Programmer for Machine Learning
- https://github.com/stas00/ml-engineering
- [-] Free MLOps course from DataTalks.Club
- [-] MLOps is Mostly Data Engineering. • Kostas Heaven on Net
- Designing Machine Learning Products - Made With ML
- MLOps Basics {Week 10}: Summary
LLMs in production #
- [-] A Field Guide to Rapidly Improving AI Products – Hamel’s Blog 🌟
- How DeepSeek Rewrote the Transformer [MLA] - YouTube
- [-] GitHub - huggingface/smol-course: A course on aligning smol models. 🌟 (LLM Course)
- GitHub - SkalskiP/vlms-zero-to-hero 🌟 (VLM Course)
- [-] Your AI Product Needs Evals – Hamel’s Blog
- [-] Takeaways from Mastering LLMs Course – Swaroop, The Dreamer
- [-] What We’ve Learned From A Year of Building with LLMs – Applied LLMs
- [-] Building A Generative AI Platform
- An Open Course on LLMs, Led by Practitioners – Hamel’s Blog
- [-] Generating structured data with LLMs - Beyond Basics • rwilinski.ai
HB17: Analyze, Visualize and Plot! #
Learn to plot #
- Opening Files — An Introduction to VisiData
- The Data Visualisation Catalogue: find the right method for your data | Hacker News
- Visualizing data is an art | Hacker News
- GitHub - rougier/scientific-visualization-book: An open access book on scientific visualization using python and matplotlib
- Google Sheets - Full Course - YouTube
- Communicating with Interactive Articles
- Applied Plotting, Charting & Data Representation in Python (Course)
- Friends don’t let friends make bad graphs | Hacker News
- The definitive Python data visualization site
- Observable 2.0 | Observable
- Using Gnuplot for ascii charts inside notebooks · GitHub
- Visualizing MBTA Data
- Zoomable Circles, a Svelte component for hierarchical data | Hacker News
Simulations #
Example case studies #
Random examples to reverse engineer from.
- A baffling scale transform on a chart of university course selection trends
- About Timelines / Di | Observable
- Analysis of compensation, level, and experience details of 19k tech workers
- BuzzFeedNews/everything: An index of all our open-source data
- A Random Sampling of Internet Service Prices around the World
HB18: Get creative w programming #
“It often feels like ‘hacking’ to get result.”
Get started w it #
HB19: Hello Beep Boop HCI #
Get familiar #
- Ink & Switch • 2022 • Conference Guide • Handmade Seattle
- The future of programming: Research at CHI 2023 - Austin Z. Henley 🌟
- Tools, Computing and Research Labs 🌟
- 7GUIs
- Implementing interactive languages
- Hacker News folk wisdom on visual programming – drossbucket
- HCI-2022 Human Computer Interaction (2022-2023) - YouTube
- mathisonian/awesome-visualization-research
HB20: Understand P2P #
General P2P #
- Brown Uni Course (Backup Drive)
- Show HN: This page exists only if someone is looking at it | Hacker News
- Range Partitioning: Zero to One | Lobsters
- p2p papers
- Some designs for modern peer-to-peer networking | Lobsters
- How we achieved NAT traversal with vanilla WireGuard
- Show HN: TeaTime – distributed book library powered by SQLite, IPFS and GitHub | Hacker News (gud p2p application)
Torrent #
- A crappy course on torrents – fiatjaf
- Whitepapers With Friends: How BitTorrent Really Works
- WebTorrent Workshop
- How do BitTorrent magnet links work? - Stack Overflow
- Building a BitTorrent client from the ground up in Go
- BTFS: BitTorrent Filesystem | Hacker News
- Distributed bittorrent-like social network? | Lobsters
Alternative internet #
Protocols&Encoding #
Formats (binary) #
- Designing File Formats
- Recommendations for designing magic numbers of binary file formats | Hacker News
- A Simple Serialization System | rxi
- Ange Albertini: Funky File Formats - YouTube
- Binary formats and protocols: LTV is better than TLV | Lobsters
- Zip – How not to design a file format (2021)
- What’s In A Bit – Designing, Using And Reverse-engineering Binary File Format
- carlmjohnson/lich: A port of Wolf Rentzsch’s Lich binary file format
Binary Protocols #
Text Protocols #
Time for WebRTC #
- earlier it was browser based now available outside HN comment
- WebRTC For The Curious (Book)
- Overlay networks based on WebRTC | Hacker News
- WebRTC, GStreamer and HTML5 - Part 1
- Show HN: Bring phone calls into the browser (SIP-to-WebRTC) | Hacker News
- Replacing WebRTC: real-time latency with WebTransport and WebCodecs | Hacker News
- See https://www.youtube.com/@CommCon/streams (Live Section for ‘24 talks)
HB21: Geo and Maps #
Basics #
- Jay Foreman - YouTube
- So You Want To Make A Map?
- Should web maps be centralized services?
- State of the Map EU 2023 | Hacker News
- The Overture Maps Foundation: Marc Prioleau - MBM#43 - YouTube
- Engineering Icons Tube Map | Hacker News
- Browsetech Digest: Felt is making browsers make maps [interview]
- Analysis-Ready Cloud-Optimized Datasets - ERAD 2024 🌟
Get mapping #
- mapschool: a free introduction to geo
- Wrangling and joining 130M points with DuckDB + the open source spatial stack | Dewey Dunnington
- Shapefile must die!
- Origin and development of a Snowflake Map
- How The Post is replacing Mapbox with open source solutions
- Map Features in OpenStreetMap with Computer Vision | Hacker News (some drama)
- Getting to the bottom of web map performance
- Apache Iceberg now supports geospatial data types natively | Hacker News
GPS #
HB22: Local First Stuff #
Local first software basics #
- Philosophy
- I wrote a static web page and accidentally started a community | Local-First Software
- [-] Local, first, forever @ tonsky.me
- Local-first software: You own your data, in spite of the cloud
- [-] The past, present, and future of local-first - Martin Kleppmann (Local-First Conf) - YouTube
- [-] The Web After Tomorrow @ tonsky.me
- Case Studies/Examples/Walkthroughs
- [-] A new approach to building Electric | ElectricSQL 🌟
- [-] A Local-First Case Study | jakelazaroff.com
- Introduction to local-first applications - YouTube
- [-] How to almost build an E2EE local-first app | zaynetro
- Riffle: Building data-centric apps with a reactive relational database
- Resilient Sync for Local First | Dirk Holtwick
Sync Server/Engine #
Basics and current art #
- How to Sync Anything | Lobsters (See comment)
- Data synchronization - Wikiwand
- Stop building databases
- A Map of Sync
🌟
- An Object Sync Engine for Local-first Apps (sync engine for local first apps)
- Architectures for Central Server Collaboration - Matthew Weidner 🌟
- Database in the Browser, a Spec
- Sync Engines are the Future
Industry examples/case studies #
- Dropbox
- Figma: How Figma’s multiplayer technology works | Figma Blog
- “Our servers currently spin up a separate process for each multiplayer document which everyone editing that document connects to.”
- Linear
- 2020: React Helsinki February 2020 - YouTube
- 2022: Reverse engineering Linear’s sync magic
- 2023: Scaling the Linear Sync Engine - Linear Blog
- 2023: Episode #61: Tuomas Artman - Linear
- 2024: Unexpected benefits of going local-first - Tuomas Artman (Local-First Conf) - YouTube
- 2025: wzhudev/reverse-linear-sync-engine: A reverse engineering of Linear’s sync engine.
- Muse: Sync — Episode 56, Metamuse podcast — Muse
Building a sync engine #
- Building an offline realtime sync engine · GitHub 🌟 (my backup version ) (reading list)
- “Building a Sync Engine in Clojure” by Stepan Parunashvili - YouTube
- Datomic
- “Learn as much as you can about Datomic - Datalog vs SQL, inserts/updates as pure data structures, pull syntax, EAV tuples, immutable facts, database as a value, unbundling the database. There’s so much to learn. Datomic may not be the right database for your backend (although maybe it is? Check it out) but it’s without a doubt one of the best-designed systems out there.” - pesterhazy
- Datomic with Rich Hickey - YouTube
- The Functional Database - Rich Hickey - YouTube
- Insights after 11 years with Datomic [video] | Hacker News
TODO Game network engines #
- GDC Vault - I Shot You First: Networking the Gameplay of HALO: REACH
- Game Networking | Gaffer On Games 🌟
- Fast-Paced Multiplayer: Sample Code and Live Demo - Gabriel Gambetta 🌟
- Game Physics | Gaffer On Games
- Networked Physics | Gaffer On Games
- Fixing the Internet for Games | Gaffer On Games
- Why can’t I send UDP packets from a browser? | Gaffer On Games
- Showdown: High vs. Low Ping Player - YouTube
- https://mas-bandwidth.com/what-is-lag/
- https://mas-bandwidth.com/writing-highly-scalable-backends-in-udp/
- https://mas-bandwidth.com/writing-scalable-backends-in-udp-the-solution/
- https://mas-bandwidth.com/creating-a-first-person-shooter-that-scales-to-millions-of-players/
- https://mas-bandwidth.com/choosing-the-right-network-model-for-your-multiplayer-game/
- https://mas-bandwidth.com/the-case-for-network-acceleration-for-multiplayer-games/
- https://mas-bandwidth.com/creating-a-matchmaker-for-your-multiplayer-game/
- Netcode
- Souce code review
CRDTs #
Basics #
- When not to use CRDT
- CRDTs for Non Academics - YouTube
- An Interactive Intro to CRDTs | jakelazaroff.com
- Introduction to CRDTs | Zxch3n
- John Mumm - A CRDT Primer: Defanging Order Theory - YouTube
- dotJS 2019 - James Long - CRDTs for Mortals - YouTube
- Conflict-free replicated data type - Wikipedia
- CRDT Survey, Part 1: Introduction - Matthew Weidner (1/4: 4 part series)
- https://medium.com/@amberovsky/crdt-conflict-free-replicated-data-types-b4bfc8459d26
- “CRDTs Illustrated” by Arnout Engelen - YouTube
Ecosystem, Current state, Literature & Theory #
- https://crdt.tech/resources
- https://github.com/alangibson/awesome-crdt
- Foundational papers (see Zotero)
- CRDTs: The Hard Parts - YouTube
- BTD12: Automerge: Making Servers Optional for Real-Time Collaboration - YouTube
- Lars Hupel · An introduction to Conflict-Free Replicated Data Types · Part 1: Preliminaries (CRDT Math 1/8: 8 part series)
- Differential Synchronization - YouTube
- Readings in conflict-free replicated data types 🌟
CRDT in Production/practice #
- Building a Collaborative Pixel Art Editor with CRDTs | jakelazaroff.com
- Designing Data Structures for Collaborative Apps - Matthew Weidner
- “Consistency without consensus in production systems” by Peter Bourgon - YouTube
- CRDTs in Practice - Marc Shapiro & Nuno Preguiça - YouTube
- Ditto - Testing CRDTs in Rust, from theory to practice (Testing CRDTs)
CRDT Specifics #
-
CRDT types
-
Algorithms for CRDT
-
Eg-walker
-
List based CRDT / Causal Trees / RGA
Causal Trees is “RGA” (Replicated Growable Array).
-
Consistency
-
Consensus
-
Text
-
Rich Text
CRDT Optimizations #
- Making CRDTs 98% More Efficient | jakelazaroff.com
- CRDTs go brrr (this has changed now, yjs etc has rust implementation now)
HB24: Network Programming #
Network Programming wen #
- [-] Basics
- Unix Network Programming V1 (Book)
- Beej’s Guide to Network Concepts
- So you think you understand IP fragmentation? [LWN.net]
- OSI and TCP IP Models - Best Explanation - YouTube
- [-] Network Programming Self-Study 🌟
- Endianness, and why I don’t like htons(3) and friends | Lobsters
- Two File Descriptors for Sockets | Hacker News
- Modern communication: sockets
- GitHub - nguyenchiemminhvu/LinuxNetworkProgramming: A comprehensive guide for Linux Network (Socket) programming 🌟
- [-] Sockets
- [-] IP
- epoll
- TCP
- Basics
- Why you should understand (a little) about TCP
- What would happen if we didn’t use TCP or UDP? | Hacker News
- Networking 101: Building Blocks of TCP - High Performance Browser Networking (O’Reilly)
- Why TCP needs 3 handshakes | Hacker News
- The quantum state of a TCP port
- Linux Networking: How The Kernel Handles A TCP Connection - YouTube
- TCP is harder than it looks
- What developers should know about TCP | Hacker News
- TCP related development
- Issues related to TCP slowness
- Others
- Network Instrumentation and TCP File Descriptor Hijacking
- Why TCP Over TCP Is A Bad Idea
- The infamous falsehood article
- Falsehoods programmers believe about TCP | Hacker News
- Falsehoods programmers believe about TCP | Lobsters
- Answers the TCP packet or no question
- Basics
- UDP
- Userspace/Custom stack
- Go & Networking
- Introduction | ØMQ - The Guide
- [-] Virtual networking 101: Bridging the gap to understanding TAP 🌟
- I sent an Ethernet packet | Hacker News
🏜 HB16: Some Art & Craft is nice #
- Learn MagicaVoxel
- Pixel Art resources
- Paper Engineering
- Making Pop-Up Cards for Beginners (A course by Julia Yus , Graphic Designer)
- Share – Julia Yus (Resources)
- Draw
- Guitar & Music
- Woodwork get tools and find a mentor
HB:23: Electronics & Hardware #
Electrical Circuits #
Ohm law, Kirchoff Laws, transistor, OpAmp… etc
- [-] Practical Electronics for Inventors : Scherz, Paul, Monk, Simon: Amazon.in: Books
- The Art of Electronics 3rd Edition | by Horowitz and Hill (Note: This book is NOT beginner friendly)
- Choosing an op-amp for your project | Hacker News
- [-] What is Electricity?
- The Big Misconception About Electricity - YouTube
- How Wrong Is VERITASIUM? A Lamp and Power Line Story - YouTube
- Watch electricity hit a fork in the road at half a billion frames per second - YouTube
- How 3 Phase Power works: why 3 phases? - YouTube
- An intuitive approach for understanding lectricity
- https://lcamtuf.substack.com/p/but-good-sir-what-is-electricity
- What is Electricity?
- The significance of electricity
- Why does current flow the opposite way from the electrons? | Hacker News
Digital Circuits #
Logic gates to CPU and hands-on with FPGAs and Verilog or VHDL
Prototyping #
- [How to use a Breadboard. How do breadboards work? (2021) video ]
- Multimeter Usage
- Protocol Analyzer Usage
- Soldering usage
Micro-controllers #
Wireless #
- BLE, Wifi… and some IoT projects using nRF52 or ESP32 SoCs (DONT USE ARDUINO!)
- suggest using the nRF52x or nRF54x SoCs with nRF Connect SDK (based on
Zephyr RTOS) or ESP32 SoC (also withZephyr RTOS)
- Radio
- Ham Radio
- SDR
- Analog Radio
- Bluetooth
- WiFi
RTOS #
- Free RTOS, Zephyr RTOS
- Zephyr RTOS course: Nordic Semiconductor Online Learning Platform - Nordic Developer Academy
Design schematics & PCBs #
- As a Software Embedded Engineer you will not design electronic circuits and pcbs
- But you have to understand your board and schematics to program the microcontroller or SoC.
Embedded systems development #
Robotics #
note: RTOS and ROS totally different things.
- Micromouse | IEEE at UCLA Project Docs
- Robotics and ROS 2 Essentials (ROS is OK for learning, NOT OK for production)
- Robotics 101 at UMich: Applied numerical linear algebra as intro linear algebra (Learn LA first)
- Modern Robotics Videos - Northwestern Mechatronics Wiki
- Robot Academy
Processes & Control Systems & Mechanics #
- Table of Contents – Control Guru (Proven Methods and Best Practices for Automatic PID Control)
HB:24 Maker things #
Hardware Hacking #
- Home | MIT Secure Hardware Design
- Fixable products for India | fixable
- HardBreak - Hardware Hacking Wiki | HardBreak 🌟
- https://news.ycombinator.com/item?id=42672821 (Follow some of the advice and playlist in this thread)
- Hacker Fab Documentation | Hacker Fab
Prototyping/Fab #
3D Printing #
Basics #
- Types of 3D printer and 3D printing - Wikipedia
- Materials
- 3D Printer Anatomy: 50 parts in 5 minutes (Basics) - YouTube
- Bed Leveling
- https://www.reddit.com/r/3Dprinting/comments/cg3g6g/ive_made_an_infographicstyle_guide_to_leveling_a/#lightbox
- https://www.reddit.com/r/3Dprinting/comments/bb60k9/got_distracted_doing_level_tests_and_made_an/
- Best method for 3D printer bed levelling - YouTube
- https://www.reddit.com/r/BambuLab/comments/1dj1a69/a1_bed_levelingtramming_issue/
Modeling #
- Ask HN: How to produce a 3D scan of a car from a mobile phone? | Hacker News
- History of CAD | Hacker News
-
CAD
After considering FreeCAD, OnShape and Fusion360 and Plasticiy3D, I decided to go w Fusion360
- History of CAD | Hacker News
- Learn Autodesk Fusion 360 in 30 Days for Complete Beginners! 2023-23 EDITION - YouTube
- All New Fusion 360 for 3D Printing for Absolute Beginners. - YouTube
- Fusion 360 Forms Mastery - YouTube
- LEARN FUSION 360 FAST! A Beginner Tutorial [step by step instructions, no prior knowledge required] - YouTube