The rise of large language models which can convincingly reproduce human writing has made me notice something.
I now catch myself “writing like an LLM” more often.
It’s a habit I’ve picked up over the years, and which I am now consciously trying to discard.
I don’t write fiction (these days), so my writing is either technical documentation at work, or writing for this blog where I’m mainly trying to explain and communicate my thoughts.
In both contexts, I value precision, concision, and clarity.
This great Wikipedia article describes some of the hallmarks of current LLM outputs:
https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing
For example,
- “AI writing often puffs up the importance of the subject matter”
- “AIs often introduce their own interpretation, analysis, and opinions in their writing, even when they are asked to write neutrally”
- “AI chatbots tend to attribute opinions or claims to some vague authority—a practice called weasel wording—while citing only one or two sources which may or may not actually express such view”
I expect that LLMs have these tendencies through some combination of
- not being capable of the understanding required to communicate precisely,
- not being trained to communicate precisely,
- or just not caring to.
The thing is, it’s really easy to produce these same problems as a human when you aren’t paying careful attention to what you are writing.
Sometimes, I can enter a state of “flow” where I am channeling a style of writing more than I am actually communicating specific information.
I liken this to Daniel Kahneman’s “system 1” thinking: the fast, intuitive, instinctive way we can act without seeming to think at all.
When I notice myself doing this, I now inadvertently think of myself as having been “writing like an LLM”.
https://en.wikipedia.org/wiki/Thinking%2C_Fast_and_Slow
Really good writing, I think, has more in common with Kahneman’s “system 2”: the slower, painstaking, attentive approach.
At least, good editing should be more like that, and editing is an important part of good writing.
I don’t want to deny the productivity of the flow state.
But it’s important to then go back and notice the things that need revision.
Filed under:navel gazing
This is me upholding the web developer meme of rebuilding my personal site, and writing about rebuilding my personal site!
My main motivation was to add a micro blog with tags, so I’d be incentivised to write short posts instead of long ones.
But along the way I did achieve some secondary goals too:
- Try out Eleventy, which I had heard good things about. I had previously used Jekyll and Hugo.
- Simplify to a brutalist high-performance, low-maintenance design.
- Set up email subscriptions using Buttondown.
Designing the URLs:
I spent way too long thinking about URLs.
Previously, it was just:
|
|
/ |
→ homepage |
/blog |
→ list of posts |
/blog/:post-slug |
→ a single post |
I wanted to separate my “long reads” which are less time-oriented, from my new microblog which is more timely.
So I ended up with:
|
|
/ |
→ homepage |
/:article-slug |
→ just straight into an article |
/:year |
→ full content of microblog posts in year |
/:year/:post-slug |
→ a single post which happened in year |
I like this because:
- Knocking the slug off a blog post still results in a valid page
- Each year page has a bounded and reasonable size, and you can read all posts without clicking in
- Long reads don’t have a year in the URL, which differentiates them from the off-the-cuff posts
I also added tag pages at /topic/:tag-slug
so I can share the whole story of a single topic on one page.
Hosting:
I stayed with CloudFlare Pages because of their green hosting and very snappy deployment pipeline.
Migrating content to 11ty:
Getting my existing blog content into Eleventy was pretty straightforward.
There were a few small hiccups, like configuring a different markdown processor to linkify my headings correctly.
Working with Eleventy’s content system was different to the very post-centric workflow I was used to.
It seems good though!
I’m interested to see if I can bend it to more shapes, like adding book reviews and a sketchbook, like Tom MacWright’s site.
To be done:
- Code block styles/highlighting
- lite-youtube-embed
- Another accessibility pass
- Using my domain as my Bluesky handle (not super relevant but cool)
- Add topics as Atom
<category>
tags
Thoughts so far:
Learning Nunjucks to create HTML templates was… let me just say, it’s been a long time since I used a templating engine that wasn’t Blade, and I much prefer it when they just let you embed the host language instead of coming up with their own expression language.
“Filters” for everything feels very 2005.
I think I’ve abused the content system frightfully to create a collection
of years to generate my blog post year pages from.
That may need to be revised…
or, I could just write more blog posts and not worry about it!
Filed under:navel gazing
After trying to write long-form content for a while back in 2019-20 and realising that a) I now don’t have the time for it, and b) it’s hard to stay motivated for the length of an entire piece, I’ve decided to revamp my website and focus on building up a short-form blog.
As I get increasingly involved in local housing groups, my church, and hopefully doing more speaking in the local PHP and JS communities, I want to start writing up my thoughts and learning publicly.
My inspirations are:
I’m going to try copying Tom’s micro-blog format to give myself a space to not write multi-page multi-draft epics.
Filed under:navel gazing