Advertisement ยท 728 ร— 90

Posts by Wilfred

LLMs are surprisingly good at reducing crash samples.

I've had success with "this project crashes my static analysis tool with the following command, try to shrink the repro whilst preserving the crash. Commit each smaller version to a branch".

23 hours ago 0 0 0 0

Has the JS ecosystem reached a point where people agree roughly what a good architecture looks like?

I don't see as many blog posts complaining about new framework churn and I'm wondering why.

1 day ago 0 0 0 0

Rust and RISC-V both feel like they've reached critical mass and I'd guess that they'll be used more in 5 years than they are today.

What other technologies fit this description?

2 weeks ago 0 0 0 0
Preview
C++26 is done! โ€” Trip report: March 2026 ISO C++ standards meeting (London Croydon, UK) News flash: C++26 is done! ๐ŸŽ‰ On Saturday, the ISO C++ committee completed technical work on C++26 in (partly) sunny London Croydon, UK. We resolved the remaining international comments on the C++26โ€ฆ

Some excellent safety improvements in C++26: hardening the standard library against out-of-bounds bugs, and a safer semantics for uninitialised local variables: herbsutter.com/2026/03/29/c...

2 weeks ago 2 0 0 0

LLMs have been really helpful for me porting some JS projects to TS.

Since the types are erased and annotations are optional, I can go gradually and safely with more minimal human oversight.

(I'm not sure if it'll significantly help robustness, but it's lovely for navigation.)

2 weeks ago 0 0 0 0

Reviewing some of my earliest web projects: they have a mix of Postgres, MySQL and Mongo.

These days I just use sqlite for all my personal projects. It's really good at my scale and makes deploying very easier.

2 weeks ago 0 0 0 0
Against Query Based Compilers Query based compilers are all the rage these days, so it feels only appropriate to chart some treacherous shoals in those waters.

The author of rust-analyzer discussing how language features help or hinder fast IDEs.

If you allow `from m import *` you can't analyse files in isolation, and it's even harder in Rust.

matklad.github.io/2026/02/25/a...

3 weeks ago 1 0 0 0

My 3.5yo is learning to use a mouse, and it's super interesting.

He's mastered clicks and drags, but he hasn't yet figured out lifting up the mouse when run out of mouse pad. That's a tricky case where you deliberately break the relationship between mouse and cursor movement.

4 weeks ago 0 0 0 0

That's fair, any 'convention over configuration' framework probably does really well in an LLM workflow.

That said, I do find myself configuring eslint are lot more aggressively for vibecoded projects, e.g. github.com/Wilfred/troy...

4 weeks ago 1 0 1 0

I'm surprised there aren't more tools out there for starting a new project with some default config files.

There's `cargo new` but it's Rust specific and very minimal. create-react-app is React specific.

The only option I know of is cookiecutter. Surely it's a common problem?

4 weeks ago 0 0 1 0
Advertisement
Preview
Environment and the programming language Self (part one; environment) I bring you a message about a language that has been at the birth of many others, but almost no one knows it. A rumor of a graphical environment offering options like no other, but almost no one using...

Excellent series on Self, both the programming model and the tool chain.

I love how opening an inspector on a value (e.g. nil) then shows a link to all occurrences of the value in other open inspectors!

blog.rfox.eu/en/Programmi...

1 month ago 1 1 0 0
fun - Garden

Thanks! It's a programming language, so the target audience is programmers. The live URL is www.garden-lang.org/keyword:fun.... if you're curious.

I'm trying to balance whimsy (it's a hobby project), usability, and my limited graphical design skills :)

1 month ago 2 0 0 0
Screenshot today

Screenshot today

Screenshot with window UI

Screenshot with window UI

I'm experimenting with imitating window UI elements when showing code snippets on my website.

What do you think? Do the familiar dots of the title bar help, or is it just confusing decoration?

First image is the current style, the second image has the window UI.

1 month ago 1 0 1 0

I've started naming my servers digiocean1.example.com, digiocean2.example.com and so on. I wish I'd done this much earlier.

I already have domain names for the actual deployed services, but it quickly gets confusing when you start moving things around.

