Skip to content

A log of things I'm learning

License

Notifications You must be signed in to change notification settings

amitness/learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 

Repository files navigation

learning

A running log of things I'm learning to build strong core software engineering skills while also expanding my knowledge of adjacent technologies a little bit everyday.

Updated: Once a month | Current Focus: Generative AI

Core Skills

Python Programming

Resource Progress
Datacamp: Writing Efficient Python Code βœ…
Datacamp: Writing Functions in Python βœ…
Datacamp: Object-Oriented Programming in Python βœ…
Datacamp: Intermediate Object-Oriented Programming in Python βœ…
Datacamp: Importing Data in Python (Part 1) βœ…
Datacamp: Importing Data in Python (Part 2) βœ…
Datacamp: Intermediate Python for Data Science βœ…
Datacamp: Python Data Science Toolbox (Part 1) βœ…
Datacamp: Python Data Science Toolbox (Part 2) βœ…
Datacamp: Developing Python Packages βœ…
Datacamp: Conda Essentials βœ…
Youtube: Tutorial: Sebastian Witowski - Modern Python Developer's Toolkit βœ…
Datacamp: Working with Dates and Times in Python βœ…
Datacamp: Command Line Automation in Python ⬜
Datacamp: Unit Testing for Data Science in Python βœ…
Book: Python 201 ⬜
Book: Writing Idiomatic Python 3 ⬜
Book: Test Driven Development with Python ⬜
Article: Python's many command-line utilities ⬜
Article: A Programmer’s Introduction to Unicode ⬜
Article: Introduction to Memory Profiling in Python βœ…
Article: Profiling Python code with memory_profiler βœ…
Article: How to Use "memory_profiler" to Profile Memory Usage by Python Code? βœ…

Data Structures and Algorithms

Resource Progress
Book: Grokking Algorithms βœ…
Book: The Tech Resume Inside Out βœ…
Neetcode: Algorithms and Data Structures for Beginners βœ…
Udacity: Intro to Data Structures and Algorithms βœ…

Linux & Command Line

Resource Progress
Datacamp: Introduction to Shell for Data Science βœ…
Datacamp: Introduction to Bash Scripting βœ…
Datacamp: Data Processing in Shell βœ…
MIT: The Missing Semester βœ…
Udacity: Linux Command Line Basics βœ…
Udacity: Shell Workshop βœ…
Udacity: Configuring Linux Web Servers βœ…

Version Control

Resource Progress
Udacity: Version Control with Git βœ…
Datacamp: Introduction to Git for Data Science βœ…
Udacity: GitHub & Collaboration βœ…
Udacity: How to Use Git and GitHub βœ…

Databases

Resource Progress
Udacity: Intro to relational database βœ…
Udacity: Database Systems Concepts & Design ⬜
Datacamp: Database Design ⬜
Datacamp: Introduction to Databases in Python ⬜
Datacamp: Intro to SQL for Data Science βœ…
Datacamp: Intermediate SQL ⬜
Datacamp: Joining Data in PostgreSQL ⬜
Udacity: SQL for Data Analysis ⬜
Datacamp: Exploratory Data Analysis in SQL ⬜
Datacamp: Applying SQL to Real-World Problems ⬜
Datacamp: Analyzing Business Data in SQL ⬜
Datacamp: Reporting in SQL ⬜
Datacamp: Data-Driven Decision Making in SQL ⬜
Datacamp: NoSQL Concepts ⬜
Datacamp: Introduction to MongoDB in Python ⬜

Backend Engineering

Resource Progress
Udacity: Authentication & Authorization: OAuth ⬜
Udacity: HTTP & Web Servers ⬜
Udacity: Client-Server Communication ⬜
Udacity: Designing RESTful APIs ⬜
Datacamp: Introduction to APIs in Python ⬜
Udacity: Networking for Web Developers ⬜

Production System Design

Resource Progress
Book: Designing Machine Learning Systems βœ…
Neetcode: System Design for Beginners βœ…
Neetcode: System Design Interview βœ…
Datacamp: Customer Analytics & A/B Testing in Python βœ…
Datacamp: A/B Testing in Python ⬜
Udacity: A/B Testing ⬜
Datacamp: MLOps Concepts βœ…
Datacamp: Machine Learning Monitoring Concepts βœ…

