RSSAmplifier

Blog

Luca Palmieri

Hands-on technical leader, Rust expert.

80a8f3c0.lpalmieri.pages.devRSS feed ↗20 posts

Latest posts

Work

I work with engineering teams that need senior, hands-on technical leadership for reliable backend systems. My strongest fit is where the work spans multiple levels at once: code quality, architecture, delivery, observability, and the engineering habits that keep systems maintainable over time. I can dive into a single line of Rust, review a service boundary, or reason through the trade-offs in a…

Can agentic coding raise the quality bar?

The mainstream discourse around agentic coding focuses on throughput : ship faster, write more code, do more with less (headcount). And that's indeed how AI tooling adoption is playing out in many organizations. But there's more than one playbook in town! In many software systems, quality matters: payment rails, databases, infrastructure control planes. They must be highly available,…

This month in Pavex, #10

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is a progress report about Pavex , a new Rust web framework that I have been working on. /* 0 to 299 */ .pavex_logo { max-width: 100%; object-fit: scale-down; width: 1000px; aspect-ratio: 1 / 1; } /* 300 to X */ @media (min-width: 500px) { .pavex_logo { max-width: 50%; } } It's time for…

biscotti, a new crate for HTTP cookies

TL;DR biscotti ("cookies", but in Italian) is a new Rust crate to handle HTTP cookies on the server side. biscotti 's API strives to be as faithful as possible to the underlying semantics of HTTP cookies, with a keen eye for edge cases and security: Separate types for request and response cookies Support for working with multiple cookies with the same name, in both requests and responses…

This month in Pavex, #9

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is a progress report about Pavex , a new Rust web framework that I have been working on. /* 0 to 299 */ .pavex_logo { max-width: 100%; object-fit: scale-down; width: 1000px; aspect-ratio: 1 / 1; } /* 300 to X */ @media (min-width: 500px) { .pavex_logo { max-width: 50%; } } It's time for…

Rust web frameworks have subpar error reporting

None of the major Rust web frameworks have a great error reporting story, according to my personal definition of great. I've been building production APIs in Rust for almost 6 years now, and I've been teaching people about backend development in Rust for almost as long: I've always had to tweak, work-around or actively fight the framework to get reliable and exhaustive error…

This month in Pavex, #8: docs, docs, docs

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is a progress report about Pavex , a new Rust web framework that I have been working on. /* 0 to 299 */ .pavex_logo { max-width: 100%; object-fit: scale-down; width: 1000px; aspect-ratio: 1 / 1; } /* 300 to X */ @media (min-width: 500px) { .pavex_logo { max-width: 50%; } } It's time for…

Time to polish: Pavex is in closed beta 🎉

/* 0 to 299 */ .pavex_logo { max-width: 100%; object-fit: scale-down; width: 1000px; aspect-ratio: 1 / 1; } /* 300 to X */ @media (min-width: 500px) { .pavex_logo { max-width: 50%; } } We're starting a closed beta period for Pavex ! Head over to pavex.dev to sign up for early access. The first batch of invites will be sent out in a few weeks. You can discuss this post…

Crafting boring APIs: lessons learned from implementing fallback handlers in Pavex

The principle of least surprise is one of my north stars when designing APIs: an interface should behave exactly as most people would expect it to behave. On the surface, it's easy to agree: it sounds sensible. In practice, it's damn hard work. Every design decision turns into a deep dive through all the possible edge cases. I've been recently struggling with it on one of my open…

Pavex DevLog #6: designing safe and ergonomic middlewares

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is progress report about Pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Overview It's time for another progress report on Pavex , covering what…

Pavex DevLog #5: redesigning our runtime types

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is progress report about pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Overview It's time for another progress report on Pavex, covering the…

I'm joining Mainmatter

TL;DR: My next step In July I'll join Mainmatter as a Principal Engineering Consultant. Who is Mainmatter? Mainmatter is a consulting company headquartered in Germany, with a team distributed across most of Europe. We got in touch for the first time last year, in 2022: they were organising the first edition of EuroRust in Berlin and I had the pleasure of helping out by reviewing talk…

Pavex, progress report #4: performance is a feature

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is progress report about pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Overview It's time for another progress report on Pavex, covering the…

Going beyond build.rs: introducing cargo-px

TL;DR cargo-px ( cargo P ower e X tensions) has just been released to crates.io ! It is a new cargo sub-command (i.e. you invoke it as cargo px [...] ), designed to augment cargo 's capabilities. This first release is focused on code generation. cargo supports build scripts via build.rs files, but, once you look close enough, you'll find out that they are not flexible enough to support…

Pavex, progress report #3: nested routes and borrow checking

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is progress report about pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Personal updates April was stressful. I resigned from AWS , started planning…

Pavex, progress report #2: route all the things

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is a progress report about pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Overview March is coming to an end: time for another progress report on…

Pavex, progress report #1: laying the foundations

👋 Hi! It's Luca here, the author of "Zero to production in Rust" . This is a progress report about pavex , a new Rust web framework that I have been working on. It is currently in the early stages of development , working towards its first alpha release. Check out the announcement post to learn more about the vision! Overview It has been almost two months since I announced pavex on this…

A taste of pavex, an upcoming Rust web framework

TL;DR Earlier this year, I started working on a new web framework for Rust: pavex . The goal is simple: great ergonomics and high performance - no sacrifices. As easy to use as tide , Rails or ASP.NET Core. As fast as a handwritten solution built directly on top of raw hyper . I've been working on it for a few months now, enough to prove feasibility. It is not yet ready for user testing, but…

An In-Depth Introduction To Idempotency

This article is a sample from Zero To Production In Rust , a hands-on introduction to backend development in Rust. You can get a copy of the book at zero2prod.com . TL;DR We kept the first iteration of our newsletter endpoint very simple: emails are immediately sent out to all subscribers via Postmark, one API call at a time. This is good enough if the audience is small - it breaks down, in a…

Looking back at 2021

Another year has passed - time for a yearly review! Index The blog The book Open source Work Life Next year The blog Let's start with the blog! 2021 was the second year in a row of consistent writing - 8 articles in 12 months. It was not as profilic as 2020, when I managed to write 14 pieces, although the average length was higher this year (4540 words in 2020 vs 6610 words in 2021). There…