Skip to main content
Back to Blog

Reflections on
Tutorials.

Browsing 11 articles tagged with Tutorials.

H3 Hierarchy and Compaction: Multi-Resolution Spatial Analysis - Master H3's parent-child cell relationships and compaction algorithm for efficient spatial data representation
· 12 min read · H3 Grids

H3 Hierarchy and Compaction: Multi-Resolution Spatial Analysis

Master H3's parent-child cell relationships and compaction algorithm for efficient spatial data representation

Every H3 hexagon at any resolution is the parent of exactly seven children at the next finer resolution. This seven-to-one relationship makes H3 uniquely powerful for multi-scale analysis — and its compaction algorithm exploits it to compress spatial datasets dramatically.

Read more
H3 Catchment Analysis: Modelling Service Areas with Hexagonal Grids - Use H3's k-ring and grid distance functions to build precise spatial buffers and accessibility zones
· 10 min read · H3 Grids

H3 Catchment Analysis: Modelling Service Areas with Hexagonal Grids

Use H3's k-ring and grid distance functions to build precise spatial buffers and accessibility zones

Traditional circular buffers distort space and ignore real-world geometry. H3's hexagonal rings give you scale-consistent spatial catchments that work the same way across the entire Earth's surface.

Read more
H3 Density Mapping: Visualising Urban Point Data as Hexagonal Heatmaps - Transform scattered coordinates into meaningful density patterns using H3's spatial aggregation
· 8 min read · H3 Grids

H3 Density Mapping: Visualising Urban Point Data as Hexagonal Heatmaps

Transform scattered coordinates into meaningful density patterns using H3's spatial aggregation

Raw GPS coordinates are noisy, overwhelming, and hard to interpret at scale. H3's hexagonal grid transforms thousands of points into clear, legible density maps — and the core aggregation logic fits in under ten lines.

Read more
Streaming LLM API Responses in Python: A Complete Production Guide - Handle token-by-token output, implement back-pressure, manage rate limits, and build fault-tolerant wrappers around OpenAI-compatible APIs
· 8 min read · Python

Streaming LLM API Responses in Python: A Complete Production Guide

Handle token-by-token output, implement back-pressure, manage rate limits, and build fault-tolerant wrappers around OpenAI-compatible APIs

Streaming is the difference between an AI product that feels fast and one that feels slow. Instead of waiting 10–30 seconds for a completed response, a streaming API delivers each token as it is generated. This post covers the full picture: HTTP server-sent events, Python async generators, rate limit handling, and building a robust wrapper you can drop into a production application.

Read more
How to Use Rust and WebAssembly for Real-Time Data Processing in the Browser - Compile performance-critical Rust logic to WASM and run it at near-native speed inside any modern web browser — no server round-trip, no bottleneck
· 7 min read · Rust

How to Use Rust and WebAssembly for Real-Time Data Processing in the Browser

Compile performance-critical Rust logic to WASM and run it at near-native speed inside any modern web browser — no server round-trip, no bottleneck

WebAssembly finally makes it practical to run genuinely fast computation inside a browser tab. When you combine it with Rust — a language designed around zero-cost abstractions and memory safety — you get a pipeline that can process tens of thousands of records per frame without blocking the UI thread. This post walks through the full workflow: writing the Rust crate, compiling to WASM, and wiring it into a JavaScript frontend.

Read more
Building High-Throughput Spatial Pipelines with Go Concurrency - Using goroutines, channels, and context cancellation to process millions of geospatial records in parallel
· 6 min read · Go

Building High-Throughput Spatial Pipelines with Go Concurrency

Using goroutines, channels, and context cancellation to process millions of geospatial records in parallel

Go's concurrency primitives are among the most ergonomic in any systems language. This post shows how to put goroutines and channels to work on a real problem: processing large spatial datasets at speed.

Read more
Location-Aware Search with Elasticsearch Geo Queries - Combining full-text relevance with geo_distance, bounding box filtering, and spatial decay scoring
· 6 min read · Elasticsearch

Location-Aware Search with Elasticsearch Geo Queries

Combining full-text relevance with geo_distance, bounding box filtering, and spatial decay scoring

Elasticsearch's geospatial capabilities let you ask questions that pure text search cannot answer: not just 'find documents about coffee' but 'find the most relevant coffee shop within 500 metres of where I am standing, weighted by recency and rating'. This post walks through how to build that kind of query from first principles.

Read more
Building a Geospatial REST API with FastAPI and PostGIS - A complete walkthrough of a production-ready spatial data API: routing, geometry serialisation, spatial queries, and GeoJSON responses
· 6 min read · Python

Building a Geospatial REST API with FastAPI and PostGIS

A complete walkthrough of a production-ready spatial data API: routing, geometry serialisation, spatial queries, and GeoJSON responses

FastAPI's async-first design and automatic OpenAPI documentation make it an excellent choice for geospatial APIs. Combined with PostGIS for spatial queries and GeoAlchemy2 for the ORM layer, you can build a fully-featured location API in a few hundred lines of Python.

Read more
Spatial ETL Pipelines with GeoPandas and Shapely - Building robust, reproducible geospatial data transformation workflows entirely in Python
· 5 min read · Python

Spatial ETL Pipelines with GeoPandas and Shapely

Building robust, reproducible geospatial data transformation workflows entirely in Python

Most geospatial data arrives dirty: mismatched projections, broken geometries, inconsistent attribute schemas. GeoPandas and Shapely give you a powerful, Pythonic toolkit for cleaning, transforming, and enriching spatial data before it reaches your database or analysis pipeline.

Read more
Getting Started with H3: The Hexagonal Grid System for Spatial Analysis - A practical tutorial for understanding and implementing Uber's H3 hexagonal grid system
· 7 min read · H3 Grids

Getting Started with H3: The Hexagonal Grid System for Spatial Analysis

A practical tutorial for understanding and implementing Uber's H3 hexagonal grid system

Why are Uber, Foursquare, and every major location intelligence company switching to hexagonal grids? This tutorial will teach you H3 fundamentals with interactive examples you can run in your browser.

Read more
Designing a New Website and Blog - An overview of my new academic portfolio website architecture, explaining the design considerations and organisation.
· 5 min read · Web Development

Designing a New Website and Blog

An overview of my new academic portfolio website architecture, explaining the design considerations and organisation.

Over the past couple of months I have been re-designing and building a new online portfolio for my work. This article will explore my design choices and experience in developing jwilliams.science.

Read more