204 blog posts published by month since the start of 2022. Start from a different year:

Posts year-to-date
120 (56 posts by this month last year.)
Average posts per month since 2022
4.3

Post details (2022 to today)

Title Author Date Word count HN points
Call site attribution: how to pinpoint rogue SQL queries throttling database performance Greg Foster Dec 14, 2023 1086 -
Graphite changelog [3/13/2024] 🚁 Stephen Pinkerton Mar 13, 2024 540 -
How long should your CI take? Greg Foster Nov 02, 2023 935 -
Graphite will now automatically rebase your partially-merged stacks Stephen Pinkerton May 07, 2024 500 -
Tracking and understanding GitHub PR stats: A step-by-step guide Ninad Pathak Jan 22, 2024 1346 -
Phabricator vs GitHub vs Graphite: How do they stack up? Tyler Hakes Feb 23, 2024 2137 -
Read this before you start stacking pull requests David Bradford Mar 23, 2023 1148 -
Introducing Graphite Chat Merrill Lutsky Aug 19, 2025 700 -
How AI code review reduces review cycles to improve developer productivity Sara Verdi Sep 24, 2024 1304 -
Announcing Graphite for Visual Studio Code Jacob Gold Sep 05, 2023 104 -
Understanding Git: The history and internals Kenneth DuMez Nov 09, 2023 2316 -
How 10,000 Developers all Contribute to the Same Repo Kenneth DuMez Sep 26, 2023 1126 -
From the 80's to 2024 - how CI tests were invented and optimized Greg Foster Apr 11, 2024 2128 -
Introducing: The new Graphite + Linear integration Sara Verdi Mar 19, 2025 399 -
How Stack Overflow replaced Experts Exchange Greg Foster Apr 04, 2024 3171 -
8 best practices for pull requests in software engineering Ninad Pathak Jan 20, 2024 2460 -
How Graphite’s eng team ships code remarkably fast Greg Foster Dec 15, 2024 1030 -
7 Best Phabricator alternatives for PR stacking & code review [2024] Ninad Pathak Jan 31, 2024 3075 -
AI is writing code—here's why it also needs to review that code Sara Verdi Jul 29, 2025 1044 -
Trunk-based development: why you should stop using feature branches Greg Foster Nov 14, 2023 691 -
Graphite changelog [09-17-2025] Sara Verdi Sep 17, 2025 359 -
Experimenting with AI code review Greg Foster Oct 31, 2023 1941 -
Beating the end of year code freeze Kenneth DuMez Dec 24, 2024 624 -
Graphite Q1 launch week 2024 Kenneth DuMez Jan 09, 2024 231 -
Graphite changelog [5/16/2023] Pranathi Peri May 16, 2023 201 -
Graphite brings stacking to Tower Kenneth DuMez Apr 29, 2025 697 -
GitHub pull request filters alternative: The Graphite pull request inbox Ninad Pathak Feb 01, 2024 1654 -
What if you could get instant feedback on your code? Kenneth DuMez Aug 29, 2024 1034 -
Graphite is now free for startups and open source projects Merrill Lutsky May 21, 2024 496 -
How Google migrated billions of lines of code from Perforce to Piper Nicholas Yan Jun 27, 2024 1581 -
CRA to App Router in 5 Steps: A case study with Graphite Kenneth DuMez Oct 24, 2023 1474 -
BitKeeper, Linux, and licensing disputes: How Linus wrote Git in 14 days Nicholas Yan May 23, 2024 3392 -
Multiple engineers can now seamlessly collaborate on the same stack of PRs Stephen Pinkerton May 06, 2024 528 -
The comprehensive guide to writing the best PR title of all time Kenneth DuMez Sep 28, 2023 729 -
Moving fast breaks things: the importance of a staging environment Greg Foster Feb 18, 2024 2395 -
What are nits, and why are they bad? Greg Foster Aug 24, 2023 871 -
How stacked PRs unblock distributed development teams Sara Verdi Feb 10, 2025 984 -
The "Mom Test" in software development: asking good questions when everyone is lying to you Greg Foster Jan 16, 2024 1297 -
How large pull requests slow down development Greg Foster Nov 21, 2023 816 -
3 key lessons in Node.js server optimization Nicholas Yan Nov 16, 2023 2480 -
Meet Graphite Agent: The next evolution of AI code review Merrill Lutsky Oct 08, 2025 703 -
What does it mean to launch? Merrill Lutsky Sep 19, 2023 611 -
The Slowest GitHub PRs In Recorded History Greg Foster Sep 06, 2023 1306 -
How I got Claude to write code I could actually ship Kush Gupta Jul 25, 2025 1054 -
Graphite changelog [4/25/2024] 🐸 Stephen Pinkerton Apr 10, 2024 539 -
How to recreate the Phabricator code review workflow Ninad Pathak Feb 29, 2024 2194 -
Onboarding roulette: deleting our employee accounts daily Greg Foster Mar 14, 2024 1267 -
How we built the first stack-aware merge queue (and why it matters) Greg Foster Jun 03, 2025 3457 -
Graphite changelog [10-16-2025] Sara Verdi Oct 16, 2025 323 -
How we redesigned Graphite's landing page in-house Sara Verdi Nov 07, 2024 1380 -
The new developer toolchain for the age of AI Merrill Lutsky Aug 08, 2024 1584 -
Graphite raises $52M and launches AI code review agent Diamond Merrill Lutsky Mar 18, 2025 642 -
Introducing Graphite Reviewer: your AI code review companion Merrill Lutsky Oct 01, 2024 604 -
The future of engineering is collaborative (and already here) Sara Verdi Oct 15, 2025 535 -
The core principles of building a good AI feature Greg Foster Mar 21, 2024 1597 -
Reduce CI costs for Buildkite and GitHub Actions Stephen Pinkerton May 10, 2024 731 -
Graphite is going to Developer Week 2025 Team Graphite Feb 06, 2025 325 -
Introducing frozen branches: A safer way to build on your teammates’ work David Bradford Sep 18, 2025 653 -
Code review tooling: Should you build or buy? Sara Verdi Apr 17, 2025 1175 -
Keeping code simple: moving fast by avoiding over-engineering Greg Foster Feb 06, 2024 1872 -
The technical learning curve at a startup is gentler than you might think Nicholas Yan May 09, 2024 932 -
Graphite Q1 launch week: Stacking with the tools you love Kenneth DuMez Jan 18, 2024 653 -
Your GitHub pull request workflow is slowing everyone down Ninad Pathak Dec 05, 2023 2532 -
Launch week wrap-up (May 2024) Stephen Pinkerton May 16, 2024 528 -
Types of code reviews: Improve performance, velocity, and quality Ninad Pathak Feb 28, 2024 2821 -
Improving team velocity through better pull request practices Ninad Pathak Feb 22, 2024 2114 -
How GitHub replaced SourceForge as the dominant code hosting platform Greg Foster Mar 28, 2024 2934 -
Why we chose Anthropic's Claude to power Graphite Reviewer Team Graphite Dec 12, 2024 631 -
Graphite changelog [9/6/2023] Kenneth DuMez Sep 06, 2023 252 -
Why AI will never replace human code review Greg Foster Mar 18, 2025 1741 -
Graphite changelog [8/23/2023] Pranathi Peri Aug 23, 2023 215 -
Cheaper CI & faster merging with batching Stephen Pinkerton May 09, 2024 577 -
How to use stacked PRs to unblock your entire team Ninad Pathak Jan 09, 2024 2250 -
The practical and philosophical challenges of AI code review Greg Foster Jan 04, 2024 1196 -
Graphite changelog [10/18/2023] Kenneth DuMez Oct 18, 2023 237 -
Not Rocket Science - How Bors and Google’s TAP inspired modern merge queues Greg Foster Jul 28, 2024 2941 -
State of code review 2024 Sara Verdi Jul 18, 2024 1426 -
Why large companies and fast-moving startups are banning merge commits Greg Foster Nov 07, 2023 1009 -
Speed up your merges: Parallel CI is now generally available for teams using Graphite’s merge queue Stephen Pinkerton Jun 04, 2024 934 -
Graphite Q1 launch week: Accelerating code review Kenneth DuMez Jan 16, 2024 815 -
Empirically supported code review best practices Ninad Pathak Dec 19, 2023 3074 -
AI code generation will remain fragmented Greg Foster Nov 26, 2024 947 -
Graphite changelog [3/27/2024] 🤝 Stephen Pinkerton Mar 27, 2024 508 -
Every engineer should understand git reflog Harsh Siriah Dec 12, 2023 1367 -
Why we use AWS instead of Vercel to host our Next.js app Greg Foster Nov 28, 2023 1550 -
How we organize our monorepo to ship fast Greg Foster May 28, 2025 2777 -
Making AI code review available to everyone Sara Verdi Mar 27, 2025 559 -
Why Facebook doesn’t use Git Greg Foster Mar 07, 2024 1905 -
Optimizing CI/CD workflows for trunk-based development Greg Foster Nov 30, 2023 1561 -
Accurate eng estimations: predicting and negotiating the future Greg Foster Jan 24, 2024 2569 -
Graphite Q1 launch week: What’s next for Graphite Stephen Pinkerton Jan 19, 2024 871 -
Graphite Q1 launch week: Making stacking seamless Kenneth DuMez Jan 17, 2024 720 -
Post mortem: our outage took 124 seconds from you, here's 378 back Greg Foster Dec 07, 2023 720 -
How we sped up code search for Graphite Chat Brandon Willett Sep 10, 2025 1843 -
Graphite changelog [4/10/2024] 🎺 Stephen Pinkerton Apr 10, 2024 525 -
The ancient origins of code review Greg Foster Mar 02, 2023 764 -
Going from 0 to 1: How to write better unit tests when there are none David Bradford Jun 13, 2024 2977 -
The case for git GUIs Pranathi Peri Sep 14, 2023 996 -
Building trust as a software engineer Greg Foster Feb 13, 2024 1456 -
Do you ever outgrow GitHub? Nicholas Yan May 02, 2024 1954 -
What's the best GitHub pull request merge strategy? Ninad Pathak Feb 27, 2024 2450 -
How Google does code review Nicholas Yan May 09, 2024 1578 -
Down for less than four minutes a month: how AWS deploys code Nicholas Yan May 29, 2024 1415 -
Going from 0 to 1: How to write better unit tests when there are none Uncle Bob Nov 08, 2025 2977 -
Improving team velocity through better pull request practices - Nov 08, 2025 2114 -
Graphite's State of code review 2024 Git Nov 08, 2025 1426 -
Why we chose Anthropic's Claude to power Graphite Reviewer Anthropic Nov 08, 2025 631 -
Introducing frozen branches: A safer way to build on your teammates’ work My Nov 08, 2025 653 -
Call site attribution: how to pinpoint rogue SQL queries throttling your performance Type Nov 08, 2025 1086 -
Introducing Graphite Reviewer: your AI code review companion - Nov 08, 2025 604 -
CRA to AppRouter in 5 Steps: A case study with Graphite Create React App Nov 08, 2025 1474 -
Code review tooling: Should you build or buy? - Nov 08, 2025 1175 -
Graphite changelog [10-16-2025] - Nov 08, 2025 323 -
AI is writing code—here's why it also needs to review that code - Nov 08, 2025 1044 -
How Google migrated billions of lines of code from Perforce to Piper - Nov 08, 2025 1581 -
Graphite changelog [4/25/2024] 🐸 - Nov 08, 2025 539 -
Read this before you start stacking pull requests - Nov 08, 2025 1148 -
What's the best GitHub pull request merge strategy? - Nov 08, 2025 2450 -
Why we use AWS instead of Vercel to host our Next.js app - Nov 08, 2025 1550 -
Introducing: The new Graphite + Linear integration - Nov 08, 2025 399 -
How to recreate the Phabricator code review workflow - Nov 08, 2025 2194 -
Graphite Q1 Launch week: Stacking with the tools you love - Nov 08, 2025 653 -
The new developer toolchain Copilot Nov 08, 2025 1584 -
Introducing Graphite - Nov 08, 2025 635 -
Graphite changelog [09-17-2025] - Nov 08, 2025 359 -
Graphite changelog [3/13/2024] 🚁 - Nov 08, 2025 540 -
Git was built in 5 days Linus Torvalds Nov 08, 2025 2316 -
The Slowest GitHub PRs In Recorded History Patrick Collison Nov 08, 2025 1306 -
What’s next for Graphite Uber Nov 08, 2025 871 -
Every engineer should understand git reflog - Nov 08, 2025 1367 -
How AI code review reduces review cycles to improve developer productivity - Nov 08, 2025 1304 -
Building trust as a software engineer - Nov 08, 2025 1456 -
Graphite will now automatically rebase your partially-merged stacks - Nov 08, 2025 500 -
Meet Graphite Agent: the next evolution of AI code review - Nov 08, 2025 703 -
The core principles of building a good AI feature Open Nov 08, 2025 1597 -
Beating the end of year code freeze - Nov 08, 2025 624 -
Why AI will never replace human code review - Nov 08, 2025 1741 -
What's better than GitHub pull request filters? The Graphite pull request inbox - Nov 08, 2025 1654 -
The technical learning curve at a startup is gentler than you might think - Nov 08, 2025 932 -
Why large companies and fast-moving startups are banning merge commits - Nov 08, 2025 1009 -
How we sped up code search for Graphite Chat - Nov 08, 2025 1843 -
Phabricator vs GitHub vs Graphite: How do they stack up? Phabricator Nov 08, 2025 2137 -
Why Facebook doesn’t use Git Git Nov 08, 2025 1905 -
Introducing Graphite Chat - Nov 08, 2025 700 -
The Mom Test - Nov 08, 2025 1297 -
How long should your CI take? - Nov 08, 2025 935 -
The ancient origins of code review Guido Nov 08, 2025 764 -
Graphite is now free for startups and open source projects - Nov 08, 2025 496 -
How to use stacked PRs to unblock your entire team - Nov 08, 2025 2250 -
Graphite brings stacking to Tower - Nov 08, 2025 697 -
Graphite raises $52M and launches Diamond to reimagine code review for the age of AI Meta Nov 08, 2025 642 -
How 10,000 Developers All Contribute to the same Repo Google Nov 08, 2025 1126 -
How Graphite’s eng team ships code remarkably fast - Nov 08, 2025 1030 -
Graphite is going to Developer Week 2025 - Nov 08, 2025 325 -
How Google does code review Chromium Nov 08, 2025 1578 -
Onboarding roulette: deleting our employee accounts daily - Nov 08, 2025 1267 -
Moving fast breaks things: the importance of a staging environment - Nov 08, 2025 2395 -
Cheaper CI & faster merging with batching - Nov 08, 2025 577 -
The future of engineering is collaborative (and already here) - Nov 08, 2025 535 -
Making AI code review available to everyone - Nov 08, 2025 559 -
Launch week wrap-up (May 2024) - Nov 08, 2025 528 -
Speed up your merges: Parallel CI is now generally available for teams using Graphite’s merge queue - Nov 08, 2025 934 -
Experimenting with AI code review - Nov 08, 2025 1941 -
Tracking and understanding GitHub PR stats: A step-by-step guide Graphite Nov 08, 2025 1346 -
How we built the first stack-aware merge queue (and why it matters) - Nov 08, 2025 3457 -
How we organize our monorepo to ship fast - Nov 08, 2025 2777 -
Do you ever outgrow GitHub? Guido Nov 08, 2025 1954 -
From the 80's to 2024 - how CI tests were invented and optimized Microsoft Nov 08, 2025 2128 -
BitKeeper, Linux, and licensing disputes: How Linus wrote Git in 14 days - Nov 08, 2025 3392 -
Graphite Changelog [10/18/2023] - Nov 08, 2025 237 -
The case for git GUIs Facebook Nov 08, 2025 996 -
How GitHub monopolized code hosting - Nov 08, 2025 2934 -
Empirically sup code review best practices - Nov 08, 2025 3074 -
Graphite Q1 launch week 2024 - Nov 08, 2025 231 -
Reduce CI costs for Buildkite and GitHub Actions - Nov 08, 2025 731 -
7 Best Phabricator alternatives for PR stacking + code review [2024] Phabricator Nov 08, 2025 3075 -
Graphite changelog [9/6/2023] - Nov 08, 2025 252 -
What are nits, and why are they bad? - Nov 08, 2025 871 -
Multiple engineers can now seamlessly collaborate on the same stack of PRs - Nov 09, 2025 528 -
Stacked changes: how Facebook and Google engineers stay unblocked and ship faster - Nov 09, 2025 618 -
Your GitHub pull request workflow is slowing everyone down - Nov 09, 2025 2532 -
Graphite Q1 Launch week: Making stacking seamless - Nov 09, 2025 720 -
Graphite changelog [11-04-2025] - Nov 09, 2025 175 -
Graphite changelog [8/23/2023] - Nov 09, 2025 215 -
How we redesigned Graphite's landing page in-house - Nov 09, 2025 1380 -
How Stack Overflow replaced Experts Exchange Google Nov 09, 2025 3171 -
Accelerating code review - Nov 09, 2025 815 -
8 pull request best practices for optimal engineering - Nov 09, 2025 2460 -
Types of code reviews: Improve performance, velocity, and quality - Nov 09, 2025 2821 -
Graphite changelog [4/10/2024] 🎺 - Nov 09, 2025 525 -
What if you could get instant feedback on your code? - Nov 09, 2025 1034 -
Keeping code simple: moving fast by avoiding over-engineering - Nov 09, 2025 1872 -
How I got Claude to write code I could actually ship - Nov 09, 2025 1054 -
Not Rocket Science - How Bors and Google’s TAP inspired modern merge queues - Nov 09, 2025 2941 -
Graphite changelog [5/16/2023] - Nov 09, 2025 201 -
The practical and philosophical problems with AI code review - Nov 09, 2025 1196 -
AI code generation will remain fragmented - Nov 09, 2025 947 -
How stacked PRs unblock distributed development teams - Nov 09, 2025 984 -
Down for less than four minutes a month: how AWS deploys code - Nov 09, 2025 1415 -
Announcing Graphite for Visual Studio Code - Nov 09, 2025 104 -
Accurate eng estimations: predicting and negotiating the future - Nov 09, 2025 2569 -
Graphite changelog [3/27/2024] 🤝 - Nov 09, 2025 508 -
Graphite changelog [11-20-2025] - Nov 22, 2025 355 -
Reimagining the PR Page: Designing for speed and focus - Nov 30, 2025 1016 -