About
I work in Australian civil and building estimating, and I write the software I want to use for it.
Estimating is a measurement problem before it's a pricing one. You take drawings, work out how much of everything there is, and attach money to it — and every step is somewhere a mistake can hide. The tools for doing that are either expensive, built for a different market, or simply don't cover the thing in front of you.
So I build them. A takeoff application that reads contours off PDF drawings and computes earthworks volumes. A bill of quantities tool that gets the money exactly right. Both are real tools for real work rather than exercises, which is the only way I've found to actually learn something.
How I tend to work
Correctness where it matters. Money is never a floating point number. Rounding happens in one place, not scattered through the interface. Geometry lives in one layer so there's a single answer to "where is this point". These sound like small decisions and they are the ones that decide whether you can trust the output.
Measure before rewriting. Most performance problems I've chased turned out to be something other than what they looked like — an anti-aliasing setting rather than the architecture, a file being re-parsed every frame rather than the language. A quick measurement has saved me from several expensive rewrites of things that weren't broken.
Learning in public. I came to programming from the trade side rather than the other way round. Everything here is something I built to understand it — including this website, which is written in Rust largely because I wanted to know how that would go.
Contact
If you'd like to talk about estimating software, or about work, the best way to reach me is email.
- Email karloneill@protonmail.com
- GitHub github.com/cathbad1962