Maths

Resource Progress
Datacamp: Foundations of Probability in Python βœ…
Datacamp: Introduction to Statistics βœ…
Datacamp: Introduction to Statistics in Python βœ…
Datacamp: Hypothesis Testing in Python βœ…
Datacamp: Statistical Thinking in Python (Part 1) βœ…
Datacamp: Statistical Thinking in Python (Part 2) βœ…
Datacamp: Experimental Design in Python βœ…
Datacamp: Practicing Statistics Interview Questions in Python ⬜
edX: Essential Statistics for Data Analysis using Excel βœ…
Udacity: Intro to Inferential Statistics βœ…
MIT 18.06 Linear Algebra, Spring 2005 βœ…
Udacity: Eigenvectors and Eigenvalues βœ…
Udacity: Linear Algebra Refresher ⬜
Youtube: Essence of linear algebra ⬜

Basic Frontend Knowledge


HTML

Resource Progress
Codecademy: Learn HTML βœ…
Codecademy: Make a website βœ…
Article: Alternative Text ⬜

CSS

Resource Progress
Pluralsight: CSS Positioning βœ…
Pluralsight: Introduction to CSS βœ…
Pluralsight: CSS: Specificity, the Box Model, and Best Practices βœ…
Pluralsight: CSS: Using Flexbox for Layout βœ…
Code School: Blasting Off with Bootstrap βœ…
Pluralsight: UX Fundamentals βœ…
Codecademy: Learn SASS βœ…
CSS for Javascript Developers βœ…
Article: Create an illustration in Figma design βœ…
Book: Refactoring UI ⬜
Youtube: How to Make Your Website Not Ugly: Basic UX for Programmers ⬜

JavaScript

Resource Progress
Udacity: ES6 - JavaScript Improved βœ…
Udacity: Intro to Javascript βœ…
Udacity: Object Oriented JS 1 βœ…
Udacity: Object Oriented JS 2 βœ…
Udemy: Understanding Typescript βœ…
Codecademy: Learn JavaScript βœ…
Codecademy: Jquery Track βœ…
Pluralsight: Using The Chrome Developer Tools βœ…

Specialized Topics


Machine Learning

Resource Progress
Article: An overview of gradient descent optimization algorithms βœ…
Book: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition ⬜
Book: A Machine Learning Primer βœ…
Book: Make Your Own Neural Network βœ…
Book: Grokking Machine Learning βœ…
Book: The StatQuest Illustrated Guide To Machine Learning βœ…
Fast.ai: Practical Deep Learning for Coder (Part 1) βœ…
Fast.ai: Practical Deep Learning for Coder (Part 2) ⬜
Datacamp: Ensemble Methods in Python βœ…
Datacamp: Extreme Gradient Boosting with XGBoost ⬜
Datacamp: Clustering Methods with SciPy βœ…
Datacamp: Unsupervised Learning in Python βœ…
Udacity: Segmentation and Clustering βœ…
Datacamp: Intro to Python for Data Science βœ…
edX: Implementing Predictive Analytics with Spark in Azure HDInsight βœ…
Datacamp: Supervised Learning with scikit-learn βœ…
Datacamp: Machine Learning with Tree-Based Models in Python βœ…
Datacamp: Linear Classifiers in Python βœ…
Datacamp: Convolutional Neural Networks for Image Processing βœ…
Datacamp: Model Validation in Python βœ…
Datacamp: Hyperparameter Tuning in Python βœ…
Datacamp: HR Analytics in Python: Predicting Employee Churn βœ…
Datacamp: Predicting Customer Churn in Python βœ…
Datacamp: Dimensionality Reduction in Python βœ…
Datacamp: Preprocessing for Machine Learning in Python βœ…
Datacamp: Data Types for Data Science βœ…
Datacamp: Cleaning Data in Python βœ…
Datacamp: Feature Engineering for Machine Learning in Python βœ…
Datacamp: Predicting CTR with Machine Learning in Python βœ…
Datacamp: Intro to Financial Concepts using Python βœ…
Datacamp: Fraud Detection in Python βœ…
Karpathy: Neural Networks: Zero to Hero βœ…
Article: Weight Initialization in Neural Networks: A Journey From the Basics to Kaiming ⬜

