Learning Resources
A curated collection of courses, papers, and resources for learning programming, system design, and AI.
Algorithms
[4]Abdul Bari - Algorithms
Comprehensive algorithms course covering fundamentals
Algorithms & Data Structures
Full course on algorithms and data structures
Stony Brook Algorithm Videos
Steven Skiena's algorithm lecture videos
LeetCode-Swift
LeetCode solutions in Swift with explanations
System Design
[4]Hints for Computer System Design
Butler Lampson's classic paper on system design principles
System Design Cheatsheet
Comprehensive system design interview preparation
System Design Resources
Curated list of system design resources
System Design Primer
Learn how to design large-scale systems
Courses
[7]Full Stack Open
Deep dive into modern web development
MDN Web Curriculum
Mozilla's structured path for web developers
GreatFrontEnd
Frontend interview preparation platform
Patterns.dev
Modern web app design patterns
AI Agents for Beginners
Microsoft's course on building AI agents
AI Crash Course
Accelerated introduction to AI concepts
ChatGPT Prompt Engineering
DeepLearning.AI course on prompt engineering
Books
[2]iOS
[3]AI
[13]AI & Machine Learning Overview
Comprehensive introduction to AI/ML
ML Career Advice
Lessons learned in a machine learning career
Introduction to CUDA Programming
GPU programming fundamentals with CUDA
Ultra-Scale Playbook
Training LLMs on GPU clusters
Train Reasoning Models with GRPO
Tutorial on training reasoning models
Awesome LLM
Curated list of LLM resources
Attention Is All You Need
The original Transformer paper
arXiv 2502.03387
arXiv 2502.08606
arXiv 2501.09223
Scaling Laws for Neural LMs
OpenAI's scaling laws research
arXiv 2312.04511
arXiv 2303.06689
Others
[12]Awesome CTO
Resources for Chief Technology Officers
NixOS Learn
Learn the Nix package manager and NixOS
XFaaS: Serverless at Meta
Hyperscale serverless functions paper
The Chubby Lock Service
Google's distributed lock service
The Google File System
GFS architecture and design
Cassandra Paper
Decentralized structured storage system
Scaling Memcache at Facebook
Facebook's memcache architecture
Kafka Paper
Distributed messaging for log processing
Amazon Dynamo
Highly available key-value store
Google Dapper
Large-scale distributed tracing
Pregel
Large-scale graph processing system
Google Napa
Scalable data warehousing at Google