Michal
@arathunku.com
850 followers 110 following 1.2K posts
https://arathunku.com 🧙‍♂️💻 #SRE & Platform things #Elixir #ElixirLang 🐕🐾 #luna #dog owner 🏃🏃 #running 🇵🇱 🧳🚗➡️ 🇩🇪
Posts Media Videos Starter Packs
arathunku.com
#Niri bankruptcy, Dell U4025QW ordered
arathunku.com
My next goal is to hook into post tool usage by Claude and include that as part of atuin history with "claude-code" as hostname... (at least until github.com/atuinsh/atui...) so basically track what agent is doing to further optimize it later / extract into scripts.

Atuin is awesome <3
arathunku.com
Again, this is not for security but to prevent claude code to make stupid mistakes. It's too smart for its own good.

For security, I'm playing with github.com/containers/b...
$ anion hook-validate 'Bash' --command "elixir -e ''"
Validating: Bash with parameters: {"command":"elixir -e ''"}
CWD: /home/arathunku/code/github.com/arathunku/anion
Commands: ["elixir"]

Checking BLOCK rules...
  ✗ pattern="env *" - no match
  ✗ pattern="RAILS_ENV*" - no match
  ✗ pattern="RACK_ENV*" - no match
  ✗ pattern="NODE_ENV*" - no match
  ✗ pattern="MIX_ENV*" - no match
  ✗ pattern="printenv *" - no match
  ✗ exact="git" - no match
  ✗ exact="find" - no match
  ✗ pattern="grep *" - no match
  ✓ pattern="elixir -e*" - MATCH
    Reason: Use mix or tidewave.

────────────────────────────────────────────────────────────

Decision: BLOCK
Reason: Use mix or tidewave.
arathunku.com
My @atuin.sh history pays off big time now.

Claude spawned like 20+ agents, analyzed all commands, extracted more "subcommands", ran them against few agents with various evaluation skills and now created a policy for my hook tool to better guide/block/allow claude code to work.
arathunku.com
I think I may need to block test commands without path for Claude code, shorten the iteration loop... yes... it's rails app...
arathunku.com
3-month-old played and fell asleep on their own while I was unloading the dishwasher

brb, getting a lottery ticket
arathunku.com
- Well, claude failed at X...
- what's your setup, what's in the context?
- setup what...?

😬
arathunku.com
Claude code went on a wild chase into usage of ast-grep ast-grep.github.io/playground.h... and now my Bash hook validation is finally handling all commands and I'll be able to block process substitution for Claude. Claude doesn't know when to step its rabbit holes.
Playground | ast-grep
ast-grep playground is an online tool that lets you explore AST, debug custom lint rules, and inspect code rewriting with instant feedback.
ast-grep.github.io
arathunku.com
ok, I see bsky.app/profile/simo... - it's mainly token optimization so most likely we should just name skills in subagents and they should make up their mind on their own when they should be used
simonwillison.net
Each skill spells out a technique, like root cause debugging: github.com/obra/superpo...

The really clever part is that the coding agent is told to read that full documentation only when it actively needs to apply that skill, which saves a ton of tokens in the general case
arathunku.com
I kept wondering yesterday after reading the post, what's the main difference between specialized subagents (that can fire off other subagents too) vs skills?

Should we compose subagents from set of skills? Why would we need (yet) another abstraction to help LLM? Any thoughts, benchmarks?
arathunku.com
Amazing!!! Thank you in advance:D I'll just let Claude analyze my conversations and extract missing skills... 😅
arathunku.com
One more prompt
arathunku.com
I've my own extensive config and it's not yet ready to play nicely with new "plugins" approach
arathunku.com
this is really great! This may be a first time when claude code brainstormed a session with me and went off for half an hour, working with my already existing subagents, using skills, etc. to create a whole feature in Rust CLI.

I'm sorry and not sorry... I'm stealing the skills idea! :D
arathunku.com
Claude code is on its way to move my 500+ lines fish script as a hook into rust cli with kdl config. I don't run CC yolo mode, I use hooks to block/redirect/drive claude code automatically based on its actions.
Reposted by Michal
typst.app
We need your help to get Typst 0.14 over the finish line: The release candidate with accessible PDFs, character-level justification (not even in LaTeX!), and more landed today! Check your documents, packages and against "Typst 0.14.0 Testing" on the web or the new compiler.
arathunku.com
Best way to ship anything!

For best code review UX, new GitHub PR UI is a must for this PR!

/s
arathunku.com
State of Apple apps in 1 picture.

Apple TV+ stopped responding and had to be forced closed via Activity Monitor after navigating to next episode.
Reposted by Michal
hailey.at
reworked this labeler
- ingests posts from jetstream
- pays attention to replies to my posts
- calls out to gemma via LMStudio API
- determines if the reply is bad faith
- labels the reply as bad faith if it is
GitHub - haileyok/dontshowmethis
Contribute to haileyok/dontshowmethis development by creating an account on GitHub.
github.com
arathunku.com
#Niri 2 settings feel so so nice

> center-focused-column "on-overflow"
> always-center-single-column

notepad 0.33 | browser 0.66 | editor 1.0
arathunku.com
It looks like some dishwasher support this. Brb 😂
arathunku.com
Woohoo! I can do that too! Thank you! I had no idea 💡