Natural Language Processing

Resource Progress
Book: Natural Language Processing with Transformers βœ…
Stanford CS224U: Natural Language Understanding | Spring 2019 βœ…
Stanford CS224N: Stanford CS224N: NLP with Deep Learning | Winter 2019 βœ…
CMU: Low-resource NLP Bootcamp 2020 βœ…
CMU Multilingual NLP 2020 βœ…
Datacamp: Feature Engineering for NLP in Python βœ…
Datacamp: Natural Language Processing Fundamentals in Python βœ…
Datacamp: Regular Expressions in Python βœ…
Datacamp: RNN for Language Modeling βœ…
Datacamp: Natural Language Generation in Python βœ…
Datacamp: Building Chatbots in Python βœ…
Datacamp: Sentiment Analysis in Python βœ…
Datacamp: Machine Translation in Python βœ…
Article: The Unreasonable Effectiveness of Collocations ⬜
Article: FuzzyWuzzy: Fuzzy String Matching in Python βœ…
Article: Mamba Explained ⬜
Article: A Visual Guide to Mamba and State Space Models ⬜
Article: Quantization Fundamentals with Hugging Face βœ…

Generative AI


LLM Theory

Resource Progress
Article: SolidGoldMagikarp (plus, prompt generation) ⬜
DeepLearning.AI: Pretraining LLMs βœ…
DeepLearning.AI: How Diffusion Models Work ⬜
Karpathy: Intro to Large Language Models [1hr] βœ…
Karpathy: Let's build the GPT Tokenizer [2hr13m] βœ…
Karpathy: Let's reproduce GPT-2 (124M) [4hr1m] ⬜
Youtube: A Hackers' Guide to Language Models [1hr30m] βœ…
Youtube: 5 Years of GPTs with Finbarr Timbers ⬜
Article: Sampling for Text Generation ⬜
DeepLearning.AI: Reinforcement Learning from Human Feedback βœ…
Youtube: LLaMA explained: KV-Cache, Rotary Positional Embedding, RMS Norm, Grouped Query Attention, SwiGLU [1h10m] ⬜

Information Retrieval / RAG

Resource Progress
Pretrained Transformer Language Models for Search - part 1 ⬜
Pretrained Transformer Language Models for Search - part 2 ⬜
Pretrained Transformer Language Models for Search - part 3 ⬜
Pretrained Transformer Language Models for Search - part 4 ⬜
Understanding LanceDB's IVF-PQ index ⬜
A little pooling goes a long way for multi-vector representations βœ…
Fullstack Retrieval Course
Article: Levels of Complexity: RAG Applications βœ…
Article: Systematically Improving Your RAG ⬜
Article: Stop using LGTM@Few as a metric (Better RAG) ⬜
Article: Low-Hanging Fruit for RAG Search ⬜
Article: What AI Engineers Should Know about Search βœ…
Article: Evaluating Chunking Strategies for Retrieval ⬜
Article: Sentence Embeddings. Introduction to Sentence Embeddings ⬜
DeepLearning.AI: Building and Evaluating Advanced RAG Applications βœ…
DeepLearning.AI: Vector Databases: from Embeddings to Applications βœ…
DeepLearning.AI: Advanced Retrieval for AI with Chroma βœ…
DeepLearning.AI: Prompt Compression and Query Optimization βœ…
DeepLearning.AI: Large Language Models with Semantic Search [1hr] βœ…
DeepLearning.AI: Building Applications with Vector Databases βœ…
DeepLearning.AI: Building Multimodal Search and RAG ⬜
DeepLearning.AI: Knowledge Graphs for RAG ⬜
DeepLearning.AI: Functions, Tools and Agents with LangChain ⬜
DeepLearning.AI: Building Agentic RAG with LlamaIndex ⬜
DeepLearning.AI: Multi AI Agent Systems with crewAI ⬜
DeepLearning.AI: AI Agentic Design Patterns with AutoGen ⬜
DeepLearning.AI: AI Agents in LangGraph ⬜
DeepLearning.AI: Building Your Own Database Agent ⬜
DeepLearning.AI: Preprocessing Unstructured Data for LLM Applications ⬜
DeepLearning.AI: Embedding Models: From Architecture to Implementation βœ…
Pinecone: Vector Databases in Production for Busy Engineers ⬜
Pinecone: Retrieval Augmented Generation ⬜
Pinecone: LangChain AI Handbook ⬜
Pinecone: Embedding Methods for Image Search ⬜
Pinecone: Faiss: The Missing Manual ⬜
Pinecone: Vector Search in the Wild ⬜
Pinecone: Natural Language Processing for Semantic Search ⬜
Youtube: Systematically improving RAG applications βœ…
Youtube: Back to Basics for RAG w/ Jo Bergum βœ…
Youtube: Beyond the Basics of Retrieval for Augmenting Generation (w/ Ben ClaviΓ©) βœ…
Youtube: RAG From Scratch 0/14
Article: LambdaMART in Depth ⬜
Article: Guided Generation with Outlines βœ…

