Pekka Enberg
banner
penberg.org
Pekka Enberg
@penberg.org
@🏡🇫🇮🇪🇺🧑‍💻
Many of the the lessons learned at @scylladb.com!
💡 Tuesday tech tip: Latency's importance is undisputed, but it's a tricky topic because dealing with latency problems often takes a lot of time. To make it easier, @penberg.org wrote an entire book that shares his hard-fought lessons learned. www.scylladb.com/2025/09/15/w...

#ScyllaDB
Why Cache Data? [Latency Book Excerpt]
Latency is a monstrous concern here at ScyllaDB. So we're pleased to bring you excerpts from Pekka Enberg's new book on Latency...and a masterclass with Pekka as well!
www.scylladb.com
September 16, 2025 at 3:46 PM
Reposted by Pekka Enberg
🚀 Thrilled to announce my interactive #WebAssembly course!

Learn WebAssembly from the ground up with:

🔍 Custom-built debugger & VM
📊 Live stack & memory insights
💻 Hands-on exercises
🛠️ Build real projects

Level up with WebAssembly! ✨

👉 learn-wasm.dev
Learn WebAssembly
Take your programming skills to the next level with this comprehensive, code-first, and hands-on WebAssembly course - the ultimate gateway to mastering the fundamentals of this revolutionary technolog...
learn-wasm.dev
January 6, 2025 at 9:04 AM
Reposted by Pekka Enberg
We at @tur.so are hiring for a Platform Engineer position.

If you battled Kubernetes and lived to tell the story, and is a decent coder in Go (and maybe Rust), this position is for you.

Location agnostic, but must be in the US timezone.

turso.tech/careers/seni...
Turso is hiring a Senior Platform Engineer
Join Turso as a Senior Platform Engineer and help scale our distributed database infrastructure.
turso.tech
December 16, 2024 at 4:05 PM
Reposted by Pekka Enberg
Today we have decided to make @penberg.org 's experimental project, an official Turso project, following its great success.

What if instead of just forking SQLite, we were to completely rewrite it - in Rust?

That's our moonshot - codename Limbo

