Blog

159 posts

Popular Posts

Why everything should have a URL

15 min read

When knowledge lives in people's heads and inboxes, it doesn't scale. Giving decisions and processes URLs makes context discoverable, async, and opt-in.

Why you should work asynchronously

5 min read

Async is what makes remote work actually work. It produces better outcomes, improves work-life balance, and unlocks flow beyond Cold War-era workflows.

Why open source

17 min read

Open source isn't a fad. Here are twenty-five economic, moral, and personal reasons your organization should embrace it.

Leaders show their work

10 min read

Great leaders don't just communicate decisions—they explain how and why. Without that context, every decision sounds like "because I said so."

Manage like an engineer

8 min read

If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development?

Cathedral vs Bazaar People Management

5 min read

What if we applied open source's cathedral vs. bazaar metaphor to management? Cathedral managers control; bazaar managers empower.

2026 (3 posts)

No agenda, no meeting

2 min read

Announcing noagendanomeeting.net — a single-page site advocating that every meeting deserves an agenda, and most meetings deserve to be a document instead.

2025 (1 post)

How to run LanguageTool on macOS

6 min read

Set up LanguageTool as a free, open-source Grammarly alternative that runs locally on your Mac. No subscription required.

2024 (1 post)

2023 (10 posts)

Cathedral vs Bazaar People Management

5 min read

What if we applied open source's cathedral vs. bazaar metaphor to management? Cathedral managers control; bazaar managers empower.

Pull requests are a form of documentation

3 min read

Pull requests capture not just what changed, but who, why, and what alternatives were considered. Treat every PR as a time capsule for future contributors.

Practice inclusive scheduling

2 min read

Small scheduling choices — writing dates unambiguously, including time zones, and building in breaks — make distributed teams feel included.

Intro to GitHub for non-technical roles

10 min read

GitHub isn't just for developers. A practical guide for non-technical roles to follow along, collaborate, and track work with confidence.

How to write a great extended leave document

5 min read

A battle-tested template for handing off your responsibilities before extended leave, so your team stays unblocked and nothing falls through the cracks.

Manage like an engineer

8 min read

If issues, pull requests, and project boards are the best way to develop software, should they not also be the best way to manage software development?

2022 (4 posts)

Helpful 404s for Jekyll (and GitHub Pages)

3 min read

How to build 404 pages for Jekyll and GitHub Pages that automatically suggest similar URLs to those requested, using Levenshtein distance and your sitemap.

Why you should work asynchronously

5 min read

Async is what makes remote work actually work. It produces better outcomes, improves work-life balance, and unlocks flow beyond Cold War-era workflows.

Leaders show their work

10 min read

Great leaders don't just communicate decisions—they explain how and why. Without that context, every decision sounds like "because I said so."

2021 (9 posts)

2020 (11 posts)

The top 10 posts of the past 10 years

2 min read

Celebrating 10 years and nearly 200,000 words of blogging with a countdown of the most viewed posts, from open source licensing to communicating at GitHub.

Budget for the hidden "internet tax"

9 min read

Trust and safety is a cost of doing business on the internet. If you're building a platform, budget for abuse protection before someone gets hurt.

How I manage GitHub notifications

8 min read

My system for staying on top of 200+ daily GitHub notifications without losing focus. Watch liberally, unsubscribe often, and triage by signal.

Eight tips for working remotely

10 min read

Tools alone won't make remote work succeed. Eight cultural rules for effective async communication, regardless of your industry or role.

User blocking vs. user muting

9 min read

Why GitHub's approach to user blocking diverges from other social networks, and what's different about moderating a code collaboration platform.

2019 (3 posts)

Go near, go far, meet in the middle

5 min read

A three-phase approach for product managers joining established teams: tackle known wins, build a shared vision, then discover how to get there.

2018 (3 posts)

Problems, not solutions

5 min read

The most valuable thing a product manager can do is frame the right problem for the right user before anyone writes a line of code.

Yes, No, Maybe

4 min read

When responding to customer feature requests your answer should be in the form of "we're doing that", "we're not doing that", or "we might do that".

2017 (8 posts)

How not to prioritize a feature

7 min read

The hardest part of software development is not coming up with features to build, but instead, deciding what features will have the biggest impact.

Bikeshed honeypots

5 min read

A bikeshed honeypot is an obvious flaw you plant in a proposal to divert attention from the parts you feel strongly about.

2016 (12 posts)

How I Atom (for prose)

5 min read

A detailed look at the packages, prose linters, and configuration tweaks I use to turn the Atom text editor into a powerful Markdown writing environment.

How to make a product great

7 min read

Great products absorb complexity on behalf of users, not the other way around. 10 principles for building software that's complex to build and easy to use.

Removing a feature is a feature

8 min read

Features aren't free. Every time you remove one that doesn't serve your core use case, you're adding an implicit feature that does.

Books for geeks

1 min read

A curated reading list for developers who care about more than just code, covering technology, open source culture, and the business of software.

Twelve things a product manager does

10 min read

What does a product manager actually do all day? After six months of note-taking, here are 12 responsibilities from user advocacy to strategic thinking.

Moderating a controversial pull request

5 min read

Ground rules, assigned roles, and clear timelines keep controversial pull requests from devolving into the internet's comments section.

How to derail any meeting

4 min read

How a WWII field manual can help modern knowledge workers identify those inadvertently sabotaging your organization today.

2015 (30 posts)

Open source as Yelp for software

8 min read

Open source is like Yelp for software, with the potential to shift the balance of power from publishers to consumers.

Why open source

17 min read

