RSSAmplifier

Blog

Technology blog

Technologies in practice

jakobmeier.chRSS feed ↗10 posts

Latest posts

Rust and JavaScript are a perfectly valid combination with no problems

Rust is the perfect language. Many bugs are caught at compile-time and therefore you never need to debug weird runtime issues. JavaScript is the language of the web. Combined, Rust and JavaScript are the perfect pairing and there are no issues at all. This is part 5 of the Wasm in the Wild series . The article is also available as a recorded talk. Rust & JavaScript - Jakob Meier - Rust Zürisee…

Why WebAssembly came to Web3 (Wasm in the Wild, Part 4)

Today, I show how to cheat the halting problem and why Web3 of all industries popularized the underlying principles. We will look at how untrusted user code is sanitized in eBPF as used in the Linux kernel, in Bitcoin script, in EVM, and, of course, in Wasm. This is part 4 of the Wasm in the Wild series, which now has a nice series overview page . Introduction In an ironic twist, WebAssembly and…

Why WebAssembly came to the Backend (Wasm in the wild part 3)

Why and how are people running WebAssembly on the backend? I make the case it's simply the best way to run sandboxed code written in systems languages and why you should consider using it in your applications. Examples will be in Rust but the lesson applies to many languages. This is part 3 of the Wasm in the Wild series. Each post can be read in isolation. But for the best narrative from start to…

Why WebAssembly Came to the Browser (Wasm in the Wild, Part 2)

In this article, I look at the history of running untrusted code in browsers, contrasting WebAssembly to Java and Flash on an architectural level. To top it off, I will also show a Rust code example to demonstrate the sandboxing techniques of Wasm. I hope by reading this article, you will gain a new appreciation for the design decisions behind WebAssembly. This is a continuation of the Wasm in the…

Fundamentals of WebAssembly, the start of the Wasm in the wild series

Join me on a guided journey through the wild world of Wasm. Learn the secret sauce that enables Wasm runtimes to be fast and secure. At the end of this article, you will understand why Wasm was designed as a stack machine and what basic memory regions exist in Wasm.

The art of Byzantine benchmarking

A traditional benchmark decides which of two implementations is superior in a controlled lab environment. But what if you have a system with soft real-time constraints? How can you proof they won't fail the real-time constraint? And how wide is the margin? Byzantine-Benchmarking is one possible approach to assess it.

Untapped potential in Rust’s type system

Today, I'm writing about what types can be used for other than checking code properties. It will involve a good chunk of dynamic typing, and yes it's in Rust. There are some wild ideas in it, so fasten your seatbelt and get ready for a ride!

One enum to rule them all

Have you ever spent time writing boilerplate code around enums? With Rust, you don't have to!

Gamedev #6: New features in 0.2.1

Paddlers 0.2.1 is online and brings a ton of new features! Among other features, I present a new take on the tower defense aspect of the game, custom shaders for improved graphics, a skill-tree, and quests to guide the players through the game mechanics.

Gamedev #5: Version 0.2 Released

Finally, with the completion of the transition to a new web-oriented game engine, Paddlers version 0.2 is ready. In this short post, I summarize the changes and what they mean for the Paddlers browser game.