conv.

All stories
TechQuiet 9d · day 16

Tyrtulia, a passwordless terminal forum, draws scrutiny for AI-written prose

Developer andros ships a headless BBJ-style forum for Unix servers, then faces accusations that his writeups were LLM-generated.

What to know

  • Tyrtulia is a lightweight, headless forum server (60-70MB RAM, ~50MB disk) for small Unix-shared-server communities, modeled on the BBJ textboard, with no passwords — any local Unix user is automatically an account.
  • A packaging mistake pushed a 2.0.0 release to PyPI containing the same code as 1.2.0 that cannot be withdrawn; users are told to install with "tyrtulia<2".
  • The Lobsters discussion turned into a dispute over whether the project's writeups (and andros's own replies) were written by an LLM, with one commenter citing an AI-detection tool as proof.
  • Andros confirms AI was used as an assistant for standards interpretation, spec gap-filling, test generation, and trivial code, without directly confirming or denying AI authorship of the prose itself.

The dispute Whether andros's detailed, code-referencing replies are genuine engineering explanation or AI-generated text, with andros arguing that length and technical depth are being mistaken for machine authorship. · positions read across 13 posts and comments

many voices

The project's writeups and replies are clearly or detectably AI-generated.

  • “This also very much reads like an LLM wrote it...”

    wheybags · Lobsters ↗
some voices

AI was used as a development aid, not as the sole author of the project or its explanations.

  • “Yes, AI has been a constant assistant. It’s helped me most with interpreting standards (or checking that I complied with them), filling in gaps in the specification...”

    andros · Lobsters ↗
some voices

The hypermedia route-independence claim doesn't match the actual client code.

  • “Is this actually the case? I've been lightly skimming your TUI client implementation, but I'm seeing a lot of stuff like: async def threads(self, *, watching: bool = False)...”

    nemin · Lobsters ↗
some voices

The project itself is a neat, nostalgic idea worth exploring or supporting elsewhere.

andros Creator of Tyrtulianemin Commentercadey Commenterwheybags Commenterploum Commenter, maintainer of Offpunk

Tyrtulia, a passwordless terminal forum, draws scrutiny for AI-written prose
git.andros.dev

How it unfolded 9 developments, newest first · click a bar or a number to jump postscomments

