Mathias Lafeldt's Avatar

Mathias Lafeldt

@mathias.blog.bsky.social

Indie product engineer from ๐Ÿ‡ฉ๐Ÿ‡ช who loves to build tools for developers. Currently deep into Rust, Zig, Cloudflare, Astro, and DuckDB. ๐Ÿ”— https://mathias.blog

618 Followers  |  107 Following  |  535 Posts  |  Joined: 28.10.2024  |  2.1992

Latest posts by mathias.blog on Bluesky

Post image

Great DX: being able to upgrade all projects in one go

08.08.2025 08:08 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
A Fast, Growable Array With Stable Pointers in C My last article about generic data structures in C was written to set the stage for todayโ€™s topic: A data structure that can be used in place of dynamic arrays, has stable pointers, and works well wit...

"You can download my single-header C implementation, segment_array.h, by joining my newsletter" ๐Ÿ˜‚

danielchasehooper.com/posts/segmen...

07.08.2025 16:17 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Nice duckdb-rs cleanup today:

Removed or fixed all ignored unit tests
github.com/duckdb/duckd...

Yanked SAVEPOINT support, which DuckDB doesn't actually support ๐Ÿ˜„
github.com/duckdb/duckd...

06.08.2025 13:59 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Not that I'm counting, but as the new duckdb-rs maintainer, I've closed a total of 50 issues and merged almost as many PRs. "Only" 68 issues left right now. ๐Ÿ˜„

05.08.2025 14:40 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Had a good produc(k)tive week

01.08.2025 13:36 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Add query_one convenience method by mlafeldt ยท Pull Request #559 ยท duckdb/duckdb-rs Which works exactly like https://docs.rs/rusqlite/latest/rusqlite/struct.Statement.html#method.query_one

In the next version of duckdb-rs

query_one can be used to execute a query that is expected to return exactly one row

(inspired by rusqlite)

github.com/duckdb/duckd...

31.07.2025 14:01 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

"You're absolutely right!"

Robot, I wish.

31.07.2025 12:02 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There's no easier way to explore a C API than with Zig. Zig was designed from the ground up with C interop in mind, and it shows everywhere. Even when I'm working on a Rust client, I tend to explore the API in Zig first.

31.07.2025 09:10 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Btw, I was able to reproduce the problem in no time with the new REPL. ๐Ÿฅณ

bsky.app/profile/math...

30.07.2025 13:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Some functions are not recognized with the first invocation. ยท Issue #500 ยท duckdb/duckdb-rs Some functions like GENERATE_SERIES and DATE_TRUNC are not recognized with the first invocation with duckdb-rs. For following simple query: SELECT time_series as time_series FROM GENERATE_SERIES( D...

Until I looked into this issue, I didn't know that autoloading DuckDB extensions might not work in all cases. ๐Ÿค”

github.com/duckdb/duckd...

30.07.2025 13:45 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Complaining on socials works ๐Ÿ˜‚

29.07.2025 20:10 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
fix(astro): fix async_hooks import for Cloudflare compatibility by mlafeldt ยท Pull Request #6287 ยท clerk/javascript Description @clerk/astro 2.10.2 added an import of async_hooks without the node: prefix, which broke Cloudflare compatibility to a degree, as it requires the flag nodejs_compat instead of nodejs_al...

I've been trying to get github.com/clerk/javasc... merged into Clerk's Astro package for 3 weeks. ๐Ÿ˜ฃ It fixes a single place where async_hooks is imported without a node: prefix, which degrades Cloudflare compatibility. The rest of the code already imports node:async_hooks correctly. Welp.

29.07.2025 13:15 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Made it through. ๐Ÿ˜ฎโ€๐Ÿ’จ

Aside from the usual Ruby and anti-cloud drivel, I found this to be one of the better interviews with DHH. If nothing else, listen to the chapter on parenting.

29.07.2025 09:52 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Not yet, but since duckdb-rs includes the extension macros, there's definitely some overlap.

Tell me what you need. :)

29.07.2025 09:27 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I'm working on a new README for duckdb-rs, and I think what it needs most is a Quackstart section.

29.07.2025 08:02 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

@loige.co Hey, I noticed that the Fullstack Bulletin RSS feed is broken. The link "Check out our previous emails" returns "connection refused". I also see the same problem with other Mailchimp newsletters, so it may be an issue on their end.

27.07.2025 09:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
a cartoon of a man saying democracy simply doesn 't work ALT: a cartoon of a man saying democracy simply doesn 't work

Product strategy is no place for democracy ๐ŸŽค

25.07.2025 21:47 โ€” ๐Ÿ‘ 6    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 1

๐Ÿ‘Ž to people who just drive by thumbs down PRs

If you don't agree with a PR or find a problem with it, try *kindly* explaining why in a comment instead of just injecting negative energy into open source

25.07.2025 15:56 โ€” ๐Ÿ‘ 31    ๐Ÿ” 3    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Preview
AI Tooling, Evolution and The Promiscuity of Modern Developers Zhixin Sun, Fangchen Zhao, Han Zeng, Cui Luo, Heyo Van Iten, Maoyan Zhu, CC BY 4.0, via Wikimedia Commons Historically, there have been two constants with developer tools. First, that their users were...

"Almost everything we knew, then โ€“ or thought we knew โ€“ about the developer tools space turned out to be wrong. Promiscuity has replaced loyalty, but the good news is that the budget is no longer anchored to zero dollars."

redmonk.com/sogrady/2025...

25.07.2025 08:08 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Add REPL example by mlafeldt ยท Pull Request #553 ยท duckdb/duckdb-rs Both as a literal Rust example and for debugging purposes. Demo: For example, here's how it can be used to reproduce #396 โฏ cargo run --example repl Compiling duckdb v1.3.2 (/Users/mathias/...

Wrote a minimal REPL powered by duckdb-rs. Mainly to help me triage issues, but it's also good as a Rust example using the library.

Demo video included in the PR. ๐Ÿฟ

github.com/duckdb/duckd...

23.07.2025 14:04 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Post image

Current reading status

22.07.2025 11:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

German word of the day:

Verschlimmbessern = "Trying to make something better, but actually making it worse in the process"

A lot of engineering work falls into this category. Sometimes the answer is that there is value in leaving a problem unsolved.

21.07.2025 15:50 โ€” ๐Ÿ‘ 44    ๐Ÿ” 6    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 1

๐Ÿ˜˜

21.07.2025 20:58 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Take this, AI ๐Ÿ‘Š๐Ÿป

21.07.2025 19:58 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Pull requests ยท duckdb/duckdb-rs Ergonomic bindings to duckdb for Rust . Contribute to duckdb/duckdb-rs development by creating an account on GitHub.

Shipped a bunch of feature flag improvements, including some long-overdue docs. I still think that duckdb-rs has too many flags, but removing two of them is a start.

github.com/duckdb/duckd...

21.07.2025 14:41 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Looking forward to adding it to duckdb-rs

18.07.2025 20:56 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

cargo-hack and Claude Code are made for each other

18.07.2025 15:03 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Contributors to duckdb/duckdb-rs Ergonomic bindings to duckdb for Rust . Contribute to duckdb/duckdb-rs development by creating an account on GitHub.

On the verge of surpassing my nemesis, Dependabot

github.com/duckdb/duckd...

18.07.2025 14:33 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Weil sie es kรถnnen

17.07.2025 16:41 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

Down to 80 issues and 5 PRs in duckdb-rs

16.07.2025 15:25 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@mathias.blog is following 20 prominent accounts