Skip to content


These are all of my long-form articles. An Atom feed contains their full text. If that has any problems, I also have a legacy RSS feed.

Timestamp format: YYYY-MM-DD HH:MM, as per RFC 3339. Sorted newest to oldest.

  1. Posted , updated

    Avoid de-anonymization through analysis of your writing style. Defend against machine- and human-driven stylometric identification.

    1456 words; a short read

  2. Posted , updated

    A horrible idea to determine the legality of GitHub Copilot, or of re-creating proprietary speech synthesizers: create legal precedent that doesn't exist yet!

    1521 words; a short read

  3. Posted , updated

    "Privacy" can mean different things in different contexts. Tracking-reduction and tracking-evasion represent different goals with some conflict and overlap.

    2520 words; a read

  4. Posted , updated

    A response to some problematic CLI UX advice, with alternative recommendations for designing more accessible CLI utilities.

    2125 words; a read

  5. Posted , updated

    My take on where Manifest V3 fits into the current ad-blocking landscape: it has some benefits which should complement but not replace existing approaches

    1922 words; a read

  6. Posted , updated

    Recently, people have been telling webmasters to add a Permissions-Policy header to their sites to opt out of FLoC. The reality of the situation isn't so simple.

    1505 words; a short read

  7. Posted , updated

    A cursory review of all the non-metasearch, indexing search engines I have been able to find.

    About 6 thousand words; a somewhat long read

  8. Posted , updated

    How open platforms become closed, and how standards-driven development can prevent it from happening.

    2546 words; a read

  9. Posted , updated

    WhatsApp's rise and recent PR efforts highlight a class of business models that I call "user domestication".

    3192 words; a read

  10. Posted , updated

    Using thermal physics, cosmology, and computer science to calculate password vulnerability to the biggest possible brute-force attack.

    2411 words; a read

  11. Posted , updated

    A lengthy guide to making simple, inclusive sites focused on content before form. Emphasizes brutalist design and accessibility to include under-represented users.

    About 23 thousand words; a very long read

  12. Posted , updated

    Efficient redundancy via repository mirroring with nothing but git.

    524 words; a short read

  13. Posted , updated

    A seires on setting up resilient git-based project workflows, free of vendor lock-in.

    413 words; a short read

  14. Posted , updated

    Seirdy's obligatory inagural blog post, which is barely longer than this description.

    31 words; a short read