Sign in

Sean McArthur

@seanmonstar.com
1.5K followers 46 following 155 posts

Open Source maintainer of the rust-lang @hyper.rs. More at seanmonstar.com

PostsRepliesMedia
Sean McArthur @seanmonstar.com · 24/09/2026
New #rustlang hyper-util v0.1.21 out now! - Adds several builder options - Fixes for CONNECT, proxies, idle connections, and a bunch more - Adjusts the tracing behavior of the legacy::Client github.com/hyperium/hyp...
github.com
Release v0.1.21 · hyperium/hyper-util
Additions Add crate-level documentation. (#327) Add client::legacy::Builder::http2_header_table_size() method. (#274) Add client::legacy::Builder::http2_max_concurrent_streams() method. (#274) Add...
150
Sean McArthur @seanmonstar.com · 17/09/2026
I value LLMs for their ability to understand hyper-specific search queries. But I want to consider how much of the generated text I read; it’s better to read the human source. Or other non-forced exposure (seanmonstar.com/micro/202608...).
030
Sean McArthur @seanmonstar.com · 17/09/2026
So then, perhaps obviously but it took way too long for me to realize, reading LLM output influences how we write (nolanlawson.com/2026/08/31/on-not-b…). And since writing is thinking, it seeps in, ablating the voice in my head. I'm, as one says, horrified.
250
Sean McArthur @seanmonstar.com · 17/09/2026
The top advice given to anyone wanting to get better at writing, besides just writing, is to _read_ more. Especially good writing. Because we imitate that which we experience more of.
140
Sean McArthur @seanmonstar.com · 17/09/2026
Reading LLM text makes us worse writers Originally at seanmonstar.com/micro/20260917-read…
seanmonstar.com
Reading LLM text makes us worse writers
The top advice given to anyone wanting to get better at writing, besides just writing, is to _read_ more. Especially good writing. Because we imitate that which we experience more of.
2121
Reposted by Sean McArthur
Steve Klabnik @steveklabnik.com · 10/09/2026
We've been cooking at @ersc.io "What comes after git" ersc.io/blog/what-co...
ersc.io
What comes after git
Our thoughts about the future of version control
1625846
Reposted by Sean McArthur
Dirkjan Ochtman @djc.ochtman.nl · 09/09/2026
rustls, our modern memory-safe TLS implementation is 10 years old! @jbp.io wrote a blog post reflecting on how we got here: rustls.dev/blog/2026-09...
rustls.dev
rustls: A Decade of Rustls
2548
Sean McArthur @seanmonstar.com · 02/09/2026
They're a lot like RFCs. With some tweaks from lessons learned. Making maintenance more repeatable, less in one mind. The writing is the thinking. It documents the why. A sustainable personnel of hyper.
020
Sean McArthur @seanmonstar.com · 02/09/2026
A short intro for now: since hyper stabilized 1.0, it powers more, and needs more. Large improvements lacked a clear path for proposal, scrutiny, and decision. So, hyper Improvement Proposals (hyper.rs/contrib/hips/0001-hyper-im…), or HIPs.
110
Sean McArthur @seanmonstar.com · 02/09/2026
HIPs: hyper Improvement Proposals Originally at seanmonstar.com/micro/20260902-hips
seanmonstar.com
HIPs: hyper Improvement Proposals
A short intro for now: since hyper stabilized 1.0, it powers more, and needs more. Large improvements lacked a clear path for proposal, scrutiny, and decision. So, hyper Improvement Proposals (https://hyper.rs/contrib/hips/0001-hyper-improvement-proposals/), or HIPs.
140
Reposted by Sean McArthur
The Rust Foundation @rustfoundation.org · 27/08/2026
Welcoming Jess Izen as our new Engineer in Residence! For the next year she'll work with our team (while staying at AWS) on crates.io security and support for #rustlang community libraries, starting with malicious crate detection for new publishes! 🦀 Learn more: rustfoundation.org/media/welcom...
0112
Sean McArthur @seanmonstar.com · 25/08/2026
When writing, I always start by dumping a detailed outline with points and subpoints. And then, ugh, I feel a wall. How do I turn this into prose? I ask an LLM to try, I look at the ablated text, and I hate it. No, definitely not that rock. More like this.
010
Sean McArthur @seanmonstar.com · 25/08/2026
Imagine someone tells you to get them a rock. You go find one, bring it back, and they reply 'no, not that rock'. They didn't know exactly what they wanted, but they knew yours wasn't it.
100
Sean McArthur @seanmonstar.com · 25/08/2026
Using LLMs to find not-that-rock Originally at seanmonstar.com/micro/20260825-llms…
seanmonstar.com
Using LLMs to find not-that-rock
Imagine someone tells you to get them a rock. You go find one, bring it back, and they reply 'no, not that rock'. They didn't know exactly what they wanted, but they knew yours wasn't it.
230
Reposted by Sean McArthur
waffle .-. @waffle.pet · 25/08/2026
blog.ihatereality.space/0C-never-type/
blog.ihatereality.space
I stabilized never type | I hate reality
yeah
2122737
Sean McArthur @seanmonstar.com · 17/08/2026
New blog post: Tending my little plot of the internet Basically, the subscribe-via-email is much better, and there is now a self-hosted microblog. seanmonstar.com/blog/owning-...
seanmonstar.com
Tending my little plot of the Internet
As many parts of the Internet continue to get worse, I figured it was time to improve my own little plot.
000
Sean McArthur @seanmonstar.com · 17/08/2026
New #rustlang h2 release v0.4.16 out today! - Enforce limits on tiny DATA frames. (GHSA-q83h-524g-xf6h) - Significant performance improvements: IO contention and HPACK decoding. - Several smaller fixes. Worth an upgrade! github.com/hyperium/h2/...
github.com
Release v0.4.16 · hyperium/h2
What's Changed fix: error instead of busy-looping when write returns Ok(0) by @ArniDagur in #921 Revert "perf(header): optimize HeaderValue creation via zero-copy sharing" by @0x676e67 in #924 fix...
0110
Reposted by Sean McArthur
Predrag Gruevski @predr.ag · 16/08/2026
Rust CI now runs cargo-semver-checks to prevent accidental breakage in the standard library 🦀 If you're wondering why that's important and why it took 15kLoC+, this post is for you. predr.ag/blog/protect...
predr.ag
Protecting the Rust standard library from accidental breakage
How & why we're running cargo-semver-checks in Rust's CI
06011
Sean McArthur @seanmonstar.com · 12/08/2026
A trait could allow us to write `5.seconds()`, or `200.milliseconds()`, etc. I think this is much better. I would rather this exist instead. Maybe `std::time::TimeUnits`, or pick a better name, doesn't matter which, just that it's easy to import.
120
Sean McArthur @seanmonstar.com · 12/08/2026
How about a trait instead? (I suggested it in the tracking issue a long time ago, but it's lost in the noise). Rust traits are awesome. They can be implemented on any other type, even primitives, without them needing to cooperate.
120
Sean McArthur @seanmonstar.com · 12/08/2026
I dislike the pattern in some languages to create durations by multiplying constants. It feels like a concession when it cannot be expressed more nicely. There's a tracking issue (triagebot.infra.rust-lang.org/gh-co…) to add such constants in libstd.
110
Sean McArthur @seanmonstar.com · 12/08/2026
A trait for fluent Durations Originally at seanmonstar.com/micro/20260812-trai…
seanmonstar.com
A trait for fluent Durations
I dislike the pattern in some languages to create durations by multiplying constants. It feels like a concession when it cannot be expressed more nicely. There's a tracking issue (https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/rust/issues/57391) to add such constants in libstd.
150
Reposted by Sean McArthur
Dion Dokter @diondokter.nl · 10/08/2026
Native sealed traits coming! blog.rust-lang.org/inside-rust/... #rustlang
blog.rust-lang.org
Call for testing: Restricting trait implementability and field mutability | Inside Rust Blog
Want to follow along with Rust development? Curious how you might get involved? Take a look!
2619
Sean McArthur @seanmonstar.com · 29/07/2026
New #rustlang http v1.5.0 out now! Support for the new `QUERY` method from RFC 10008! And of course bug fixes. github.com/hyperium/htt...
github.com
Release v1.5.0 · hyperium/http
What's Changed feat(method): add QUERY method by @seanmonstar in #798 fix(uri): allow empty paths in uri::Builder by @seanmonstar in #853 perf(header,uri): faster value validation, URI parse/forma...
0392
Sean McArthur @seanmonstar.com · 29/07/2026
I'm torn when I receive LLMed reports. Initially, I really don't want to read all that. But at the same time, my mind nags me; something's broken and I should fix it for everyone. If it makes it easier for someone to report a bug, that's a pro, I guess.
040
Sean McArthur @seanmonstar.com · 29/07/2026
LLMs write way _way_ too much. I don't know if you understood it enough for me to ask questions back. They don't use reasoning, so is it real? If you didn't care enough to write it, do I care to read it?
192
Sean McArthur @seanmonstar.com · 29/07/2026
If you choose to communicate with me, all I ask is that you use your own words. Bug reports and issues. Pull request descriptions and especially review comments. This isn't new, but I wanted a link of my own.
190
Sean McArthur @seanmonstar.com · 29/07/2026
I want your own words Originally at seanmonstar.com/micro/20260729-i-wa…
seanmonstar.com
I want your own words
If you choose to communicate with me, all I ask is that you use your own words. Bug reports and issues. Pull request descriptions and especially review comments. This isn't new, but I wanted a link of my own.
1579
Sean McArthur @seanmonstar.com · 23/07/2026
Do you ever write a sentence and send it, and then read it back to yourself and think, "oh no, I'm an LLM".
170
Reposted by Sean McArthur
Carl Lerche @carllerche.com · 22/07/2026
Three years ago, trying to use Rust for web apps was crazy talk. Today is very different than three years ago. Announcing Topcoat, a batteries-included Rust framework for building reactive web applications: tokio.rs/blog/2026-07...
tokio.rs
Announcing Topcoat: a framework for building full-stack reactive web apps with Rust | Tokio - An asynchronous Rust runtime
Tokio is a runtime for writing reliable asynchronous applications with Rust. It provides async I/O, networking, scheduling, timers, and more.
17410
Sean McArthur @seanmonstar.com · 21/07/2026
View types might help too, like `Ref<'_>`. Returning a reference requires the data already exist in that shape in `self`. You can't change its shape in the accessor and return a reference to _that_.
010
Sean McArthur @seanmonstar.com · 21/07/2026
This is one reason why it could be a better practice to return an `impl Iterator` instead of `&[T]`. The latter freezes you in place to always storing the data in consecutive memory. (Such as `String::as_bytes()`.)
110
Sean McArthur @seanmonstar.com · 21/07/2026
As a library maintainer, it's common to receive requests from users to add a "simple accessor". The data is _right there_. But that accessor can end up revealing internal representation details that you can no longer change.
110
Sean McArthur @seanmonstar.com · 21/07/2026
Accessors can reveal internal representation Originally at seanmonstar.com/micro/20260721-acce…
140
Sean McArthur @seanmonstar.com · 20/07/2026
New release of #rustlang hyper out today, v1.11.0! 🚀 Several big bug fixes. - Buffered data fully flushes even when half closed - Enforce backpressure in HTTP/2 Upgraded bodies (like CONNECT) - Start of a strict Clippy allowlist - 10 contributors, 7 of them new! 🦀 github.com/hyperium/hyp...
github.com
Release v1.11.0 · hyperium/hyper
Features rt: add ReadBufCursor::initialized_unfilled() method (#4115) (ccc1e850) Bug Fixes http1: discard content-length header when received before transfer-encoding (#4124) (540fff91, closes ...
0201
Sean McArthur @seanmonstar.com · 13/07/2026
Some interesting discussion a few years ago: www.reddit.com/r/rust/comments/n12u…
030
Sean McArthur @seanmonstar.com · 13/07/2026
A public, exhaustive, flat `enum` could choose differently. But those look more like a `kind()`. If you have private error details, I don't think they make sense for comparing.
140
Sean McArthur @seanmonstar.com · 13/07/2026
The common reason to want this is for testing purposes. People want to assert an error case matches what they expect. But that doesn't need equality. `matches!` , `kind()`, or `is_*()` patterns fit better.
140
Sean McArthur @seanmonstar.com · 13/07/2026
Errors might have internal details that don't make sense to compare. Like positional data, or a source chain. Even if you don't have those details yet, committing to a public API of `PartialEq` can restrict you from internal refactoring.
120
Sean McArthur @seanmonstar.com · 13/07/2026
Rust Errors generally shouldn't be PartialEq Originally at seanmonstar.com/micro/20260713-erro…
1100
Sean McArthur @seanmonstar.com · 13/07/2026
Some good fixes since, thank you! Are you be able to try this out, now? Would much prefer catching things at the PR stage than deployed in a release.
030
Reposted by Sean McArthur
Sean McArthur @seanmonstar.com · 30/06/2026
Do you use #rustlang hyper/h2 at scale? Would you be able to easily try out a performance run using a PR that is meant to significantly reduce contention with multi-threaded HTTP/2? It would be a big help! github.com/hyperium/h2/...
github.com
Refactor big mutex to reduce contention by seanmonstar · Pull Request #917 · hyperium/h2
This refactor puts the big internal shared mutex on a diet. The goal is to reduce contention, providing performance improvements when h2 is used on multi-threaded runtimes. WarningThis is a large i...
2207
Sean McArthur @seanmonstar.com · 30/06/2026
Do you use #rustlang hyper/h2 at scale? Would you be able to easily try out a performance run using a PR that is meant to significantly reduce contention with multi-threaded HTTP/2? It would be a big help! github.com/hyperium/h2/...
github.com
Refactor big mutex to reduce contention by seanmonstar · Pull Request #917 · hyperium/h2
This refactor puts the big internal shared mutex on a diet. The goal is to reduce contention, providing performance improvements when h2 is used on multi-threaded runtimes. WarningThis is a large i...
2207
Reposted by Sean McArthur
The Rust Foundation @rustfoundation.org · 24/06/2026
[NEWS] The Rust Foundation has launched the Rust Commercial Network: a free, open community for orgs building Rust in production to collaborate & share real-world use-cases with the Rust Project. Founding members span big tech, Rust specialists, & community orgs. rustfoundation.org/media/rust-c...
073
Sean McArthur @seanmonstar.com · 23/06/2026
lol, the script itself hard code an old url format. welp, woops. seanmonstar.com/micro/202606...
seanmonstar.com
Owning my microblog with POSSE
POSSE is the practice of publishing on your own site first, and pushing that out to other services. To get the content where people are, while linking back t...
020
Sean McArthur @seanmonstar.com · 23/06/2026
And it solves one of my longer-standing concerns (masto.ai/@seanmonstar/1093198806609…) about microblogging: it feels like they can be more important content now, because they're _mine_.
000
Sean McArthur @seanmonstar.com · 23/06/2026
This new setup lets me nudge people more towards my own property. As various other properties come and go, my online identity and content lasts longer.
100
Sean McArthur @seanmonstar.com · 23/06/2026
I now have a `/micro` blog on my own website, and automation (a GH action) to break up new posts and send them to Mastodon and Bluesky as threads. It even has it's own rss feed (seanmonstar.com/micro/rss).
100
Sean McArthur @seanmonstar.com · 23/06/2026
POSSE (indieweb.org/POSSE) is the practice of publishing on your own site first, and pushing that out to other services. To get the content where people are, while linking back to the original owned post.
100
Sean McArthur @seanmonstar.com · 23/06/2026
Owning my microblog with POSSE Originally at seanmonstar.com/micro/2026/06/23/ow…
220