A cabinet of curiosities from around the web: tools, papers, demos, datasets, and ideas I want to find again.
Programming practice
C++
Recipes
Linear Algebra
- Eigen - header-only C++ template library for linear algebra
- Armadillo - C++ library for linear algebra & scientific computing
- Intel oneAPI Math Kernel Library
- OpenBLAS: optimized BLAS library
- blasfeo: Basic linear algebra subroutines for embedded optimization
Optimization
Sorting
- orlp/pdqsort: Pattern-defeating quicksort - fast, generic sorting algorithm
Nearest-neighbors
Spatial geometry
Data containers
Units
Python
Package Management
Type Checking
- mypy - the original and most widely adopted Python type checker; strict mode, plugin ecosystem, incremental checking; de facto standard for CI enforcement
- Pyright - fast, accurate type checker from Microsoft written in TypeScript; powers Pylance in VS Code; strict mode goes further than mypy in several areas; excellent for large codebases
- Pylance - VS Code language server built on Pyright; adds IntelliSense, auto-imports, and semantic highlighting on top of Pyright’s type engine
- Pyrefly - new type checker from Meta written in Rust; aims for extreme speed on very large monorepos; still maturing but very fast incremental analysis. Used in the PyTorch repo internally.
- Ruff - primarily a linter/formatter, but enforces many type-annotation style rules and is the fastest option for catching annotation anti-patterns at lint time
Configuration Management
Core Array & Math
- NumPy - foundational N-dimensional array library; the lingua franca for numerical Python
- SciPy - algorithms built on NumPy: optimization, integration, interpolation, signal processing, linear algebra, statistics
- SymPy - symbolic mathematics (CAS) in pure Python
DataFrames
- Pandas - the classic DataFrame library; row-oriented, index-centric, mature ecosystem
- Polars - fast DataFrame library written in Rust; lazy evaluation, Apache Arrow columnar memory, excellent for large datasets
- cuDF (RAPIDS) - GPU-accelerated DataFrames with a pandas-compatible API
- cuDF-powered Polars
- Ibis
Linear Algebra & Array Backends
- CuPy - NumPy/SciPy-compatible array library running on CUDA GPUs
- JAX - NumPy on accelerators (CPU/GPU/TPU) with automatic differentiation and JIT via XLA; popular in ML research
- Dask - parallel and out-of-core computing; scales NumPy/Pandas workflows to clusters or large-memory machines
Machine Learning & Deep Learning
- scikit-learn - classical ML: classification, regression, clustering, preprocessing, model selection
- PyTorch - dominant deep learning framework; dynamic graphs, strong research ecosystem
- TensorFlow / Keras - production-oriented deep learning; Keras is its high-level API
- AutoGluon
- Metric-learn and PyTorch Metric Learning
- MAPIE
- OptBinning counterfactuals and scorecards
- OpenFE
- InterpretML
- Transformers
Visualization
- Matplotlib - foundational plotting library; verbose but fully controllable
- Seaborn - statistical visualization built on Matplotlib; cleaner defaults
- Plotly - interactive plots for notebooks and web; also powers Dash dashboards
- Python palettes, arrows, fonts, and charts
Graphs & Networks
- NetworkX - creation, manipulation, and analysis of complex networks and graphs in pure Python
Optimization
- CVXPY - modeling language for convex optimization; write problems in natural mathematical form
- PICOS - high-level interface to conic and integer optimization solvers
- MOSEK - commercial solver for LP, QP, SOCP, SDP, and mixed-integer problems (free academic license)
- Gurobi - state-of-the-art commercial solver for LP, MIP, and QP (free academic license)
Control & Simulation
- python-control - the Python Control Systems Library; classical and modern control analysis and design
- PyBullet - physics simulation for robotics, games, visual effects, and machine learning
- MuJoCo - fast physics engine for robotics, biomechanics, graphics, animation, and ML (open-sourced by DeepMind)
Reinforcement Learning
- Spinning Up in Deep RL - OpenAI’s educational resource for learning deep RL, with clean algorithm implementations
- Ray RLlib - scalable, production-grade RL on top of Ray; pairs with Tune for distributed hyperparameter search
- CleanRL - single-file, high-quality RL implementations prized for readability and reproducibility
- Dopamine - Google’s research framework for fast prototyping of RL algorithms
- ReAgent - Meta’s end-to-end platform for applied RL (formerly Horizon)
- Imitation
Large-scale Computation Frameworks
Specialized Packages
- Rtree: Spatial indexing for Python - R-tree spatial index for fast bounding-box queries
- Faiss - efficient similarity search and clustering of dense vectors
- pqdict - an updatable priority queue backed by a dictionary
- CompressAI
- Diffrax
- Python Optimal Transport
- PRegEx
MATLAB
Optimization
- CVX - disciplined convex programming; model problems in natural mathematical form
- YALMIP - modeling layer for optimization in MATLAB; broad solver support and LMI/SOS tooling
- SOSTOOLS - sum-of-squares polynomial optimization toolbox
- SeDuMi - linear/quadratic/semidefinite cone solver for MATLAB and Octave
- MOSEK - commercial solver for LP, QP, SOCP, SDP, and mixed-integer problems (free academic license)
- Gurobi - state-of-the-art commercial solver for LP, MIP, and QP (free academic license)
Control
- Control System Toolbox - classical and modern control system analysis and design
- Robust Control Toolbox - design and analysis of control systems with modeled uncertainty
- System Identification Toolbox - build dynamic models from measured input/output data
- Model Predictive Control Toolbox - design, simulate, and deploy MPC controllers
Machine Learning
- Statistics and Machine Learning Toolbox - descriptive statistics, probability distributions, and classical ML models
Julia
Programming
- Julia - high-level, high-performance language for technical computing; solves the two-language problem
- Julia for VS Code - the official IDE experience
Numerical & Scientific Computing
- LinearAlgebra - dense and sparse linear algebra in the standard library
- Graphs.jl - optimized graph creation and analysis (successor to the archived LightGraphs.jl), with the JuliaGraphs ecosystem:
- MetaGraphs.jl - graphs with arbitrary metadata on vertices and edges
- SimpleWeightedGraphs.jl - weighted graph types
- GraphIO.jl - reading and writing graphs in common file formats
Optimization
Plots & Visualization
- Plots.jl - unified plotting API with swappable backends (GR, PyPlot, PlotlyJS, UnicodePlots)
- StatsPlots.jl - statistical plotting recipes built on Plots.jl
- GraphPlot.jl - layout-based graph visualization
- GraphRecipes.jl - graph drawing recipes for Plots.jl
- TikzGraphs.jl - publication-quality graph layouts via TikZ
- Colors.jl - color spaces, color maps, and color manipulation
- LaTeXStrings.jl - LaTeX-rendered strings for plot labels and annotations
Data Storage
- FileIO.jl - unified
load/savedispatch across many file formats - JLD2.jl - save and load arbitrary Julia data in an HDF5-compatible, pure-Julia format
Software Integration
Language interoperability
C++ / Python Interoperability
- pybind11 - seamless operability between C++11 and Python
- nanobind - small, efficient C++/Python bindings (successor to pybind11)
- SWIG - connects C/C++ programs with many scripting languages
- Cython - optimising static compiler for Python and the Cython language
- Codon - high-performance, zero-overhead, extensible Python compiler
- PyPy - fast, compliant implementation of Python with a JIT compiler
- Numba - JIT compiler that translates Python/NumPy code to fast machine code
- EigenPy - exposes Eigen types and NumPy arrays between C++ and Python
Trajectory optimization
iLQR / DDP
- aligator - versatile and efficient framework for constrained trajectory optimization (C++)
- crocoddyl: ddp.cpp - DDP solver in the crocoddyl optimal control library
- mujoco_mpc: ilqg planner - iLQG planner inside MuJoCo MPC
- nuplan-devkit: ilqr_tracker.py - iLQR tracker in the nuPlan planning framework
- Path optimizer with iLQR
trajax
- google/trajax - differentiable trajectory optimization using JAX (iLQR, DDP)
- L4DC 2022 trajax tutorial
Other solvers
ALTRO (Augmented Lagrangian Trajectory Optimizer)
- TrajectoryOptimization.jl - Julia trajectory optimization framework (REx Lab, CMU)
- Altro.jl - Julia implementation of ALTRO
- ALTRO (C++) - C++ implementation of ALTRO (REx Lab)
- altro-cpp (optimusride) - alternative C++ port of ALTRO
MPPI
MuJoCo MPC
- google-deepmind/mujoco_mpc - real-time behaviour synthesis with MuJoCo using Predictive Sampling, MPPI, and related methods
- [2212.00541] Predictive Sampling: Real-time Behaviour Synthesis with MuJoCo
judo
- bdaiinstitute/judo - user-friendly Python package for sampling-based MPC (MPPI, CEM, Predictive Sampling) with MuJoCo backend
- RAI Institute: judo workshop page
- RAI Institute: Combining Sampling and Learning for Dynamic Whole-Body Manipulation
hydrax
- vincekurtz/hydrax - sampling-based MPC on GPU with JAX and MuJoCo MJX
MPC Toolkits
Benchmarks & datasets
System Identification
- Nonlinear Benchmark - curated, well-documented experimental datasets for nonlinear system identification (Silverbox, Wiener–Hammerstein, cascaded tanks, EMPS, and more)
Environments
- Gymnasium - the standard API and reference environments for single-agent RL; maintained by the Farama Foundation as the successor to OpenAI Gym
- Safety-Gymnasium - unified safe-RL benchmark with safety-critical tasks and standardized cost metrics (PKU-Alignment); the maintained successor to OpenAI’s Safety Gym
- RoboNet - large-scale, multi-robot video dataset for robot learning (UC Berkeley, Stanford, UPenn, CMU); also available via TensorFlow Datasets
- Flow - RL framework for autonomous-vehicle traffic control built on the SUMO traffic simulator (UC Berkeley)
- Eclipse SUMO - microscopic, multi-modal traffic simulation suite (German Aerospace Center); a standard backend for multi-agent and transportation RL
Reference Implementations
- Stable-Baselines3 - reliable PyTorch implementations of standard RL algorithms; the maintained successor to OpenAI Baselines
Autonomous Driving
- Waymo Open Dataset
- nuScenes
- Toyota Woven City prediction dataset
- NVIDIA Physical AI autonomous-vehicle dataset
Pathfinding
- Moving AI grid benchmarks
- Dragon Age: Origins - Maps & Benchmark Problems
- Dragon Age: Origins - Maps Dataset
Machine Learning
- UCI Machine Learning Repository - the classic collection of datasets for empirical analysis of ML algorithms, with a focus on traditional supervised learning (UC Irvine)
- UCR time-series archive
Developer tools
Computation & Exploration
- WolframAlpha - computational knowledge engine; symbolic math, units, and instant answers
- TensorFlow Playground - interactive, in-browser visualization of how neural networks learn
Application Frameworks
Command Line
Developer Tools
Presentation
Plotting & Visualization
- Desmos - fast, elegant 2D graphing calculator
- GeoGebra - interactive 2D/3D geometry, algebra, and plotting
- Phase plane plotter - plots phase portraits for nonlinear systems with two states
Robotics Education
- Duckietown - inexpensive, open platform for hands-on autonomy and self-driving education
Autonomous driving
- nuPlan — planning benchmark and devkit
- Waymax — Waymo’s JAX simulator
- Comma.ai Controls Challenge
- HighwayEnv
- CommonRoad
- Waymo motion tutorial
- Comma.ai: Learning a driving simulator
- PufferDrive and PufferDrive 2.0
- Nuro’s Universal Autonomy Model
- Modular vs. end-to-end autonomy
- BADAS
- MetaDrive
- How May Mobility’s vehicles think
- Tesla AI Day 2021: planning and control
- Post-training AV models with Alpamayo
- AlpaSim
- AlpaGym
- Motional on long-tail autonomous driving
- Scaling simulation data generation
Safety evaluation
- Responsibility-Sensitive Safety: five rules
- Mobileye true redundancy
- Kodiak safety report
- Explainable end-to-end driving
- Redundancy in autonomous vehicles
- Quantifying what-ifs in simulation
- Toyota Research: statistical thinking for robot policy evaluation
- UNECE Regulation No. 171
- How to think about human-likeness
- Human Baselines
Robotics
- PickNik
- Robotic Exploration Lab
- TorchID
- Drake
- SSIK
- Dull, dirty, dangerous: undesirable work for robotics
- Underactuated Robotics: Acrobot
Motion planning
Optimization
Solvers
Methods
- Muon
- Simulated annealing
- Invex functions
- Photo mosaics via optimization and neural networks
- Hessian-free optimization
- CMA-ES
Assignment problems
Control applications
Machine learning
- Is ImageNet Solved? Evaluating Machine Accuracy
- NVIDIA cuML
- Nonlinear links in linear regression
- Polynomial features
- Contrastive representation learning
- ONNX with XGBoost
Kernel machines
- Kernel ridge regression
- Random kitchen sinks and random Fourier features
- Are deep networks just kernel machines?
Transformers
Feature engineering and selection
Clustering
Dimensionality reduction
Data selection
Extreme classification
Reinforcement learning
- Ericsson on reinforcement learning
- Bandit Algorithms
- Q-learning
- Spinning Up: intro to RL
- PyTorch DQN tutorial
- RL tips and tricks
- Dynamic Programming and Markov Processes
Foundation models
Visual computing
Computer vision
Image processing
- Menger curvature
- Line integral convolution
- Obama multiscale mosaic
- Hausdorff distance
- Structural similarity
- Interactive SVD image compression
Computer graphics
Algorithms
Pathfinding
- A* search
- Jump point search
- Map representations and A* comparisons
- Hierarchical pathfinding
- Clearance-based pathfinding
- Spatial Hash
- Contraction hierarchies
- Central64
Search
Vector search
Graphs
Game AI
Software
Programming languages
Application frameworks
Tabular data tools
UX & Front-end
Programming puzzles
Productivity tools
GPU computing
- NVIDIA Warp
- CUDA C++ programming guide
- Bonsai WebGPU and models
- A first CUDA project
- CUDA setup on Google Colab
C++ performance
Data formats
High-performance computing
Time series
- Dynamic time warping
- Matrix profiles
- Pattern matching
- Nixtla
- Time-series Transformer
- NeuralForecast vanilla Transformer
- Long-horizon Transformers
- LASTS
- The linear filter for a single time series
Clustering
Classification
Forecasting
- TimesFM-3: A Zero-Shot Foundation Model for Multivariate Forecasting
- Conformal prediction with StatsForecast
- Skforecast
Signal processing
Mathematics
- Fast marching method
- Midpoint method
- Chebyshev polynomials
- Cédric Villani on optimal transport
- Theory of games
- Data-Driven Science and Engineering
Statistics
- Halton sequences in SciPy
- Sobol sequences and Halton sequences
- High-Dimensional Statistics
- High-Dimensional Probability
- High-Dimensional Probability
Decision making
Visualization
- Turbo colormap
- Oklab
- Flowers of Proximity
- Line integral convolution
- Moments in Graphics: blue noise
- Complexity Explorables
- MoreThemes, Bumplot, and Nine.js