Pekka Enberg's Avatar

Pekka Enberg

@penberg.org

@๐Ÿก๐Ÿ‡ซ๐Ÿ‡ฎ๐Ÿ‡ช๐Ÿ‡บ๐Ÿง‘โ€๐Ÿ’ป

3,173
Followers
58
Following
27
Posts
23.04.2023
Joined
Posts Following

Latest posts by Pekka Enberg @penberg.org

Preview
Latency - Pekka Enberg Practical techniques for delivering low latency software.

@penberg.org's book on Latency with @manning.com is incredibly detailed! Covering latency in all its forms, and real practical approaches to reduce or minimize its impact. Brought me back to writing about event loops for Reactive Java with @cescoffier.bsky.social

shortener.manning.com/X1ME

17.02.2026 02:23 ๐Ÿ‘ 6 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Thank you for the kind words, Ken!

17.02.2026 09:29 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Many of the the lessons learned at @scylladb.com!

16.09.2025 15:46 ๐Ÿ‘ 9 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
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...

๐Ÿš€ 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

06.01.2025 09:04 ๐Ÿ‘ 138 ๐Ÿ” 35 ๐Ÿ’ฌ 13 ๐Ÿ“Œ 13
Preview
Turso is hiring a Senior Platform Engineer Join Turso as a Senior Platform Engineer and help scale our distributed database infrastructure.

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...

16.12.2024 16:05 ๐Ÿ‘ 15 ๐Ÿ” 7 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 1
Preview
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?

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...

10.12.2024 15:41 ๐Ÿ‘ 143 ๐Ÿ” 29 ๐Ÿ’ฌ 10 ๐Ÿ“Œ 8

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?

01.12.2024 10:59 ๐Ÿ‘ 11 ๐Ÿ” 1 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

Last time i looked at RocksDB, it was not really able to take full advantage of io_uring because of itโ€™s synchronous I/O interfaces

01.12.2024 06:32 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

You are crazy, Jack! Looking forward to seeing the results! ๐Ÿคฉ

26.11.2024 09:37 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Nice, signed up for the beta! ๐Ÿš€

23.11.2024 17:24 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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 ๐Ÿค”

23.11.2024 09:55 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Preview
Turso Quickstart (Swift) - Turso Get started with Turso and Swift using the libSQL client in a few simple steps.

Technical preview now: docs.turso.tech/sdk/swift/qu...

23.11.2024 09:53 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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...

20.11.2024 17:40 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

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!

15.11.2024 14:07 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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?

15.11.2024 12:51 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yes! Thanks @dominiktornow.bsky.social!

13.11.2024 17:55 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

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

13.11.2024 12:10 ๐Ÿ‘ 13 ๐Ÿ” 2 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

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? ๐Ÿค”

13.11.2024 13:04 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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?

13.11.2024 07:49 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
FF meetup #4 - Deterministic simulation testing
FF meetup #4 - Deterministic simulation testing YouTube video by Future Frontend

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....

06.11.2024 11:00 ๐Ÿ‘ 2 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Nothing beyond this popped up. Thanks for sharing!

04.11.2024 17:14 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Disaggregated Storage - a brief introduction


I worked on building disaggregated storage on top of SQLite. All the recent database offerings are built on top of storage disaggregation: Amazon Aurora (the most famous one), Neon, Snowflake, TiDB, etc. This post is my attempt at explaining disaggregated storage in the context of database systems.


We can break down a database system into two main components: the frontend and backend. The frontend is responsible for handling connections, parsing requests, and query analysis. The backend serves as the storage layer which fetches data from the disk. While the frontend is CPU-heavy, the backend is I/O-heavy.


Popular databases like PostgreSQL, SQLite, and MySQL all have a similar frontend and backend architecture. The data on disk is stored in a B-Tree (or similar structure). 


continued at: https://avi.im/blag/2024/disaggregated-storage

Disaggregated Storage - a brief introduction I worked on building disaggregated storage on top of SQLite. All the recent database offerings are built on top of storage disaggregation: Amazon Aurora (the most famous one), Neon, Snowflake, TiDB, etc. This post is my attempt at explaining disaggregated storage in the context of database systems. We can break down a database system into two main components: the frontend and backend. The frontend is responsible for handling connections, parsing requests, and query analysis. The backend serves as the storage layer which fetches data from the disk. While the frontend is CPU-heavy, the backend is I/O-heavy. Popular databases like PostgreSQL, SQLite, and MySQL all have a similar frontend and backend architecture. The data on disk is stored in a B-Tree (or similar structure). continued at: https://avi.im/blag/2024/disaggregated-storage

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

03.11.2024 15:37 ๐Ÿ‘ 39 ๐Ÿ” 9 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 2

The wgpu crate for Rust looks promising for cross-platform graphics programming! What are the best resources to learn more about WebGPU?

02.11.2024 10:44 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

Hah, setting up @penberg.org handle on this thing was really easy!

01.11.2024 14:40 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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

01.11.2024 13:04 ๐Ÿ‘ 8 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I am too lazy to set it up ๐Ÿ™ˆ

31.10.2024 05:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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?

29.10.2024 12:41 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0
Preview
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โ€ฆ

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

29.10.2024 10:23 ๐Ÿ‘ 6 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1

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โ€ฆ

27.10.2024 18:29 ๐Ÿ‘ 3 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0