Tophe
banner
topheman.bsky.social
Tophe
@topheman.bsky.social
❤️ TypeScript, WebAssembly & Rust 🦀

https://topheman.github.io/me/
Pinned
#WebAssembly Component Model is promising, but examples are either too simple or too complex.

I built a REPL with plugins that work in both CLI & web, sandboxed by default, and the REPL logic itself compiles to #WASM.

Beyond hello world but still learnable! #WASI #rust 🦀
github.com/topheman/web...
GitHub - topheman/webassembly-component-model-experiments: WebAssembly Component Model based REPL with sandboxed multi-language plugin system - unified codebase runs in CLI (Rust) and web (TypeScript)
WebAssembly Component Model based REPL with sandboxed multi-language plugin system - unified codebase runs in CLI (Rust) and web (TypeScript) - topheman/webassembly-component-model-experiments
github.com
Reposted by Tophe
JavaScript top-level await is no longer considered 'baseline' due to a pretty big Safari bug caniuse.com/mdn-javascri...

The module graph fails in cases where two modules import a third at the same time. Demo: random-stuff.jakearchibald.com/bug-repros/t...

It's best to avoid the feature for now 😔
JavaScript operator: await: Use at module top level | Can I use... Support tables for HTML5, CSS3, etc
caniuse.com
October 26, 2025 at 8:17 PM
Reposted by Tophe
Don't [...spread] or .split() your strings!

