Teaching myself Rust through the medium of coordinate system transforms and FFI
summary
Project implements a Rust library to convert lon/lat to British National Grid — the lonlat_bng crate — and exposes it via FFI as the convertbng Python package. It parallelises transforms with Crossbeam and Rayon, uses Herbie and Clippy to detect floating‑point instability and style issues, stores 300K+ grid shifts with PHF, and benchmarks converting 10 million London points showing dramatic speedups (example: 9s vs 14.7s on EC2, up to ~73% faster on large instances).
AI-written summary · about
chapters (13)
- 0:00Start
- 3:33Best Way To Teach Yourself Anything
- 5:45Wgs84 Ellipsoid
- 6:53National Grid
- 8:16Convert all of Your Coordinates to 3d Cartesian Coordinates
- 11:16Rubber Sheet Transforms
- 12:06How Does the Actual Transform Works
- 22:21Interlude
- 24:16Rayon
- 27:22Measuring Speed
- 28:28Build Python Wheels
- 31:43Benchmarks
- 34:30Geospatial Computing
related talks
26mMoving to modern languages in long-living projects
30mLost in translation?! Robotics with type-safe coordinate systems
16mRust, For Science!
31mBenchmarking and Optimization of Rust Libraries
43mBending The Curve: Putting Rust in Ruby with Helix
46mAdopting Rust by gracefully oxidising web applications
28mC2Rust: Migrating Legacy Code to Rust
27mThe Wonderful World of Rust Tooling
