Archive
All published posts
Mar 23 – Mar 29, 20267 months ago
Featured this weekWriting
Writing
I’ve been having issue with my keyboard disconnecting to my main desktop for awhile. Today I got a cheap bluetooh dongle in and am giving it a run this week to see how things go. The first step was to move it to the new adapter. I’ve never had multiple adapters installed so this was a new to me process.
I was able to do it all with the same keyboard, It did require some juggling between usb and bluetooth modes pluging and unplugging, two keyboards would be simpler to reason about.
I can’t be bothered to change my brain to think about this machine on a different zmk profile it is of absolute importance for it to remain on the same profile, otherwise this would be a simple bind to another empty profile.
Why not use a cable on desktop?
I dont mind cable, and have used one on this setup for years, but I have actually been picking up and moving this keyboard and using it with different devices.
I’ve got a big battery and performace cranked up, unless my machine is under load I do not notice any key lag.
I did it with bluetoothctl, I’m sure it could have been done with a gui like
blueberry or blueman.
bluetoothctl
# list adapters
list
select <old-adapter>
devices
# fin the MAC address of the device 42BLOCK
remove <42BLOCK_MAC>
Now I plugged into usb. And importantly cleared out the zmk profile. If you do not clear the profile your board does not go into pairing mode.
bluetoothctl
# switch adapters
select <new-adapter>
power on
agent on
default-agent
scan on
Put 42Block in pairing mode, then:
pair <42BLOCK_MAC>
trust <42BLOCK_MAC>
At this pint I saw this show up in the logs, I think there was some masking issues or something in zmk, output kept going out usb no matter what so I disconnected the keyboard and typed the passkey in, and it worked.
[agent] Passkey: 540044
Boom, it just started working right away.
bluetoothctl
connect <42BLOCK_MAC>
info <42BLOCK_MAC>
scan off
exit
Photo journal · Mar 23 – Mar 29, 2026
In pictures 6 photographs
Note
Social Media is dead
Social Media is dead, interest media killed it long ago. I no longer feel like I’m connecting to people, creating community, having fun, learning. I feel like I’m being shoveled slop from the slop machine, I’m sure mostly create by well intentioned people just trying to make it in the world, trying to make their mark, trying to make something of themselves. The algos long lost the idea of subs and likes, and transitioned to how long you will pause on a topic. What used to be a series of recognizable faces, names, avatars, each with their own personality that I could come to learn and know who was just trollin, who was serious, is now mostly unrecognizable. Platforms have changed and fractured communities people went separate ways, not all the same ways. No one community is like it used to be, and its hard to find.
Note
Where Is The Tech Industry Going
Agents suck
Get left behind if you don’t use them
Burn out if you use them too much
...
Note
Note
Note
Note
Is Compaction The Issue
I saw today in work chat something along the lines of “we need bigger context windows” “compaction times are holding us back”. Maybe I’m just blessed with the lack of lord jira, maybe juggle too many projects at once and they are all pretty much done when I get back. Maybe I do more long running specs and spend time making good plans that it does not matter.
Anyways the point I’m getting to is that if you think that compaction is your main issue slowing you down, and 10x this if you are a manager thinking this is what is slowing down your team you need to look at your workflow. Not because it sucks. Not only because it could be better. Because you are signing yourself and your team up for burnout if you are sitting there watching these things run like waiting for paint to dry and firing more prompts at them as soon as they are done. It feels easy. It feels like you are going fast. Its eating more brainpower than you think, and its not getting you to your...
Note
Note
Lets Land The Plane
Part of @steveyegge ’s gastown/beads is a prompt “Lets land the plane”. It’s very straightforward forward and what any sane human would probably do before finishing work, except the last part. The “generate a handoff prompt for the next session” was not something I’ve put much thought into. But now that I juggle 6 sessions at a time and often end up with 20 sessions open because I don’t want to close them and loose the last bit of context. This is what I need to keep from crippling my laptop memory from all of these stale sessions hanging around.
Taken from https://ianbull.com/posts/beads
Note
Note
Note
Note
I don’t want someone else running my agents
I don’t want to review the pr, I dont want to fight the mass of changes clobbered across the codebase. I want to own my platform. With everything changing with agents writing more code than I can imagine in a day work looks different now. I still want to work with real people. I want to collaborate on ideas. I want someone to bounce ideas off with. I want someone else in the war room with me on launch day, or when the whole thing goes down. But I don’t them slopping in my sandbox, if someone is going to be stirring the slop in my product I want it to be me. Work is feeling different now. New lines need to be drawn in new directions. Expectations are changing, the way work is completed is changing, and we are all here trying to figure out what this looks like moving forward.
Mar 16 – Mar 22, 20267 months ago
Featured this weekWriting
Today I learned that docker creates an empty /.dockerenv file to indicate that
you are running in a docker container. Other runtimes like podman commonly use
/run/.containerenv. kubernetes uses neither of these, the most common way to
detect if you are running in kubernetes is to check for the presence of the
KUBERNETES_SERVICE_HOST environment variable. There will also be a directory
at /var/run/secrets/kubernetes.io/serviceaccount that contains the service
account credentials if you are running in kubernetes.
Link
Link
Link
Link
Link
Photo journal · Mar 16 – Mar 22, 2026
In pictures 6 photographs
Note
Ping 38
When agents do the work its harder to recognize a dead end.
Note
Learning to agent
All we are hearing lately is Agents are the future, something flipped around NOV 2025 with opus 4.5. It turned snake oil into action. It changed programmers will be replaced in 6 months to now. Not all of them, but probably most of us who are not extraordinary. If you fall into the camp of folks not adopting, I got no issues with that. No one is twisting your arm, well maybe your boss or cto is, thats on them. I don’t mean to say this is the future as in, get in or get left behind. I mean it as this is where your other engineers probably are, the junior to mid level engineers are here. If you are not trying to meet them where they are how are you going to lead them.
Note
Studio Ghibli Images in the Wild
I just stumbled into an image in my org chart of someone who clearly turned themself into a Studio Ghibli character in chatgpt during the small window of time that it seemed to do this for everything. Its clearly the aesthetic that It would do by default for that week, then would not do it whatsoever. I’d link it, but its from an org chart. I mostly found it interesting how we now have these recognizable artifacts from specific moments in time.
Note
Ping 36
I feel like there’s an inevitable phase to every ai/agentic worked feature/epic where you have to get in and chat with it 2025 style (except it actually works and doesn’t turn your project to shit). Planning is great, planning out epics for full orchestrator’s to churn for hours on is amazing, but it always leaves me with a handful of thorns multiplied by complexity level of things that I can shout a list of 6 items at a time that it can one shot. I haven’t seen anyone put a name to this phase yet, so I’m going to call it the UAT phase for now and it seems like a very necessary part of the SDLC. It was important before, but feels more so now as engineers distance themselves from the implementation.
Note
Research, Plan, Implement
I heard this term yesterday, and I think a lot of people are missing out on step 1. It’s important to experiment with agents and learn what they can do well and what they cant, this changes every couple of weeks at this point. You might be spending hours planning something that could have been implemented right away, or maybe wasted time planning something that needed more research, more context engineering. Agents start fresh every session, they cant remember what you asked them to do 5 minutes ago in the other session, getting the right tokens in session is critical.
Note
Context Poisoning Was There All Along
I wrote some code by hand on Sunday. Sat down with my son and started building out a game in pygame from scratch. We went to google, we searched how to do something, we copy and pasted from the docs. Not because we are dumb, but because we cant remember some aspects of the pygame api. Now that these patterns are established we no longer have to google them, we simply grep our codebase and replicate the pattern. Easy right? It’s funny that it took ai to coin the term context poisoning even though it was there all along.
Note
Agents cannot replace the thinking, they only amplify it
Agents cannot replace the thinking, they only amplify it. If you set the agents off in the wrong direction that’s where they will go. They will sprint there faster than you can go. This is ok, its one of their advantages, they can give you signal quick. Remember if they are off in the wrong direction more research and planning is needed, and maybe a little bit more thinking on your end to steer them in the right direction.
Note
Note
Note
Thinking about ai productivity again
Thinking about AI productivity again. It’s allowing massive amounts of work to get done, to levels that humans cannot physically type out in some cases. But not all of this work is necessarily high value work. Right now I’m working on one of the biggest PRs to an internal cli library. Probably the largest PR I’ve ever done professionally. It touches all of the cli, refactors every command, reaches into the business logic layers to drive deeper separation. I reaches into the common layers to drive consistency. It ensures that every command (50 or so) has similar flags, supports –plain, –no-color. It specs out contracts to ensure that data goes out stdout, any extra goes out stderr. This makes everything unix pipe friendly. There was quite a bit of research and prep that went in, that turns out to already be distilled down into clig.dev. The point is that this is all good work. It will make the product consistent, repeatable, expected, and most of all boring. Most of the time, it will just work. Since we did it ahead of a lot of other agentic work on the product its establishing good patterns for the product moving forward. But its low value work. We wouldn’t have likely put humans on this work wholesale and fixed critical paths as they came up. Its not cutting cost, selling more product, or driving critical business decisions. Yes it’s worth it now, but it would not have bee in the past.
Mar 9 – Mar 15, 20267 months ago
Featured this weekLink
Photo journal · Mar 9 – Mar 15, 2026
In pictures 2 photographs
Note
Note
Note
Note
Calendar data could not load. Try again.