Use Intl.Segmenter API. Available in every JS runtime
October 23, 2025 at 2:55 PM
📺 The AI bubble explained by Vanessa Wingårdh.
Big Tech is faking AI profits through circular deals — investing in each other, then buying one another’s products with the same money.
#AI #AIbubble #Economy
www.youtube.com/watch?v=Rc0k...
Tech Billionaires Know the AI Bubble Will Burst (They're Already Building Bunkers)
YouTube video by Vanessa Wingårdh
www.youtube.com
October 19, 2025 at 5:27 PM
📺 Jim Dummet about JavaScript/Rust interoperability and performant JS plugins for Oxlint @viteconf.org #ViteConf #Rust #oxc
www.youtube.com/watch?v=ofQV...
Jim Dummet | JavaScript at the speed of Rust: Oxc | ViteConf 2025
YouTube video by ViteConf
www.youtube.com
October 14, 2025 at 8:06 AM
That’s the end of #EuroRust 2025! 🦀

Thanks to the speakers and organizers for those two days of conference. 👏

#rustlang #EuroRust25
October 10, 2025 at 8:30 PM
Reposted by Tophe
Ages ago, when I was still a student, I taught myself Ruby on Rails for my senior thesis and fell in love. Fifteen years later, and I’ve used Rails at every job I’ve ever held in the tech industry. Fifteen years, and I still love Rails! But there’s something rotten at its core, and we share a name.
Rails Needs New Governance
Ages ago, when I was still a student, I taught myself Ruby on Rails for my senior thesis and fell in love. Fifteen years later, and I’ve used Rails at every job I’ve ever held in the tech industry. Fifteen years, and I still love Rails! But there’s something rotten at its core, and we share a name.
davidcel.is
September 19, 2025 at 6:43 PM
Just published an article series on how #WebAssembly Component Model can be used to build multi-language 🧩 plugin system that work seamlessly across 🛠️ CLI and 🌐 browser!

Real-world examples with #Rust, #Go, #C & #TypeScript plugins.

#WASM #WASI 🦀

dev.to/topheman/web...
Building a plugin system - WebAssembly Component Model
Discover how WebAssembly Component Model works through the concrete use case of a REPL with a plugin system
dev.to
September 19, 2025 at 11:41 AM
Reposted by Tophe
The WebAssembly 3.0 spec is complete!

webassembly.org/news/2025-09...

This includes major features like GC, 64-bit memories, exceptions, and tail calls.
Wasm 3.0 Completed - WebAssembly
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the...
webassembly.org
September 17, 2025 at 5:04 PM
Want to digg deeper into #rolldown & #oxc but not sure where to start in the source code?

#rust #napi

Checkout topheman.github.io/toolchain-no...
Toolchain Notes - Toolchain Notes
The notes I've taken while diving into the source code of rolldown and oxc
topheman.github.io
September 8, 2025 at 7:54 AM
Anybody I know can invite me to lobste.rs? 🦞
Lobsters
lobste.rs
September 3, 2025 at 9:21 PM
Built an automated distribution pipeline for my #Rust project!

⚡️ Cross-compiled for Linux/macOS (Intel/ARM)
🍺 #Homebrew formula auto-updates
💻 Shell completions bundled (bash, fish, zsh)
🤖 Custom GitHub Actions

#CrossCompilation #GitHubActions #CLI

github.com/topheman/web...
Add Homebrew Support and Cross-Compilation Pipeline by topheman · Pull Request #17 · topheman/webassembly-component-model-experiments
This PR adds comprehensive cross-compilation support and Homebrew distribution capabilities to the pluginlab crate. 🚀 Main Features 1. Generate Completions Command Added generate-completions subco...
github.com
September 3, 2025 at 11:41 AM
Reposted by Tophe
Is there a tool that, given a set of .d.ts files, gives you the minimum version of TypeScript supported?

TIL @nuqs.47ng.com requires TS ^5, and that requirement came in silently as a feature was merged (const modifiers on generics).

I need to automate this to prevent further type breaking changes.
August 31, 2025 at 2:55 PM
🚀 My #WebAssembly Component Model based project can now handle WRITE operations in the #browser version!

Forked #bytecodealliance/preview2-shim to fix filesystem issues. Now plugin-tee works perfectly in both CLI and web.

#WASI #WASM #webdev #rust 🦀

github.com/topheman/web...
Support plugin-tee in the web host by topheman · Pull Request #15 · topheman/webassembly-component-model-experiments
Support plugin-tee in the web host This PR adds full support for the plugin-tee plugin in the web host, fixing the issues described in #12. The Challenge The plugin-tee plugin allows users to write...
github.com
August 22, 2025 at 8:48 AM
Reposted by Tophe
MIT’s NANDA initiative found that 95% of generative AI deployments fail after interviewing 150 execs, surveying 350 workers, and analyzing 300 projects. The real “productivity gains” seem to come from layoffs and squeezing more work from fewer people not AI.
MIT report: 95% of generative AI pilots at companies are failing
There’s a stark difference in success rates between companies that purchase AI tools from vendors and those that build them internally.
fortune.com
August 20, 2025 at 4:52 AM
Reposted by Tophe
tsup is not actively maintained anymore 👀

With >9M NPM monthly downloads and >10k GitHub stars, tsup is undeniably a popular choice for bundling. Unfortunately, it is not under active maintenance anymore.

Thanks to @egoist.dev & contributors for all the work on tsup 🙏🏻
August 15, 2025 at 7:55 AM
Reposted by Tophe
In the latest @rolldown.rs powered @vite.dev version, we've enabled the rust-based resolver plugin by default!
This will lead to even faster builds in case you don't use the experimental native plugins yet.

Wanna try out more native core plugins? Then enable them and make sure to use rolldown-vite
Rolldown Integration
Next Generation Frontend Tooling
vite.dev
August 11, 2025 at 4:30 PM
Reposted by Tophe
the main thing that makes me uneasy about llms is the cultural backdrop of global war on knowledge. the war on knowledge isn’t new but now it’s cheered on from tech too. tools for thought pivoted to slot machines because that’s what people want. “how things work” is buried under opaque indirections
August 10, 2025 at 9:41 AM
Reposted by Tophe
obviously actual domain knowledge isn't going anywhere so it seems like the gap between more experienced and less experienced developers will widen? with less knowledge transfer and incentives to learn. i've learned a lot from conversations i'm no longer observing
August 9, 2025 at 4:19 PM
Reposted by Tophe
👀 React + throw a promise technique, soon deprecated?

If you throw promises to trigger Suspense boundaries, it looks like a good idea to migrate to React.use()

PR not merged yet, but it's likely React will print a warning
July 29, 2025 at 3:31 PM
#WebAssembly Component Model is promising, but examples are either too simple or too complex.

I built a REPL with plugins that work in both CLI & web, sandboxed by default, and the REPL logic itself compiles to #WASM.

Beyond hello world but still learnable! #WASI #rust 🦀
github.com/topheman/web...
GitHub - topheman/webassembly-component-model-experiments: WebAssembly Component Model based REPL with sandboxed multi-language plugin system - unified codebase runs in CLI (Rust) and web (TypeScript)
WebAssembly Component Model based REPL with sandboxed multi-language plugin system - unified codebase runs in CLI (Rust) and web (TypeScript) - topheman/webassembly-component-model-experiments
github.com
July 24, 2025 at 10:29 AM
Reposted by Tophe
TIL: import.meta.resolve('./relative/path')

Goodbye:
new URL('./relative/path', import.meta.url).href

🥳

developer.mozilla.org/en-US/docs/W...
import.meta.resolve() - JavaScript | MDN
import.meta.resolve() is a built-in function defined on the import.meta object of a JavaScript module that resolves a module specifier to a URL using the current module's URL as base.
developer.mozilla.org
June 27, 2025 at 11:35 AM
Reposted by Tophe
This month, JavaScript turns 30 🎂

Here are key moments showing how JavaScript evolved from a little scripting language to one of the world's most popular 👇

deno.com/blog/history...
A brief history of JavaScript | Deno
In 30 years, JavaScript went from being a little scripting language to one of the world's most popular. Here are key moments to show how it has evolved and where it is headed.
deno.com
May 22, 2025 at 4:05 PM
Reposted by Tophe
Au CFP de BDXIO la section « talk reference » est primordiale, donnez lui un peu d’amour !

Le processus de notation est anonyme: on ne sait pas qui postule sur quel sujet. L’abstract ne peut pas rendre compte de toutes les notions abordées, et on a besoin de savoir de quoi vous allez parler.
May 10, 2025 at 7:41 AM
Reposted by Tophe
Question: what are the common "meaningless" GitHub comments you tend to see?

"+1", "any update?", etc. - things that don't add to the conversation at all.

Context: writing a package to detect these automatically, so I can automate posting friendly replies on GitHub ~ github.com/JoshuaKGoldb...
GitHub - JoshuaKGoldberg/is-comment-meaningless: Determines whether the text of a comment doesn't add anything to the conversation. 😶
Determines whether the text of a comment doesn't add anything to the conversation. 😶 - JoshuaKGoldberg/is-comment-meaningless
github.com
April 17, 2025 at 1:44 PM