Author: Wil

  • Finding and Fixing bugs in PHP Source Code

    Finding and Fixing bugs in PHP Source Code

    All software development projects are built on top of existing solutions, from databases, frameworks and libraries; to compilers, interpreters, and operating systems. When things go wrong, it is often the user of the solution that is causing the bug, rather than the solution itself, especially when the solution is mature and has existed for quite…

  • How We Reduced our Mapping costs by 90% using Protomaps and Cloudflare

    How We Reduced our Mapping costs by 90% using Protomaps and Cloudflare

    One of our internal goals in Sakay is reducing its operating expenses. One cost center in particular is mapping since as a transport app, we display maps pretty much everywhere in our application, as well as web pages. We initially used Google Maps and with its generous free tier, the costs were manageable. However when…

  • Debugging and Patching NodeJS Dependencies

    Debugging and Patching NodeJS Dependencies

    While working on a Shopify project, we employed Prettier for formatting our JavaScript, HTML, and CSS files. Shopify however, uses Liquid for templates which Prettier does not support out of the box but fortunately, Shopify developed a Liquid Prettier plugin to handle Liquid files. When using it, we noticed that the formatting of Prettier on…

  • Updating Averages and Variances Incrementally

    Updating Averages and Variances Incrementally

    Given a list of numbers, there are multiple ways of computing the average and variance (including the standard deviation). A blog entry by Dr. Cook outlines various ways computing them, as well as their characteristics. One particular method that I would like to focus on, is the iterative method detailed here. It’s a wonderful algorithm…

  • Minimal Bounding Circle Area of Lon/Lat Coordinates

    Minimal Bounding Circle Area of Lon/Lat Coordinates

    How do you check if the GPS trajectory stays around an area for a certain amount of time? While working with GPS data in Sakay, this is the problem we’ve encountered when trying to detect if a vehicle is not moving. There are many ways to do this, but we decided to check if the…

  • How to Set Up Git-Crypt on Windows

    How to Set Up Git-Crypt on Windows

    Here at Bonito Tech, we use git-crypt for secret storage. It is an open-source encryption tool for git repositories. It leverages GPG (GNU Privacy Guard) to securely store sensitive data in the repository. With git-crypt, developers can store private keys, passwords, and other confidential information in their repository without compromising security. Git-crypt was originally written…