Sign in

Orta Therox

@orta.io
2K followers 388 following 759 posts

Somewhat indie games dev/founder on @puzzmo.com with @stfj.net and friends - always thinking about dev tooling Prior work on @typescriptlang.org and @artsy.net

PostsRepliesMedia
Orta Therox @orta.io · 03/10/2026
Hey! What's up? Another long day? ( not super spicy, but great flavour )
010
Orta Therox @orta.io · 03/10/2026
Classy
121
Orta Therox @orta.io · 03/10/2026
I am at the Huddersfield international crisp festival (at the sportsman) - I will update you all on my crisps. Starting with Doctor Salas's Extremely Spicy Habanero Can confirm they are damn hot
A picture of some fruits and a beer
2120
Orta Therox @orta.io · 02/10/2026
@searls.bsky.social I've been thinking a lot about this today Do you think it still stands, or do you have a more informed opinion given we're a few more months down the line?
a selection from https://justin.searls.co/posts/agents-are-ushering-in-the-antisocial-coding-era/

> . Since then, I've been advising startups to stay single-developer for as long as possible and telling larger organizations to start moving to one-repo-per-human wherever they can
000
Orta Therox @orta.io · 28/09/2026
Week 2 at the new house, and a different horse has popped by.
A picture of a horse chilling on my drive
1200
Orta Therox @orta.io · 28/09/2026
New blog post: On realising I need to evaluate my engineering principles in a post-LLM world This year, I've come to understand that the values (which have paid off incredible dividends) for the last decade aren't as applicable today as they were blog.puzzmo.com/posts/2026/0...
A screenshot of my blog post masthead, it reads: 

A link I have relied on for the last 8 years broke:

<https://github.com/artsy/README/blob/main/culture/engineering-principles.md>

The link was a markdown document in Artsy's shared open-source documentation repo, it was the result of a few introspective sessions by the Artsy dev team where we settled on a series of principles that describe our general approach to software. I used the link in blog posts, hiring notices and in private chats a bunch.

Here's [the fixed link btw](https://github.com/artsy/README/blob/e4b7dff3209b43f4ab63bad919f2500972aade1b/culture/engineering-principles.md) because it's a git repo. I think the removal of the engineering principles isn't some ominous mark against the current day Artsy dev team, but I wonder if they just spotted a cultural change before I noticed it.
3174
Orta Therox @orta.io · 20/09/2026
Horse neighbour just popped round to check on my plants, thanks friend
A picture of a horse leaving my driveway
3491
Orta Therox @orta.io · 25/08/2026
React Compiler on puzzmo.com: JS gzip 1036 -> 1235 KiB (+19.2%), so roughly +20%. Assuming it lives up to its goals, I'd take that cost
Screenshot with this text:

Bundle size: React Compiler on vs off
Two clean vite build runs of apps/puzzmo.com, identical otherwise. 173 JS chunks in both.

off	on	delta
JS raw	3,640,015 B (3.47 MiB)	4,157,304 B (3.96 MiB)	+517,289 B / +14.2%
JS gzip	1,061,291 B (1036 KiB)	1,264,999 B (1235 KiB)	+203,708 B / +19.2%
CSS	2,923 B	2,923 B	0
Biggest chunks by gzip delta:


main                          277 -> 332 KiB   +54 KiB
PlayGameScreen                113 -> 152 KiB   +39 KiB
TodayScreen                    27 ->  36 KiB    +9 KiB
StripeSubscriptionInfo         14 ->  21 KiB    +7 KiB
RelayLeaderboards              13 ->  19 KiB    +6 KiB
compiler-runtime                0 ->   3 KiB    +3 KiB  (new chunk)
Chunk graph is otherwise identical — the only structural change is jsx-runtime being replaced by compiler-runtime. The cost is spread across essentially every component chunk (the _c(n) cache arrays and hoisted memo blocks), it isn't concentrated anywhere you could trim.
110
Orta Therox @orta.io · 24/08/2026
I've 1.0.0'd my Danger JS re-write today: Risk If you use Danger in GitHub + GitHub Actions then it should be a simple dependency switch and you'd end up with substantially less moving parts I've been using it daily in Puzzmo for 6 months with no issues npmx.dev/package/risk
A screenshot of the risk nom package page on npmx.dev
4232
Orta Therox @orta.io · 24/08/2026
7 months ago I did a big "Upgrade to vite/rolldown" PR ( bsky.app/profile/orta... ) which reduced @puzzmo.com build times solidly. Today we have experimental support for the react compiler in Vite natively (via oxc) This managed to get all of puzzmo.com built in @vite.dev in under 3 seconds now!
Shows a GitHub pull request with the notes puzzmo.com : 13.4 seconds down to 2.8 seconds
3373
Orta Therox @orta.io · 24/08/2026
Not great! So, I previously gated deploys by my computer etc Now, I have it so that only org admins can create tags and a CODEOWNERS for workflows. Deploys then run off the tags.
A screenshot of the ruleset only allowing admins to make tags
040
Orta Therox @orta.io · 02/08/2026
Bought a new t-shirt in the size "small" for the first time in a few years, and it's a great fit! This year I've lost 6kg (13lb) in fat from the gym and gained a tonne of muscle. It's been fun.
A screenshot from my gym app shiowing fat in kg going from 27kg to 21kg
0150
Orta Therox @orta.io · 26/07/2026
Moved 90% of our houseplants up to the north now. They're currently living at a friend's.
A picture of a lot of house plantsA picture if a lot more house plants
0230
Orta Therox @orta.io · 23/07/2026
Living dangerously
A screenshot of claude code at 99% usage
0190
Orta Therox @orta.io · 10/07/2026
It's an Orta + @xws.bsky.social Crossword day on @puzzmo.com This Crossword is themed around a genre of games that kinda play themselves. I'm a fan of them! www.puzzmo.com/puzzle/2026-...
A pitch image for my crossword, showing the title and giving a clue reference
2185
Orta Therox @orta.io · 03/07/2026
Well folks, happy Claude Codiversary for me. It's been a year since I adopted the tool. I made a blog post after 4 days, 6 weeks and now 12 months! I've shipped ~1,100 PRs with it, and I think the team's measurable gains are 1.x, and are definitely worth it. blog.puzzmo.com/posts/2026/0...
A slack message saying "Also, I've seen enough signals now that 'm going to start exploring using Claude Code for a month or two"
280
Orta Therox @orta.io · 30/06/2026
@krausefx.com only 6 more months till we can get our next prints!
A screenshot of https://codeprints.dev/ which lets you get a github contribution graph print
080
Orta Therox @orta.io · 29/06/2026
In one year we've fully shifted @puzzmo.com from being a RedwoodJS + React Native codebase to being a very web app-y web app. They were great foundations to start with but the path of the company just took us in other directions
Me, telling the Puzzmo slack that I'm going to be deploying the final PR which removes RedwoodJS from the codebase
3120
Orta Therox @orta.io · 20/06/2026
This post on what happened to tea.xyz is a great read on a bad idea (an attempt to mix crypto with OSS) bsky.app/profile/andr...
a screenshot of the "tea ecosystem" which attempted to mix crypto  and OSS but mostly just caused spammers to pollute the commons
1235
Orta Therox @orta.io · 05/06/2026
I've been playing around with @christoph.nkzw.tech's codiff and started to build a narrative mode for local code review An LLM tries to build a narrative arc based on your conversation + staged changes, this is passed to codiff as a rich structured diff with annotations github.com/nkzw-tech/co...
0122
Orta Therox @orta.io · 05/06/2026
A really useful keyboard shortcut for @vscode.dev: ctrl + r Basically lets you quick jump between your open windows (and folder which you have opened previously) - I remember it by thinking it's 'search my projects' as the same command in the terminal searches your history
An example of what the dropdown looks like
070
Orta Therox @orta.io · 03/05/2026
OK, we are live with reverse lookups for @keytrace.dev thanks to @byjp.me ``` curl 'keytrace.dev/xrpc/dev.keytrace.reve…' | jq ``` Will get you info about any particular keytrace claim made across all of atproto
A screenshot showing the following terminal command:

❯ curl 'https://keytrace.dev/xrpc/dev.keytrace.reverseLookup?type=github&subject=orta' | jq

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   187  100   187    0     0    526      0 --:--:-- --:--:-- --:--:--   525
{
  "total": 1,
  "matches": [
    {
      "did": "did:plc:t732otzqvkch7zz5d37537ry",
      "claim": "at://did:plc:t732otzqvkch7zz5d37537ry/dev.keytrace.claim/3mhsibfhjph2f",
      "verifiedAt": "2026-03-27T08:31:46.682Z"
    }
  ]
}

