[Hacker News] WASM is not quite a stack machine

Nguồn: Hacker News Tóm tắt Bài viết phân tích một quan niệm sai phổ biến: WebAssembly thường được mô tả là “stack machine”, nhưng thực tế thiếu đi tính năng cốt lõi làm nên stack machine đúng nghĩa. Trong khi stack machine thực sự như JVM có các instruction thao tác trực tiếp lên stack (dup, swap, over, rot), WebAssembly gần như không có instruction nào loại này — chỉ có drop để hủy giá trị top-of-stack....

28/04/2026 · 2 min · dhphong

[Hacker News] A web-based RDP client built with Go WebAssembly and grdp

Nguồn: GitHub - nakagami/grdpwasm Tóm tắt grdpwasm là một RDP client chạy trên browser, được xây dựng bằng Go WebAssembly và thư viện grdp. Dự án giải quyết một giới hạn cơ bản của browser: không thể mở raw TCP socket để kết nối thẳng đến RDP server. Kiến trúc gồm hai thành phần: (1) Go WASM binary chạy trong browser xử lý giao thức RDP, (2) một Go proxy server nhẹ làm cầu nối giữa WebSocket (browser) và TCP (RDP server)....

25/04/2026 · 1 min · dhphong

[Hacker News] Mounting tar archives as a filesystem in WebAssembly

Nguồn: Jeroen’s Notes Tóm tắt Bài viết trình bày một kỹ thuật tối ưu hóa cho WebAssembly: thay vì giải nén toàn bộ file .tar.gz trước khi sử dụng, có thể tạo một file index nhỏ chứa thông tin về size và offset của từng file bên trong tar, sau đó mount trực tiếp tar blob qua Emscripten’s WORKERFS mà không cần copy dữ liệu. Kỹ thuật này hoạt động được nhờ ba yếu tố: tar có cấu trúc flat với dữ liệu contiguous và byte-addressable; WORKERFS của Emscripten được thiết kế để serve reads từ Blob objects bằng cách slice blob theo offset mà không copy vào Wasm heap; và browser có sẵn native DecompressionStream API để gunzip hiệu quả....

24/04/2026 · 2 min · dhphong

[Turso Blog] Carl Sverre ruined my day. And it was glorious

Nguồn: Turso Blog Tóm tắt Turso là một bản viết lại hoàn toàn của SQLite bằng Rust, có khả năng chạy như cơ sở dữ liệu cục bộ hoặc truy cập qua mạng. Một trong những thách thức lớn mà đội ngũ phát triển đối mặt là đảm bảo hai package khác nhau — @tursodatabase/database (native binary) và @tursodatabase/serverless (pure-JS) — phải có API hoàn toàn giống nhau và trả về kết quả nhất quán....

24/04/2026 · 2 min · dhphong

[Cloudflare Engineering] Making Rust Workers reliable: panic and abort recovery in wasm-bindgen

Nguồn: Cloudflare Engineering Tóm tắt Cloudflare Workers hỗ trợ Rust thông qua việc biên dịch sang WebAssembly (Wasm), nhưng Wasm có một số “sharp edges” khi xử lý lỗi. Khi một Rust Worker gặp panic hoặc abort không được xử lý, runtime có thể rơi vào trạng thái không xác định, gây ảnh hưởng đến các request tiếp theo — thậm chí “brick” Worker trong một khoảng thời gian. Nguyên nhân gốc rễ nằm ở wasm-bindgen, thư viện tạo bindings giữa Rust và JavaScript....

23/04/2026 · 2 min · dhphong