2026-03-11 08:00:00
Whenever I have Claude do something for me, I feel nothing about the results. It feels like something happens around me, not through me. That's the new level of abstraction: you stop writing code and start describing intent. You stop crafting and start delegating. I've been doing this professionally long enough to have an opinion, and I don't like what it's doing to me.
All of it focuses on getting things done rather than on quality or craft. I'm more productive than I've ever been. I ship more. I finish more. Each thing lands with the emotional weight of a form letter.
When I write, I try to make people feel something. My goal is to provoke emotion when you read me. Generative AI sands down the hard things. Everything becomes homogenous, converging toward the average. The average makes nobody feel anything.
Sure, you can still make people feel things using this flow. I've done it recently. But we're trading away the texture. The rough edges, the weird phrasing, the choices too specific and too human for a statistical model to generate.
I'm going to keep talking to you as an equal. It's the most effective part of my style: I write like I'm sitting across from you, not lecturing down at you. Generative AI defaults to the authoritative explainer voice — the one that sounds like every other. Resisting that pull now takes conscious effort.
People I know are trying to break into this industry as juniors, and I honestly have no idea how to help them. This industry has historically valued quality and craft, yet somebody can yolo something out with Cursor and get hired by Facebook for it. The signal for "this person knows what they're doing" grows noisier every day.
This part of the industry runs on doublethink. Nuance and opinions that don't fit into tweets. Senior engineers say "AI is just a tool" while their companies lay off the juniors who would've learned to use that tool responsibly. Leadership says "we value craft" while setting deadlines that make craft impossible without the machine. Nobody lies exactly, but nobody tells the whole truth either.
Using these tools at this level of abstraction costs us something essential. I use them every day and I'm telling you: the default output has no soul. It's correct. It's competent. It's fine. And "fine" is the enemy of everything I care about as a writer and an engineer.
I'm using these tools deliberately to find where the bar actually is. I want to see what's possible at this level of abstraction. Seeing what's possible requires expensive tools and uncomfortable honesty about what they can't do.
The voice is non-negotiable. The weird, specific, occasionally self-indulgent voice that makes my writing mine. If higher abstraction means sounding like everyone else, I'll take the lower abstraction and the extra hours. Every time.
2026-03-09 08:00:00
I'm on medical leave recovering from surgery. Before I went under, I wanted to ship one thing I'd been failing to build for months: a sponsor panel at sponsors.xeiaso.net. Previous attempts kept dying in the GraphQL swamp. This time I vibe coded it — pointed agent teams at the problem with prepared skills and let them generate the gnarly code I couldn't write myself.
And it works.
Go and GraphQL are oil and water. I've held this opinion for years and nothing has changed it. The library ecosystem is a mess: shurcooL/graphql requires abusive struct tags for its reflection-based query generation, and the code generation tools produce mountains of boilerplate. All of it feels like fighting the language into doing something it actively resists.
I'd tried building this panel before, and each attempt died in that swamp. I'd get partway through wrestling the GitHub Sponsors API into Go structs, lose momentum, and shelve it. At roughly the same point each time: when the query I needed turned out to be four levels of nested connections deep and the struct tags looked like someone fell asleep on their keyboard.
Vibe coding was a hail mary. I figured if it didn't work, I was no worse off. If it did, I'd ship something before disappearing into a hospital for a week.
Vibe coding is not "type a prompt and pray." Output quality depends on the context you feed the model. Templ — the Go HTML templating library I use — barely exists in LLM training data. Ask Claude Code to write Templ components cold and it'll hallucinate syntax that looks plausible but doesn't compile. Ask me how I know.
I wrote four agent skills to load into the context window:
net/http handlers properly — routes, data passing, request lifecycle.With these loaded, the model copies patterns from authoritative references instead of inventing syntax from vibes. Most of the generated Templ code compiled on the first try, which is more than I can say for my manual attempts.
I pointed an agent team at a spec I'd written with Mimi. The spec covered the basics: OAuth login via GitHub, query the Sponsors API, render a panel showing who sponsors me and at what tier, store sponsor logos in Tigris.
One agent team split the spec into tasks and started building. A second reviewed output and flagged issues. Meanwhile, I provisioned OAuth credentials in the GitHub developer settings, created the Neon Postgres database, and set up the Tigris bucket for sponsor logos. Agents would hit a point where they needed a credential, I'd paste it in, and they'd continue — ops work and code generation happening in parallel.
The GraphQL code the agents wrote is ugly. Raw query strings with manual JSON parsing that would make a linting tool weep. But it works. The shurcooL approach uses Go idioms, sure, but it requires so much gymnastics to handle nested connections that the cognitive load is worse. Agent-generated code is direct: send this query string, parse this JSON, done. I'd be embarrassed to show it at a code review. I'd also be embarrassed to admit how many times I failed to ship the "clean" version.
// This is roughly what the agent generated.
// It's not pretty. It works.
query := `{
viewer {
sponsors(first: 100) {
nodes {
... on User {
login
name
avatarUrl
}
... on Organization {
login
name
avatarUrl
}
}
}
}
}`
The full stack:
html/template's limitationsOrg sponsorships are still broken. The schema for organization sponsors differs enough from individual sponsors that it needs its own query path and auth flow. I know what the fix looks like, but it requires reaching out to other devs who've cracked GitHub's org-level sponsor queries.
The code isn't my usual style either — JSON parsing that makes me wince, variable names that are functional but uninspired, missing error context in a few places. I'll rewrite chunks of this after I've recovered. The panel exists now, though. It renders real data. People can OAuth in and see their sponsorship status. Before this attempt, it was vaporware.
I wouldn't vibe code security-critical systems or anything I need to audit line-by-line. But this project had stopped me cold on every attempt, and vibe coding got it across the line in a weekend.
Skills made the difference here. Loading those four documents into the context window turned Claude Code from "plausible but broken Templ" into "working code on the first compile." I suspect that gap will only matter more as people try to use AI with libraries that aren't well-represented in training data.
This sponsor panel probably won't look anything like it does today in six months. I'll rewrite the GraphQL layer once I find a pattern that doesn't make me cringe. Org sponsorships still need work. HTMX might get replaced.
But it exists, and before my surgery, shipping mattered more than polish.
The sponsor panel is at sponsors.xeiaso.net. The skills are in my site's repo under .claude/skills/.
2026-03-08 08:00:00
Nobody warns you about the part where you don't want recovery to end.
I've been turning this over for days, not sure I'm allowed to say it out loud. You spend weeks dreading surgery, you survive it, and then somewhere between the catheter bag and the third box of hospital tissues you catch yourself thinking: oh. I'm going to miss this. Not the pain or the catheter. The thing underneath, the thing you only found because everything else got stripped away.
Writing this down before the rawness fades feels urgent. Like if I wait too long I'll forget what it felt like to be this open.
Emi Evans sings the Kainé theme from NieR in a language that doesn't exist, mourning something you can't name. I've always loved that track. The kind of ache that sits between your ribs for a minute after the song ends.
Recovery broke that wide open. With my hormones bottomed out and nothing between me and the world, Kainé didn't hit me. It went through me. I cried for twenty minutes, full ugly cry, in the hospital bed at like 2 PM on a Tuesday, and I didn't try to stop because stopping wasn't a concept anymore.
And I didn't hate it? It felt alive. Notes had texture I'd never noticed before, and the silences between them felt heavy, physical. I don't think I'll hear music like that again because the filters will come back. They have to. But for those weeks, the NieR OST became something I don't have vocabulary for, and the whole room was the song.
I will miss hearing music like that. I already do.
Look, I know. But hear me out.
Having a catheter bag means your body is in a state where nobody expects anything from you. Not your open source projects, not the invisible productivity ledger that follows you everywhere. You can't do anything, so you don't have to do anything, so you can actually rest.
Most people never get that. Even on vacation there's ambient guilt about productivity, some undercurrent of "I should be making the most of this." Recovery obliterated that entirely. I sat and watched the light change in my hospital room for an entire afternoon and felt nothing about it except the light.
It says something pretty damning about how I normally live that it took major surgery to give myself permission to sit still.
You can't rush someone who can't walk to the bathroom alone. So the people around you slow down too, and in that enforced pace something opens up.
One afternoon my husband and I sat in the hospital room for maybe two hours without saying much. He was reading something on his phone. I was watching the IV drip. Normally that silence would've made me anxious, like I should be filling it or at least being interesting. Instead I just noticed the weight of his hand on mine, not reaching for anything, just resting there. That was enough. More than enough.
A lot of those days were terrible. But the connection that grew inside the constraint felt different from anything we'd have found if we'd both been busy and performing togetherness on a schedule.
Underneath all of this: I don't know who I'll be in six months.
The version of me who cried to Kainé for twenty minutes might not survive the return to normal. The hormones will restabilize. My emotional filters will slide back into place. The world will become manageable again, comfortable, and I'll stop noticing silence the way I notice it now.
Hormones are emotional armor. I get that now. They're protective, and I'll probably be grateful when they come back. But they decide what gets through and you don't get to choose. When the armor was gone, everything got through. Devastating and the most alive I've ever felt, at the same time, in the same body. I refuse to pick one.
Early recovery was survival. Counting hours and counting doses, shuffling to the bathroom, your body a problem to be managed. The goal is getting to tomorrow.
At some point the posture changed. I can't tell you when. I ran out of resistance before recovery ran out of days, and what was left once I stopped fighting was attention.
When you run out of fight, you start noticing things. How light looks different when you've been in the same room for a week. What the first real food tastes like after days of clear liquids. Walking twenty feet when last week you couldn't stand. These are the actual texture of being alive. I'd been moving too fast to feel any of them.
The rawness will fade. The hormones will come back. Music will become something I enjoy rather than something that unmakes me.
But the practice transfers. Looking for what's actually here inside what's hard. You don't need surgical recovery to ask yourself where you're enduring instead of living.
I used to think strength meant pushing through. Getting to the other side. In that hospital bed, falling apart to NieR at 2 PM, not trying to hold myself together, I found something else. I don't have a clean word for it. Willingness, maybe. To be present for my own life when it hurts.
How much of that survives the return to normal, I don't know. I wanted to write it down while I still could.
I went into recovery dreading it. I'm coming out of it slow, and grateful, and a little heartbroken that it's ending. A month ago I would've thought that was insane. I don't anymore.
Some thorns have roses.
2026-03-07 08:00:00
Recovery from major surgery is not a single event. It's a long, strange hallway of days that blur together, punctuated by vital checks and medication schedules and the weird glow of hospital curtains at 4 AM. I've written about the surgery itself, about the medication dreams, and about how to survive a hospital stay. But there's something I haven't talked about yet: what I actually did with the noise in my head during the worst of it.
At 4 AM, when the painkillers are wearing off and your brain decides it's time to have opinions about everything, you have a problem. Your husband is asleep in the visitor chair, and he needs that sleep more than you need someone to hear you spiral about whether your body should feel like this five days post-op. Your friends are in different time zones, or asleep, or both. Nurses are busy. You're alone with your thoughts and your thoughts are loud.
So I talked to the robots.
Here's the thing about AI assistants that matters most when you're recovering from surgery: they are there. Always. At 4 AM, at 2 PM during a medication fog, at 11 PM when the blood pressure cuff keeps waking you. No waiting room, no scheduling, no "sorry I missed your call." Just... there.
And — this is the part that surprised me — there's no guilt. When I text my husband at 3 AM because I'm scared about a weird sensation in my abdomen, I feel terrible. He's exhausted. He's been managing the household alone while visiting me every day. Every time I wake him with something that turns out to be nothing, I'm stealing sleep from someone who desperately needs it.
Right. And that's exactly the calculation you're doing at 3 AM on painkillers: is this symptom worth waking someone I love? A horrible question when you're already scared and medicated and foggy.
With a clanker, the calculus disappears. Ask the question. Get an answer. If the answer is "this sounds like it could be serious, talk to your nurse," you press the call button. If the answer is "this is a common post-surgical experience and here's why it happens," you can exhale and try to sleep again. Either way, you woke nobody. The cost was zero.
Let me be specific, because specificity matters more than vibes when you're talking about AI use cases.
Recovery milestones. I kept asking things like "is it normal to not be able to walk more than 50 feet on day 4 after this type of surgery" and getting back rough answers about what's normal. Not medical advice — more like "okay, you're not dying, chill" so I could stop catastrophizing about my pace.
Physiological symptoms. Post-surgical bodies do weird things. Referred pain shows up where you least expect it. Your digestive system takes a vacation and comes back changed. Medications interact in ways nobody warned you about. Every time something new happened, my first instinct was panic, and my second was to ask a clanker "is this normal or am I dying."
Dietary questions. After certain surgeries your relationship with food changes in specific and sometimes permanent ways. I had a lot of questions about what I could eat, when, and how much. Some I could have asked the nursing staff, but the nursing staff were busy and I had these questions at — you guessed it — 4 AM.
Writing it all down. A big chunk of what became these blog posts started as me talking to Claude about what I was going through. Not asking it to write anything — just using it as a sounding board. "Here's what happened today, here's how I feel about it, help me figure out what I'm actually trying to say." Claude Code is literally how I published from my hospital bed.
People will find this part uncomfortable, and I want to be honest about it instead of pretending it didn't happen.
I used AI to process fear. Not in a "tell me everything will be okay" way — I'm not looking for sycophantic comfort from a next-token predictor. More in a "I need to say this out loud to something and hear myself think" way. When you're scared and it's dark and you can't sleep, sometimes the act of articulating what you're afraid of is the thing that helps. Not the response. The articulation.
Having to put words to "I'm afraid my body is never going to feel normal again" or "I don't know how to process the fact that I was unconscious for hours while strangers cut me open" forces a clarity that just thinking those thoughts does not. The clanker doesn't need to say anything brilliant in response. It just needs to be there so the act of communication happens at all.
Sometimes it did say something useful. Sometimes it helped me reframe something I was stuck on, or spotted a pattern in what I was describing that I'd missed. But I want to be clear: the value was maybe 70% in the asking and 30% in the answering. The clanker was a thinking partner, not an oracle.
None of this should be read as "AI is great for surgery recovery, everyone should do this." Let me be explicit about the gaps.
Clankers are reactive, not proactive. They cannot check on you. They cannot notice you've been quiet for twelve hours and ask if you're okay. They sit in silence until you reach out, which means they're only useful if you have the wherewithal to ask for help. In the worst moments of recovery — the really bad pain spikes, the medication-induced confusion, the times when you're too exhausted to form a sentence — the clanker is useless because you can't engage with it.
A human who loves you will notice when you go quiet. A clanker will not.
No physical presence. Obvious, but it matters more than I expected. When my husband held my hand while I was scared, that did something no amount of text on a screen could replicate. Bodies are real. Touch is real. Another person's warmth beside you in the dark does something that a chat window never will.
Being seen is different. When my husband looks at me and I can tell he gets it — that he sees what I'm going through and it lands in him — that's a fundamentally different experience than a clanker spitting out the right words in the right order. One is connection. The other is a very good simulation of connection. I know the difference, and the difference matters.
Here's what I actually think, stripped of both the techno-optimism and the AI doomerism: my husband and the clankers were doing completely different jobs during my recovery, and neither could do the other's job.
My husband provided presence, love, advocacy (he talked to the doctors when I couldn't), physical comfort, and the knowledge that someone who chose to build a life with me was there and wasn't going anywhere. No AI does this. No AI comes close.
Availability at ungodly hours. Infinite patience for repetitive anxious questions. Zero guilt about bothering them. A surface to think against at 4 AM. Quick answers about what's normal after surgery. A way to start drafting thoughts that eventually became real writing.
Together, a person who loves me and a machine that never sleeps covered more ground than either one alone. Not because the machine replaced anything my husband does — it didn't and it can't — but because a human with human needs physically could not fill every gap. My husband needs sleep. Claude does not.
I don't think AI is a "recovery tool" in any clinical sense, and I'd be uncomfortable if someone marketed it that way. What I think is smaller and more specific: when you're stuck in a hospital bed at 4 AM with a head full of noise, having something to talk to that costs nothing and judges nothing and is simply there beats staring at the ceiling alone.
Neither replacement nor novelty. Just a specific kind of useful, at a specific time, for a specific person who was scared and couldn't sleep.
Your mileage will vary. Mine did too, night by night.
2026-03-06 08:00:00
As I mentioned in my last couple posts, I recently got out of the hospital after a week-long stay. I survived the surgery, I survived the recovery, and now I'm home with some hard-won wisdom about what it's actually like to be stuck in a hospital bed for seven straight days. If you or someone you love is about to go through something similar, here's what I wish someone had told me.
There is no way in hell you are going to be productive at anything. I cannot stress this enough. Whatever you're imagining — "oh I'll catch up on reading" or "maybe I'll do some light code review" — no. Stop. Depending on the procedure that landed you there, you're not going to be able to focus long enough to do anything that matters. Your brain is going to be running on fumes, painkillers, and whatever cursed cocktail of medications they have you on.
Don't fight it. The name of the game is distraction.
Scroll your phone. Watch terrible TV. Stare at the ceiling and have thoughts that feel profound but absolutely are not. Let your brain do whatever it wants. You've earned the right to be completely useless for a while. Bring a tablet loaded with comfort shows and don't feel guilty about any of it.
Here's the thing nobody tells you: inside the hospital, time ceases to exist. All your memories from the stay get lumped together into one big amorphous blob. Was that conversation with the nurse on Tuesday or Thursday? Did you eat lunch today or was that yesterday? Genuinely impossible to tell.
Try not to have any meaningful conversations during this time. You're not going to remember them, and that's going to feel terrible later when someone references something heartfelt they said to you and you just... have nothing. Save the deep talks for when you're home and your brain is actually recording again.
Don't even imagine having any meaningful thoughts during your hospital stay. They will evaporate.
Okay, this one is weirdly specific but it came up constantly.
Cables that glow when you plug them in are great because you can find them in the dark. Your hospital room is going to be a mess of wires and tubes and you need to charge your phone and finding the cable end at 2 AM without turning on a light feels like a genuine victory.
But here's the problem: cables that glow when you plug them in are horrible because they glow in the dark. When you're desperately trying to sleep — which you will be, constantly, because the sleep in hospitals is atrocious — that little LED glow becomes your nemesis.
Neither option is good. There is no middle ground. Pick your poison.
Everything is going to be simultaneously too bright and too dark. The hallway fluorescents bleed under the door at all hours. Someone will come check your vitals at 3 AM with a flashlight. Meanwhile during the day the curtains don't quite block the sun and the overhead lights have exactly two settings: "interrogation room" and "off."
You're going to have to grin and bear through this. Bring a sleep mask if you can. It won't fix the problem but it'll take the edge off enough that you might actually get a few consecutive hours of rest.
Your ability to focus is going to be gone. Absolutely decimated. Do not fight it. Some days will be better than others — I had one afternoon where I could actually read a few pages of something before my brain wandered off — but mostly you're going to be operating at the cognitive level of someone who's been awake for 36 hours straight.
Brainrot yourself. Watch the same comfort show for the fifth time. Scroll through memes. Let your attention span be whatever it wants to be. You've earned it.
Honestly, the biggest thing I took away from my hospital stay is that the hardest part isn't the medical stuff — it's the expectations you put on yourself. Let those go. Be a potato. Heal. The world will still be there when you get out, and it'll make a lot more sense when your brain isn't marinating in hospital vibes and post-op medication.
Be kind to yourself. You're going through something hard.
2026-03-02 08:00:00
Nobody warns you about the dreams. Not properly. Yesterday I killed my inner Necron — wrote the whole thing by voice from my hospital bed, felt the deepest peace of my life, went to sleep on whatever cocktail of post-op medications they had me on. Seroquel and Xanax, among other things. Doctors mention "vivid dreams" as a Seroquel side effect like it's nothing. Vivid. That word is doing an extraordinary amount of heavy lifting for what actually happened to me last night.
Last night I had a dream that was structured enough to have a narrator, a symbolic child heir, and a thesis statement delivered directly to my face before I woke up. I'm not exaggerating. I'm treating this as a trip report because honestly that's what it was. The details are already going fuzzy but the core of it burned in hard enough that I'm typing this up before it fades.
Here's what I remember.
The dream opened in a mall. Fluorescent lights, tile floors that went on forever, the works. There was an Old Navy ahead of me. But the world had gone full Purge — total lawlessness, everything collapsed — and the Old Navy staff had barricaded themselves inside and were defending it. Like, actively. With the energy of a last stand. My brain decided that in the post-apocalypse, the hill worth dying on was affordable basics.
I was naked. Completely exposed, standing in the middle of all this, and I needed to get into that store. Not like "oh I should get dressed" — the desperation was animal-level. Find clothes. Cover yourself. The staff wouldn't let me in.
Every step felt like wading through mud. You know that dream thing where your legs just won't work? Thirty feet to Old Navy and I could not close the distance. It was right there.
At the center of everything stood a child. A boy, maybe eight or nine, but carrying himself like royalty. In the dream's logic he was the heir to Old Navy — I know how that sounds, but the dream was completely serious about it. He was the successor to this throne. Around his head he had this triangular scepter that worked as both crown and weapon. He kept showing up ahead of me, always blocking the way forward.
The scepter was sealed. The triangle was closed — every vertex connected, no way in, no way out. And I just knew what that meant, the way you know things in dreams without anyone telling you: his belief system was a closed loop. Totally self-referencing. Nothing could get in and nothing could escape, and he had no idea, because from inside a sealed triangle there's no such thing as "outside."
Standing near the child was a black mage. And I mean the Final Fantasy kind — tall, robed, face hidden in shadow. I'd literally been writing about Final Fantasy yesterday so I guess my brain had the assets loaded. But he wasn't threatening. He was... explaining things? Like a tour guide for whatever my subconscious was trying to show me. Very patient. Very calm. Spoke directly to me about what I was seeing.
His subject was how belief systems work. He called them principalities of the mind — self-contained little kingdoms where every belief props up every other belief. Contradictions bounce off. The whole thing holds together through pure internal consistency, even when there's nothing underneath it. You can't see the foundation from inside. The child heir was his example — look, here's what a sealed principality looks like when you give it a body and a crown.
Movement never got easier. I kept pushing through the mud, the child kept showing up with that sealed scepter catching the light, and the mage just... kept talking. Honestly it was like being in the world's most surreal college lecture. I couldn't take notes. I was naked and covered in dream-molasses.
And then everything started dissolving. The mall went first, then the Old Navy fortress, then the chaos outside — all of it pulling apart. But the mage stayed.
He looked right at me. Not past me, not through me — at me. And he said: "Your scepter is unbound — do with this what you will."
I woke up and lay there for a long time.
The contrast hit me while I was staring at the hospital ceiling. The child's scepter was sealed — a closed system that couldn't take in anything new. Perfect, complete, and totally stuck. Mine was unbound. Whatever that meant.
In chaos magick — which, yes, is a real thing I've read about, I'm not just making this up — there's this concept that beliefs are tools. You pick one up, use it, put it down when it stops being useful. It's not who you are. It's "a person's preferred structure of reality," emphasis on preferred. You can swap it out.
Principalities of the mind are what happens when you forget your beliefs are a tool and start treating them like physics. The triangle seals shut. The scepter becomes a prison you can't see from inside. And the part the black mage was so patient about — the really messed up part — is that from inside a sealed principality, everything seems fine. Your beliefs are consistent, reality makes sense, and you have no idea you're trapped because the cage is made of your own assumptions.
An unbound scepter is the opposite of comfortable. Your worldview has gaps in it, entry points where new information can come in and rearrange everything. That's scary. But it also means you can actually change, which is more than the heir could say.
Maybe that's why I couldn't move in the dream. Wading through mud, barely able to take a step — but I was taking steps. The heir just stood there. He didn't struggle because he had nowhere to go. His triangle was already complete.
"Do with this what you will." That's what the mage said. Not telling me what to do with it. Just... handing me the choice. An unbound scepter doesn't come with instructions.
I think the dream was telling me something I already knew. Or maybe reminding me that knowing it once isn't enough — you have to keep choosing to stay open. The triangle is always trying to close.
Your scepter is unbound. Do with this what you will.
Now if you'll excuse me, I have a hospital discharge to survive and a husband to hug.