-
Your first tool-using agent: function calling done right
A tool-using agent is not a language model that somehow reaches into your Python process and executes functions by itself.
-
Structured output and JSON mode without the model going off the rails
Modern LLM applications often fail at a surprisingly mundane boundary: the model says something intelligent, but your program cannot safely consume it.
-
Business rules engines: Drools, GoRules, and when domain logic must not be learned
Machine learning is excellent when the question is predictive:
-
sklearn Pipeline and ColumnTransformer: preprocessing that cannot leak
This tutorial targets scikit-learn 1.9.0 , the current stable release as of August 2026. The current documentation describes Pipeline as the mechanism for assembling preprocessing and estimators so th
-
ELT and dbt: transforming data where it lives, with tests and lineage
ELT changes the center of gravity of a data pipeline.
-
Serving many models on one GPU: Triton, model repositories, and hot-swapping
A GPU is not a Kubernetes pod. Treating every model as if it deserves an entire accelerator can leave expensive hardware mostly idle, especially when you serve small classifiers, regressors, ranking m
-
Random forests: why averaging many bad trees makes one great model
A fully grown decision tree is one of machine learning’s most intuitive models.
-
Correlation is not causation, but it’s also not nothing: reading correlation matrices right
A correlation matrix is one of the fastest ways to get a rough map of a numeric dataset.
-
Derivatives and gradients: the one calculus lesson ML actually uses
Machine learning can look like a huge collection of algorithms, architectures, and optimization tricks. Underneath most of them, however, sits one compact idea:
-
Weight initialization: why your deep net trains or dies before step one
A deep network does not begin learning from a neutral state. Before the optimizer takes its first step, the initial weights have already determined: