π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode) header
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode) profile picture

TypeScript infrastructure at the functional frontier. Effect-TS, FCIS, Scott Wlaschin school. Systems that compose, not collapse.

Joined August 2013
Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)Photo by π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ (@ryanleecode)
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
Vinix, a new OS/kernel written from scratch, now runs Dota 2, a 60 GB game! vinix-os.org
Vinix, a new OS/kernel written from scratch, can now run Android apps without emulation. vinix-os.org Here's Roblox:
79
84
21
1,618
215,423
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
Effect v4 is here. One ecosystem. Zero dependencies. The next chapter of Effect and the foundation for building reliable software and AI agents in TypeScript.
81
320
125
2,314
385,510
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
What if most agents never need to talk to each other directly? Some trends I’m watching: - MCP hiding agents behind capabilities - subagents staying inside compound harnesses - software factories coordinating around work instead of agent identity
19
2
1
65
9,999
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
Replying to @martin_casado
I use Vale (github.com/vale-cli/vale) to force agents to use ASD-STE100 + Google developer documentation style guide
3
5
155
15,893
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
Introducing celld: a self-hosted, distributed Durable Objects and Workers implementation - celld = V8 + S3 + SQLite + LTX+ Tokio - programmed with exactly the Cloudflare Workers/DO JavaScript APIs and config - order of magnitude cheaper at scale - writes are durable before they're acknowledged, RPO=0 - only depends on an S3 compatible bucket - no other infrastructure - ~4 MB memory per cell instance overhead - hibernated cells cost ~nothing, just their S3 storage - open source, Apache 2 licensed
122
329
95
3,041
346,221
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
TypeScript-Go enhanced with the Effect LSP Setup guide, features, and performance boost youtube.com/watch?v=mUlhau66…
12
163
16,233
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
It's rude to post raw LLM output on social media, evenβ€”or especiallyβ€”when marked as such. "When someone forwards text they themselves have not considered, they are asking you to do work they chose not to do. The asymmetric effort makes it rude."
12
8
6
99
6,136
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
super thankful I got to meet one of our top users ever: Ryan has been using Magic Patterns for 2.5+ years!! He is the reason we have core features like "forking" (his feature request 2 years ago) and he created a Magic Patterns MCP before it was a thing!!!
2
10
643
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
just fyi if you're hitting segfaults with claude code, you can run it with deno and also get the benefit of less memory usage
11
13
6
386
51,209
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
πŸ§ͺ Experimental: Use OpenCode with Claude Code, Codex, and Amp - Universal coding agent control - HTTP API for sandboxed agents - OpenCode TUI, web UI, SDK Available in Sandbox Agent SDK 0.1.6
58
41
11
730
121,162
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
Our internal lint rules are now open source, featuring 23+ custom rules we use to guide droids at @FactoryAI. These rules cover file organization, React patterns, testing, error handling, API conventions, and more. Every rule is 100% droid-generated and includes detailed Markdown docs. While this isn't meant to be imported as-is, we hope it inspires you to build custom linting rules tailored to your own codebase. Take what works, ignore what doesn’t, and tweak as needed. You can leverage the docs as building blocks to suit your specific framework or language. Check it out: github.com/Factory-AI/eslint…
17
30
5
447
62,609
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
People think I am taking a risk by going all in on Effect. Oh no, what will the users think? Big scary Effect 😱 Bro, Claude is the user now. Claude loves Effect. Developer preference used to matter. Not anymore.
8
9
1
142
10,590
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
we've released a CRDT extension for Postgres (experimental and open source) why? A CRDT is a special data type used for collaboration - think of a Google Doc. The changes are merged even as people are typing simultaneously these CRDTs are then serialized on a server and then stored in a database. with a Postgres extension, we give the database a more "native" experience - they can be merged on the database, indexed, and searched. In the future you should be able to do something like this: create table blog_posts ( id uuid primary key, title text, body crdt default '{}' ); then you can post the changes to the database and it will merge automatically (rather than overwriting eachother's changes) you can use websockets (like our Realtime server) for very rapid changes between users, batching the changes to your database
42
90
12
1,041
84,309
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
to everyone making posts using ChatGPT or Claude just because you remove the em dashes doesn't mean I can't tell and everyone else can too. it's because of the rhetorical patterns. here are 3 patterns I've noticed: The BIG CONTRAST take an obvious assumption and contrast with a grand insight. β€œIt’s not automation β€” it’s amplification.” β€œIt’s not about more data β€” it’s about better decisions.” β€œYou’re not buying software β€” you’re buying time.” The GREAT REFRAME state a universal truth with a favorable reframe. β€œEveryone’s chasing attention β€” few are earning trust.” β€œSpeed doesn’t win β€” momentum does.” β€œThe goal isn’t to sound human β€” it’s to be understood.” The PHILIOSPHICAL REDUCTION reduce a big idea to a paradox or simplicity. β€œAI isn’t replacing people β€” it’s replacing waiting.” β€œConfidence isn’t loud β€” it’s quiet consistency.” β€œFreedom isn’t having more choices β€” it’s knowing which ones matter.” any others you guys can think of?
when you work with AI enough, you start to pick up obvious cues that a tweet is AI-generated... > "the f*cked part? they didn't pay a dime" > "here's the truth noone is talking about..." GPT coded asf
88
42
7
750
157,280
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
VCs, please stop funding this slop. We’re entering clown world with the amount of AI building we’re seeing. 🀑🌎 All I see in the data infra space is companies building infrastructure for AI Agents with the obligatory buzzwords like A2A or MCP. Who is productionizing these AI Agents? Two years of marketing hype in, I have literally only seen ONE talk about an AI "Agent" in prod. It's by Uber and it's used for code generation. First off - it's a dev tool and second - it's not even an agent, it's a workflow. Who honestly thinks the future of software architecture will be hundreds of AI Agents talking to each other, similar to microservices today? Does anyone ACTUALLY believe this is what the world will be in 5 years? Can they comment here and share their perspective? The data is pointing to the opposite. β€’ We haven't seen any major LLM advancements since GPT-4. β€’ All frontier model companies are grossly unprofitable with no sustainable path. β€’ A lot of investments between big tech are circular (recycling revenue) Even in a winner-take-all model, OpenAI is burning $5 BILLION a year. Anthropic, the number two, is looking way, way worse regarding its revenue model. What happens when the funding stops? Companies chasing investor interest via shiny narratives are missing the forest for the trees - we, the engineers, need practical solutions. That's what's going to last. Fortunately, I see two trends growing quietly behind the spotlight (the sloplight?) of AI. They will most certainly survive a dot-com like crash if that were to happen. They are: β€’ Small Data β€’ The β€œJust Use Postgres” Renaissance The common theme between both? Simplification. ♦️ Small data is the cure for the Big Data hangover that tech collectively went through in the 2010s. It’s the group realization that: β€’ organizations don’t use that much data β€’ hardware is getting really, really good Most applications will never see a terabyte of data, even if they’re successful. Snowflake and Redshift-published data showed that 99.9% of real-world queries fit on one node. πŸ’‘ And the nodes are becoming super beefy. AMD released a 192-core (!) CPU this summer. 2025-era SSDs can do 5.5 million random reads a second and 28 GiB/s sequential reads. Embedded and simple systems like DuckDB are going viral for a reason. ♦️ Postgres is doing to data infrastructure what the monolith comeback is doing to the microservices architecture. It’s the group realization that Postgres can handle 80% of companies' needs. And it does it with 20% the effort. It’s not the extreme view where "when you have a hammer, everything looks like a nail". πŸ‘‰ It’s the extremely reasonable and practical application of reducing the amount of system sprawl in your organization when that sprawl isn’t warranted. Instead of MongoDB, Redis, an AI Vector database, Snowflake and Elasticsearch - you can use tsvector, pg_mooncake, pgvector, unlogged tables and jsonb in Postgres. Life becomes significantly simpler when you don't have to manage 5 different systems. There is a ton of organizational overhead in having to: β€’ learn their nuances/configs/gotchas, β€’ learn their UIs and terminology β€’ learn how to deploy and upgrade them safely β€’ build operational expertise β€’ write runbooks for them β€’ debug them β€’ test them β€’ find, hire and retain talent that understand them β€’ keep up with their ecosystems β€’ etc. Paying this organizational overhead for zero significant gain is not worth it. It's all common sense.
184
286
49
3,037
280,643
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
JSON is token‑expensive for LLMs – just like @mattpocockuk frequently mentions. Meet TOON, the Token‑Oriented Object Notation. πŸ’Έ 40–60% fewer tokens than JSON πŸ“ readable & tokenizer-aware Wrap your JSON with `encode` to save half the token cost: github.com/johannschopplich/…
204
339
107
3,552
558,151
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
ct as a casino on one end of the casino you have people at the bar, they locked up profits from earlier, and, in the past, have given a lot back to the casino. they're in conservation mode, not aggressive mode. generally more nervous than they are interested in playing any game. then on the other end are the people who think the casino is closing soon. that the good games and times of making money are nearing its end. so, they force things, force the games they play. and, guess who's playing them - the scum of the earth simply looking to exploit them and their impatience. their fear of scarcity of time and opportunity. they prey on it, and they likely have an axiom link or fnf in their bio so on one hand, you have people who have previously round tripped a lot, locked up a lot at what they thought was the top earlier this year in jan/feb, and have been nervous / cautious to get back in the game ever since (hence the crazy wall of worry that's been chopping away) then on the other hand, you have people who bought into the lies and degeneracy of the casino. that you should never stop clicking. that you have to play new coins. memescope, trading tools. click click click. gamble gamble gamble. this is the only way to make it or else you're stuck. but they found themselves stuck in the permanent loop of forcing a game that isnt there then first responses to this tweet will be "just own the casino." yes, ofc. not really the point im trying to make though. separate point is there comes a time where participants realize gambling is actually really bad (i think we're close to this point), participation cleanses, and the casinos need to incentivize behavior once again but the more zoomed out point im trying to make is realize the polarized players in the game are the ones who dictate sentiment. so, when we ask and talk about "ct is always calling top" (player who sold the top in january and has been scared of giving anything back) or forcing narratives gambling on complete garbage (likely lost a lot playing games with onchain fnf criminals forcing things hoping to get it back) when, again, the best path is simply, click less. dont force. let good things play out. heart & commitment
42
36
8
295
80,652
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
If you’re looking for ways to reduce the risk from compromised #NPM packages, here’s a solid post from Hacker News. I contains a few practical steps to harden your setup: - Use pnpm. It’s faster, takes less space, and blocks post-install scripts by default. Most of them are useless or shady anyway. - Set minimumReleaseAge to delay fresh packages. In recent attacks, that delay alone would’ve been enough to avoid pulling malicious versions. - On Linux, wrap your package manager in bubblewrap. Keeps the junk from touching sensitive files like ~/.ssh No tools to buy. No pipelines to rebuild. Just small changes that help. Hacker News post: news.ycombinator.com/item?id… Config: pnpm.io/settings#minimumrele…
28
267
12
1,377
157,741
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
A number of popular npm packages have been compromised and malicious versions published. Most of these have been removed from the registry, but Astro indirectly depends on one that is still live. We have published 5.13.6 to pin a safe version. We encourage all users to check their package lockfiles to ensure that they do not have [email protected] installed. See socket.dev/blog/npm-author-q… for more details
8
92
6
441
53,815
π—₯𝗬𝗔𝗑 π—Ÿπ—˜π—˜ retweeted
The future is billions glued to their devices, trading bullshit into stablecoins, keeping the dollar alive. Your job is to get ahead of the curve before it’s too late. The US economy is a ponzi. But you can still profit from it before liquidity dries up.
8
4
119
12,402