📣 New blog post: Six not-so-basic base R functions 🔥
There are so many great functions in base R. Let's explore six lesser-known ones in our latest post. Run them in your browser using the magic of webR and Quarto 💫
But it no longer feels so. Maybe it was a case of "you have to move fast to fix things" and as incumbents raise their game the window of opportunity closes. The vast investment in established stacks incentivises patching the most egregious weaknesses.
One exception seems #golang, which found a network niche
Happy 2024. If I’m interested in the lastest developments for #Lisp and #Scheme in the browser, where should look? (I assume there’s great #WASM work happening somewhere.) Would love to go deep on Scheme + #WebGL / #WebGPU.
I've a bit more to do on #vdash which has given me more time to wonder about what next.
As #SafeNetwork is getting pretty exciting r.n. I'm veering towards something to help Devs with #p2p apps, and feeling a buzz around compiling the client API for #WASM, and showing how to build native cross platform mobile and desktop apps using your web framework of choice (eg #SveltKit), #Rust/WASM and #Tauri.
Then an LDP containers API so existing #Solid apps become Safe Apps in this setup. #LinkedData
I'm always learning new and old programming languages because I find new concepts and development approaches for myself.
At the moment I am actively working with WebAssembly and virtual machines for its execution. Specifically, I have to work with text representation - WAT.
This is a very interesting experience of working with a stack machine using S-expressions.
I also have a feeling that WASM using WASI can be a good alternative to JVM and other similar virtual machines.
The objective is to make a working WASI implemention for GJS, so that complex extensions such as GSConnect can make use of languages like Rust to implement the underlying KDEConnect protocol.
This could also be used to run SQLite easily on a gjs/GTK application.
Well in reality this unlocks a thousand of possibilities and I can't list them all.
For folks who are unfamiliar, Extism smooths the sharp edges of working with Wasm modules by making it easy to transfer data –in your encoding of choice– from our host SDKs to Wasm modules using our plugin dev kits across a ton of languages.
It continues to be a privilege to work with this team and I'm excited for the future of this project!
Why? I’m working on a microkernel that only rund #wasm modules as its userspace programs.
The benefits are plentiful and explaining exactly why deserves its own full blog post, but in short by integrating it very tightly with the kernel we get WASMs portability, security without the speed penalty most engines suffer. Usually enforcing security invariants requires engines to compile expensive bound checks into the generated code.
This is probably the most exciting time to be an internet person, possibly since the 'net first blinked on.
How we experience the web is undergoing seismic shifts —#AI, #XR, and the #SocialWeb will make for increasingly personal and engaging experiences, softening the borders between our digital and physical worlds.
The technology that will power it all is #WebAssembly — a new way to execute code on the browser and server that is faster, safer, and more accessible than anything we've experienced before.
Check out my recent blog post to learn all about #Wasm from the people building it at #Fastly.
also another #wasm debugging note for the future self: use -Wl,--emit-relocs to preserve symbol table in the linked module, so you could grep the wasm-objdump output and answer questions like what the heck does 0xbeef even point to
Thanks to some great work by @jeroenooms we now have ImageMagick compiled for #wasm in the latest development build of #webR. A full image-editing stack, entirely in the browser, available through the magick R package!
We've uploaded a Shinylive app at https://georgestagg.github.io/shinymagick/ showing some examples of the kind of image transformations that magick can do. Once it's loaded, it's pretty fast and it even works on my phone 🤯
It adds 2 instructions: return_call and return_call_indirect. It helps a lot for functional programming languages, or languages with coroutines or continuations.
missing the point of webassembly — wingolog (wingolog.org)
A different way of thinking about or explaining what WebAssembly is