About:

Jerry Ng is a software engineer and writer who enjoys building projects and writing about tech.

Website:

Specializations:

Interests:

Software engineering Side projects Writing Tinkering with projects

Incoming Links:

Outgoing Links:

Subscribe to RSS:
The author recounts their journey of collecting historical Michelin restaurant data after receiving numerous requests for it. Initially attempting to use git-history for data tracking, they faced numerous challenges due to faulty ...
The author explains how to replicate DuckDuckGo Bangs in Firefox after switching from Chrome to Firefox due to uBlock Origin drama. The author also shares how to add custom search shortcuts in Firefox.
The author discusses the issue of uppercase letters in Go modules names. They discovered that the Go proxy server converts uppercase letters in module names by prefixing them with a bang followed by a lowercase. This is due to the...
The author built a visa requirement change tracker using the Henley Passport Index API and SQLite database. They used GitHub Actions as a cron job for scraping tasks and Datasette hosted on Railway for displaying the data. The pro...
The text discusses four different approaches to major version bumping in Go, including creating a new subdirectory for each major version, maintaining different major versions in separate Git branches, incrementing the major versi...
The text discusses three different methods to add version flags in Go. The author wanted to add a simple way for users to check the app's version after installing it via go install. The three methods include build time injection, ...
The author describes how they automated the process of booking a meeting room for their daily stand-up using Google Apps Script. They explain the steps they took to find the stand-up event, retrieve available meeting rooms, check ...
The text discusses the concept of Git scraping, using GitHub Actions to scrape data and save it directly into a Git repository. It also explores the idea of storing scraped data in an SQLite database within GitHub Artifacts, and t...
The text explains what CORS is, why it causes errors, when these errors happen, and how to fix them. It also provides examples of preflight requests and CORS configuration. The main takeaway is that CORS errors are primarily handl...
The author created a Chrome extension to help with rephrasing sentences and changing the tone of text. They wanted to simplify the process of rephrasing the tone of writing and learned about creating a Chrome extension and running...
The text is a nostalgic reflection on the author's 10,000 hours of gaming, starting with Ragnarok Online and progressing to Dota 2 and Hearthstone. The author discusses their journey, experiences, and takeaways from the gaming wor...
The author explores their terminal usage pattern by analyzing their Zsh history. They identify the top 10 most used commands and the top 10 most used git commands. They also visualize their terminal activity by hour of the day and...
The text discusses the challenges of updating Python versions and introduces asdf as a tool for managing Python versions. It provides a quick guide on how to install and use asdf, and explains that the approach isn't limited to Py...
The author reflects on their various internet revenue streams in 2023, including income from the Medium Partner Program, Google AdSense, affiliate/referral links, Tournacat, and donations. They also discuss their costs and expense...
The text is a summary of the author's 7-year journey in automating various aspects of their life. It includes details about automating ASNB purchases, solving Leetcode questions, scraping craft beer prices, automating blog backups...
The author describes how they automated the process of checking the Monetary Authority of Singapore (MAS) T-Bill calendar by syncing it with their Google Calendar. They explain the existing solution, the idea, the goal, the data s...
The text discusses the author's experience in creating a spaceflight news blog using HTMX and JSON API. The author shares the excitement of using HTMX with JSON API and the challenge it presents. The text provides a step-by-step g...
The text discusses different exception-handling patterns in Python, including when to catch and re-raise an exception, when to raise a new exception, when to chain an exception, and when to avoid using each of the above patterns. ...