56,966 blogs · [ { "id": "01a08740-4103-70be-97b6-1e896e23b2de", "title": "Quick Fix for a Dangerous Session Pattern", "url": "https://binhong.me/blog/2026-04-24-quick-fix-for-dangerous-session-pattern/", "published_at": "2026-04-24T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e896e890fbc", "title": "Shifting from Code Writing to Reviewing", "url": "https://binhong.me/blog/2026-04-02-shifting-from-code-writing-to-reviewing/", "published_at": "2026-04-02T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e896f060ea2", "title": "Mentorship", "url": "https://binhong.me/blog/2026-03-20-mentorship/", "published_at": "2026-03-20T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e896f8fd189", "title": "Securing Logged Out Internal Settings", "url": "https://binhong.me/blog/2026-02-08-securing-logged-out-internal-settings/", "published_at": "2026-02-08T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897023508b", "title": "The Peak Bias", "url": "https://binhong.me/blog/2026-01-25-the-peak-bias/", "published_at": "2026-01-25T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e8970cdd49c", "title": "You Can Be Both", "url": "https://binhong.me/blog/2025-12-12-you-can-be-both/", "published_at": "2025-12-12T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e89718d28e7", "title": "FB accounts created without Messenger", "url": "https://binhong.me/blog/2025-11-28-fb-accounts-without-messenger/", "published_at": "2025-11-28T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e89724901b6", "title": "Incident Review Process", "url": "https://binhong.me/blog/2025-11-14-incident-review-process/", "published_at": "2025-11-14T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897272c71e", "title": "Leaked `FakeIncorrectPassword`", "url": "https://binhong.me/blog/2025-10-31-leaked-fakeincorrectpassword/", "published_at": "2025-10-31T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e8972829012", "title": "The Myth of Technical Complexity", "url": "https://binhong.me/blog/2025-10-17-the-myth-of-technical-complexity/", "published_at": "2025-10-17T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897380fe13", "title": "Shipping a project with -2M MAP", "url": "https://binhong.me/blog/2025-10-03-shipping-negative-2m-map/", "published_at": "2025-10-03T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e8973dc87d4", "title": "Communicating Effectively", "url": "https://binhong.me/blog/2025-09-19-communicating-effectively/", "published_at": "2025-09-19T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e8974199b89", "title": "GitHub Action Runner Alternatives", "url": "https://binhong.me/blog/2025-09-02-github-action-runner-alternatives/", "published_at": "2025-09-02T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897471eda6", "title": "Hidden Privacy / Security Pitfalls", "url": "https://binhong.me/blog/2025-08-23-hidden-privacy-and-security-pitfalls/", "published_at": "2025-08-23T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897529bfb6", "title": "Sync git submodules with GitHub Action", "url": "https://binhong.me/blog/2025-08-08-sync-git-submodules-github-action/", "published_at": "2025-08-08T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897531d5c9", "title": "Firefighting Heroes", "url": "https://binhong.me/blog/2025-08-01-firefighting-heroes/", "published_at": "2025-08-01T08:00:00+00:00" }, { "id": "01a08740-4103-70be-97b6-1e897560bc75", "title": "Major Incident Runbook", "url": "https://binhong.me/blog/2025-07-25-major-incident-runbook/", "published_at": "2025-07-25T08:00:00+00:00" }, { "id": "01a08740-4104-721e-8732-8c35afb3e52d", "title": "Understanding the Value of Dev Tools", "url": "https://binhong.me/blog/2025-07-18-understanding-value-of-dev-tools/", "published_at": "2025-07-18T08:00:00+00:00" }, { "id": "01a08740-4104-721e-8732-8c35b046524f", "title": "Internal Tooling Ideas", "url": "https://binhong.me/blog/2025-07-11-internal-tooling-ideas/", "published_at": "2025-07-11T08:00:00+00:00" }, { "id": "01a08740-4104-721e-8732-8c35b0edc692", "title": "Early takes on vibe-coding", "url": "https://binhong.me/blog/2025-07-03-early-takes-on-vibe-coding/", "published_at": "2025-07-03T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-9172324829a8", "title": "Experiment Review Process", "url": "https://binhong.me/blog/2025-06-27-experiment-review-process/", "published_at": "2025-06-27T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917232aa8d5c", "title": "Growth Engineer", "url": "https://binhong.me/blog/2025-06-20-growth-engineer/", "published_at": "2025-06-20T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723388199d", "title": "Product Growth Opportunities", "url": "https://binhong.me/blog/2025-06-13-product-growth-opportunities/", "published_at": "2025-06-13T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917233cc6a6a", "title": "A/B Testing", "url": "https://binhong.me/blog/2025-06-06-a-b-testing/", "published_at": "2025-06-06T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917234c6e7d3", "title": "No Blame SEV (Incident) Culture", "url": "https://binhong.me/blog/2025-05-30-no-blame-sev-culture/", "published_at": "2025-05-30T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-9172352a78cb", "title": "Code Review Culture", "url": "https://binhong.me/blog/2025-05-23-code-review-culture/", "published_at": "2025-05-23T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-9172360e31b5", "title": "Building a Simple Newsletter Service", "url": "https://binhong.me/blog/2025-05-21-building-a-simple-newsletter-service/", "published_at": "2025-05-21T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-9172368788f6", "title": "The Art of Posting", "url": "https://binhong.me/blog/2025-05-16-art-of-posting/", "published_at": "2025-05-16T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917236cf9618", "title": "Push Fearlessly with Automated Testing", "url": "https://binhong.me/blog/2025-05-04-push-fearlessly-with-automated-testing/", "published_at": "2025-05-04T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723784e437", "title": "Self-Hosted GitHub Actions Runners", "url": "https://binhong.me/blog/2025-04-25-self-hosted-github-runners/", "published_at": "2025-04-25T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917237e0132a", "title": "Automated Link Preview Image Card", "url": "https://binhong.me/blog/2022-05-31-automated-link-preview-image/", "published_at": "2022-05-31T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-9172380ed2ea", "title": "Rebuilding Personal Site from Scratch", "url": "https://binhong.me/blog/2022-01-31-rebuild-personal-site/", "published_at": "2022-01-31T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-917238b32728", "title": "Upgrading Vue TS Project (2.x -> 3.x)", "url": "https://binhong.me/blog/2021-12-12-vue-3-vite/", "published_at": "2021-12-12T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723973b683", "title": "PostgreSQL on Azure Pipeline with OSX", "url": "https://binhong.me/blog/2021-07-18-postgresql-on-azure/", "published_at": "2021-07-18T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723981d479", "title": "Ava with Vue (2.x) + TypeScript (and NYC)", "url": "https://binhong.me/blog/2021-05-22-ava-with-vue-typescript-and-nyc/", "published_at": "2021-05-22T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723a25b32f", "title": "Cross Language Object Parsing", "url": "https://binhong.me/blog/2020-08-09-cross-language-object-parsing/", "published_at": "2020-08-09T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723a9d964c", "title": "Multi-language Support Build Tool", "url": "https://binhong.me/blog/2019-08-07-multi-language-support-build-tool/", "published_at": "2019-08-07T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723b06e053", "title": "Functional and flexible shell scripting tricks", "url": "https://binhong.me/blog/2019-05-07-shell-scripting/", "published_at": "2019-05-07T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723bb0e069", "title": "Test Driven Development with Alexa SDK", "url": "https://binhong.me/blog/2018-10-29-test-driven-development-with-alexa-sdk/", "published_at": "2018-10-29T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723c569ca8", "title": "How to host multiple domain names and projects on one server", "url": "https://binhong.me/blog/2018-08-29-how-to-host-multiple-domain-names-and-projects-on-one-server/", "published_at": "2018-08-29T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723d0caa3e", "title": "Hosting your own Git server with Gitea", "url": "https://binhong.me/blog/2018-08-20-hosting-your-own-git-server-with-gitea/", "published_at": "2018-08-20T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723d458f50", "title": "Building a side project over the weekend", "url": "https://binhong.me/blog/2018-06-02-building-a-side-project-over-the-weekend/", "published_at": "2018-06-02T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723d7b55a5", "title": "Getting started with Travis-CI", "url": "https://binhong.me/blog/2018-04-22-getting-started-with-travis-ci/", "published_at": "2018-04-22T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723d7d1c84", "title": "RESTful API with Spark Kotlin", "url": "https://binhong.me/blog/2018-03-21-restful-api-with-spark-kotlin/", "published_at": "2018-03-21T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723e6b8499", "title": "Being lucky", "url": "https://binhong.me/blog/2018-02-10-being-lucky/", "published_at": "2018-02-10T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723f2dc030", "title": "I could become you tomorrow and no one will know", "url": "https://binhong.me/blog/2017-11-20-i-could-become-you-tomorrow-and-no-one-would-find-out/", "published_at": "2017-11-20T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723f6f0a0a", "title": "Use Terminal in Windows with Style", "url": "https://binhong.me/blog/2017-08-15-use-terminal-in-windows-with-style/", "published_at": "2017-08-15T08:00:00+00:00" }, { "id": "01a08740-4105-73fa-9e88-91723fe5d167", "title": "GitHub Action Runner Alternatives", "url": "https://binhong.me/blog/github-action-runner-alternatives/", "published_at": null } ] posts Claim your blog
Back to binhong.me
Blog · corpus.blog/blogs/binhong.me/posts

binhong.me

binhong.me

2026

2025

2022

2021

2020

2019

2018

2017

Undated