turso.tech/blog/introdu...
Introducing Limbo: A complete rewrite of SQLite in Rust
we forked SQLite with the libSQL project. What would it be like if we just rewrote it?
turso.tech
December 10, 2024 at 3:41 PM
What material or papers should I read to understand alternatives to Rust's borrow checking with lifetimes for memory-safety? I hear some people mention linear types, for example. What should I read to understand how they provide memory-safety?
December 1, 2024 at 10:59 AM
I am using Buffer to cross-post between here and X, but seems like threads are not either supported by Buffer or Bluesky so some posts are limited to X 🤔
November 23, 2024 at 9:55 AM
Is there a way to test Github actions locally? It sucks so much to play whac-a-mole with the YAML config to fix one problem at a time...
November 20, 2024 at 5:44 PM
With recent batch of improvements from Pere, I can now write to a SQLite file (it's WAL actually) with Limbo and read with SQLite itself. Nice!
November 15, 2024 at 2:07 PM
Rust folks! In Limbo, I am implementing the SQLite C API with Rust. Right now I have the whole of SQLite API in a single file (https://buff.ly/3URtylE ) and like to split it up. But I seem to be unable to convince cbindgen to pick up symbols from other files. What am I doing wrong?
November 15, 2024 at 12:51 PM
Reposted by Pekka Enberg
I believe you are thinking of:

⬅️ Why Threads Are A Bad Idea, John Ousterhout, 1995

➡️ Why Events Are A Bad Idea. Rob von Behren, Jeremy Condit and Eric Brewer, 2003
November 13, 2024 at 12:10 PM
How should I package Limbo for JavaScript? I now have a ”limbo-wasm” package that bundles the core database compiles to Wasm and does I/O with Node filesystem API. But this wont work in the browser. Another package or make ”limbo-wasm” detect runtime? 🤔
November 13, 2024 at 1:04 PM
My memory tells me there are two papers. First one that talks about how event-based concurrency is better than thread-based concurrency and a second one that makes tries to make the opposite claim. But I can't find them anymore! Did my mind hallucinate them?
November 13, 2024 at 7:49 AM
Reposted by Pekka Enberg
The fourth #FutureFrontend meetup focused on deterministic simulation testing and @penberg.org went into great detail in this new approach to find bugs you couldn't even imagine.

You can find the recording (1.5h) online at www.youtube.com/watch?v=29Vz....
FF meetup #4 - Deterministic simulation testing
YouTube video by Future Frontend
www.youtube.com
November 6, 2024 at 11:00 AM
Reposted by Pekka Enberg
Published a new blog post on explaining the basics of disaggregated storage systems.

The architecture is relatively new considering the rich history of databases, but pivotal enough to be adopted by many databases like Aurora, Neon, Snowflake, etc.

https://avi.im/blag/2024/disaggregated-storage
November 3, 2024 at 3:37 PM
The wgpu crate for Rust looks promising for cross-platform graphics programming! What are the best resources to learn more about WebGPU?
November 2, 2024 at 10:44 AM
Hah, setting up @penberg.org handle on this thing was really easy!
November 1, 2024 at 2:40 PM
Reposted by Pekka Enberg
I watched @penberg.bsky.social 's talk "Patterns of Low Latency" at P99 conf.

This talk is dense with practical insights and to the point. I was wondering why watch a talk on latency, but his background as a Linux Kernel contributor, on OSv and ScyllaDB made worth it.

Here are my notes
November 1, 2024 at 1:04 PM
I am about to start doing slides for my next week’s presentation on deterministic simulation testing (DST). What kind of things folks want to know about?
October 29, 2024 at 12:41 PM
Reposted by Pekka Enberg
Hey BlueSky, I run the Berlin Systems Group.

The 5th edition of the meetup will happen on November 14th - this time we are finally diversifying. Only 1 database talk and the other is going to be a deep dive into LLVM passes!

Register here:

lu.ma/nq4bzyjb

#databases #compilers #berlin #meetup
Berlin Systems Group · Luma
A Meetup for all low level systems enthusiasts in Berlin. If you’re interested in how Databases, Distributed Systems and Compilers work, this Meetup is the…
lu.ma
October 29, 2024 at 10:23 AM
I had convinved myself that disaggregated storage is the way to go for OLTP, but now i am starting to convince myself that ”diskless” (object storage as the primary storage) is where disaggregated storage converges to (on cloud anyway). All we need is little bit cheaper writes on AWS S3 and others…
October 27, 2024 at 6:29 PM
Reposted by Pekka Enberg
I learned that BlueSky uses one SQLite database per user, as God intended. Where can I read more about its high level architecture?
October 26, 2024 at 4:49 AM
Reposted by Pekka Enberg
I can't stop thinking about this blog post where they replaced Redis with SQLite—and surprisingly, SQLite was faster!

What's interesting is that Redis was running locally, SQLite was storing the data on disk. So it was memory (Redis) vs disk (SQLite), but Redis needed to communicate through IPC.
October 24, 2024 at 12:08 PM
I am looking forward to P99 starting today!
I’ve had the pleasure of previewing all the #P99CONF talks. No matter how you “choose your own adventure” through the multiple tracks, you can’t go wrong. Sign up for free, and join live WEDNESDAY and THURSDAY to chat with the amazing speakers! p99conf.io #ScyllaDB
October 23, 2024 at 7:28 AM
GPUs are essential for modern AI workloads, but how do they execute code and why are they so much for efficient than CPU for such workloads?
Demystifying GPUs for CPU-centric programmers
Over the years, I have learned a lot about how CPUs execute code and what their internals look like because I have worked on projects such…
medium.com
February 27, 2024 at 4:56 PM