A Pocket for my Weeks

Week of 2026-04-27

Featuring new pants, the Xteink X4, OpenSpec, and a meetup!

May 06, 2026

Happy May, everyone. I hope that wherever you are, the weather has mild. Up here in Portland, it was about 95F yesterday. That wasn’t particularly pleasant.

Last summer was surprisingly mild, so I’m hoping this was just a fluke and that the climate isn’t hankering to make up for what we missed this year.

Ah well. Let’s talk about last week.

New Pants!

This is what I’m most excited about. I’ve been a “black jeans only” person for a few years now. I buy mine from SPOKE, and I’ve found that they’re durable, comfortable, and fit just right. I’m genuinely quite happy with them. They’re pricey in the US, for sure, but I buy them once a year on Cyber Monday.

The problem: Summertime. Black jeans are thick, relatively stiff, and close to the leg, so they get pretty sweaty. This has been made worse by living in an old house, which is tough to keep cool.

Now, I hear what you’re saying. “But Graham,” you cry. “Why don’t you just wear shorts?” Ahaha. Don’t wanna.

Anyways, I’ve been enticed by the idea of wearing hakama pants for a few seasons now. They have a wide, flowy design that promotes airflow, and—in my opinion—a beautiful silhouette. A linen pair would make for an excellent pair of summer pants, I figured.

I got a promo email from MUJI about their hakama pants that moved me closer to buying a pair. While I liked their look—and one of the models looks uncannily like me at first glance—they didn’t fit the bill. Notably, they are 100% polyester, which I find uncomfortably sweaty and unpleasant. It’s just as well that they rapidly sold out of black in my size and no longer sell that color.

It turns out that this type of clothing is an entire segment of Instagram advertising. Soon I was getting ads for multiple dropshipping brands, using the same product photos with different brand marks. I don’t want to do them the favor of linking them here.

I’ll admit that I click every time, because I want to cost them money and I’m a sucker for the techwear look. I never bought any, because I found they were either 100% polyester, or waaaaaay out of my budget.

By some miracle (asking Claude on a lark), I found a promising lead: Siamurai.

I couldn’t believe my eyes. Looking for these pants (in the states) had become something of a hobby horse. I had all but given up, yet Claude presented me with a small family business selling exactly what I was looking for, made exactly the way I wanted, at an affordable price. If it was a scam, it was a scam made specifically for me.

It was not a scam. I bought a pair of their black linen/cotton hakama pants, and I am so pleased with them. I’m looking forward to supporting them more in the future!

Black Modern Style Linen Cotton Hakama Pants
FEATURE: Handmade Ethically, Breathable, Unisex, Comfortable to Wear & Stylish.MATERIAL: Linen & CottonSIZE: One size fits most, elastic waist (see measurement)GENDER: M/FWASHING INSTRUCTION:Hand wash or machine wash separately with alike colours in cold water. Hang dry in shade or low heat.  Iron in medium warm heat if needed. APPROX MEASUREMENT:Waist: 26"- 38" elastic & waist-tiedLength: 37" Elastic at ankle can be pull up.
https://www.samuraipants.com/collections/hakama-pants/products/black-modern-style-linen-cotton-hakama-pants

Xteink X4

Oh yeah, I bought one of them e-reading gadgets. It’s pretty cool. I don’t want to go into too much detail, because what I’d prefer to do is write up a review with all my thoughts.

God knows when I’ll get around to doing that, but I certainly won’t do it if I dump all my thoughts here.

In the meantime, if you want my take on anything in particular, just @ me and ask. There’s also some helpful content in the thread below:

Graham's avatar
Graham
1w

Applying for the club

A picture of a hand holding a white Xteink X4 running Crosspoint. The screen lists three books: Complete Tai-Chi, The Stranger, and Vampire Hunter D Volume 2: Raiser of Gales.

atmo.gifts

Alright, here’s the meat of my week.

I’ve been putting together atmo.gifts in preparation for ATProto PDX’s next monthly meetup, where we’re raffling a ticket to CascadiaJS. The intention was to put together a little atproto-powered site to run the giveaway on.

Right on time, I've got something deployed and usable. It's not bulletproof, but it got the job done at the meetup.