Prompt Engineering

Resource Progress
Article: OpenAI Prompt Engineering ⬜
Article: Prompting Fundamentals and How to Apply them Effectively βœ…
Anthropic Courses ⬜
Article: Prompt Engineering(Liliang Weng) βœ…
Article: Prompt Engineering 201: Advanced methods and toolkits βœ…
Article: Optimizing LLMs for accuracy βœ…
Article: Primers β€’ Prompt Engineering ⬜
Article: Anyscale Endpoints: JSON Mode and Function calling Features ⬜
Article: Guided text generation with Large Language Models ⬜
Article: GPT-4 Vision Alternatives ⬜
DeepLearning.AI: ChatGPT Prompt Engineering for Developers ⬜
DeepLearning.AI: Prompt Engineering for Vision Models ⬜
DeepLearning.AI: Prompt Engineering with Llama 2 & 3 ⬜
Wandb: LLM Engineering: Structured Outputs ⬜
DeepLearning.AI: Function-Calling and Data Extraction with LLMs ⬜
Series: Prompt injection ⬜
Youtube: Prompt Engineering Overview [1hr4m] βœ…
Youtube: Structured Generation with LLMs ⬜

LLMOps

Resource Progress
Article: Patterns for Building LLM-based Systems & Products βœ…
Article: Emerging Architectures for LLM Applications βœ…
Article: How to make LLMs go fast ⬜
Article: In the Fast Lane! Speculative Decoding - 10x Larger Model, No Extra Cost ⬜
Article: Harmonizing Multi-GPUs: Efficient Scaling of LLM Inference ⬜
Article: Multi-Query Attention is All You Need ⬜
Article: Transformers Inference Optimization Toolset ⬜
DeepLearning.AI: Efficiently Serving LLMs βœ…
DeepLearning.AI: Automated Testing for LLMOps βœ…
DeepLearning.AI: Red Teaming LLM Applications βœ…
DeepLearning.AI: Evaluating and Debugging Generative AI Models Using Weights and Biases ⬜
DeepLearning.AI: Quality and Safety for LLM Applications ⬜
DeepLearning.AI: LLMOps ⬜
DeepLearning.AI: Serverless LLM apps with Amazon Bedrock ⬜
DeepLearning.AI: Quantization in Depth ⬜
DeepLearning.AI: Introduction to On-Device AI ⬜
Article: A Visual Guide to Quantization ⬜
Article: QLoRA and 4-bit Quantization ⬜
Article: Understanding AI/LLM Quantisation Through Interactive Visualisations ⬜
Article: LLM Inference Series: 3. KV caching explained ⬜
Article: LLM Inference Series: 4. KV caching, a deeper look ⬜
Article: LLM Inference Series: 5. Dissecting model performance ⬜
Youtube: SBTB 2023: Charles Frye, Parallel Processors: Past & Future Connections Between LLMs and OS Kernels ⬜
Article: Transformer Inference Arithmetic ⬜

Building LLM-based Systems

