{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreif5hynt5rrxx2lunbjjhl6zrjuiq66gayerzee6t2xojdyioysrcq",
    "uri": "at://did:plc:46ti67tc37qcmwp2vaynk6fq/app.bsky.feed.post/3mnvm4yqy27y2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidnkxhtayxhrhjwtclooh2r2cvie4u5lteu67ui3xkahuhpr2he6e"
    },
    "mimeType": "image/jpeg",
    "size": 50914
  },
  "path": "/en/blog/2026-blogging-llm",
  "publishedAt": "2026-06-10T01:54:24.933Z",
  "site": "https://vincent.bernat.ch",
  "tags": [
    "disallowing LLM-generated\nsubmissions",
    "Lobsters",
    "LinkedIn",
    "French",
    "English",
    "better to work in the reverse order",
    "1",
    "hiring an\neditor",
    "Scaling Akvorado BMP RIB with sharding",
    "first draft",
    "2",
    "edited copy",
    "copyediting skill",
    "translation to French",
    "translation\n   skill",
    "human proofread of the French translation",
    "alter the author’s voice when editing",
    "long-time",
    "long-standing",
    "defining relative clause",
    "equipment",
    "require",
    "3",
    "grammar skill",
    "past articles",
    "DeepL",
    "Writing for Developers",
    "Michael Lynch",
    "Refactoring\nEnglish",
    "",
    "Kagi",
    "translate tool",
    "dictionary",
    "Kagi’s research assistant"
  ],
  "textContent": "AI slop is invading the web. A recent story about disallowing LLM-generated\nsubmissions on Lobsters triggered a lot of debate. My personal worst offenders are LinkedIn articles with AI-generated images and uninspired articles filled with emojis from people trying to masquerade as experts on a subject they don’t care enough to write themselves. While I am unhappy about this situation, I rely on LLMs for **grammar** , **copyediting** , and **translation**. I don’t see this as a contradiction.\n\nI am a native French speaker, but I blog in both English and French. When I started writing this blog in 2011, I was composing in French and translating to English, but I found it was better to work in the reverse order to avoid unnatural and non-idiomatic constructions. One of my goals is to write “good” English but I never felt it was my strong point.1 For example, verb tenses are often an issue, even if I mostly stick with the present tense. I learn the rules and forget them right away. I also don’t feel like hiring an\neditor for something I see as an hobby.\n\nAs an example, I have kept the history of the successive iterations when writing “Scaling Akvorado BMP RIB with sharding”:\n\n  1. the first draft, authored with the help of a thesaurus,2\n  2. the edited copy revised by the copyediting skill,\n  3. the translation to French generated with the translation\n   skill, and\n  4. the human proofread of the French translation, with minor edits to the English version.\n\n\n\nI know that LLMs may alter the author’s voice when editing, but the corrections in the second step are minor. The prompt asks to “apply light stylistic edits,” with some guidance around avoiding passive voice, long sentences, bland verbs, and filler words. It also defines the target audience: technical with a B2 level in English.\n\nIn the following excerpt, I used “long time” instead of “long-standing.” The former is missing an hyphen and applies to people—a long-time friend, while the later relates to a situation—a long-standing agreement. I had a hard time understanding the reason of the second change: the LLM prefers a defining relative clause to provide the definition of “RIB sharding.”\n\n> As the Internet routing table contains more than 1 million routes, Akvorado needs to scale to tens of millions of routes. This has been a ~~long time~~ long-standing challenge, but I expect this issue is now fixed by using RIB sharding, a method ~~to split~~ that splits the routing database into several parts to enable concurrent updates.\n\nIn the next modification, the LLM puts “device” instead of “equipment.” This is correct as “equipment” is an uncountable noun. I know that, but I still fall into this trap.\n\n> When Akvorado does not find a route from a specific device, it falls back to a route sent by another ~~equipment~~ device.\n\nI ask the LLM to use “descriptive verbs” and it complies by replacing a multi-word predicate with a lexically rich verb:\n\n> The benchmarks demonstrate it ~~has better performance than~~ outperforms other ~~packages, both~~ packages for lookups, insertions, and memory usage.\n\nIt also fixes grammar errors. In the next excerpt, a “list of routes” is a singular expression. Moreover, “stored” is a state and I should not use “into” as it expresses a change.\n\n> The list of routes for each prefix ~~are~~ is not stored directly ~~into~~ in the prefix tree.\n\nAs a last example, consider the following snippet. The “require” verb accepts a noun or an object followed by a to-infinitive. I can’t use it with just a to-infinitive.\n\n> An alternative would be to have one prefix tree for each peer but it would require ~~to configure~~ configuring all routers to export their routes.\n\nAs someone who didn’t grow up speaking English, I struggle with these grammar rules despite reading a lot of English material.3 French is more complex to get started but more systematic. English is full of irregularities.\n\n* * *\n\nOn each page, I disclose in the footer whether an AI modified the content. There are three levels:\n\n  * 🧠: no AI or almost no AI (e.g., grammar corrections)\n  * ✨: enhanced (e.g., copyediting)\n  * 🤖: generated (e.g., translated from another language, even if human-edited)\n\n\n\nHover or tap the icon to reveal the AI’s name and its role in the document.\n\nExample of AI usage disclosure: Claude Sonnet 4.5 edited this article.\n\nThe graph below shows which tool altered each post, year by year. Recently, I applied the grammar skill to past articles. Since 2018, French articles have been translated with the help of DeepL first, then of an LLM. Since 2024, English articles are copyedited.\n\n🖼 Graph showing the AI usage over the years. Each level get its own color.\n\nAI usage over the years. Hover or tap a band for the details.\n\n* * *\n\nIf you are strongly against any usage of LLMs specifically for writing, I hope you accept my more nuanced position on the usage of these tools as a trade-off to provide clearer and more engaging articles. Years of literature on improving English told us it is important to choose the right word to keep the reader engaged.\n\n> […] Good writing consists of mastering the fundamentals (vocabulary, grammar, the elements of style) and then filling the third level of your toolbox with the right instruments.\n>\n> ― _Stephen King_ , On Writing\n\nNote\n\nUnlike other recent articles, I did not use an LLM to edit this post: an unnamed person kindly accepted to proofread it. I translated it to French without using an LLM either.\n\n* * *\n\n  1. I recently read cover to cover “Writing for Developers” and I found it stimulating. Michael Lynch is currently writing “Refactoring\nEnglish” on the same topic and I have subscribed to the early access. ↩\n\n  2. I am quite happy with the writing tools provided by Kagi. Both the translate tool and the dictionary are a valuable help to find different wordings. I also lean on Kagi’s research assistant when researching a topic. ↩\n\n  3. When I was ten, I played _Monkey Island 2_ in English without having taken any classes. I used a dictionary to translate word by word and I found the irregular verbs confusing—and not in the dictionary. ↩\n\n\n\n  *[AI]: Artificial Intelligence\n  *[LLMs]: Large Language Models\n  *[LLM]: Large Language Model",
  "title": "Vincent Bernat: Blogging with an LLM assistant",
  "updatedAt": "2026-06-09T20:15:13.000Z"
}