# Maori Geek ## Posts - [My New Site](https://maori.geek.nz/posts/my-new-site/) - [I Tried to Write a HTTP Service in Zig and Failed](https://maori.geek.nz/posts/2026/i-tried-to-write-a-http-service-in-zig-and-failed/) - [Being On Call for Type 1 Diabetes with Carer](https://maori.geek.nz/posts/2025/2025-07-15_being-on-call-for-type-1-diabetes-with-carer/) - [Sqlite HTTP API: Zig vs Golang](https://maori.geek.nz/posts/2025/2025-03-01_sqlite-http-api-zig-vs-golang/) - [Small, Light, Robust Phones for a Type 1 Diabetic Child](https://maori.geek.nz/posts/2025/2025-02-13_small-light-robust-phones-for-a-type-1-diabetic-child/) - [Problems with Predicting Blood Glucose with Regression](https://maori.geek.nz/posts/2024/2024-06-20_problems-with-predicting-blood-glucose-with-regression/) - [Using Inkscape to make Individual Puzzle Pieces for Laser Cutting](https://maori.geek.nz/posts/2024/2024-05-21_using-inkscape-to-make-individual-puzzle-pieces-for-laser-cutting/) - [Design: Blood Glucose Levels](https://maori.geek.nz/posts/2024/2024-02-20_design-blood-glucose-levels/) - [Managing a Type 1 Diabetic Preschooler with AndroidAPS](https://maori.geek.nz/posts/2024/2024-02-18_managing-a-type-1-diabetic-preschooler-with-androidaps/) - [How to implement JavaScript String.length in Golang](https://maori.geek.nz/posts/2023/2023-09-14_how-to-implement-javascript-string.length-in-golang/) - [Omnipod Dash + Dexcom G7 + AndroidAPS](https://maori.geek.nz/posts/2023/2023-08-13_omnipod-dash-dexcom-g7-androidaps/) - [GoLang + SQLite on Fly.io with LiteFS: a Quick Benchmark](https://maori.geek.nz/posts/2023/2023-07-17_golang-sqlite-on-fly.io-with-litefs-a-quick-benchmark/) - [Moving to Android APS](https://maori.geek.nz/posts/2023/2023-06-06_moving-to-android-aps/) - [Layered Laser Cut Cardboard Art with Inkscape](https://maori.geek.nz/posts/2022/2022-12-21_layered-laser-cut-cardboard-art-with-inkscape/) - [Automating my Son’s Pancreas with CamAPS and Dana-i Insulin Pump](https://maori.geek.nz/posts/2022/2022-11-03_automating-my-sons-pancreas-with-camaps-and-danai-insulin-pump/) - [6 Months as a Full Time Pancreas](https://maori.geek.nz/posts/2022/2022-09-27_6-months-as-a-full-time-pancreas/) - [What is HbA1c?](https://maori.geek.nz/posts/2022/2022-09-19_what-is-hba1c/) - [My Awesome Year (+) At Clubhouse](https://maori.geek.nz/posts/2022/2022-09-10_my-awesome-year-at-clubhouse/) - [Add a Dexcom Share Follower with curl](https://maori.geek.nz/posts/2022/2022-08-03_add-a-dexcom-share-follower-with-curl/) - [Which Insulin Pump to Choose?](https://maori.geek.nz/posts/2022/2022-06-03_which-insulin-pump-to-choose/) - [The Unreasonable Math of Type 1 Diabetes](https://maori.geek.nz/posts/2022/2022-02-17_unreasonable-math-of-type-1-diabetes/) - [My Troubles with Lua](https://maori.geek.nz/posts/2021/2021-09-27_my-troubles-with-lua/) - [Game Of Life: CUDA vs Golang](https://maori.geek.nz/posts/2021/2021-08-16_game-of-life-cuda-vs-golang/) - [Get an Email if Someone SSHs into Your Box](https://maori.geek.nz/posts/2021/2021-07-19_get-an-email-if-someone-sshs-into-your-box/) - [Make Python’s DynamoDB client faster with this one simple trick](https://maori.geek.nz/posts/2021/2021-07-11_make-pythons-dynamodb-client-faster-with-this-one-simple-trick/) - [Python Decorator to Memoize Instance Methods](https://maori.geek.nz/posts/2021/2021-06-30_python-decorator-to-memoize-instance-methods/) - [Calling Golang functions from Python with Bazel](https://maori.geek.nz/posts/2021/2021-06-20_calling-golang-functions-from-python-with-bazel/) - [5 Awesome Years at Coinbase](https://maori.geek.nz/posts/2021/2021-04-03_5-awesome-years-at-coinbase/) - [Every Job I Have Had](https://maori.geek.nz/posts/2021/2021-03-16_every-job-i-have-had/) - [How “go build” Works](https://maori.geek.nz/posts/2020/2020-09-11_how-go-build-works/) - [Learning to play Asteroids in Golang with NEAT](https://maori.geek.nz/posts/2020/2020-08-29_learning-to-play-asteroids-in-golang-with-neat/) - [Making Asteroids Game with Golang, Lorca/Webview and WASM](https://maori.geek.nz/posts/2020/2020-08-20_making-asteroids-game-with-golang-lorcawebview-and-wasm/) - [GoLang Desktop App with webview/Lorca, WASM and Bazel](https://maori.geek.nz/posts/2020/2020-08-11_golang-desktop-app-with-webviewlorca-wasm-and-bazel/) - [Golang Desktop App: Webview vs. Lorca vs. Electron](https://maori.geek.nz/posts/2020/2020-08-06_golang-desktop-app-webview-vs.-lorca-vs.-electron/) - [Building an Electron App with Bazel](https://maori.geek.nz/posts/2020/2020-07-31_building-an-electron-app-with-bazel/) - [Longest Single Letter .com Domain Name](https://maori.geek.nz/posts/2020/2020-07-22_longest-single-letter.com-domain-name/) - [A Web App Using Bazel Golang WASM and Proto](https://maori.geek.nz/posts/2020/2020-04-01_web-app-using-bazel-golang-wasm-and-proto/) - [Bazel: Why people love/hate it](https://maori.geek.nz/posts/2019/2019-08-05_bazel-why-people-lovehate-it/) - [Git Log as JSON in Go](https://maori.geek.nz/posts/2019/2019-07-23_git-log-as-json-in-go/) - [How to Digest a Docker Image](https://maori.geek.nz/posts/2019/2019-07-11_how-to-digest-a-docker-image/) - [CloudFormation S3File and S3Zip Custom Resources](https://maori.geek.nz/posts/2019/2019-06-21_cloudformation-s3file-and-s3zip-custom-resources/) - [CloudFormation Custom Resources in Fenrir](https://maori.geek.nz/posts/2019/2019-06-18_cloudformation-custom-resources-in-fenrir/) - [Bazel Docker Tests](https://maori.geek.nz/posts/2019/2019-06-17_bazel-docker-tests/) - [Bazel Docker Dependency Tree: LearnLog](https://maori.geek.nz/posts/2019/2019-06-15_bazel-docker-dependency-tree-learnlog/) - [Introducing Fenrir: How Coinbase is Scaling Serverless Applications](https://maori.geek.nz/posts/2019/2019-04-11_introducing-fenrir-how-coinbase-is-scaling-serverless-applications/) - [YAML Custom Tags in Ruby](https://maori.geek.nz/posts/2019/2019-02-06_yaml-custom-tags-in-ruby/) - [Hello SAM: AWS Golang Quickstart](https://maori.geek.nz/posts/2018/2018-12-24_hello-sam-aws-golang-quickstart/) - [AWS Step Functions, State Machines, Bifrost, and Building Deployers](https://maori.geek.nz/posts/2018/2018-11-20_aws-step-functions-state-machines-bifrost-and-building-deployers/) - [AWS API to get EC2 Instance Prices](https://maori.geek.nz/posts/2018/2018-11-03_aws-api-to-get-ec2-instance-prices/) - [Assuming Roles in AWS with Go](https://maori.geek.nz/posts/2018/2018-08-08_assuming-roles-in-aws-with-go/) - [GoLang- Raise Error if Unknown Field in JSON (with exceptions)](https://maori.geek.nz/posts/2018/2018-07-24_golang-raise-error-if-unknown-field-in-json-with-exceptions/) - [Open Sourcing Coinbase’s Secure Deployment Pipeline](https://maori.geek.nz/posts/2018/2018-05-22_open-sourcing-coinbases-secure-deployment-pipeline/) - [Selecting an Editor](https://maori.geek.nz/posts/2018/2018-05-15_selecting-an-editor/) - [Slowly Baking Bread with AWS Step Functions](https://maori.geek.nz/posts/2018/2018-04-12_slowly-baking-bread-with-aws-step-functions/) - [Gamifying Security Culture with PwnBot](https://maori.geek.nz/posts/2017/2017-12-28_gamifying-security-culture-with-pwnbot/) - [GitHub’s “Squash and Merge” doesn’t Squash and doesn’t Merge! Trade-offs with Merging](https://maori.geek.nz/posts/2017/2017-12-26_githubs-squash-and-merge-doesnt-squash-and-doesnt-merge-tradeoffs-with-merging/) - [You need more than one AWS account: AWS bastions and assume-role](https://maori.geek.nz/posts/2017/2017-10-17_you-need-more-than-one-aws-account-aws-bastions-and-assumerole/) - [Proof of Human](https://maori.geek.nz/posts/2017/2017-09-13_proof-of-human/) - [Turtles All The Way Down: Building Simple and Powerful Ruby DSLs](https://maori.geek.nz/posts/2017/2017-02-17_turtles-all-the-way-down-building-simple-and-powerful-ruby-dsls/) - [Treating Infrastructure Like Code](https://maori.geek.nz/posts/2017/2017-01-10_treating-infrastructure-like-code/) - [Podcasts](https://maori.geek.nz/posts/2016/2016-11-26_podcasts/) - [Keystone Metrics in DevOps: The 30 Day Project @ Coinbase](https://maori.geek.nz/posts/2016/2016-10-07_keystone-metrics-in-devops-the-30-day-project-coinbase/) - [Self-Service DevOps @ Coinbase](https://maori.geek.nz/posts/2016/2016-09-29_selfservice-devops-coinbase/) - [Why are Ultrasound Machines So Expensive?](https://maori.geek.nz/posts/2016/2016-02-22_why-are-ultrasound-machines-so-expensive/) - [9 Things that Recommender Systems Should Do](https://maori.geek.nz/posts/2015/2015-12-21_9-things-that-recommender-systems-should-do/) - [What We Learned Living in AirBnB’s for 6 months](https://maori.geek.nz/posts/2015/2015-11-13_what-we-learned-living-in-airbnbs-for-6-months/) - [New Version of HapiGER Recommender System](https://maori.geek.nz/posts/2015/2015-10-13_new-version-of-hapiger-recommender-system/) - [A Dodo Developer Doesn’t Want To Learn New Things](https://maori.geek.nz/posts/2015/2015-10-08_dodo-developer-doesnt-want-to-learn-new-things/) - [3 Optimisations that Improve Recommendations](https://maori.geek.nz/posts/2015/2015-08-20_3-optimisations-that-improve-recommendations/) - [CoreOS: Fleet Service to Manage /etc/hosts](https://maori.geek.nz/posts/2015/2015-07-11_coreos-fleet-service-to-manage-etchosts/) - [Testing Microservices with pmux and TravisCI](https://maori.geek.nz/posts/2015/2015-06-09_testing-microservices-with-pmux-and-travisci/) - [The Dysfunctional Fear of Code](https://maori.geek.nz/posts/2015/2015-06-03_dysfunctional-fear-of-code/) - [Embeeded Javascript on the Tessel; Building a Modular Security Camera](https://maori.geek.nz/posts/2015/2015-04-29_embeeded-javascript-on-the-tessel-building-a-modular-security-camera/) - [Embedded Javascript on the Tessel; Twitter to Morse Code](https://maori.geek.nz/posts/2015/2015-03-21_embedded-javascript-on-the-tessel-twitter-to-morse-code/) - [List of Recommender Systems](https://maori.geek.nz/posts/2015/2015-03-16_list-of-recommender-systems/) - [Boot 2 Docker: How to set up Postgres, Elasticsearch and Redis on Mac OS X](https://maori.geek.nz/posts/2015/2015-02-14_boot-2-docker-how-to-set-up-postgres-elasticsearch-and-redis-on-mac-os-x/) - [HapiGER: Recommendations Made Easy](https://maori.geek.nz/posts/2015/2015-02-07_hapiger-recommendations-made-easy/) - [accepts_nested_attributes_for is Creating New Records; Gotcha!](https://maori.geek.nz/posts/2015/2015-01-29_acceptsnestedattributesfor-is-creating-new-records-gotcha/) - [Scalable Architecture DR CoN: Docker, Registrator, Consul, Consul Template and Nginx](https://maori.geek.nz/posts/2015/2015-01-21_scalable-architecture-dr-con-docker-registrator-consul-consul-template-and-nginx/) - [Big-Data: Quantity has a Quality All Its Own](https://maori.geek.nz/posts/2015/2015-01-20_bigdata-quantity-has-a-quality-all-its-own/) - [Yeah, Nah: Movie Recommender Service](https://maori.geek.nz/posts/2014/2014-12-15_yeah-nah-movie-recommender-service/) - [GER’s Anatomy: How to Generate Good Enough Recommendations](https://maori.geek.nz/posts/2014/2014-12-03_gers-anatomy-how-to-generate-good-enough-recommendations/) - [A Search Box is a Single Question Survey; “What Do You Want?”](https://maori.geek.nz/posts/2014/2014-11-10_search-box-is-a-single-question-survey-what-do-you-want/) - [Testing Javascript with Mocha, Chai, and Sinon](https://maori.geek.nz/posts/2014/2014-10-30_testing-javascript-with-mocha-chai-and-sinon/) - [Docker Web Services with Consul](https://maori.geek.nz/posts/2014/2014-09-29_docker-web-services-with-consul/) - [Replacing an Attribute with a One-to-Many Relationship in Rails](https://maori.geek.nz/posts/2014/2014-09-24_replacing-an-attribute-with-a-onetomany-relationship-in-rails/) - [The Smallest Docker Web Service That Could](https://maori.geek.nz/posts/2014/2014-09-08_smallest-docker-web-service-that-could/) - [Streaming directly into Postgres with Hapi.js and pg-copy-stream](https://maori.geek.nz/posts/2014/2014-08-28_streaming-directly-into-postgres-with-hapi.js-and-pgcopystream/) - [Postgres Upsert (Update or Insert) in GER using Knex.js](https://maori.geek.nz/posts/2014/2014-08-04_postgres-upsert-update-or-insert-in-ger-using-knex.js/) - [Good Enough Recommendations with GER](https://maori.geek.nz/posts/2014/2014-07-25_good-enough-recommendations-with-ger/) - [Waterfall to Agile: An Introduction to the Waterfall, Scrum and Kanban Software Method(ologies)](https://maori.geek.nz/posts/2014/2014-07-07_waterfall-to-agile-an-introduction-to-the-waterfall-scrum-and-kanban-software-methodologies/) - [Vagrant with Docker: How to set up Postgres, Elasticsearch and Redis on Mac OS X](https://maori.geek.nz/posts/2014/2014-07-02_vagrant-with-docker-how-to-set-up-postgres-elasticsearch-and-redis-on-mac-os-x/) - [D3.js: Tips, Tricks and Tools for Creating and Working with Maps](https://maori.geek.nz/posts/2014/2014-06-22_d3.js-tips-tricks-and-tools-for-creating-and-working-with-maps/) - [Marketing by being Useful: How You can be Yousful with Youtility](https://maori.geek.nz/posts/2014/2014-06-15_marketing-by-being-useful-how-you-can-be-yousful-with-youtility/) - [Become a Publisher with Redis and Ruby](https://maori.geek.nz/posts/2014/2014-05-06_become-a-publisher-with-redis-and-ruby/) - [Enterprise Software and Building Infinite Staircases](https://maori.geek.nz/posts/2014/2014-04-23_enterprise-software-and-building-infinite-staircases/) - [Scrolling Elasticsearch using Node.js and Promises](https://maori.geek.nz/posts/2014/2014-04-14_scrolling-elasticsearch-using-node.js-and-promises/) - [D3.js Tutorial using HTML, Scales and Chili Peppers](https://maori.geek.nz/posts/2014/2014-04-07_d3.js-tutorial-using-html-scales-and-chili-peppers/) - [Lessons from Science on How to Test your Code](https://maori.geek.nz/posts/2014/2014-03-30_lessons-from-science-on-how-to-test-your-code/) - [Using Q and JQuery Promises to Compose Complex Animations](https://maori.geek.nz/posts/2014/2014-03-23_using-q-and-jquery-promises-to-compose-complex-animations/) - [When to be a Software Architect](https://maori.geek.nz/posts/2014/2014-03-17_when-to-be-a-software-architect/) - [Why should you use CoffeeScript instead of JavaScript?](https://maori.geek.nz/posts/2014/2014-03-12_why-should-you-use-coffeescript-instead-of-javascript/) - [The Difference Between Rich and Poor Schools in New Zealand](https://maori.geek.nz/posts/2014/2014-03-06_difference-between-rich-and-poor-schools-in-new-zealand/) - [What is Ruby? It is fun and makes you happy!](https://maori.geek.nz/posts/2014/2014-03-03_what-is-ruby-it-is-fun-and-makes-you-happy/) - [Graham’s Ph.D. Thesis: A Study of Software Component System Evolution](https://maori.geek.nz/posts/2014/2014-02-22_grahams-ph.d.-thesis-a-study-of-software-component-system-evolution/) - [Testing promises in Node.js with Mocha, Chai and Sinon](https://maori.geek.nz/posts/2014/2014-02-15_testing-promises-in-node.js-with-mocha-chai-and-sinon/) - [Envisioning Information with Edward R. Tufte](https://maori.geek.nz/posts/2014/2014-02-07_envisioning-information-with-edward-r.-tufte/) - [JQuery Promises and Deferreds: I promise this will be short](https://maori.geek.nz/posts/2014/2014-01-31_jquery-promises-and-deferreds-i-promise-this-will-be-short/) - [RPython: Compiling Python to C (for the speed)](https://maori.geek.nz/posts/2014/2014-01-12_rpython-compiling-python-to-c-for-the-speed/) - [RPython is not a Language: An introduction to the RPython language](https://maori.geek.nz/posts/2014/2014-01-12_rpython-is-not-a-language-an-introduction-to-the-rpython-language/) - [How to Deploy Mahara on Heroku](https://maori.geek.nz/posts/2014/2014-01-12_how-to-deploy-mahara-on-heroku/) - [Drawing Maps with D3.js and Other Geographical Fun](https://maori.geek.nz/posts/2014/2014-01-12_drawing-maps-with-d3.js-and-other-geographical-fun/)