Search
29 results for “drsensor”
-
#nusa devlog
Let's dump my build graph in case I need to revisit again to build my own Rust crate for inline wasm text
https://github.com/DrSensor/nusa/wiki/Development#build-system
-
#rescript compiler without JS runtime
https://github.com/DrSensor/rescript.nix -
#nusa devlog
I mostly complain that all system programming languages locked to C callconv & ABI which make it hard for me to target wasm32-web.
Now here another deep dive why C ABI cause problems:
- https://faultlore.com/blah/rust-layouts-and-abis/
- https://mcyoung.xyz/2024/04/17/calling-convention/ -
#nusa devlog
alright, so `__attribute__((address_space(N))` has something todo with wasm multi-memory 🤔
http://openasip.org/user_manual/TCE/node15.html
#clang #webassembly -
#nusa devlog
I wonder if there's `rustc` flag to bypass proper ABI adjustment 🤔
I want to target wasm32 but the C ABI Convention get in the way.
#rustlang #webassembly
https://github.com/rust-lang/rust/issues/115666 -
I'm currently learning #ngspice codemodel (.cm), d_process, #qemu QOM and virtio. Wish mew luck 🤠
Special thanks to isotel for opening my eyes from this article. Now I'm tempted to truly go back to my root. (Yes, I'm actually electrical engineer cosplaying as webdev)
https://www.isotel.eu/mixedsim/embedded/motorforce/ -
I think I found a language that is suitable to write the wasm runtime for #nusa
https://github.com/titzer/virgilI'm hoping that language support multi-values return and multi-memory since wizard-engine also written in Virgil 🤔
https://github.com/titzer/wizard-engine -
Don't expect easy-to-fix bug in JS/TS while aiming to have smallest bundle size. It just too hard!
The worst part is closure compiler can't catch up with latest ES spec 😮💨
I place my hope on #ReScript but it doesn't emit sourcemap and there's no sign they're working on it 😱
-
#nusa devlog
I think I can use this 😏
https://doc.rust-lang.org/core/hint/fn.black_box.html(ugh, I think I should learn how to build my own allocator)
-
-
Oh, apparently #melange repo provide nix overlay
https://melange.re/v2.2.0/getting-started/#nix -
#rescript journey
So I need to create empty folder `node_modules/rescript/`to make `rescript-editor-analysis.exe` to works 😥 -
#nusa devlog
dun..dun-dun
Intent to Ship: WebAssembly Multi-Memory
https://groups.google.com/a/chromium.org/g/blink-dev/c/WSrXwhKeSasOh yeah, #wasm multi-memory is coming!! It really scratch my head implementing Apache Arrow that share memory across instances and boundaries (i.e worker, shader, main-thread).
But wait, I need a Rust crate/macro for wasm inlining (similar to `asm!()` or at least a `#[proc_macro] extern {}`). Using llvm-mc to write wasm specific stuff and link them with rust `output.{so,wasm}` really give me a headache.
-
So you are familiar with migration script for database schema but have you seen a migration script to renew your code with latest libs major version?
For you who stuck in legacy React/PHP, imagine if you have this kind of script 🤭
https://github.com/rescript-association/rescript-core/blob/main/migration/migration.toml -
#nusa devlog
Pomsky now have unit test (yay).
https://pomsky-lang.org/blog/pomsky-0.11/#unit-tests
I've been using code comments to annotate the success&fails criteria.
Oh by the way "unit test" is a pun for "you need test" -
#nusa devlog
https://github.com/llvm/llvm-project/issues/60613I guess I can finally enable debuginfo in wasm-opt after I compile my [component].wasm with rustc with debuginfo & DWARF enabled.
-
#nusa devlog
Now I'm tempted to replace #Typescript because separating type annotation into .d.ts didn't works on `class`and `abstract class`. Even #JSDoc `/ @abstract */ class`didn't exist.
Thinking to replace it with #FlowType because it has sane comment-based type annotation. But hold on, does it support Ruby #RBS style for type annotation?
(I mean separation between file.js as implementation and file.d.ts as type annotation) -
#nusa devlog
Just finish replacing JSDoc with *.d.ts (inspired from Ruby #RBS) so I can debug it easily without too much distraction.
Somehow using either #JSDoc or #Typescript make it difficult to reason when fixing many regression I encounter 😵💫
-
#nusa devlog
LoL, I'm not sure why nix rebuild `pkgs.rome` instead of fetching it from cache.nixos.org 🤔
-
#nusa devlog
Migrating my build system to xmake.luaI love this era of AI. Figuring out how to do this based on the official docs is impossible for me.
-
#nusa devlog
DOM Parts proposal is amazing!
https://chromestatus.com/feature/5199708301033472I'm not sure about the Declarative API but I can definitely take advantage of the Imperative API.
https://github.com/WICG/webcomponents/blob/gh-pages/proposals/DOM-Parts-Imperative.md -
I've been using #Knitfile for a while and it's pretty good.
https://zyedidia.github.io/blog/posts/3-knit-better-make/But now I get annoyed with Lua `require()` which doesn't allow arbitrary path. I think replacing Lua with #Rhai script should solve the problem. Unlike gopher-lua, rhai provide a way to customize the syntax. However, the whole project (:knit) need to be rewritten in Rust 😅
-
Somehow I decide to use #Rust rather than #Zig to implement Apache Arrow data type because Rust support multivalue return. However it can only return up to 2 value. And unlike Zig, Rust wasm can't emit nor import mutable-globals 😞. The `static mut` variables are stored in wasm linear memory instead of being `global mut`.
If my guess is correct, `static mut` should be wrapped in `thread_local` macro to produce #wasm mutable-globals. But… it's not yet supported 🥲
-
On-site project (i.e IoT, robotics, webapp, …) require mutable system. It mean your logic and user interface can be modified at anytime after being deployed, maybe via ssh/sftp/uart.
Off-site project (i.e apps/games, services, website, …) require immutable system. It mean each deployment produce immutable artifacts. To harden security and protect your costumers, no one can modify it. The only way to update the system is by redeploy.
system = build(change) |> deploy(target) -
Current status: trying #bun (#javascript runtime) because it has HTMLRewriter 😂
https://bun.sh/docs/api/html-rewriterUnfortunately they don't have *musl* build so it's quite a hassle to get it work on #alpinelinux and #distroless 🙁
-
I wish other #javascript #bundler and #minifier support `/*@__INLINE__*/` annotation. Not just specific to terser.