Open source isn't a fad. Here are twenty-five economic, moral, and personal reasons your organization should embrace it.

Why everything should have a URL

15 min read

When knowledge lives in people's heads and inboxes, it doesn't scale. Giving decisions and processes URLs makes context discoverable, async, and opt-in.

The Zen of GitHub

3 min read

Call it taste, culture, or zen — every organization has shared assumptions that guide decisions and resolve ambiguity in pursuit of its mission.

Merge by committee

7 min read

Reviewing pull requests in weekly committee meetings kills open source projects. Decentralize governance and reduce information imbalance.

Test your content

4 min read

Treat content as code and unlock CI for prose. Use HTML Proofer and Travis CI to automatically test every link, image, and change.

The difference between 18F and USDS

13 min read

18F and USDS both aim to modernize government technology, but with divergent approaches: one ships culture, the other ships confidence.

What does your organization optimize for?

4 min read

Every organization is optimized for one thing. A glance at someone's laptop stickers reveals whether yours optimizes for people or process.

2014 (22 posts)

Geeks and suits

7 min read

In government IT, change depends on geeks and suits -- yet despite being in an industry built on communication, they rarely talk.

The myth of government IT

5 min read

Government IT is held back less by law and more by myth -- decade-old assumptions about technology that calcified into policy.

15 rules for communicating at GitHub

16 min read

How GitHub uses issues and chat for async communication — fifteen rules that eliminate the 'you had to be there' problem in corporate workflows.

What is a Government Evangelist?

3 min read

What a GitHub Government Evangelist does: help agencies ship software better and bring Silicon Valley practices to Washington.

Our code deserves better

5 min read

Government delivers multi-million dollar software projects on CD-ROMs in triplicate. Modern development practices demand better.

Open source is (not) insecure

5 min read

Open source software isn't inherently less secure than proprietary alternatives. That myth stems from fear, uncertainty, and doubt (FUD).

Open source, not just software anymore

8 min read

Open source has always been about the right to modify, not contribute. As those workflows spread beyond software, we may need a new word.

2013 (15 posts)

Why no one uses your government data

3 min read

Next time you publish a data source, ask one question: how can you optimize the experience for the data consumer?

That's not how the internet works

7 min read

Stop publishing monolithic datasets. Treat your GitHub repo like a RESTful API — granular, URL-addressable, and optimized for consumers.

Jekyll: Where content is truly king

2 min read

Choosing Jekyll over a traditional CMS for government.github.com freed us to spend six months iterating on what mattered most — the content.

Treat Data as Code

5 min read

Developers learned decades ago that version control and collaboration are essential. It's time we apply those same practices to data.

Friction

5 min read

Friction — the time between wanting to contribute and actually contributing — is the only metric that matters for open source.

Everyone Contributes

3 min read

Code is just one way to contribute to open source. Projects thrive when they create clear paths for non-technical contributors to participate.

Bet on the little guy

3 min read

On the internet, simple and open formats always win. From HTTP to JSON to Markdown, the lightweight underdog consistently beats its proprietary rival.

The technology's the easy part

6 min read

In government IT, technology is never the hard part. Culture is. Stop building new tools and start sustaining the ones you already have.

An open letter to government CIOs

3 min read

Government CIOs don't need bigger budgets or more staff. They need to build lean, iterate quickly, and embrace open source as a way of working.

We've Been Selling Open Source Wrong

4 min read

Demanding agencies release code misses the point. Open source is a culture and workflow, not a deliverable. Fix the process and the code follows.

The store that sells only one thing.

3 min read

Tech consultants who define themselves by a single language or framework are like a store that sells one product. Customers bring problems, not solutions.

The next big thing is already here

2 min read

Want to predict the next technology trend? Look at how open source developers work. The tools they build for themselves today become mainstream tomorrow.

What is a 'Hacker'?

5 min read

In DC, 'hacker' is a dirty word. But the hacker ethic — sharing, openness, decentralization — is the mindset government needs to solve hard problems.

2012 (18 posts)

Securing the Status Quo

30 min read

Federal agencies spend billions on IT security, yet rigid compliance frameworks create false safety while stifling innovation against real threats.

Deprecate Management

5 min read

Open source communities ship code across geographies and timezones without managers. Their collaborative practices have lessons for all of us.

We've been trained to make paper

5 min read

If the internet is the primary medium by which content is consumed, shouldn't that be the primary medium for which content is prepared?

Open Source is not a verb

4 min read

Open source, at its core, is actually not about code, but about connecting people around a shared vision to encourage collaborative problem solving.

Welcome to the Post-CMS World

7 min read

Jekyll (and other static-sites) lead to simple, flexible, and reliable websites that allow for a renewed focus on what actually matters: the content.

The Demise of the Personal Dashboard

5 min read

Google retired iGoogle. Startups favor activity feeds and minimal interfaces. The drag-and-drop dashboard era is over, and simplicity is the new default.

WordPress as a Collaboration Platform

1 min read

A presentation on how teams use WordPress beyond publishing, from collaborative document editing to progress tracking and workflow integration.

2011 (9 posts)

Towards a More Agile Government

28 min read

Federal IT spends billions annually, yet fewer than 9% of projects ship on time and on budget. The fix requires regulatory reform and agile.

Analysis of Federal Executive .govs

3 min read

A scan of every federal executive .gov reveals that only 73% are live, Drupal dominates as a CMS, and 93% of live domains use no detectable CMS at all.

Why WordPress

11 min read

The case for WordPress as the world's most versatile publishing platform, from its proven track record and ease of use to its community-driven ecosystem.