Building out this website has been mostly powered by OpenSpec. In contrast to my last two positive experiences building projects this way, I've felt mixed towards this. Part of this is probably due to the rushed deadline, but this is also the furthest I've taken the OpenSpec loop.

I'm going to take a quick anecdotal tangent and loop back to this.

When I was getting my degree in management, one of my favorite classes was Human Resources. That might sound strange to you, but hear me out.

One of the focuses of the class was on how to structure hiring processes, and I liked it a lot because it tickled my DevOps brain. For any given position, they said, the goal is to design your hiring process to do a good job of predicting a candidate's job performance, while at the same time minimizing discrimination to give all of your applicants a fair chance.

I went to Oregon State University, if that helps your mental picture. Our College of Business had a well-equipped (seemingly) research body for investigating hiring practices, and quantifying their correlation to job performance.

Surprising nobody, they taught us that unstructured interviews are one of the worst ways to predict job performance. Structured interviews are better, but still not without their flaws. You need to consider how you can quantitatively compare your candidates, while simultaneously considering the biases of your interviewers and the variety of answers you will get from your interviewees. You need to prepare a scale and mitigate those risks ahead of time in the structure of the process itself. Notably, if you don't put enough time and focused development into the interview itself, you get bad results.

There's one type of lazy, ineffective structured interview question that I think about daily: The "guess what I'm thinking" question. It's the kind of question where, if the candidate doesn't answer exactly how the interviewer expects them to, they get a bad score. This type of question can arise from multiple factors of the interview process, but I don't have the time or energy to expound on all of those right now.

Now, why is this an ineffective question? Unless you're quizzing a candidate on technical knowledge (important info that they need to know to perform the job), your interviewer is effectively performing a vibe check—and vibes are NOT a measurable predictor of job performance.

As an interviewer, you (and your process) need to understand that your candidates are literally different from you and are therefore unlikely to come up with whatever answer you made up in your mind. There are certainly other "right" answers, if you approach the process with the right framing!

So what the hell does any of that have to do with OpenSpec? Isn't the whole process based around turning your needs into specs that any LLM can interpret and understand?

What I discovered after the last week is that it's easy to become the "guess what I'm thinking"-type interviewer while performing agentic development—and the effects are similarly negative.

There were several times where I asked my agent to write a spec, but I wasn't totally aware I had worked out a specific architecture in my head. I didn't fully communicate that vision, assuming that my agent would get to the same endpoint that I did.

Usually, this resulted in specs that I felt were "eh, close enough I guess." Then I'd sign off on them, because I have a Claude Pro plan and I was running out of utilization.

Every one of those sign-offs was a bad idea. Each one of them made my application feel a little more like a house of cards, and by the end, I was exhausted and wracked by anxiety. If somebody so much as clicked on something wrong, maybe the whole thing would fall apart.

Anyways... Call it a skill issue or a personal problem, if you like. The moral of the story is that you should be mindful of your assumptions and frame of mind when you work with an agent.

For what it's worth, this also applies when working with people—but at least people possess wills and can push back. Sycophancy, human or not, harms people by leading the unwitting to sabotage themselves.

ATProto PDX!

Oh, and because I took so long rambling about that last topic, I'm a couple days late on these notes. Our May meetup happened in the meantime!

ATProto PDX's avatar
ATProto PDX
19h

Another great time tonight - with lots of folks from outside of PDX and live on @stream.place 🎉🎉 Once again, special thanks to @brittanyellich.com for giving us an amazing rundown on ATProto - we hope you all are excited as we are to build See you again next month - same time, same place!

The ATProto PDX crowd at @CodeTV.dev studio, getting ready to start the meetup @graham.systems kicking off the meetup@brittany.ellich showing us a bunch of cool apps that were built on ATProto@iame.li showing us a prototype of what he's working on next

Those photos of me kill me because one looks vaguely like that Ben Affleck smoking meme, and the other looks like is divining my future from a pink GameCube.

Jokes aside, thanks again to everyone who attended—whether you were in person, or watching the livestream. It's beautiful to see so much enthusiasm and excitement, every single time. I'll do everything I can to keep it going.

Alright, that's definitely enough journaling for this week. Hopefully there was something valuable in there.

Thank you, as always, for reading this far. I hope you have a great week!


weekly recap

A Pocket for my Weeks

Weekly notes by Graham