Sign in

Pekka Enberg

@penberg.org
3.3K followers 58 following 27 posts

@🏡🇫🇮🇪🇺🧑‍💻

PostsRepliesMedia
Reposted by Pekka Enberg
Ken Finnigan @kenfinnigan.me · 17/02/2026
@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
shortener.manning.com
Latency - Pekka Enberg
Practical techniques for delivering low latency software.
172
Pekka Enberg @penberg.org · 16/09/2025
Many of the the lessons learned at @scylladb.com!
090
Reposted by Pekka Enberg
Dominic Elm @d3lm.bsky.social · 06/01/2025
🚀 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-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...
1313935
Reposted by Pekka Enberg
Glauber Costa @glaubercosta.bsky.social · 16/12/2024
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.tech
Turso is hiring a Senior Platform Engineer
Join Turso as a Senior Platform Engineer and help scale our distributed database infrastructure.
1157
Reposted by Pekka Enberg
Glauber Costa @glaubercosta.bsky.social · 10/12/2024
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...
turso.tech
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?
1014129
Pekka Enberg @penberg.org · 01/12/2024
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?
3111
Pekka Enberg @penberg.org · 23/11/2024
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 🤔
230
Pekka Enberg @penberg.org · 20/11/2024
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...
350
Pekka Enberg @penberg.org · 15/11/2024
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!
040
Pekka Enberg @penberg.org · 15/11/2024
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 (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?
040
Reposted by Pekka Enberg
Dominik Tornow @dominiktornow.bsky.social · 13/11/2024
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
3132
Pekka Enberg @penberg.org · 13/11/2024
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? 🤔
030
Pekka Enberg @penberg.org · 13/11/2024
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?
240
Reposted by Pekka Enberg
Future Frontend @futurefrontend.bsky.social · 06/11/2024
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....
youtube.com
FF meetup #4 - Deterministic simulation testing
YouTube video by Future Frontend
022
Reposted by Pekka Enberg
v @avi.im · 03/11/2024
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. avi.im/blag/2024/disaggregated-stor…
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
3399
Pekka Enberg @penberg.org · 02/11/2024
The wgpu crate for Rust looks promising for cross-platform graphics programming! What are the best resources to learn more about WebGPU?
360
Pekka Enberg @penberg.org · 01/11/2024
Hah, setting up @penberg.org handle on this thing was really easy!
020
Reposted by Pekka Enberg
v @avi.im · 01/11/2024
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
182
Pekka Enberg @penberg.org · 29/10/2024
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?
320
Reposted by Pekka Enberg
Manish Gill @manishgill.bsky.social · 29/10/2024
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
lu.ma
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…
064
Pekka Enberg @penberg.org · 27/10/2024
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…
131
Reposted by Pekka Enberg
v @avi.im · 26/10/2024
I learned that BlueSky uses one SQLite database per user, as God intended. Where can I read more about its high level architecture?
6818
Reposted by Pekka Enberg
v @avi.im · 24/10/2024
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.
Test Results chart
2385
Pekka Enberg @penberg.org · 23/10/2024
I am looking forward to P99 starting today!
191
Pekka Enberg @penberg.org · 27/02/2024
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?
medium.com
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…
020
Pekka Enberg @penberg.org · 18/01/2024
What are the seminal database management systems everyone should know about? For example, there's Integrated Data Store (IDS) (1964), IBM's System R (1974), INGRES (1974) and arguably Postgres (1986) and Dynamo (2007) belong to the list as well. But what else am I missing?
120
Pekka Enberg @penberg.org · 25/12/2023
I have some really basic understanding of GPU programming with shaders and CUDA, but am mostly clueless of actual GPU architecture and how code gets executed on it. What books or blog posts would you recommend me to read to catch up?
000
Pekka Enberg @penberg.org · 23/12/2023
I try to do an online course on Coursera or similar platform about once a year. My recent courses have been "Neural Networks and Deep Learning" (2023), "Hardware Description Languages for FPGA Design" (2020), and "The Introduction to Quantum Computing" (2019). What would you recommend for 2024?
000
Reposted by Pekka Enberg
Vicki @vickiboykis.com · 28/05/2023
This is super good and everyone working with LLMs should read www.honeycomb.io/blog/hard-stuff-no…
honeycomb.io
All the Hard Stuff Nobody Talks About when Building Products with LLMs
In this post, Phillip talks through the challenges & pitfalls of LLMs we faced when building our Query Assistant - and that you too may face.
33116
Reposted by Pekka Enberg
Gergely Orosz @gergely.pragmaticengineer.com · 11/05/2023
The third day in a row GitHub is having issues. I don't remember the service being *this* unstable, ever. One incident? Happens. Two in a row? Bad luck. Three in a row - what's going on?
Incident with Actions, API Requests, Codespaces, Git Operations, Issues, Pages, Pull Requests and Webhooks
We see recovery across most services and requests. We continue to recover from backlogs and are observing for additional impact. We’ll post another update within 30 minutes.
May 11, 13:33 UTC
Incident with Actions, API Requests, Codespaces, Git Operations, Pages and Pull Requests
This incident has been resolved.
May 10, 13:00 - May 11, 00:34 UTC
Incident with Git Operations
This incident has been resolved.
May 9, 22:39 - May 10, 00:06 UTC
8304
Reposted by Pekka Enberg
Kelsey Hightower @kelseyhightower.com · 04/05/2023
The Amazon Prime Video team was able to reduce cost by moving from Serverless backed by Lambda to monoliths running on VMs. "Moving our service to a monolith reduced our infrastructure cost by over 90%. It also increased our scaling capabilities."
1110620
Pekka Enberg @penberg.org · 26/04/2023
Great story about how Avinash Sajjanshetty discovered a bug in a research paper on Hekaton multi-version concurrency control: avi.im/blag/2023/internet-mvcc As Linus's law says "given enough eyeballs, all bugs are shallow".
021
Pekka Enberg @penberg.org · 24/04/2023
Hey all, I am Pekka, mostly will be talking about distributed systems, databases, and operating systems. Curious to see what kind of role Bluesky will have with me also still being on Twitter and Mastodon. Twitter is the main one for me, but lots of interesting folks migrated to Mastodon for good.
032