1 month ago 0 0 0 0

I'm adding uptime data to my personal LLM bot. Does this information belong in the system prompt?

That was my initial plan, but I'm thinking that a tool would be better. Tools let me see information provenance ("queried the uptime tool").

There's also a small caching benefit.

1 month ago 1 0 0 0
Difftastic showing Scala

Difftastic showing Scala

Difftastic showing Scala

Difftastic showing Scala

I've released difftastic 0.68! A smaller update, but still worth upgrading:

* Improved Bash, C, Go, Lua, Nix, Perl, Python, Rust, Scala, Swift and YAML parsing.
* Minor display and git compatibility fixes.

github.com/Wilfred/diff...

1 month ago 28 4 0 1
Preview
//go:fix inline and the source-level inliner - The Go Programming Language How Go 1.26's source-level inliner works, and how it can help you with self-service API migrations.

Really elegant developer tool: Go's inline IDE feature is used with depreciation markers, so call sites are autofixed from OldApi() to NewApi() based on the implementation of OldApi.

go.dev/blog/inliner

1 month ago 0 0 0 0
Advertisement

Are there any developer experience advantages for `x := 1` over `let x = 1`?

A `let` keyword probably improves parsing error behaviour, and makes declarations more visible.

:= is more concise though.

1 month ago 1 0 1 0

What is the lowest resolution image that is still recognisable?

I made a space invader craft project at one point and spent a bunch of time wondering if I had enough materials.

1 month ago 0 0 0 0

Writing type params with <> (e.g. List<Int>) seems the most natural to me: probably because I encountered that syntax first.

Between C++, Java and TypeScript I think it's the most common too.

List[Int] seems to be next most common (Scala, Python) but TIL Gleam uses List(Int)!

1 month ago 1 0 0 0

Agentic programming workflows rather remind me of genetic programming. The agent has a validation step that looks like a fitness function, and both run iterative trials.

1 month ago 1 0 0 0

I'm still not sure whether a language should include a "kitchen sink linter" like Rust's clippy or have a package oriented "thousand flowers bloom" linter like eslint for JS and TS.

Clippy is delightful out of the box but eslint makes it so easy to have project specific lints.

1 month ago 1 0 0 0

Is there a good term for "after using this feature we realised that the best design is different from the current design"?

In casual conversation I generally hear "bug" but there was nothing wrong with the original implementation.

1 month ago 1 0 1 0

I'm super impressed by how many lint rules can be implemented with just eslint's no-restricted-syntax and selectors. Example:

{
selector: "ExportNamedDeclaration[declaration=null][source=null]",
message: "Add `export` directly to the function instead of a block export."
}

1 month ago 0 0 0 0

There's something pleasingly self-referential about configuring an agent by talking to it.

> Remember that [fact about data formats].
Agent: Noted.

... realise nothing happened ...

> Write to your rules file that when I say "remember", I want you to write to the rules file.

1 month ago 1 0 0 0
Advertisement

Should lint suppressions be first class syntax or comments?

Adding a proper metadata system (e.g. Clojure or Rust) is a big design space but it's clear which expressions are affected.

Comments are much easier to implement but it's easy for users to get them wrong.

Thoughts?

1 month ago 0 0 1 0
An ode to houseplant programming ๐Ÿชด Waxing poetic about hyperlocal phytoid software development

I enjoyed this article about personal project programming, but I particularly liked this definition:

"Production code has a phone number to call when it breaks"

hannahilea.com/blog/housepl...

1 month ago 1 0 1 0

Looks great!

Have you considered reducing the size of the images? E.g. highly-expressive-macros.png is nearly 1 MiB on its own and I can see the images gradually load on my current limited wifi.

1 month ago 0 0 1 0

One fun way of testing new AI models: take an existing codebase you have and just ask them to "review it and fix bugs".

In principle this should find more issues over time as models get smarter. I've found a few bugs this way at least.

2 months ago 0 0 0 0

Cleaned up an old git repo of Ansible playbooks and it's amazing how much is just Docker now.

Docker handles process supervision, centralises logging, and containers coexist without issues. It's nice when things get simpler.

2 months ago 0 0 0 0