{"version":"https://jsonfeed.org/version/1.1","title":"Writing by Bruce R. Lewis (brlewis)","home_page_url":"https://writing.brlewis.com/","feed_url":"https://writing.brlewis.com/feed.json","description":"Largely, but not exclusively, about software and reasoning","language":"en","items":[{"id":"https://writing.brlewis.com/posts/2026/llm-copyeditor/","url":"https://writing.brlewis.com/posts/2026/llm-copyeditor/","title":"LLM as copyeditor","language":"en","content_html":"<p>Thomas Ptacek's overall theme in\n<a href=\"https://sockpuppet.org/blog/2026/09/17/how-to-write-with-an-llm/\">How To Write With An LLM</a>\nis good overall. Definitely the role of an LLM should be copyeditor and not\nghostwriter. But there are several details I would argue with.</p>\n<!--more-->\n<p>It's funny that this post came out right after I set up my first real blog. This\ntiming allowed me to prompt an LLM in the same conversation I'd been having\nabout setup.</p>\n<p><strong>Claude&gt;</strong> Talk to me about\nhttps://sockpuppet.org/blog/2026/09/17/how-to-write-with-an-llm/</p>\n<p>Claude answered with some mildly interesting disagreement and agreement, and\nthen said the following:</p>\n<blockquote>\n<p>What's interesting reading it against this conversation: what we've actually\nbeen doing tracks closer to the article's model than most &quot;AI writing help&quot; —\nI never drafted your README prose. You wrote every sentence of it yourself\nacross several passes; my role was pushing back on the reasoning (the CMS\nclaim, the &quot;consistency&quot; framing, the standards-vs-ergonomics conflation) and\nthen executing the resulting decisions. That's closer to &quot;copyeditor surfacing\nproblems&quot; than &quot;ghostwriter,&quot; which is presumably the mode you'd want for the\nblog itself too, given why you built it this way in the first place.</p>\n</blockquote>\n<p>So, to be clear, I absolutely agree with the main thesis. And because I find the\nmain thesis interesting and relevant, I want to argue with some of the details.</p>\n<h2 id=\"yay-for-llm-copyediting-and-boo-for-llm-ghostwriting\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/2026/llm-copyeditor/#yay-for-llm-copyediting-and-boo-for-llm-ghostwriting\" class=\"header-anchor\">Yay for LLM copyediting and boo for LLM ghostwriting</a></h2>\n<p>I like dry humor and I'm often silly, but you'll notice I didn't put any\ntongue-in-cheek language in here that mocks 2026 LLM writing style. Because to a\nlot of people today, it's not funny. People are sick of seeing that particular\nvoice.</p>\n<p>But it isn't the detectable patterns themselves that irritate people. They're\nirritating because they're associated with soulless writing. All an LLM does is\nstring words together in a believable pattern. They don't have any goal in their\nwriting that hasn't already been articulated earlier in the token sequence. An\nLLM is an amazingly useful collection of information about how words relate to\nother words, but it has no idea what the words mean. And that comes through in\nthe rambling, useless verbiage that frustrates readers trying to understand the\n&quot;writer's&quot; intent. Soo boo for LLM ghostwriting.</p>\n<p>Yay for LLM copyediting. Having a model, trained on a huge volume of ideas that\nhumanity has articulated, at your beck and call any time of day or night is a\nhuge win for writing.</p>\n<h2 id=\"it%E2%80%99s-tricky-to-write-about-writing%3F\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/2026/llm-copyeditor/#it%E2%80%99s-tricky-to-write-about-writing%3F\" class=\"header-anchor\">It’s tricky to write about writing?</a></h2>\n<p>I disagree with &quot;It’s tricky to write about writing. It comes across as a brag;\nyou’re implying that you write well.&quot; The fear being expressed is that you'll be\nseen as having opinions on what makes good writing when you yourself aren't\nproducing good writing. So what? We sit in our armchairs and express opinions\nabout how professional athletes should play, without being embarrassed that\nwe're not able to execute the plays we're recommending. My opinions about what\nis good writing don't have to be self-referential. And suppose you are bragging?\nSo what? Strong opinions are fun to read. For example, when I was in school my\nfavorite teachers were those who were convinced that their own subject was the\nmost important knowledge one human could impart to another.</p>\n<p>Writing about writing is so natural that screenwriters can't seem to not do it.\nEvery movie and TV show has a character who writes, or who is obsessed with\nbooks. I see such themes so often that I kind of wish it <em>was</em> tricky to write\nabout writing.</p>\n<h2 id=\"you-may-not-use-a-single-word-an-llm-suggests-to-you%3F\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/2026/llm-copyeditor/#you-may-not-use-a-single-word-an-llm-suggests-to-you%3F\" class=\"header-anchor\">You may not use a single word an LLM suggests to you?</a></h2>\n<p>I would be sympathetic if he'd written not to put any two words together that\ncame from an LLM. But an LLM is an awesome place to find a single word. If you\nuse a thesaurus to find a word, you have to come up with a synonym first. A\nlarge language model lets you describe the word you're looking for.</p>\n<p>Toward the end of that section he shifts toward arguing against LLM-generated\n<em>phrases</em>. He probably should have used an LLM copywriter to detect that\ninconsistency.</p>\n<h2 id=\"avoid-encouragement%3F\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/2026/llm-copyeditor/#avoid-encouragement%3F\" class=\"header-anchor\">Avoid encouragement?</a></h2>\n<p>I think it's going to far to forbid the model from encouragement. An LLM is an\namalgamation of the thoughts of lots of humans, and encouragement from it is\njust a reminder that somebody, somewhere might get something good out of some of\nyour writing. If LLM encouragement is enough to get you to stop examining and\nfixing what you've written, you're not going to produce good writing anyway.</p>\n<h2 id=\"ok%2C-maybe-ghostwrite-the-closing\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/2026/llm-copyeditor/#ok%2C-maybe-ghostwrite-the-closing\" class=\"header-anchor\">OK, maybe ghostwrite the closing</a></h2>\n<p>Earlier, I said that LLMs &quot;don't have any goal in their writing that hasn't\nalready been articulated earlier in the token sequence&quot;. After I wrote that, it\noccurred to me that an essay closing doesn't have to introduce any new ideas, so\nyou could actually have an LLM ghostwrite your closing and it might do a good\njob. Is that what I've done here? I find it amusing not to tell you.</p>\n","tags":["AI","writing"],"date_published":"2026-09-17T00:00:00.000Z"},{"id":"https://writing.brlewis.com/posts/instructions/","url":"https://writing.brlewis.com/posts/instructions/","title":"How to install this theme","language":"en","content_html":"<p><strong>Simple blog</strong> is a clean and minimal blog theme for Lume, with support for\ntags and authors. It allows you to build your own blog <strong>in seconds</strong>, and\nprovides Atom and JSON feeds for your subscribers.</p>\n<!--more-->\n<p>The <strong>fastest and easiest</strong> way to configure this theme is the\n<a href=\"https://deno.land/x/lume_init\">Lume init command</a>, which you can also copy\neasily from the <a href=\"https://lume.land/theme/simple-blog/\">Simple Blog theme page</a>.\nRunning:</p>\n<pre><code class=\"language-bash\">deno run -A https://lume.land/init.ts --theme=simple-blog\n</code></pre>\n<p>will create a new project with Simple Blog configured. Edit the <code>_data.yml</code> file\nin your blog root folder with your data to customize the site title,\ndescription, and metadata.</p>\n<p>Posts must be saved in the <code>posts</code> folder. For example,\n<code>posts/my-first-posts.md</code>.</p>\n<h2 id=\"install-as-a-remote-theme\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/instructions/#install-as-a-remote-theme\" class=\"header-anchor\">Install as a remote theme</a></h2>\n<p>To add the theme to an existing Lume project, import it in your <code>_config.ts</code>\nfile as a remote module. Update it by changing the version number in the import\nURL:</p>\n<pre><code class=\"language-ts\">import lume from &quot;lume/mod.ts&quot;;\nimport blog from &quot;https://deno.land/x/lume_theme_simple_blog@v0.15.6/mod.ts&quot;;\n\nconst site = lume();\n\nsite.use(blog());\n\nexport default site;\n</code></pre>\n<p>Copy the\n<a href=\"https://github.com/lumeland/theme-simple-blog/blob/main/src/_data.yml\"><code>_data.yml</code></a>\nfile to your blog root folder and edit it with your data.</p>\n<h2 id=\"customization\" tabindex=\"-1\"><a href=\"https://writing.brlewis.com/posts/instructions/#customization\" class=\"header-anchor\">Customization</a></h2>\n<div class=\"markdown-alert markdown-alert-tip\">\n<p class=\"markdown-alert-title\">Tip</p>\n<p>You can use <a href=\"https://lume.land/cms\">lumeCMS</a> to customize the blog and add\ncontent easily</p>\n</div>\n","tags":["Instructions"],"date_published":"2022-06-12T00:00:00.000Z"}]}