Tech with Mak (@techNmak) header
Tech with Mak (@techNmak) profile picture

AI, coding, software, and whateverโ€™s on my mind.

๐Ÿ“ฉ for collaboration
Joined July 2024
Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)Photo by Tech with Mak (@techNmak)
Tech with Mak retweeted
Claude Code can now preview what a knowledge graph change will make true before it ships. Fabio Rovai has open-sourced Open Ontologies, a Rust-based engine that brings Terraform-style change management, semantic reasoning, and independently checkable proofs to knowledge graphs. The idea is to treat ontologies as production infrastructure rather than static files that AI agents can freely modify. Through MCP, agents such as Claude Code and Cursor can build and query ontologies, validate constraints, propose changes, inspect their consequences, and roll back updates. The repository also includes a pipeline for turning structured data into knowledge graphs. It can ingest CSV, Excel, JSON, Parquet, and SQL query results, map them into RDF, validate them with SHACL, and derive additional relationships through reasoning. But the change-management system is where the engineering becomes particularly interesting. A normal Git diff tells you which statements changed. It cannot tell you every new logical conclusion those statements make possible. The repository demonstrates this with a single RDF domain declaration. The structural blast-radius report shows zero affected triples and a low risk score. Yet OWL reasoning discovers 901 additional consequences. Open Ontologies detects that semantic change before the proposed update is applied. There's also a separate verification mechanism. For supported inferences, the engine produces derivation certificates containing the original premises, the applied rules, and the resulting conclusions. An independent Lean 4 checker verifies those certificates without trusting the Rust reasoning engine. The repository demonstrates this with 259 certified inferences and a deliberately forged conclusion that the checker rejects. The distinction matters. The proof establishes that a conclusion follows from the supplied facts and rules. It doesn't establish that the original facts are true. Open Ontologies also supports drift detection, rollback, historical evidence, and checks that determine whether a retrieved knowledge-graph subset still supports particular claims. The entire engine is open source, MIT licensed, and available as a standalone Rust binary. A pure-Python implementation is also available. For AI systems that maintain structured knowledge over time, the challenge isn't simply retrieving the right information. It's controlling what changes, understanding the consequences, and preserving evidence that another system can verify. Here's the GitHub Repo: github.com/fabio-rovai/open-โ€ฆ
27
68
4
786
38,049
Tech with Mak retweeted
This 12.5K-star GitHub repo is basically an entire LLM engineering course hiding inside one codebase. It starts with raw text and builds a Transformer in plain PyTorch, then keeps going through pretraining, supervised fine-tuning, reward modeling, preference optimization and reinforcement learning. The repository implements: โ†’ Tokenization, attention, Transformer blocks and pretraining โ†’ SFT with assistant-token loss masking โ†’ Bradley-Terry reward modeling from preference pairs โ†’ DPO, ORPO and KTO for preference optimization โ†’ PPO with a value head and Generalized Advantage Estimation โ†’ GRPO with group-relative rewards and GSM8K evaluation These aren't just disconnected implementations. The post-training methods build around the same underlying Transformer, so you can examine how the training objectives, reward calculations and optimization loops change at each stage. There's also a modern architecture implementation covering RoPE, RMSNorm, SwiGLU, GQA, MLA, optional Mixture-of-Experts and KV caching. The repository even includes a 369K-parameter model trained on TinyStories in approximately five minutes on the author's laptop CPU, with a small BPE tokenizer built from scratch. That's a small educational pretraining experiment. Larger models and the full post-training pipeline require considerably more compute. Everything comes with runnable training scripts, tests, evaluation tools, documentation and a Streamlit control panel. Fully open source. Here's the GitHub Repo: github.com/FareedKhan-dev/trโ€ฆ
12
96
3
658
24,557
Tech with Mak retweeted
Stanford put its entire LLM engineering course on YouTube. The homework includes writing FlashAttention in Triton. Its called CS336: Language Modeling from Scratch, taught by Percy Liang and Tatsunori Hashimoto. The Spring 2026 course covers the complete process of building and training language models, including the systems engineering required to make them efficient. The lectures cover: โ†’ Tokenization and Transformer architectures โ†’ Attention alternatives and Mixture of Experts โ†’ GPU architecture, memory and compute โ†’ Triton kernels and FlashAttention โ†’ Distributed training and parallelism โ†’ Scaling laws and inference optimization โ†’ Pretraining data pipelines and evaluation โ†’ Supervised fine-tuning, RLHF and reasoning RL But the assignments are where this course becomes particularly valuable. Students implement their own tokenizer, Transformer and optimizer before training a small language model. They then profile the implementation, write FlashAttention-2 in Triton, and develop memory-efficient distributed training. Later assignments involve fitting scaling laws, processing raw Common Crawl data, implementing filtering and deduplication, and using supervised fine-tuning and reinforcement learning to train models for mathematical reasoning. Stanford provides minimal scaffolding and even recommends disabling AI autocomplete during the assignments so students actually understand the code they're writing. The full lecture playlist, assignment handouts and lecture materials are publicly available. Some practical exercises require GPU compute. For ML engineers who want to understand the full stack, from training data and attention kernels to inference and post-training, this is an excellent course to work through. YouTube Playlist: youtube.com/playlist?list=PLโ€ฆ Course & Assignments: cs336.stanford.edu/ Lecture Code: github.com/stanford-cs336/leโ€ฆ
8
52
3
307
10,229
Tech with Mak retweeted
The ฯ€ in the normal distribution has a geometric origin. It comes from a famous mathematical result known as the Gaussian integral. โˆซโ‚‹โˆž^โˆž e^(โˆ’xยฒ) dx = โˆšฯ€ The interesting part is that e^(โˆ’xยฒ) has no elementary antiderivative. Yet its integral over the entire real line can be calculated exactly. The solution involves turning a one-dimensional integration problem into a two-dimensional one. The resulting function, e^(โˆ’(xยฒ+yยฒ)), has circular symmetry, and polar coordinates reveal where ฯ€ enters the calculation. This result is fundamental to probability theory. The familiar factor 1/(ฯƒโˆš(2ฯ€)) in the normal distribution comes from the same integral. It ensures that the total probability across all possible values is exactly 1. But its applications extend well beyond statistics. In engineering, Gaussian distributions are commonly used to model measurement errors and noise. With independent, zero-mean Gaussian errors of equal variance in an additive-error model, maximum-likelihood estimation is equivalent to minimizing the sum of squared residuals. Gaussian functions also appear in heat diffusion, where they describe how an initially concentrated point source spreads through an unbounded, homogeneous medium. In Fourier analysis, the transform of a Gaussian is another Gaussian, up to scaling. This property is useful in signal processing and image filtering. The same mathematical function connects probability distributions, statistical estimation, heat transfer, and frequency analysis. And the โˆšฯ€ in its integral ultimately comes from the geometry of the plane.
15
91
4
585
22,174
Tech with Mak retweeted
Learn Harness Engineering ๐Ÿš€ Found this excellent open-source course by Walking Labs, covering 14 lectures and 8 hands-on projects on building more reliable AI coding agents. What's inside: โ†’ Agent instructions (AGENTS.md / CLAUDE.md) โ†’ Context management and persistent memory โ†’ Multi-session continuity and state tracking โ†’ Task boundaries and scope control โ†’ Testing, verification, and observability โ†’ Automated agent loops and workflows โ†’ Multi-agent orchestration and graph engineering The practical projects walk you through building a complete agent harness, comparing prompt-only execution with structured workflows. Also includes ready-to-use templates, verification scripts, and a harness-creator skill. Perfect for developers working with Claude Code, Codex, and other AI coding agents who want to understand the engineering behind reliable agent execution. Completely free. Here's the GitHub Repo: github.com/walkinglabs/learnโ€ฆ
41
220
6
1,144
45,181
Tech with Mak retweeted
Someone put 542 AI engineering lessons on GitHub, and I really like the way this curriculum teaches. You build the underlying algorithm yourself before moving to the production library. โ†’ Backpropagation from the math. โ†’ A BPE tokenizer from scratch. โ†’ Self-attention and transformers. โ†’ An AI agent loop with tool calling. Then you work with the libraries that implement the same ideas. It's called AI Engineering from Scratch, and it covers 20 phases, from mathematics and deep learning to LLM engineering, inference optimization, RAG, MCP, AI agents, and production systems. The lessons follow a consistent structure: MOTTO โ†’ PROBLEM โ†’ CONCEPT โ†’ BUILD IT โ†’ USE IT โ†’ SHIP IT There are some excellent engineering projects, too. โ†’ Build a retrieval evaluator that catches ranking regressions. โ†’ Build an agent trace debugger in TypeScript. โ†’ Build a tool-call firewall in Rust. The repository includes runnable code, exercises, tests, and reusable agent skills. You can also install the curriculum directly into Claude Code or Codex and use your coding agent as a tutor. It starts with a 10-question placement quiz, creates a personalized learning plan, and guides you through lessons with explanations, code, and quizzes. Install: npx skills add rohitg00/ai-engineering-from-scratch There are also six downloadable PDF/EPUB volumes, with implementations across Python, TypeScript, Rust, and Julia. Completely free. MIT licensed. Over 69,000 GitHub stars. github.com/rohitg00/ai-enginโ€ฆ
49
71
4
461
16,520
Tech with Mak retweeted
Today we're announcing @metalraise $4.5M Seed Round, led by @a16z @speedrun / @ycombinator. With participation from @pioneer_fund, Rebel Fund, @gaingelsvc, @indusvalleycap, @teamignitevc, @PhazeVentures and others. In less than a year of launch, and with six consecutive quarters of 30-80% q/q growth, Metal is tracking for multi-million annual revenue run rate by the end of FY2026. The core missing infrastructure in private markets has been an investor memory layer, an effort that we've been working on for three years. Today, for the first time, we are publishing our thesis on how private markets will evolve in the years ahead. See press release in comments below!
68
37
26
423
595,112
Tech with Mak retweeted
A curated list of 25 LLM foundations interview questions. What's covered Core mechanics: โ†’ What happens from input text to first output token โ†’ Autoregressive modeling and chain-rule decomposition โ†’ Logits, softmax, and how probabilities are formed Decoding & training objective: โ†’ Greedy decoding vs temperature, top-k, top-p โ†’ Cross-entropy loss and why it's the natural LM objective โ†’ Perplexity, and why lower perplexity โ‰  better assistant Tokenization: โ†’ Why LLMs don't just operate on words โ†’ BPE vs WordPiece vs Unigram vs SentencePiece โ†’ Vocabulary size trade-offs โ†’ Special tokens (BOS/EOS/chat templates) and why misuse hurts performance Context & representations: โ†’ Token embeddings vs contextual hidden states vs retrieval embeddings โ†’ What actually consumes the context window โ†’ Why "fits in context" โ‰  "used reliably" (Lost in the Middle) Prompting & architectures: โ†’ Zero-shot / one-shot / few-shot prompting โ†’ In-context learning vs fine-tuning โ†’ Encoder-only vs decoder-only vs encoder-decoder โ†’ Causal vs masked language modeling โ†’ Base models vs instruction-tuned/chat models Scaling & failure modes: โ†’ Parameter count, what it does and doesn't tell you โ†’ Neural scaling laws (Kaplan et al.) โ†’ The Chinchilla compute-optimal insight โ†’ Data quality/dedup vs raw token count โ†’ Memorization vs generalization โ†’ Why fluent answers can still be wrong Every answer is grounded in the actual papers (Vaswani, Brown, Devlin, Kaplan, Hoffmann, Lee, Liu, Carlini).
10
39
2
231
61,339
Tech with Mak retweeted
Jay Alammar is the best teacher in AI. Period. If you have ever seen "The Illustrated Transformer," you know his diagrams are legendary. He also open-sourced the entire codebase for his O'Reilly book: Hands-On Large Language Models. Itโ€™s effectively a visual masterclass in LLMs for free. Chapter 1: Introduction to Language Models Chapter 2: Tokens and Embeddings Chapter 3: Looking Inside Transformer LLMs Chapter 4: Text Classification Chapter 5: Text Clustering and Topic Modeling Chapter 6: Prompt Engineering Chapter 7: Advanced Text Generation Techniques and Tools Chapter 8: Semantic Search and Retrieval-Augmented Generation Chapter 9: Multimodal Large Language Models Chapter 10: Creating Text Embedding Models Chapter 11: Fine-tuning Representation Models for Classification Chapter 12: Fine-tuning Generation Models I will put the repo link in the comments.
15
99
3
590
29,462
Tech with Mak retweeted
The ultimate AI/ML learning stack. From fundamentals to production systems. 20 books. 5 categories. ๐Ÿ“š Fundamentals: โ†’ Hands-On ML with Scikit-Learn, Keras & TensorFlow (Gรฉron) โ†’ Data Engineering with Python โ†’ Storytelling with Data (Knaflic) ๐Ÿ“š Time Series: โ†’ Modern Time Series Forecasting with Python โ†’ Applied Time Series Analysis and Forecasting ๐Ÿ“š System Design: โ†’ Designing Machine Learning Systems (Huyen) โ†’ AI Engineering (Huyen) โ†’ Solutions Architect's Handbook โ†’ Practical ML for Computer Vision ๐Ÿ“š GenAI: โ†’ LLM Design Patterns (Ken Huang) โ†’ Generative AI with LangChain โ†’ Generative Deep Learning (O'Reilly) โ†’ AI Agents in Practice โ†’ Architecting AI Software Systems ๐Ÿ“š Product/Strategy: โ†’ The Profitable AI Advantage โ†’ Your AI Survival Guide โ†’ Reimagined: Building Products with Generative AI Bookmark this stack.
11
94
2
679
18,597
Tech with Mak retweeted
The ultimate backbone for AI web agents just hit 72.9k stars. One framework. Handles everything. Works everywhere. โ†’ Single HTTP requests โ†’ Concurrent Spider crawls โ†’ Cloudflare bypass โ†’ CLI extraction โ†’ MCP Server What is adaptive scraping? AI agents are smart but their web tools are brittle. They don't know how to handle Turnstile captchas. They crash when a website renames its CSS classes. Scrapling is a framework built to handle that. One library = broad web access, built for reliability. Every layer of the stack is covered: โ†’ Stealth (TLS fingerprinting, header spoofing) โ†’ Parsing (relocates elements when UI changes) โ†’ Routing (mix fast HTTP with headless browsers) โ†’ Speed (10x faster JSON serialization) Install: pip install "scrapling[ai]" then scrapling install to grab the browser dependencies. Then: connect the MCP server to Claude or Cursor. Your AI agent just got faster, more resilient access to the web, token-efficient by design. (GitHub repo in comments)
4
3
15
1,184
Tech with Mak retweeted
"Do not learn to code" is the worst career advice of the decade. People are telling college students to skip Computer Science because AI will just automate it all. Andrew Ng just killed this myth at Stanford with a brilliant analogy. When he tried to generate images with Midjourney, he typed: "make pretty pictures of robots" and got garbage. His collaborator, however, understood Art History. He knew the exact vocabulary of lighting, genre, and palette. He spoke the "language of art," and generated masterpieces. Andrew Ng is seeing the exact same thing happen in software engineering right now. AI didn't replace the need to understand Computer Science. It made Computer Science the required vocabulary to control the AI. If you don't understand how computers actually work, you are just typing "make a pretty app" into Cursor and shipping fragile, unscalable logic. Here is Andrew Ng's exact hiring hierarchy today: Level 1: 10 years of experience, but codes by hand (He won't hire them). Level 2: Fresh college grad, but highly fluent in AI-assisted coding (He hires them over the 10-year veteran). Level 3 (God Tier): Deeply understands CS fundamentals AND uses AI-assisted coding. When humanity went from punch cards to keyboards, coding got easier, and more people coded. We are at that exact inflection point again. AI doesn't replace fundamentals. It multiplies them.
82
277
31
1,619
92,935
Tech with Mak retweeted
We saved $260M in cash for cos. like Meta, Unilever, and J&J by finding baseless charges across 19M+ invoices. Now, we've raised $75M to extend our guarantee: if we can't find $500K in overpaid invoices, we'll pay you $10K. Book a demo: hubs.li/Q04qP6lp0 ------------------------ How it works โฌ‡๏ธ PROBLEM: A Fortune 500 gets a million invoices a year. Most of them are for a couple hundred dollars. Checking one properly means opening the contract, pulling the rate card, matching the PO, and hunting down the bill of lading that proves the shipment moved the way the carrier says it did. All of that work to defend $200. So nobody does it. The pile goes to a human. The human audits only a sample (12%) and pays the rest (88%) blindly. That's where the money goes. At a pharma co, we found an uncontracted surcharge billed across global carriers for two years. $26M nobody questioned, because every individual line looked ordinary. Each surcharge is small enough that escalating it costs more than paying it. And there are a million of them. ------------------------ SOLUTION: Freehandโ€™s AI reads everything: every line of every invoice, against every contract, rate card, transaction data, bill of lading, warehouse record, time sheet, and email exchange between you and the supplier. It also analyses every past invoice, and transaction data with that supplier, ever. It holds all of this knowledge in a Context Graph. When an invoice arrives, it knows what you should pay, what actually shipped, if the service was delivered or not, what the SLA was, and what this supplier billed you for the same service last quarter. Then it proactively: > writes up the dispute with the evidence attached > emails the supplier > calls her when the email goes quiet > Slacks your purchases team for more information > Follows up until the invoice comes back corrected. > Approves the correct invoice > Pays it across different currencies and tax structures > And accrues the right amount to your general ledger Freehandโ€™s will do all of that to recover $20, because it is doing it across all millions of invoices at the same time, saving 5-10% of company spend with 100% SOX compliance and auditability. ------------------------- ๐Ÿšจ RT + reply "FREEHAND" and we'll send you the AI upskilling guide that's already helped 750+ displaced workers move into more secure, higher-paying AI-native roles through Freehand's Transition Bootcamp.
318
300
110
1,229
1,234,246
Tech with Mak retweeted
Build Deep Learning from Scratch ๐Ÿง  One of the most famous deep learning playlists, 26 lectures covering deep learning from first principles. What's inside: โ†’ Neurons and how they learn โ†’ Backpropagation, derived by hand โ†’ CNNs, RNNs, LSTMs โ†’ Transformers and self-attention โ†’ Optimizers, autoencoders, GANs and more. Good for anyone who wants to actually understand the math behind modern AI. ๐Ÿ”— Playlist link in comments
4
74
318
11,060
Tech with Mak retweeted
In 1683, a Swiss mathematician named Jacob Bernoulli asked a simple question about money. If you deposit $1 at 100% annual interest, what happens if you compound it more and more frequently? Once a year โ†’ $2.00 Twice a year โ†’ $2.25 Monthly โ†’ $2.613... Daily โ†’ $2.714... The more frequently you compound, the higher it goes, but it never grows without limit. It converges. Bernoulli proved that limit exists: e = lim (1 + 1/n)โฟ as nโ†’โˆž He couldn't calculate it exactly, but showed it had to fall between 2 and 3. That limit is e โ‰ˆ 2.71828... He didn't name it. Fifty years later, Leonhard Euler calculated it to 18 decimal places, and the letter e stuck - appearing first in Euler's letter to Goldbach in 1731. Why e is special: e is the only number where the exponential function eหฃ is its own derivative. That one property sounds abstract. In practice it means: when you differentiate eหฃ, you get eหฃ back. The rate of change equals the value itself. This makes the calculus clean. No extra constants, no messy chain rule artifacts. And clean calculus is everything when you're training a neural network through millions of gradient updates. Where e lives in every AI system you build: 1/ Sigmoid function the S-shaped function that maps any real number to a value between 0 and 1. ฯƒ(x) = 1 / (1 + eโปหฃ) Used in logistic regression and binary classification. e is what makes its derivative expressible in terms of itself - ฯƒ'(x) = ฯƒ(x) ยท (1 - ฯƒ(x)), which keeps backpropagation computationally clean. 2/ Softmax the function that converts raw model output scores (logits) into a probability distribution across multiple classes. softmax(xแตข) = eหฃโฑ / ฮฃeหฃสฒ Every token probability your LLM produces passes through this. e is used because it keeps all values positive and makes the gradients during training well-behaved. 3/ Cross-entropy loss the loss function used to train most classifiers and language models. It uses the natural logarithm (ln), which is the inverse of e. The full picture: A banker's question in 1683 โ†’ a universal mathematical constant โ†’ the backbone of every neural network trained today. Bernoulli was thinking about interest rates. He had no idea he was laying the foundation for gradient descent. That's what makes pure mathematics dangerous. It doesn't look useful until suddenly it's everywhere.
17
175
4
909
35,758
Tech with Mak retweeted
life before this tweet:
today we launched ChatGPT. try talking with it here: chat.openai.com
10
36
1
388
70,116
Tech with Mak retweeted
This math sits underneath every AI model being trained right now. Gradient. Jacobian. Hessian. Three words that look intimidating at first. But they are really just three ways of measuring change. ๐Ÿญ. ๐—š๐—ฟ๐—ฎ๐—ฑ๐—ถ๐—ฒ๐—ป๐˜ โˆ‡f Takes a scalar function: f : โ„โฟ โ†’ โ„ Returns a vector of first-order partial derivatives. It answers: "Which direction makes f increase fastest?" That is why gradients are central to optimization. Gradient descent moves in the opposite direction because the gradient points uphill. Backpropagation efficiently computes gradients during training. ๐Ÿฎ. ๐—๐—ฎ๐—ฐ๐—ผ๐—ฏ๐—ถ๐—ฎ๐—ป J_F Takes a vector-valued function: F : โ„โฟ โ†’ โ„แต Returns an m ร— n matrix of first-order partial derivatives. It answers: "How does each output change with each input?" The Jacobian is the local linear map of a vector-valued function. It shows up in: โ†’ sensitivity analysis โ†’ change of variables โ†’ automatic differentiation โ†’ forward-mode AD โ†’ reverse-mode AD / backpropagation In simple terms: forward-mode AD uses Jacobian-vector products. reverse-mode AD uses vector-Jacobian products. ๐Ÿฏ. ๐—›๐—ฒ๐˜€๐˜€๐—ถ๐—ฎ๐—ป H_f Takes a scalar function: f : โ„โฟ โ†’ โ„ Returns an n ร— n matrix of second-order partial derivatives. It answers: "How does the gradient itself change?" That means the Hessian measures curvature. When the second partial derivatives are continuous, the Hessian is symmetric. At a critical point: โ†’ positive definite Hessian โ†’ strict local minimum โ†’ negative definite Hessian โ†’ strict local maximum โ†’ indefinite Hessian โ†’ saddle point The clean mental model Gradient = first derivatives of one output โ†’ tells you direction Jacobian = first derivatives of many outputs โ†’ tells you sensitivity Hessian = second derivatives of one output โ†’ tells you curvature And the relationship between them is simple: The Hessian is the Jacobian of the gradient. For a scalar output, the Jacobian contains the same partial derivatives as the gradient, up to row/column convention. Same idea: measure change. Different object: direction, sensitivity, curvature. Once this clicks, optimization stops looking like a pile of formulas. It starts looking like a map of the problem.
16
194
6
961
29,769
Tech with Mak retweeted
Hi, I'm RC. I built Kimi CLI at Moonshot last year, and back in 2015, bots that lived in group chats. For the past four months, I've been building Raft in public. Today I'm launching Raft 1.0. Right now, working with agents means juggling terminals, sessions, and skills. The more you run, the more you end up holding it all together yourself, and the easier it is to lose the thread. Raft puts your agents in team mode: one workspace where working with agents feels like messaging your team. The work keeps moving, and you stay at the wheel. Meet my Raft agent team๐Ÿ‘‡
170
144
114
1,022
900,676
Tech with Mak retweeted
I want to highlight a resource that I think is genuinely valuable for anyone learning machine learning: ML-From-Scratch. Most of us learn ML by using libraries like scikit-learn or PyTorch, which is the right way to build things quickly, but it can leave gaps in understanding why an algorithm works. This repository takes the opposite approach => every algorithm is implemented in plain NumPy, prioritizing clarity over performance, so you can trace the underlying math directly. It covers a wide range of the curriculum you'd expect to see in an ML course - linear and logistic regression, decision trees, random forest, gradient boosting, XGBoost, SVM, and naive bayes on the supervised side; k-means, DBSCAN, PCA, and Gaussian mixture models on the unsupervised side. It also goes further, with a small deep learning framework (convolutional, pooling, batch normalization, dropout, and RNN layers), a working GAN, and a Deep Q-Network trained on CartPole-v1. If you've completed a course on these algorithms and want to solidify your understanding by reading working implementations end to end, I'd recommend spending time with this repository. It's a good complement to theory => 32k stars, MIT licensed, and entirely in Python. Here's the GitHub Repo: github.com/eriklindernoren/Mโ€ฆ
4
126
658
24,334