Posts

Showing posts from November, 2026

NGINX Explained: The Server in Front of Your Server

Most web apps do not face the internet alone. In front of them sits a server whose job is to serve files fast, hand requests to the right app, and spread load across machines. NGINX, written by Igor Sysoev and first released in 2004, is that server for a large share of the busiest sites: one process, thousands of connections, and a configuration file that reads like a set of routing rules. Static files, reverse proxies, and load balancing NGINX rests on a few distinctive ideas: An event-driven design: a small number of worker processes handle many connections at once, instead of one thread per visitor, which keeps memory low under heavy traffic. Static files, served directly: images, stylesheets, and scripts come straight from disk, so the app server never wastes time on work the front server can do. Reverse proxying: requests for dynamic pages are passed to an app running on another port or machine, while the visitor only ever sees NGINX. Load balancing built in: list sever...

PyTorch Explained: Machine Learning You Can Watch Learn

TensorFlow showed one way to train a model, with layers stacked and compiled. PyTorch, released by Meta's AI research lab in 2016, takes a more hands-on approach: you write ordinary Python, tensors track their own gradients, and the training loop is a loop you can read, print from, and change. That openness made it the favourite of researchers, and it is now just as common in production, from image models to language models. Tensors, autograd, and the training loop PyTorch rests on a few distinctive ideas: Tensors that feel like arrays: a tensor is a multi-dimensional array, like a NumPy array, with the added ability to run on a graphics card for speed. Autograd: operations on tensors remember how they were built, so calling backward fills in every gradient automatically instead of asking you to derive them by hand. Modules, composed freely: a model is a module, layers are modules inside it, and you assemble them with plain Python control flow, including loops and conditio...

Pandas Explained: Tables in Python, Without the Spreadsheet

A spreadsheet is fine until the data grows: a million rows, ten files to combine, or the same cleanup repeated every week. Pandas, a Python library created by Wes McKinney and first released in 2008, gives you spreadsheet-style tables inside code, so the cleanup is written once and runs the same way every time. It is the default first step for data work in Python, from a quick sales summary to the data preparation behind a machine learning model. DataFrames, filtering, and grouping Pandas rests on a few distinctive ideas: DataFrames and Series: a DataFrame is a table with named columns, a Series is a single column, and both carry labels, so rows and columns can be picked by name instead of position. Reading real files: one call loads a CSV, a spreadsheet, or a database query into a table, with missing values handled rather than silently dropped. Filtering and selecting: conditions pick out rows, column names pick out columns, and the two combine into queries that read almost l...