bjorn.now

19 March, 2026

I didn’t really realize just how big 5mm is until I used it as a ‘reasonable tolerance’ when designing a 3D printed bin. It’s now looser than a really poor joke!

17 March, 2026

and now I own an apartment, time for the renovations to begin, and then hopefully I’ll stay here for a while 😄

scrap Karlstad, Sweden

02 March, 2026

The Scotty Test: Before proceeding past any failure, ask yourself: “Would Scotty walk past a warp core leak because it existed before his shift?”

found while perusing Gas Town’s prompts for the refinery, to steer agents to fixing things. yoinking that

01 March, 2026

git rm --cached <file> will remove a file from git’s tracking but leave it on the filesystem. Great if you accidentally commit something that should’ve been in .gitignore.

til #git

28 February, 2026

You don't know what you don't know

Why you shouldn't just 'trust' AI genies

I shared a prompt to help create “AI expert prompts” to help you learn a domain, and I’m realizing I didn’t mention the dangers. As every company that gives you a genie to talk to says “they can get things wrong.” The problem is that as a non-expert you don’t know what you don’t know, so you don’t know when the genie is so confidently wrong.

When I started a company I figured, why not do the books myself for the first couple of months and then pay someone to review it later? I created a genie armed with the standard Swedish accounting plan, verified some of the big things I did (inject some extra starting capital) and could find clear examples of how it’s done. I did some other things and just did as it said, but did get a bit complacent because the big one just worked, and didn’t research as thoroughly.

[… more]
crumb 2 min read #genie, #learning

My genie has a genie

A prompt for building experts to help you see their world

I was reading Our First Accelerated Expertise Course from Commoncog, and the section Why This Training Approach is So Weird got me keen on seeing if I could get the genie to help me build experts for sensemaking, so I can learn to see the world as those experts do.

So far I’ve created one expert, and I’ve had a useful conversation (I realized I was not seeing the forest for the trees), so sharing what I have and leaving a crumb for the future. 🙂

[… more]
crumb Updated 13 min read #genie, #learning

27 February, 2026

autocorrect made ’teater’ (swedish, you can guess the word) into ’tester’ and somehow that seems correct for me, even if it was ’teater’ this time

26 February, 2026

Use git config core.hooksPath script/hooks and it’ll use the scripts in script/hooks as hooks in the git project. Version controlled, and no need to update symlinks as scripts come and go.

[… more]
til 1 min read #git

heh, there’s a warning about gas town burning through tokens… this walk around shops in Karlstad is sponsored by the 2pm quota reset

25 February, 2026

19 February, 2026

30 January, 2026

3D printer arrived, unboxed, assembled, calibrated, and currently huffing and puffing at plastic because they be moist. 12 hours until I get to hit print 😭

29 January, 2026

TIL: if DHL is sending two parcels from the same vendor, shipped at the same time, they might send it to two different places that are kilometers away from each other so you better make sure to set them to the same place. Relatedly, my new 3D printer has arrived, and at some point the filament will arrive at another distribution point

28 January, 2026

Set GENERIC_TIMEZONE for n8n or you’ll get ERROR: You specified an invalid date. when you try to publish a time triggered workflow.

I had done a server migration and completely missed the .env file when copying, and after recreating it all started working.

til #n8n

10 January, 2026

Add commands to both permissions.allow and sandbox.excludedCommands to run them outside Claude Code’s sandbox by default, because allow grants permission to run at all and excludedCommands runs them unsandboxed.

{
  "permissions": {
    "allow": [
      "Bash(pnpm test:unit:*)",
      "Bash(pnpm test:e2e:*)"
    ]
  },
  "sandbox": {
    "excludedCommands": [
      "pnpm test:unit:*",    // Same commands, different purpose
      "pnpm test:e2e:*"
    ]
  }
}

Note: Tested with Claude Code v2.1.3

Write out colon subcommands explicitly for Claude Code permissions because test:* doesn’t match test:unit (prefix matching treats them as separate commands), and the fallback test* is too broad (matches testAndDestroyEnvironment).

For example:

{
  "permissions": {
    "allow": [
      "Bash(pnpm test:unit:*)", // Allows pnpm test:unit --arg etc.
      "Bash(pnpm test:e2e:*)",
      "Bash(pnpm test*)"        // ❌ <- will allow testAndDestroyEnvironment
    ]
  }
}

Note: Tested with Claude Code v2.1.3