~/dev/keytrace on main ❯                                                                 at 07:45:01 AM
0323
Orta Therox @orta.io · 01/05/2026
So close (to completing the training without dying) bsky.app/profile/made...
A  clip of a gif showing me dying just as I'm trying to get out of the tutorial
050
Orta Therox @orta.io · 20/04/2026
i.redd.it/a019stpow8wg...
big slug fan art
120
Orta Therox @orta.io · 18/04/2026
2nd time I've ever hit a limit on the Claude Max subscription. Claude Design is a very interesting tool to play with.
A screenshot of the claude usage limits with Claude Design being extremely full
390
Orta Therox @orta.io · 16/04/2026
It sure would be nice to have ! support inside type expressions
Code, but syntax highlighted: 

type TeamGame = NonNullable<NonNullable<NonNullable<AdminGameMassSchedulerPageTeamQuery$data["team"]>["games"]["edges"]>[number]>["node"]
1150
Orta Therox @orta.io · 12/04/2026
As I'm in NYC for my usual Apex ranked I've been at OS NYC and it's been a great venue
A picture of a venue showing my team on apex
060
Orta Therox @orta.io · 02/04/2026
I've been trying to use the new scheduled claude code (web) features to do this, so far it's caught a few typos and links
last weeks PRThe claude code page
020
Orta Therox @orta.io · 23/03/2026
Added multi-user login support to my version of the gym app, so that I can show when my wife is also booked on to a class.
Shows a list of classes for the gym, and includes "Also booked: DM" under some of the classes
090
Orta Therox @orta.io · 22/03/2026
While I've been writing up all my documentation for @keytrace.dev - I've been experimenting with a Ralph loop for my SoundCloud app (basically 'compare this codebase to spotify/soundcloud/apple music and add missing features') and the before/after is getting pretty drastic
The before pictureThe after picture
060
Orta Therox @orta.io · 20/03/2026
Found a piece of OpenClaw history, here's a chat I had with the prime instance last year in December /Cc @steipete.me
A screenshot of whatasapp
0121
Orta Therox @orta.io · 20/03/2026
I was chatting with @danielroe.dev about issue triage, and he mentioned that he built his own TODO app using GitHub projects as a backend. Seemed like a good idea, so I copied it! Mine only works with GitHub org projects, and always uses optimistic updates for all networking orta.io/triage
A screenshot (with blurred text) of the replacement front-end for GitHub org projects called 'Triage'
3331
Orta Therox @orta.io · 20/03/2026
I wonder if I'm wrong about vscode not being able to use Claude Code? I did some settings spelunking and found these: A setting for 'plan' and 'chat' default models, which allow selecting Claude Code agents (and a test chat showing it is running in code)
A setting for 'plan' and 'chat' default models, which allow selecting Claude Code agents (and a test chat showing it is running in code)
560
Orta Therox @orta.io · 18/03/2026
I've added @rocksky.app scrobbling to my COSMIC SoundCloud player github.com/orta/cosmic-...
A screenshot showing my Rocksky profile, and then the audio player in the front wth a matching song
1213
Orta Therox @orta.io · 06/03/2026
Looking forwards to 24 hours on the train going from Seattle to San Fransisco via the Coast Starlight on Sunday! www.amtrak.com/coast-starli...
A screenshot from their website, maybe indicative of the ride, maybe not - who knows?
1140
Orta Therox @orta.io · 03/03/2026
Death Note (the musical?!) is happening in London for a few weeks in August/Sept this year I'm going!
A screengrab of the musical's flyer
270
Orta Therox @orta.io · 03/03/2026
When you press "Connect"
A modal of the bsky oauth
100
Orta Therox @orta.io · 03/03/2026
Shipping today: @puzzmo.com is an @atproto.com app! - We have published lexicons and the Cross|word midi deploying to @puzzmo.com's registry every day - We have user streaks deploying to user registries if they Oauth connect too Massive write-up: blog.puzzmo.com/posts/2026/0...
A screenshot of my atproto registry showing my streak for the game "Ribbit"The Puzzmo Cross|word on the puzzmo.com atproto registry
69815
Orta Therox @orta.io · 03/03/2026
Shipping today: @puzzmo.com has integrated support for @bsky.app The site/app have follower syncing, and a labeler so that you can spot new Puzzmo folks when browsing Bluesky posts www.puzzmo.com/bluesky blog.puzzmo.com/posts/2026/0...
Bluesky follower syncing on Puzzmo.com illustratedThe Puzzmonaut labeler
67113
Orta Therox @orta.io · 02/03/2026
My wife is slowly learning which I don't know when to use "Which" vs "That" when writing.
Search results for me and my wife chatting
130
Orta Therox @orta.io · 01/03/2026
They also spammed @keytrace.dev, I told them that it was fucked up that crypto scammer like him were making the world worse (this is a 'Solana vuln scanner') and they replied with contrition and apologised which was a surprise Guess they got banned for spam
a 404 page for the github user
120
Orta Therox @orta.io · 28/02/2026
Started to flesh out the amount of services which you can cryptographically verify you have access to using @keytrace.dev GitHub, DNS, Masto, Bsky, npm, Tangled, PGP, Twitter, LinkedIn, Instagram, Reddit & Hacker News
A screenshot showing the setup boxen
5467
Orta Therox @orta.io · 26/02/2026
I've started the process of talking with the fastlane crew about them taking over Xcodeproj from CocoaPods
130
Orta Therox @orta.io · 26/02/2026
wow, you dwarfed me
110
Orta Therox @orta.io · 25/02/2026
This is a very interesting request to the @typescriptlang.org docs Definitely not a fan of phrases like 'beat a dead horse', 'kill two birds with one stone' etc with their explicit violence but not sure I agree with this premise. In part because duck typing is different from structural typing.
A screenshot of the TypeScript Website github repo

