May 24, 2026
A .bash_profile alias that colorizes your git diff, excludes package-lock.json, and copies the output to your clipboard. Great for pasting into LLM chat windows.
December 1, 2024
After reinstalling GitHub Copilot and disabling (but not uninstalling) Codeium, inline autocomplete mysteriously stopped working. Fully uninstalling Codeium fixed it immediately.
December 9, 2023
How targeting deployed Netlify preview URLs, enabling Playwright's built-in reporting artifacts, parallelizing workers, and using codegen transformed a flaky test suite into a reliable, faster, and more comprehensive one.
October 5, 2023
How fixing a bug that was accidentally duplicating invisible screen-reader elements on choropleth maps cut the DOM from 6,000+ elements to 3,000+, improving load times and accessibility simultaneously.
September 14, 2023
How vectorizing a combine_race_eth function, using usecols to limit read_csv columns, and tuning chunk_size reduced a 3-hour COVID data aggregation script to 25 minutes — nearly 5x faster.
April 26, 2023
Create a one-click bookmarklet that appends "?w=1" to any GitHub PR URL to instantly hide whitespace diffs without the usual three-click process.
April 7, 2023
Add "-- --host" to your npm start script to make Vite expose the local network IP address, enabling you to view your dev server on a mobile device.
December 15, 2022
Replace "localhost" with your machine's local IP address to view your development server on any mobile device on the same network.
December 29, 2021
How to create a macOS Automator Quick Action that uses ffmpeg to compress video files directly from a right-click context menu in Finder.
November 1, 2021
When Sophos blocks the Starbucks WiFi captive portal modal, visiting http://captive.apple.com/hotspot-detect.html manually triggers the authentication flow.
August 16, 2021
How to use a custom usePrefersReducedMotion hook in React to swap animated GIFs for static images when users have enabled the prefers-reduced-motion accessibility setting.
June 23, 2021
How to connect a Django app to the Google Calendar API using a service account, then deploy it to Heroku with a custom buildpack that auto-generates the credentials file from config vars.
April 27, 2021
A working guide to deploying a Django app to Heroku, covering Procfile setup, runtime configuration, required packages like gunicorn and whitenoise, and config vars for production.
April 22, 2021
Implementing a hash map from scratch in Python using a table of linked list stacks to resolve collisions, with clear explanations of hash functions, chaining, and Big O performance.
April 16, 2021
A step-by-step guide to setting up a new Django project with a virtual environment, PostgreSQL database, environment variables, and a basic home page — the Python equivalent of create-react-app.
April 14, 2021
How to rename a GitHub project by updating the remote repo name via the web interface, then syncing the local folder name and git remote URL to keep everything consistent.
April 14, 2021
Adding a reverse() method to a Python linked list stack, using a temporary variable to safely swap node pointers without losing track of the remaining list — like not dropping your rope while rock climbing.
April 11, 2021
The built-in macOS keyboard shortcut CTRL+CMD+Space opens a searchable emoji picker, making it easier to insert emojis anywhere on your Mac without third-party apps.
April 11, 2021
Building a Python command-line tic-tac-toe game in two hours as a group project, exploring OOP classes, dunder methods, and win/tie condition logic.
April 10, 2021
Implementing a stack data structure using a linked list in Python, exploring classes, the __init__ constructor, and the self keyword while switching from JavaScript to Python.
April 6, 2021
Implementing a recursive merge sort in JavaScript from scratch, with a clear explanation of both the divide step and the often-glossed-over merge step.
April 5, 2021
A cautionary tale about losing an hour of blog edits by accidentally hard-refreshing the page, and why you should save in chunks when editing existing posts on Hashnode.
April 5, 2021
How implementing bubble sort and binary search from scratch in JavaScript solidified computer science concepts more effectively than watching videos or reading theory.
April 1, 2021
Documentation for the BTAR 3000, a keyboard-based musical instrument conceived in 2003 that functions as a MIDI controller, synthesizer, drum machine, and more.
March 31, 2021
A step-by-step guide for wiring up local and deployed versions of a React frontend, Node/Express backend, and MongoDB Atlas database using environment variables and Heroku config vars.
March 30, 2021
Appending any query string to a previously shared LinkedIn URL tricks it into re-indexing the current metadata, instantly refreshing stale preview cards.
March 22, 2021
A Python automation tool that reads gig data from a local spreadsheet and uses headless browser automation to submit shows to Songkick, BandsInTown, Strumsy, and Dubsado simultaneously.
March 20, 2021
Building a tic-tac-toe game in React while juggling two babies under two, then refactoring with hooks and deploying to Netlify with a spinning, glowing aqua-blue design.
March 19, 2021
A multiplayer artillery game built in JavaScript, jQuery, and HTML Canvas in one week, featuring procedurally generated terrain, gravity-based tank placement, and programmatic collision detection.
March 18, 2021
A Node/Express app using Google Maps and OAuth2 to help parents find rest stops and businesses with gender-neutral baby changing tables, built as a full-stack MVP with MongoDB Atlas.
March 15, 2021
Step-by-step guide for deploying a React frontend to Heroku as part of a full-stack app, covering file structure fixes, dynamic API URLs, and the create-react-app buildpack.
March 15, 2021
How changing file capitalization after a git commit causes silent deployment failures on Heroku and GitHub, and both the quick fix and manual workaround to resolve it.
March 14, 2021
A step-by-step guide to deploying a Node/Express backend to Heroku, covering common issues like file structure, dynamic PORT configuration, and git remote setup.
March 13, 2021
How I built a full-stack flashcard app with React and Node/Express to study for LinkedIn skill assessments, covering data parsing, API creation, and deployment to Heroku and Netlify.
March 1, 2021
A code doodle that visualizes keyword frequency across tech job listings by letting you paste job descriptions and see words scaled by how often they appear.
February 1, 2021
A short post about learning React hooks useState() and useEffect() by building a meme generator using the ImgFlip API.