Resource Progress
Article: What We’ve Learned From A Year of Building with LLMs ⬜
Article: How to Generate and Use Synthetic Data for Finetuning βœ…
Article: Your AI Product Needs Evals βœ…
Article: Task-Specific LLM Evals that Do & Don't Work βœ…
Article: Data Flywheels for LLM Applications ⬜
Article: LLM From the Trenches: 10 Lessons Learned Operationalizing Models at GoDaddy βœ…
Article: Evaluation & Hallucination Detection for Abstractive Summaries βœ…
Article: Emerging UX Patterns for Generative AI Apps & Copilots βœ…
Article: The Novice's LLM Training Guide ⬜
Article: Pushing ChatGPT's Structured Data Support To Its Limits βœ…
Article: GPTed: using GPT-3 for semantic prose-checking βœ…
Article: Don't worry about LLMs ⬜
DeepLearning.AI: Finetuning Large Language Models βœ…
DeepLearning.AI: Building Systems with the ChatGPT API ⬜
DeepLearning.AI: LangChain for LLM Application Development ⬜
DeepLearning.AI: LangChain: Chat with Your Data ⬜
DeepLearning.AI: Building Generative AI Applications with Gradio βœ…
DeepLearning.AI: Open Source Models with Hugging Face ⬜
DeepLearning.AI: Getting Started with Mistral ⬜
Datacamp: Developing LLM Applications with LangChain ⬜
LLMOps: Building with LLMs ⬜
LLM Bootcamp - Spring 2023 βœ…
Youtube: A Survey of Techniques for Maximizing LLM Performance βœ…
Youtube: Building Blocks for LLM Systems & Products: Eugene Yan βœ…
Youtube: Fine Tuning OpenAI Models - Best Practices βœ…
Youtube: Course: LLM Fine-Tuning w/Axolotl 0/4
Youtube: Fine-Tuning LLMs 1/5
Youtube: LLM Evals 0/5
Youtube: Building LLM Applications 0/8

Technical Skills (Libraries/Frameworks/Tools)

AWS

Resource Progress
Udemy: AWS Certified Developer - Associate 2018 βœ…

Django

Resource Progress
Article: Django, HTMX and Alpine.js: Modern websites, JavaScript optional βœ…

Matplotlib

Resource Progress
Datacamp: Introduction to Seaborn βœ…
Datacamp: Introduction to Matplotlib βœ…

MLFlow

Resource Progress
Datacamp: Introduction to MLFlow βœ…

Nexxt.JS

Resource Progress
Docs: Start building with Next.js

Pandas

Resource Progress
Datacamp: Pandas Foundations βœ…
Datacamp: Pandas Joins for Spreadsheet Users βœ…
Datacamp: Manipulating DataFrames with pandas βœ…
Datacamp: Merging DataFrames with pandas βœ…
Datacamp: Data Manipulation with pandas βœ…
Datacamp: Optimizing Python Code with pandas βœ…
Datacamp: Streamlined Data Ingestion with pandas βœ…
Datacamp: Analyzing Marketing Campaigns with pandas βœ…
Datacamp: Analyzing Police Activity with pandas βœ…

PyTorch

Resource Progress
Article: PyTorch internals ⬜
Article: Taking PyTorch For Granted ⬜
Datacamp: Introduction to Deep Learning with PyTorch βœ…
Datacamp: Intermediate Deep Learning with PyTorch ⬜
Datacamp: Deep Learning for Text with PyTorch ⬜
Datacamp: Deep Learning for Images with PyTorch ⬜
Deeplizard: Neural Network Programming - Deep Learning with PyTorch βœ…

ReactJS

Resource Progress
Codecademy: Learn ReactJS: Part I βœ…
Codecademy: Learn ReactJS: Part II βœ…
NexxtJS: React Foundations ⬜

Spacy

Resource Progress
Datacamp: Advanced NLP with spaCy βœ…

Tensorflow & Keras

Resource Progress
Datacamp: Introduction to TensorFlow in Python βœ…
Datacamp: Deep Learning in Python βœ…
Datacamp: Introduction to Deep Learning with Keras βœ…
Datacamp: Advanced Deep Learning with Keras βœ…
Deeplizard: Keras - Python Deep Learning Neural Network API βœ…
Udacity: Intro to TensorFlow for Deep Learning βœ