The TypeScript documentation uses the term "duck typing" in two places when describing TypeScript's structural type system. While this is a widely-used computer science term, it derives from the "duck test" idiom ("If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck"), which instrumentalizes animals as metaphorical objects rather than sentient beings. The TypeScript docs already use the preferred alternative — "structural typing" — alongside it, making the transition straightforward.
Instances found

1. packages/documentation/copy/en/get-started/TS for JS Programmers.md (line 211)

    One of TypeScript's core principles is that type checking focuses on the shape that values have. This is sometimes called "duck typing" or "structural typing".

2. packages/documentation/copy/en/handbook-v1/Interfaces.md (line 13)

    This is sometimes called "duck typing" or "structural subtyping".
3160
Orta Therox @orta.io · 23/02/2026
Tonight I'm switching @keytrace.dev to 'beta' think we've only got 1-2 more weekends to get it fully over the line and I'm willing to commit to the lexicons etc
An edit of the banner from alpha to beta in a vue file
1200
Orta Therox @orta.io · 22/02/2026
Rude, Claude - from one precariously named package to another
Claude telling me not to move from Danger to Risk

Security Concerns 🚨

HIGH PRIORITY ISSUES:

    Unvetted Package: risk@0.0.4 is an extremely early version (0.0.x indicates pre-alpha). This poses significant security risks in a production environment.

    Reduced Dependencies: The yarn.lock shows extensive removal of gitbeaker dependencies (~740 deletions), but risk only adds minimal dependencies. This suggests either:
        Incomplete functionality compared to danger
        Different implementation approach
        Potential missing features

    No Version History: Version 0.0.4 suggests this package has had very limited testing and community review.
040
Orta Therox @orta.io · 22/02/2026
I've added PGP key support to @keytrace.dev and worked with @manoo.dev to handle profile metadata and started collabing on lexicons keytrace.dev/orta.io
A screenshot of my profile highlighting my (new) PGP key
3246
Orta Therox @orta.io · 21/02/2026
I had Claude Code decompile the android app for my gym to get all the API details while I was the gym. Now I have a native app for COSMIC (and that was my last app which only existed on a phone that I use) Now to bake better notifications
My cute little COSMIC app for the gym
4201
Orta Therox @orta.io · 19/02/2026
I found it (reasonably easy / possible) to build my own native Signal client which I use for talking to my wife. Which I took an evening on a few weekends ago. This is the start of mine and your chat for example
250