Thomas Jiang

454 posts

Thomas Jiang banner
Thomas Jiang

Thomas Jiang

@thomasjiangcy

building @mistledev (yc s22)

Singapore Katılım Temmuz 2015
606 Takip Edilen102 Takipçiler
Sabitlenmiş Tweet
Thomas Jiang
Thomas Jiang@thomasjiangcy·
about 1.5 years ago @jonathanlowhy and i dived head first into codegen - no coding agents back then, folks were still debating what agents really were (turns out "for loop + tools" won), claude code was a couple of months away, codex was still a fine-tuned gpt-3 model. fast forward to earlier this year, after pivoting a few times - we realised coding agents were good enough to take on a lot of the work dev teams often pushed to the back burner. we started working on this iteration of @mistledev for teams to run their own @tryramp Inspect / @stripe Minions. it's not perfect yet but we're really excited to share it with everyone: github.com/mistlehq/mistle what you get out of the box: - integrations with common tools (Slack, Linear, GitHub, Sentry, etc.) - credential-less sandboxes (injected via a gateway that lives outside) - user attribution (work done is correctly attributed: trigger on slack -> open PR on GitHub resolves to the right person) - self-host on a single node (run on your laptop or mac mini) or distributed setup in the cloud (k8s)
English
0
0
3
141
Thomas Jiang
Thomas Jiang@thomasjiangcy·
seeing a lot more frequent failures related to ghcr lately - what's up?
English
0
0
0
7
Thomas Jiang
Thomas Jiang@thomasjiangcy·
@neogoose_btw and FWIW fff deserves to be the default file search in every harness
English
1
0
3
43
Thomas Jiang
Thomas Jiang@thomasjiangcy·
@codewithantonio @PlanetScale oh yeah you're absolutely right. I was thinking about getting direct connection URIs and connecting with a local client (e.g. psql) vs. using the MCP.
English
0
0
0
113
Code With Antonio
Code With Antonio@codewithantonio·
What's something an MCP server can do that Skill + CLI cannot do?
English
17
0
41
18.8K
Thomas Jiang
Thomas Jiang@thomasjiangcy·
Transparent proxying lets you proxy requests without client-side configuration. On Linux, you can do this with iptables/nftables rules that redirect matching traffic to a local proxy. We had a naive version in @mistledev: install static bypass rules when the sandbox boots. That worked until we ran Docker inside the sandbox. Docker networks are created dynamically, often when a Compose stack starts, so the sandbox’s original nftables rules didn’t know about the new bridge CIDRs. Result: traffic meant for local Docker bridge networks could get redirected into our egress proxy instead of staying local. That can break container networking badly, and in our case looked like the sandbox PTY connection stopped responding. The fix: use rtnetlink. Linux can notify userspace about routing/link/address changes over a netlink socket. We subscribe to those events, then reconcile our nftables local-destination bypass set whenever the kernel network state changes. Disclaimer: I've never worked on systems stuff much and have always been on the web side of things so this is pretty fun to pick up along the way 😁 PR here: github.com/mistlehq/mistl…
English
0
0
0
16
Thomas Jiang
Thomas Jiang@thomasjiangcy·
you run pnpm dev and your app loads dotenv - agents can accidentally / maliciously decide to read it. so you use something like doppler run / infisical run to inject at runtime but the agent can do doppler run print_env.py this is where the agent harness should decide to run the dev stack in an isolated environment but even if it’s isolated, the agent has write permissions on the source code and can just add console.log(process.env.MY_API_KEY) so…credential-less sandboxes aren’t a silver bullet. you still need proper audit logs and alerts.
English
0
0
1
26
Thomas Jiang
Thomas Jiang@thomasjiangcy·
credential-less sandboxes by default in @mistledev please enjoy my crappy diagram below:
Thomas Jiang tweet media
English
1
0
2
108
Thomas Jiang
Thomas Jiang@thomasjiangcy·
amazing and inspirational. used tpuf for one of our prior products and having tried different vector dbs, it was truly unparalleled (despite others having seemingly higher ad spend). if we have to use a vector db in the future, it would be tpuf again without a doubt.
Simon Eskildsen@Sirupsen

turbopuffer crossed $100M run-rate in March. 19mo after $1M. Profitable & <$1M raised. Cursor・Anthropic・Notion・Cognition・Harvey・Bridgewater・Ramp・Linear・Legora・Superhuman・Atlassian・Granola We’d be nowhere without them. We work like hell to exceed their expectations.

English
0
0
1
173
Thomas Jiang
Thomas Jiang@thomasjiangcy·
Happened to see threads occasionally debating who came up with a thing first. Sucks to have people copy you but it probably means it wasn’t anything really defensible and maybe the world is probably big enough to have people think of similar ideas? You can take the W that people copied you or take the L and bottle up the feeling of being robbed. Case in point: side thread from our product that we’ve pivoted away from. It was created before /btw in CC and /side in Codex but they 100% didnt copy from us because we have like basically 0 followers haha.
Thomas Jiang@thomasjiangcy

i really like this mini feature we have in @mistledev where you can highlight a piece of your conversation and ask a quick question in a side thread. helps to keep your working thread clean. i use it a ton for: - clarifying things - getting Mistle to critique itself it helps a lot of learning too

English
0
0
1
49
Thomas Jiang
Thomas Jiang@thomasjiangcy·
3/ (Bonus) Signing commits / Verified badge There are various ways to sign your commits but I'll talk about using SSH keys. In Mistle, you can configure an SSH key pair associated with your Mistle account that will be used to sign all commits made by the agent triggered by you. This is powered mainly by git's `gpg.ssh.program` which is a way for you to provide a custom commit signing program. What happens in Mistle sandboxes is that when you sign a commit via `git commit -S`, git will forward that request to mistle's custom signing program which is really a thin client that just forwards that request to the gateway that brokers the signing with the control plane and returns the results back to git in the sandbox.
English
1
0
0
21
Thomas Jiang
Thomas Jiang@thomasjiangcy·
Correct user attribution is pretty important when working with background agents (esp. in teams): - who made the commit? - who opened the PR? - who left a comment? This sounds easy on the surface: just ensure your credentials are scoped correctly and owned by the right person when these actions are performed. Now, what if you're triggering these actions from Slack? or Linear? Here's how @mistledev does it 👇
English
1
1
1
54
Thomas Jiang retweetledi
Glauber Costa
Glauber Costa@glcst·
The internet is full of "whadontcha" people. They see something like what is going on with Railway, and they have all the solutions: "whadontcha have the data replicated to 35 different clouds" "whadontcha have daily chaos exercises where you simulate your provider blocking you"... The Wadontcha never lives in the real world. He never understands trade offs and costs. He never understands timelines and deliverables. He sees a problem, he imagines the solution, therefore, it's the company's fault for not doing it. Reality is: we all work with constrained resources, time and money chief of them. We plan for a certain class of events, and don't plan for others. Perhaps because we couldn't imagine the event even happening, or perhaps we could, but it was such a small probability to begin with, that we just had to take the risk. *ALL* companies are like that. There are no exceptions in the physical & real world. The exceptions to that only exist in the wadontcha's head.
English
5
11
135
4K
Utpal Nadiger
Utpal Nadiger@utpalnadiger·
genuine question -- what's the best "managed agent" experience rn? going to play with the following this week but super curious on opinions! - gemini managed agents (launched today) - claude w/ self-hosted sandboxes? - openai agent sdk - flue
English
10
1
8
1.5K