Peak 8 pieces in 4h at Nov 2, 6 AM; 16 pieces over 16 days (3 posts · 13 comments) Oct 27, 3 AM — 1 piece · 1 post — Hacker News 1Oct 27, 7 AM — quietOct 27, 11 AM — quietOct 27, 3 PM — quietOct 27, 7 PM — quietOct 27, 11 PM — quietOct 28, 3 AM — quietOct 28, 7 AM — quietOct 28, 11 AM — quietOct 28, 3 PM — quietOct 28, 7 PM — quietOct 28, 11 PM — quietOct 29, 3 AM — quietOct 29, 7 AM — quietOct 29, 11 AM — quietOct 29, 3 PM — quietOct 29, 7 PM — quietOct 29, 11 PM — quietOct 30, 3 AM — 1 piece · 1 post — Hacker News 1Oct 30, 7 AM — quietOct 30, 11 AM — quietOct 30, 3 PM — quietOct 30, 7 PM — quietOct 30, 11 PM — quietOct 31, 3 AM — quietOct 31, 7 AM — quietOct 31, 11 AM — quietOct 31, 3 PM — quietOct 31, 7 PM — quietOct 31, 11 PM — quietNov 1, 2 AM — quietNov 1, 6 AM — quietNov 1, 10 AM — quietNov 1, 2 PM — quietNov 1, 6 PM — quietNov 1, 10 PM — quietNov 2, 2 AM — 6 pieces · 1 post · 5 comments — Lobsters 6Nov 2, 6 AM — 8 pieces · 8 comments — Lobsters 8Nov 2, 10 AM — quietNov 2, 2 PM — quietNov 2, 6 PM — quietNov 2, 10 PM — quietNov 3, 2 AM — quietNov 3, 6 AM — quietNov 3, 10 AM — quietNov 3, 2 PM — quietNov 3, 6 PM — quietNov 3, 10 PM — quietNov 4, 2 AM — quietNov 4, 6 AM — quietNov 4, 10 AM — quietNov 4, 2 PM — quietNov 4, 6 PM — quietNov 4, 10 PM — quietNov 5, 2 AM — quietNov 5, 6 AM — quietNov 5, 10 AM — quietNov 5, 2 PM — quietNov 5, 6 PM — quietNov 5, 10 PM — quietNov 6, 2 AM — quietNov 6, 6 AM — quietNov 6, 10 AM — quietNov 6, 2 PM — quietNov 6, 6 PM — quietNov 6, 10 PM — quietNov 7, 2 AM — quietNov 7, 6 AM — quietNov 7, 10 AM — quietNov 7, 2 PM — quietNov 7, 6 PM — quietNov 7, 10 PM — quietNov 8, 2 AM — quietNov 8, 6 AM — quietNov 8, 10 AM — quietNov 8, 2 PM — quietNov 8, 6 PM — quietNov 8, 10 PM — quietNov 9, 2 AM — quietNov 9, 6 AM — quietNov 9, 10 AM — quietNov 9, 2 PM — quietNov 9, 6 PM — quietNov 9, 10 PM — quietYesterday, 2 AM — quietYesterday, 6 AM — quietYesterday, 10 AM — quietYesterday, 2 PM — quietYesterday, 6 PM — quietYesterday, 10 PM — quietToday, 2 AM — quietToday, 6 AM — quietToday, 10 AM — quietToday, 2 PM — quietToday, 6 PM — quiet 123–9
Oct 28Oct 30Nov 1Nov 3Nov 5Nov 7Nov 9now · 8:41 PM ET
  1. 9

    AI-detection link cited as evidence of machine-generated text

    cadey posts a Pangram history link asserting the content is AI output, escalating the authorship dispute from suspicion to a claimed detection result.

    “It is AI output, 100%…”
    — cadey
    • This also very much reads like an LLM wrote it...

      wheybagslinux,python,show9d ago8▲view on Lobsters ↗
    2 more of the top 3 · 6 posts in this stretch
    • https://www.pangram.com/history/23e189e9-88f0-4a7b-8d5e-5e29ae6b3873?ucc=n9Q5PQBvn71&utm_source=pangram_share&utm_medium=copy_link It is AI output, 100%

      cadeylinux,python,show9d ago4▲view on Lobsters ↗
    • Are you using an LLM to write these replies?

      lpillinux,python,show9d ago3▲view on Lobsters ↗
    all of them →
  2. 8

    Multiple commenters say the writeups read as LLM-generated

    wheybags and cadey independently state the posted text appears AI-written, with cadey linking a Pangram AI-detection report; lpil separately asks if andros's own reply comments are LLM-assisted.

    “This also very much reads like an LLM wrote it...”
    — wheybags
    • If this ever get traction, I think I should study how to implement support in Offpunk for it.

      ploumlinux,python,show9d ago2▲view on Lobsters ↗
    1 more of the top 2 · 2 posts in this stretch
    • Maybe, but Nemin’s curiosity is perfectly understandable. What’s more, they’ve identified a very interesting problem in the structure of Hypermedia. The "/posts/" endpoint is indeed a critical part of the API. It’s also true that when you give an answer of more than one sentence and include code references, they accuse you of using a LLM…

      androslinux,python,show9d agoview on Lobsters ↗
    all of them →
  3. 7

    andros details which parts of the project used AI assistance

    Andros replies that AI helped with interpreting standards, filling specification gaps, validating code, writing tests, and generating code for trivial parts like the Atom feed, while defending engagement with detailed questions as legitimate rather than suspect.

    “Yes, AI has been a constant assistant. It’s helped me most with interpreting standards (or checking that I complied with them), filling in gaps in the specification...”
    — andros
    • Thanks! Yes, AI has been a constant assistant. It’s helped me most with interpreting standards (or checking that I complied with them), filling in gaps in the specification (hypermedia has special cases that require looking things up), validating code (although Ruff has done most of the work), generating boring tests (like the SSE E2E tests), and…

      androslinux,python,show9d agoview on Lobsters ↗
  4. 6

    Commenters ask whether AI was used to build the project

    User xx and others ask directly whether AI tools were used in Tyrtulia's development, opening a thread that later turns toward the writing style of andros's posts.

    • Cool concept. Very nostalgic. Out of curiosity, was AI used in this project and if it was, how did you use it?

      xxlinux,python,show9d ago1▲view on Lobsters ↗
  5. 5

    andros clarifies that hypermedia moves the contract, not eliminates it

    Andros responds that link relation names and response bodies form the real specification, and that breaking changes should be handled additively by introducing new relations alongside old ones.

    “Hypermedia doesn’t eliminate the contract; it moves it from URLs to link relation names and representations: latest, watching, and the body of subscribe are the specification.”
    — andros
    • You’re right. Hypermedia doesn’t eliminate the contract; it moves it from URLs to link relation names and representations: latest, watching, and the body of subscribe are the specification. If I changed subscribe to take an ID instead of a level, all clients would stop working, hypermedia or not. That’s a contract change, and the way to handle it…

      androslinux,python,show9d agoview on Lobsters ↗
  6. 4

    Commenter nemin questions the hypermedia route-independence claim

    Nemin points to TUI client code that appears to hardcode knowledge of routes like watching and latest, challenging the claim that clients never know routes in advance.

    • This seems like a cool project, but there is one thing I don't quite understand and I hope you can elucidate me: > If I change a route tomorrow, no client breaks, because none of them knew it in advance. They just follow the links the server gives them. Is this actually the case? I've been lightly skimming your TUI client implementation, but I'm…

      neminlinux,python,show9d ago5▲view on Lobsters ↗
    1 more of the top 2 · 2 posts in this stretch
    • I would swap the links so that the post refers to the article and the comment to the git repo.

      JulianSildenLanglolinux,python,show9d ago1▲view on Lobsters ↗
    all of them →
  7. 3

    Tyrtulia submitted to Lobsters, drawing wider technical discussion

    The project is posted to Lobsters with the same repository description, installation instructions (including a PyPI versioning quirk with a mistaken 2.0.0 release), and setup steps for Linux, FreeBSD, and OpenBSD.

  8. 2 days quiet
  9. 2

    andros publishes detailed blog writeup of Tyrtulia's design

    A second Show HN links a blog post explaining the hypermedia REST API, the no-password Unix-account login model, and comparison to BBJ, emphasizing that clients discover routes via links rather than hardcoding them.

    “If I change a route tomorrow, no client breaks, because none of them knew it in advance. They just follow the links the server gives them.”
    — andros
  10. 2 days quiet
  11. 1

    andros posts Show HN for Tyrtulia

    Andros submits the Tyrtulia git repository to Hacker News as "Show HN: I Built a Modern BBJ," describing a headless forum needing 60-70MB RAM and 50MB disk, built for shared Unix servers.

What people are saying 3 voices from 1 site · best of 13 · verbatim

Still unanswered
  • Does the hypermedia design actually prevent clients from breaking when server routes change, given that client code appears to reference specific relations like watching and latest?
  • How much of the project's code and documentation, versus its forum replies, was actually written with AI assistance?