Here’s a selection of my best articles, in featured order. To see the rest, visit my Articles page.

I edit some of these articles quite often; some are updated indefinitely. Check the “updated” timestamps.

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

  1. 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 19 thousand words; a very long read

  2. Posted , updated

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

    3192 words; a read


This site is part of 14 webrings. A webring is a collection of sites in a circular doubly-linked list; each website links to the next and previous site in the list.

Some of the “next” and “previous” links contain JavaScript; you need to enable it to be re-directed to the correct page. I’ve marked these links with “JS”.

Toggle webrings list
  1. Indieweb
    1. Indieweb webring home
    2. Previous Indieweb site
    3. Next Indieweb site
  2. Retroweb
    1. Retroweb webring home
    2. Previous Retroweb site
    3. Next Retroweb site
    4. Random Retroweb site
  3. Miniclub
    1. Miniclub webring home
    2. Previous Miniclub site
    3. Next Miniclub site
    4. Random Miniclub site
  4. geekring
    1. geekring webring home
    2. Previous geekring site
    3. Next geekring site
    4. Random geekring site
  5. no js webring
    1. no js webring webring home
    2. Previous no js webring site
    3. Next no js webring site
    4. Random no js webring site
  6. Fediring
    1. Fediring webring home
    2. Previous Fediring site
    3. Next Fediring site
    4. Random Fediring site
  7. Loop (JS)
    1. Loop (JS) webring home
    2. Previous Loop (JS) site
    3. Next Loop (JS) site
    4. Random Loop (JS) site
  8. YesterWeb
    1. YesterWeb webring home
    2. Previous YesterWeb site
    3. Next YesterWeb site
    4. Random YesterWeb site
  9. Retronaut
    1. Retronaut webring home
    2. Previous Retronaut site
    3. Next Retronaut site
  10. Hotline
    1. Hotline webring home
    2. Previous Hotline site
    3. Next Hotline site
  11. Bucket (JS)
    1. Bucket (JS) webring home
    2. Previous Bucket (JS) site
    3. Next Bucket (JS) site
  12. Devring
    1. Devring webring home
    2. Previous Devring site
    3. Next Devring site
    4. Random Devring site
  13. GEORGE
    1. GEORGE webring home
    2. Previous GEORGE site
    3. Next GEORGE site
  14. Endless Orbit
    1. Endless Orbit webring home
    2. Previous Endless Orbit site
    3. Next Endless Orbit site

If you’re part of a webring and would like me to join, just ask. I’ll probably accept if joining only requires me to add hyperlinks to this page (no scripts, external content, or images), and if the ring doesn’t seem to promote anything I find objectionable.