Willem Meints

Willem Meints

@willemmeints.bsky.social

Chief AI Architect @ Info Support. Fan of good BBQ.

242 followers27 following1.2K posts

Woke up early today. It's so nice to have some time to myself to do some deep work like refactoring rust code so it's a little more manageable. AI is nice, but you do need to keep on top of things.

My agents love to build a lot of modules next to eachother. However, this makes it harder for me to verify the code. So now I have to restructure a few things so I can do security reviews myself again.

Tomorrow it's time for Techorama for me. I'll be presenting about the work I've done on our internal AI platform and how we're working towards a sovereign AI solution for our customers. Looking forward to it!

Sorry, I'm enjoying myself building some more useful tools. This time a todo-app with typescript. I'm nearly there, and I'll publish it on github so you can use it too.

It will include a `--version` option in the daemon binary to verify the version. The CLI automatically restarts the daemon if it's older than the CLI so you don't need to kill the daemon after an update. The SHELL env variable is now correctly set, and some useful git settings are in there now :-)

Creating a few more bugfixes for firebrick. Fixed a problem where the SHELL env variable wasn't set so codex couldn't connect from its desktop app. And I made sure the user.name and user.email setting from the host git configuration are copied over so you don't need to set those all the time.

The installation company of my solar inverter is out of business. Time to replace their logger with my own so I can have the data and combine it with the data coming from my smart meter.

Learning more and more about how rust works. For example, I just discovered you can create two binaries from one crate. The cool thing here: you can run cargo install firebrick, and it will install the components needed in one line.

Crappy. I was planning on releasing experimental windows support for my sandbox. However, I turns out I need a windows runner with nested virtualization support which github doesn't offer :(

I'm not releasing this stuff without an automated workflow for integration tests on windows. So I guess it will not happen today. Tomorrow I'm going to take a look at setting up a windows runner.

Thanks to a great harness and test set, I was able to make firebrick windows-native too. I'll finish acceptance testing tomorrow morning though. I was watching a movie while the agent worked on this.

Okay, okay! It's raining, so I got to try this too. You can run `HERDR_AGENT=claude fbk run claude` to run inside a firebrick sandbox in herdr and it will correctly detect the state of the agent.

This looks like Aspire is running on my local machine, but it isn't. It is running inside the sandbox and I forwarded a port to the sandbox :D I'm extremely, extremely happy about this!

I think I found a use for fable. I'm running a defensive security review against my sandbox codebase. Made a custom agent with specific goals to make sure untrusted code cannot break your host. This will be fun. Hopefully I have enough quota left :P

I used 7 agents in parallel to submit a bunch of pull requests on my code base. Couple of interesting challenges: You end up with an enormous amount of merge conflicts. You need an agent to fix that. You also end up with a lot of review work, even with the improved workflow that I use.

Is that bad? Well no, I managed to complete 17 issues today. I produced +13,872 / −1,625 in 90 files. And looking at the code now, it is not hard to find specific methods.

But this is only possible with a solid harness. I spent a lot of my time figuring out how microVMs work, how the linux kernel works, and what architecture works. And now I can speedrun the code.

Burned through another 525M tokens this week on my personal claude max subscription. You have to agree with me that this must be subsidized as hell. The local factory is running well. The sandbox is getting there :D

Building an agentic sandbox. I'm nearly at a point where I think I can start handing it out to people for testing. My goal for now is to get the sandbox to build inside the sandbox. It's a fun test :D

Go and Rust, for me, have some interesting upsides. I can be sure their language servers work in editors like vim. And that if something breaks, I can find it myself and fix things.

Made a simple retrospective skill to review the sessions on my sandbox project from last week and reflect on what skills, agents, checks, and docs need to be improved.

I've been quiet for a bit about code reviews. It's still a challenge. Understanding how to review a pull request is hard, especially if it's a huge one. I found the show-me skill from humanlayer quite valuable here. Now my PRs show a diagram or visual explanation of what's going on with it!

The figure at the top renders the change in pseudo code. This makes it easier for me to recognize what's going on. Then I can read the code in more detail as I see fit.

I found out that it helps a great deal to force the agent to write simpler code by setting a low complexity bar in the linter. In the case of my sandbox project, a low complexity limit in clippy specifically.

Just discovered a nasty problem with clippy in rust. The tracing::info!(...) macro expands into a pretty complex function so that if you have the cognitive complexity linter too low it triggers on something that doesn't affect readability.