Weeknotes 2025 W20: Moderately grumpy

May 12​–​18, 2025
1300 words

Moderate levels of grump in these week­notes. I’ll be happier and less annoyed next week — promised!


I am so, so sick of being unable to take a relaxing walk in my area. The other day, a cyclist barreled towards me at 30–40km/h in a pedestrian area, skidded to a stop right in front of me, and then gave me the nastiest look.

The pedestrian area is about 10m wide where I was walking, and there was no-one else around, so there was an abundance of space to just… you know… cycle around me. But this dude1 decided that he had the right to go straight ahead, and that I was in his way. On a pedestrian path.

I wrote about another incident a few weeks ago. Road rage is a pervasive problem, and it is getting worse.


At the recommendation of coworkers, I gave Cursor, an AI code editor, a try.

During the set-up process, it presented me with this:

A window titled “Data Sharing” that says that Cursor by default learns from your code. There is an unchecked checkbox labeled “I am fine with Cursor learning from my code (or I will go to Settings -> Privacy to turn it off)”. There is a “Continue” button that is disabled.

It refused to let me continue until I checked the “I am fine with Cursor learning from my code” checkbox. And yes, there is a way of disabling the Cursor-learning-from-my-code mode, but it is neither quick nor easy to enable this privacy mode. A textbook dark pattern.

Mind you, this is a tool that my fellow coworkers use. By default, this editor wants to train on corporate intellectual property, which is unacceptable.

This software is not to be trusted. Needless to say, I uninstalled Cursor soon after.


The other day, I tried using GitHub Copilot to write some code for me. It produced Go code that didn’t compile. After fixing it, I had a chunk of code that was distinctly inferior to what I would’ve come up with by myself. So I threw it away and started over, hand-writing the piece of code instead.

Of all the LLM uses, I had the highest hopes for writing code.2 But alas — LLMs for code generation is also borderline unusable if you have quality standards.

Generative AI: for when you have no quality standards.


Every once in a while, I become interested in visualizing my collection of notes. But it always ends up being an unusable mess:

A graph view of my notes. The note labels are redacted. It is an incomprehensible spider web.

I don’t understand why people like graph views so much. This visualization is useless to me; there is nothing practical that I can do with it.

It is just a way of feeling good at the number of notes you have? Quantity over quality? An “achievement-unlocked-I-have-1000-notes” kind of thing?


I created ddwww, a tool for starting a development web server in any directory.

Install it with brew install denisdefreyne/tap/ddwww. Then, assuming you’re in a directory with a web site in it (i.e. an index.html file and etc), run ddwww. Now you can open http://localhost:3000 to view the web site.

This is great for situations where you have a local web site and want to view it. The file:// protocol is severely restricted and the only real alternative is a local web server, which is exactly what ddwww is for.

ddwww is very similar to an older tool of mine, adsf, but with one major difference: ddwww is written in Go rather than Ruby, which means it’s easy to install and has no runtime dependencies. It lacks some of adsf’s more advanced features, such as live-reloading, which I imagine will arrive in time.


The acting workshop last weekend was challenging, but meaningful. I’ve taken heaps of notes, which I’ll have to go through again a few times.

Even though the workshop lasted an entire weekend, it felt rather short. The exhaustion notwithstanding, I would’ve loved for it to be longer. It’s one thing to learn something in a workshop, and another thing to put it into practice by repetition, repetition, repetition.

This workshop was much more focused on improvisation, which is something I had barely any experience with. But scripted acting and improvised acting certainly have overlap. It even overlaps with fiction writing, too, and so some of the improv exercises I would take to my writing, too.

It also overlaps with table-top roleplaying games, which is something I’ve been interested in (but haven’t found anyone to play with).


Remember Myst IV: Revelation?3 When Cyan posted the video for Myst IV’s first playable prototype, I had the urge to play the game again. And so I installed my copy through GOG and started playing.

The game is considerably worse than what I remembered. Some of it is just an artifact of the times (2004 is over twenty years ago!) but there are a few things that stood out.

While I appreciate the FMV, the acting is… rough. Oof.

In large part, this is because of the shoddy dialogue writing. It lacks any kind of subtlety or subtext.4 It is as if the objective was to have FMV without a requirement to have it be cinematic or, well, any good.

The actors also must’ve not had a great time with everything being chromakeyed. I can’t imagine that being surrounded by green is conducive to great performances.

Also, the puzzles — argh! Some of these exist purely because “the game needs puzzles.” Oh, how many problems could’ve be been avoided if Atrus simply had a label maker! And tell him to write down instructions for his bizarre contraptions — even if just a single sentence!

The worldbuilding is done to serve the puzzle mechanics, too. It can be an interesting puzzle to get the power back online so that the elevator works. But if, from a worldbuilding point of view, the elevator would have made more sense as a staircase instead, then the presence of the elevator is more like a cheap trick.

Could I have done it better? Probably not. I’d have been stuck, paralyzed on achieving the overly high standard that I’ve set for myself.


Entertainment:


Links:


  1. A dude. It’s always a dude. ↩︎

  2. LLMs for fiction writing? Derivative, barely readable vomit. LLMs for image generation? Bland and uncanny cringe. LLMs for technical writing? Generic meaningless drivel. ↩︎

  3. Myst IV: Revelation (Ubisoft Montréal, 2004), published by Ubisoft (physical), Cyan Worlds (digital). ↩︎

  4. Something I learnt from last week’s acting workshop (see above): talking about what is right in front of you is boring. That is, unfortunately, exactly what the characters the game are generally doing. ↩︎

  5. Assassin’s Creed Mirage (Ubisoft Bordeaux, 2023), published by Ubisoft. ↩︎

You can reply to this weeknotes entry by email. I’d love to hear your thoughts!
If you like what I write, stick your email address below and subscribe. I send out my weeknotes every Sunday morning. Alternatively, subscribe to the web feed.