About

I've run @SOHO, a freelance marketplace in Japan, since 2004, around the same time oDesk (now Upwork) started. Bootstrapped the whole way, never took VC money. Lately I've been replacing the tools I used to pay for with my own, and that turned into about 10 products. On the Mac: SpaceDeck, mission control for every app you live in. Kagemusha, any website as a standalone Mac app. Koffret, only the menu bar icons you use. Caltimate, a native calendar that syncs with Google Calendar. Atriens, a Finder alternative. On the web: Pinateca, project management with eight kinds of board. Halict, from form submission to answered in one screen. RizaFlow, booking for salons, studios and schools. Tsudoo, for classes, clubs and neighbourhoods. I write about all of it at hisashi.space.

Badges

Tastemaker
Tastemaker
Gone streaking 10
Gone streaking 10
Gone streaking
Gone streaking
Gone streaking 25
Gone streaking 25
View all badges

Forums

•

16h ago

SPF, DKIM and DMARC all passed, and Gmail still sent my domain to spam for weeks

During August I found that emails with my own email domain got into the spam folder in Gmail no matter how I made a delivery. SPF, DKIM and DMARC verification passed smoothly and the domain was not on any blocklist.

I tested four kinds of sending a message with 'test' only and no links: first from my Workspace, then SocketLabs, an old hosting email server, and finally via Gmail API. All four resulted in spam. Consequently, I believed the issue was related to Gmail being against my domain rather than it being the email route that caused the problem.

The situation was dramatically changed when people started replying. I launched a birthday gift sign-up where readers were required to reply to the confirmation mail, and they literally fetched the mail out from their spam folder and replied. Every day I sent a test message to myself, and since September 1st it has landed without problems in the inbox every day.

•

2d ago

When your terminal crashes mid-session, how do you pick the work back up?

I run 8 or more sessions at once, so terminal hangs and crashes show up way more often than I'd like. claude --resume looks like it should help, but it doesn't always pull the whole history back. I've stopped relying on it.

Our workaround is small. Every time the agent finishes a reply, a Stop hook writes a little card for that terminal pane, holding my last instruction, the tail of the agent's answer, the working folder, and the path to the full session log. It's a plain text file that gets overwritten on each run, so it costs zero tokens, and cards older than 7 days get cleaned up on their own.

Opening a new session in the same pane or folder triggers a SessionStart hook that reads the latest card and drops it into the agent's context. That way the new session already knows where the last one stopped, and it can always go read the full log when it needs more detail. Usually that's plenty.

•

2d ago

What is your technique of getting the job done with AI agents?

I believe the key way where AI assistants really become a big help from now on depends on how many tasks you can delegate to them in parallel.

When I get down to development work, I usually have eight windows open, and occasionally when the administrative tasks start pouring in I have thirty-plus running.

You see, AI is very swift and with advances in every AI model, it's possible to entrust an AI with longer tasks. Consequently, if I only had one session open, I'd be the one waiting on the agent. Several at once is different. The agents are the ones waiting for our decision while the work continues and I believe that is how we get far more results done.

View more