Sign in

Simon

@skagedal.tech
30 followers 70 following 93 posts
PostsRepliesMedia
Simon @skagedal.tech · 28/09/2026
Fun and engaging review of 2026 in LLMs so far: simonwillison.net/2026/Sep/27/... Although I find it odd that he shrugs of warnings of existential risk as mere marketing ploys. I think it’s pretty clear that they mean what they say, which of course also is a very weird state of the world.
simonwillison.net
2026 in LLMs (so far)
On Friday I gave the closing keynote at the WeAreDevelopers World Congress North America in San Jose. I tied together the key trends from the past year into a chronological …
031
Reposted by Simon
Tyron @tyron.bsky.social · 27/09/2026
Just seen it's Wikipedia's 25th birthday. The greatest website online, and possibly the internet's greatest fruit
19765123
Simon @skagedal.tech · 26/09/2026
Spending most of today trying to track down transactions from my private account for the last year in some kind of attempt to categorize all spending. It's kinda fun to be honest.
010
Simon @skagedal.tech · 26/09/2026
Voicing opinions on supporting package.json5 (and package.yaml) in pnpm. github.com/orgs/pnpm/di...
github.com
feat: Prefer `package.yaml` (or `.json5`) to `package.json` when both are present · pnpm · Discussion #15760
I'd be willing to implement this feature (contributing guide) Describe the user story pnpm supports package.yaml and package.json5 since #1799. But, there are a bunch of npm packages that directly ...
010
Simon @skagedal.tech · 26/09/2026
TIL that macOS apps only support ⌘C / ⌘X / ⌘V if they have a menu.
000
Simon @skagedal.tech · 14/05/2026
Submitted a PR against a Protobuf LSP to improve renames. Hope it'll be received well! github.com/coder3101/pr...
github.com
Expand rename to cover services, RPCs, fields, reference sites, and rpc/request/response chains by skagedal · Pull Request #131 · coder3101/protols
I would like the "rename" action to just work everywhere for the symbol under the cursor. This is wired into my muscle-memory from using other editors and I tend to do it even when it&#39...
000
Simon @skagedal.tech · 05/05/2026
Assign it to yourself? Although I guess that might more signal “I will eventually review it”, or it’s already automatically assigned to you because codeowner… so yeah, agree 😊
000
Simon @skagedal.tech · 04/05/2026
If so instructed, Claude Code will reach for a proper tool to generate the random id:s.
030
Simon @skagedal.tech · 02/05/2026
No YOU are setting up Prometheus and Grafana to monitor the Kubernetes node that serves your blog that no one reads
010
Simon @skagedal.tech · 01/05/2026
There will be more libraries.
000
Simon @skagedal.tech · 01/05/2026
I wrote a little tool and a blog post about writing the tool. skagedal.tech/posts/2026-0...
skagedal.tech
Small tools, shared with agents: a CloudWatch Insights example
On building small CLI tools for myself – and now for my agents too. Walks through a recent one for querying CloudWatch Insights, and how I use Claude to analyze the logs it pulls down.
010
Simon @skagedal.tech · 09/01/2026
This is amazing. Julia Evans is the best. jvns.ca/blog/2026/01...
jvns.ca
A data model for Git (and other docs updates)
A data model for Git (and other docs updates)
010
Simon @skagedal.tech · 05/01/2026
Very interesting, thanks! Although I'm not on Windows myself :)
000
Simon @skagedal.tech · 05/01/2026
(Which is indeed a relevant amount of faster compared to the shell version, contrary to what I claimed above! I think I might have measured incorrectly. But this all seems to vary quite a bit. But eithe way, the config didn't seem to help.)
000
Simon @skagedal.tech · 05/01/2026
Let's try this one. git config --global core.untrackedCache true With this setting, I've now been running the rust version of my git-dirty-checker under hyperfine to measure run time. It doesn't seem to make much of a difference. Around 210 ms for each run, with or without the option.
100
Simon @skagedal.tech · 05/01/2026
There is also the "untracked cache": git-scm.com/docs/git-upd... I'm not exactly sure how these options relate to, or play along with, each other...
git-scm.com
Git - git-update-index Documentation
100
Simon @skagedal.tech · 05/01/2026
Seems like it'd be nice to have some kind of cache that gets invalidated on file system activity. Git actually has something exactly like this built-in, the fs-monitor: git-scm.com/docs/git-fsm... Is that of any help to our use case?
git-scm.com
Git - git-fsmonitor--daemon Documentation
100
Simon @skagedal.tech · 05/01/2026
it('sums correctly', () => { expect(sum(3, 0)).toEqual(3); }); Seems to work fine!
000
Simon @skagedal.tech · 05/01/2026
And it's not about shelling out to git. It simply takes some time to do a "git status" – it needs to traverse through the directory tree to find any files not in the git index.
200
Simon @skagedal.tech · 05/01/2026
So this approach is still way too slow for the kind of use case I discussed above. And it's not a matter of programming language. For example, I have a Rust version under here: github.com/skagedal/ska... It does the same job in about 0.45 seconds.
github.com
skagedal-tools/git-dirty-checker at main · skagedal/skagedal-tools
A place to put small tools. Contribute to skagedal/skagedal-tools development by creating an account on GitHub.
100
Simon @skagedal.tech · 05/01/2026
Adding parallelism (here using GNU parallel) helps a lot: printf '%s\n' ~/code/*/ | parallel 'git -C {} status --porcelain 2>/dev/null | grep -q . && realpath {}' On the same set of repos, this takes 0.5 seconds.
100
Simon @skagedal.tech · 05/01/2026
To take one step back, here's a brute force solution as a bash one-liner: for dir in ~/code/*/; do git -C "$dir" status --porcelain 2>/dev/null | grep -q . && realpath "$dir"; done This takes about 10 seconds on my example set.
110
Simon @skagedal.tech · 05/01/2026
Imagine the end goal use case something like this: my shell prompt should include the number of dirty repositories under my ~/code directory. Clearly, assuming that I have let's say hundreds of repos, this means caching. But how?
100
Simon @skagedal.tech · 05/01/2026
Here's your programming task. Given a list of git repositories (or worktrees) on your disk, find all that are _dirty_ – that have uncommitted changes, staged or not, or untracked files. The directories where "git status --porcelain" prints nothing. Now do it quickly. No, quicker than that.
100
Simon @skagedal.tech · 07/12/2025
Just made myself a nice little footbath while I start writing another blog post about Node.js. I enjoy the simple pleasures i life.
000
Simon @skagedal.tech · 06/12/2025
I wrote a long post about @pnpm.io's "ignored build script" warnings, why they are there, and what to do about them. skagedal.tech/posts/2025-1...
skagedal.tech
skagedal.tech
In this post I investigate "ignored build scripts" warnings in pnpm, explain what this refers to, and suggest strategies for dealing with them.
000
Simon @skagedal.tech · 23/11/2025
Wrote a little commenting system. Feel free to kick tires. skagedal.tech/posts/2025-1...
skagedal.tech
skagedal.tech
Like it was 2003, or something.
000
Simon @skagedal.tech · 22/10/2025
I use git worktrees, or sometimes in other ways have the same code base checked out in two different places. Useful but confusing; sometimes I make some edits in /foo when I meant to make them in /bar. Here's a cool one-liner to move changes over: git -C /foo diff | git -C /bar apply
000
Simon @skagedal.tech · 25/09/2025
The urge to build a tmux/screen type program using this mitchellh.com/writing/libg...
mitchellh.com
Libghostty Is Coming
000
Simon @skagedal.tech · 24/09/2025
Good article by Clearer Thinking on binary thinking. I would like scientific articles to summarize their findings like: “this study aims to study the proposition X. Before conducting the study, we believed that p(X) = … After, we believe that p(X) is ….” www.clearerthinking.org/post/when-is...
clearerthinking.org
When is evidence “sufficient”?
Key Takeaways • The claim that "You should only believe that for which you have sufficient evidence” is popular but it contains an extremely important error. It treats belief as binary: either you bel...
010
Simon @skagedal.tech · 14/08/2025
Älskar hjältar som lägger upp sånt här open.spotify.com/track/2eZEXk...
open.spotify.com
These Days - Slowed + Reverb
Nico, uChill · These Days (Slowed + Reverb) · Song · 2022
010
Reposted by Simon
Maxim Leyzerovich @round.is · 09/06/2025
sisyphus at daily standup: i had to roll back some changes
435378
Simon @skagedal.tech · 11/06/2025
I also feel like p-zombies totally would report qualia. www.astralcodexten.com/p/p-zombies-...
astralcodexten.com
P-Zombies Would Report Qualia
...
010
Reposted by Simon
Dustin Moskovitz @moskov.goodventures.org · 05/06/2025
Dario Amodei has an important op-ed in the NYT today about the proposed 10-year moratorium on states regulating AI. The moratorium sounds reasonable at first - avoiding a patchwork of state laws - but it's actually quite dangerous given how fast AI is moving. www.nytimes.com/2025/06/05/o... 1/6
nytimes.com
Opinion | Anthropic C.E.O.: Don’t Let A.I. Companies off the Hook
34720
Simon @skagedal.tech · 01/06/2025
Scott Aaronson has read Eliezer Yudkowskys and Nate Soares new book. scottaaronson.blog?p=8901
scottaaronson.blog
“If Anyone Builds It, Everyone Dies”
Eliezer Yudkowsky and Nate Soares are publishing a mass-market book, the rather self-explanatorily-titled If Anyone Builds It, Everyone Dies. (Yes, the “it” means “sufficiently po…
000
Simon @skagedal.tech · 28/05/2025
I always heard David Bowie sing “we’ve got five years, I pray that’s a lot” instead of “my brain hurts a lot”. Both are fitting.
010
Simon @skagedal.tech · 25/05/2025
Another tech change: I was going to use oauth2-proxy to handle the Google authentication, but I’m realizing it’s probably much easier to just use Auth.js/next-auth…
000
Simon @skagedal.tech · 25/05/2025
In other “welcome to 2025” news, I am now deploying with a Docker container. Still running as a systemd service, ain’t got time to set up a Kubernetes cluster.
100
Simon @skagedal.tech · 25/05/2025
3. And… I am starting to think that React Server Components are really cool. 😎
100
Simon @skagedal.tech · 25/05/2025
2. JSX (TSX). Writing web UI this way is just way better than anything you have in any other programming language (that I know of). All html-as-DSL (like kotlinx.html etc) approaches just feel wrong.
100
Simon @skagedal.tech · 25/05/2025
The things that switched me over sound obvious, but basically: 1. The larger ecosystem. For example, I couldn’t find a decent syntax highlighting system for the JVM. JS ecosystem has such a rich set of tools for that kind of stuff.
100
Simon @skagedal.tech · 25/05/2025
That’s now what’s live on skagedal.tech. A bit too much fighting with Tailwind, and far too much general complexity for a simple blog, but I think it’ll be worthwhile. And I also want to get more deep into that tech stack (also. I want a lot of stuff).
skagedal.tech
skagedal.tech
Thoughts on software development, technology and the future.
010
Simon @skagedal.tech · 25/05/2025
Well, its so happened that I scrapped this whole approach and instead rewrote things again in Next.js 😄
000
Simon @skagedal.tech · 24/05/2025
Is something missing on the code line under “// Interact with UI”? Shouldn’t there be a `user.click(button)` or such?
000
Simon @skagedal.tech · 20/05/2025
I do sometimes like to drop the .sh extension on shell scripts because “it’s cleaner”: tools should be able to identify it using shebang for syntax highlighting etc, I don’t need to expose the implementation detail just like with any executable, etc. But sometimes I wonder what I do with my life.
000
Simon @skagedal.tech · 18/05/2025
It really is a very different claim from those others. The claim isn’t that “non-programmers will be able to make software”, it is that there will be a new kind of programmer, whose brain is silicon-based rather than meat-based.
000
Simon @skagedal.tech · 14/05/2025
What if you say something that gets interpreted as ”> If that also isn’t properly escaped, you could affect the xhtml payload in unexpected ways?
000
Simon @skagedal.tech · 14/05/2025
Very interesting! Although I don’t quite understand your argument that this couldn’t be a security vulnerability. Of course, the invalid XHTML is refused. But the issue is that it’s there in the first place, rather than the ampersand having been properly escaped. >>
100
Simon @skagedal.tech · 05/05/2025
They’re most likely potheads.
010
Simon @skagedal.tech · 27/04/2025
Alternative answer: do just as described in your scenario, but pay close attention to, and find deep meaning in, every moment. No time wasted, perfectly optimized.
000