miniblog.

24
I've realised that AGENTS.md / CLAUDE.md solve two distinct problems: * It tells the LLM the conventions of the project, avoiding follow-up prompts. * It precomputes a summary of the project, saving a bunch of searches at the start of a session.
7
Igalia's post on self-hosting CI runners is a masterclass in build engineering. It shows dealing with weird API constraints, but still finding good designs. I also learnt that some CI systems use OCR on Apple's installers to automate!
24
I've been experimenting with different pagination UIs. It's so common to have arrows, but I've realised they're redundant here. When you have the adjacent values as well as the final value, you don't need > and >> arrows too. Thoughts?
PhotoPhoto
13
In many respects I feel an LLM benefits from a monorepo. I've vibe coded a bunch of helper CLIs recently and end up repeating the same preferences for all of them. I want all my CLIs to use clippy, parse arguments with clap, etc. They're distinct tools in distinct repos though.
2
I think you could build an interesting IDE with a tiny embedded LLM in addition to the usual tooling. Features like 'extract method' would be much nicer if an LLM could provide a name. Choosing a good name is virtually impossible from just a typed AST.
31
Delighted to see that TOML has released a new version! TOML is overall a great standard but I understand they had limited people with the power to cut a new release.
You can often estimate the age of a website based on how well it displays on mobile. All my sites end up with media queries in the CSS for narrow screens. It's so hard to design a single UI that scales from phone to desktop otherwise.
64
I find it odd that people recommend Docker for sandboxing agentic coding tools. Isn't it easier to just create a separate user account on the machine? It's an established security boundary, and viewing output is easy (just make the user's home directory world readable).
33
I'm never sure what to name my remotes in git. I tend to use 'mine' so I can add other forks later, but sometimes I use 'gh' or the traditional 'origin'. What do others use?
64
Caddy is really growing on me. It's nice having a web proxy that includes letsencrypt functionality without any additional configuration. I've tended to use nginx with a separate letsencrypt setup for projects before, and it's much more awkward.
8
Co-Authored-By: An old Stack Overflow answer, blindly accepting the compiler's suggestions, and a linter.
14
One subtle behaviour of Claude that wasn't obvious to me: whilst each conversation is transient, permissions persist across conversations. So if you've given permission to run e.g. 'cargo test' or even 'cargo run', you need to be sure that all future invocations are safe too. You can see the current permissions with /permissions.
23
I'm never sure how to convert words with hyphens into SCREAMING_SNAKE_CASE. For example, should built-in function be BUILT_IN_FUNCTION or BUILTIN_FUNCTION?
133
I've added an eval button to the website of my programming language! It's a been a lot of work to lock down appropriately. It still needs some UI polish but it's so nice to be able to try snippets immediately.
PhotoPhoto
34
I'm trying to decide what program I should show on the home page of my PL. Hello World is too simple to show much syntax. Fibonacci is OK but the reader may not know what print(fib(10)) should show. Maybe print(greet("World")) is better? It gives you a function definition at least.
Showing 1-15 of 120 posts