Readit News logoReadit News
Icathian commented on Cloudflare outage on February 20, 2026   blog.cloudflare.com/cloud... · Posted by u/nomaxx117
atty · 22 days ago
I do not work in the space at all, but it seems like Cloudflare has been having more network disruptions lately than they used to. To anyone who deals with this sort of thing, is that just recency bias?
Icathian · 22 days ago
It is not. They went about 5 years without one of these, and had a handful over the last 6 months. They're really going to need to figure out what's going wrong and clean up shop.

Deleted Comment

Icathian commented on Everything that's wrong with Google Search in one image   bitbytebit.substack.com/p... · Posted by u/recroad
MarsIronPI · 6 months ago
I thought Google always had ads, but at first they were clearly marked and always relevant?

Edit: I stand corrected. Ads were added later, but when first introduced they were clearly marked. I got my history wrong.

Icathian · 6 months ago
Nope. The slope has been slippery, but way back at the top of it there were zero ads on the page.
Icathian commented on Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised   socket.dev/blog/ongoing-s... · Posted by u/jamesberthoty
juliend2 · 6 months ago
> there's this trend of purego implementations which usually aim towards zero dependencies besides the stdlib and golang.org/x.

I'm interested in knowing whether there's something intrinsic to Go that encourages such a culture.

IMO, it might be due to the fact that Go mod came rather late in the game, while NPM was introduced near the beginning of NodeJS. But it might be more related to Go's target audience being more low-level, where such tools are less ubiquitous?

Icathian · 6 months ago
Go sits at about the same level of abstraction as Python or Java, just with less OO baked in. I'm not sure where go's reputation as "low-level" comes from. I'd be curious to hear why that's the category you think of it in?
Icathian commented on Bcachefs Goes to "Externally Maintained"   lwn.net/Articles/1035736/... · Posted by u/ksec
koverstreet · 7 months ago
that would be bcachefs :)

It's an entirely clean slate design, and I spent years taking my time on the core planning out the design; it's as close to perfect as I can make it.

The only things I can think of that I would change or add given unlimited time and budget: - It should be written in Rust, and even better a Rust + dependent types (which I suspect could be done with proc macros) for formal verification. And cap'n proto for on disk data structures (which still needs Rust improvements to be as ergonomic as it should be) would also be a really nice improvement.

- More hardening; the only other thing we're lacking is comprehensive fault injection testing of on disk errors. It's sufficiently battle hardened that it's not a major gap, but it really should happen at some point.

- There's more work to be done in bitrot prevention: data checksums really need to be plumbed all the way into the pagecache

I'm sure we'll keep discovering new small ways to harden, but nothing huge at this point.

Some highlights: - It has more defense in depth than any filesystem I know of. It's as close to impossible to have unrecoverable data loss as I think can really be done in a practical production filesystem - short of going full immutable/append only.

- Closest realization of "filesystem as a database" that I know of

- IO path options (replication level, compression, etc.) can be set on a per file or directory basis: I'm midway through a project extending this to do some really cool stuff, basically data management is purely declarative.

- Erasure coding is much more performant than ZFS's

- Data layout is fully dynamic, meaning you can add/remove devices at will, it just does the right thing - meaning smoother device management than ZFS

- The way the repair code works, and tracking of errors we've seen - fantastic for debugability

- Debugability and introspection are second to none: long bug hunts really aren't a thing in bcachefs development because you can just see anything the system is doing

There's still lots of work to do before we're fully at parity with ZFS. Over the next year or two I should be finishing erasure coding, online fsck, failure domains, lots more management stuff... there will always be more cool projects just over the horizon

Icathian · 7 months ago
I happen to work at a company that uses a ton of capnp internally and this is the first time I've seen it mentioned much outside of here. Would you mind describing what about it you think would make it a good fit for something like bcachefs?
Icathian commented on GPT-5   openai.com/gpt-5/... · Posted by u/rd
mafro · 7 months ago
This is a precursor to a future model which isn't simply a router.

From the system card:

"In the near future, we plan to integrate these capabilities into a single model."

Icathian · 7 months ago
Anyone who still takes predictive statements from leadership at AI companies as anything other than meaningless noise isn't even trying.
Icathian commented on AMD CEO sees chips from TSMC's US plant costing 5%-20% more   bloomberg.com/news/articl... · Posted by u/mfiguiere
wg0 · 8 months ago
American. Not Western. West and America are drifting apart.
Icathian · 8 months ago
I think you're mistaking the name of a cardinal direction for a cohesive set of political ideologies.
Icathian commented on Zig's New Async I/O   kristoff.it/blog/zig-new-... · Posted by u/afirium
mlugg · 8 months ago
Right, the proposal doesn't discuss the implementation details -- I do apologise if that made it seem a little hand-wavey. I opted not to discuss them there, because they're similar-ish to the way we lowered stackless async in its stage1 implementation, and hence not massively interesting to discuss.

The idea is that, yes, the compiler will infer whether or not a function is async (in the stackless async sense) based on whether it has any "suspension point", where a suspension point is either: * Usage of `@asyncSuspend` * A call to another async function

Calls through function pointers (where we typically wouldn't know what we're calling, and hence don't know whether or not it's async!) are handled by a new language feature which has already been accepted; see a comment I left a moment ago [1] for details on that.

If the compiler infers a function to be async, it will lower it differently; with each suspension point becoming a boundary where any stack-local state is saved to the async frame, as well as an integer indicating where we are in the function, and we jump to different code to be resumed once it finishes. The details of this depend on specifics of the proposal (which I'm planning to change soon) and sometimes melt my brain a little, so I'll leave them unexplained for now, but can probably elaborate on them in the issue thread at some point.

Of course, this analysis of whether a function is async is a little bit awkward, because it is a whole-program analysis; a change in a leaf function in a little file in a random helper module could introduce asynchronocity which propagates all the way up to your `pub fn main`. As such, we'll probably have different strategies for this inference in the compiler depending on the release mode:

* In Debug mode, it may be a reasonable strategy to just assume that (almost) all functions are asynchronous (it's safe to lower a synchronous function as asynchronous, just not vice versa). The overhead introduced by the async lowering will probably be fairly minimal in the context of a Debug build, and this will speed up build times by allowing functions to be sent straight to the code generator (like they are today) without having to wait for other functions to be analyzed (and without potentially having to codegen again later if we "guessed wrong").

* In Release[Fast,Small,Safe] mode, we might hold back code generation until we know for sure, based on the parts of the call graph we have analyzed, whether or not a function is async. Vtables might be a bit of a problem here, since we don't know for sure that a vtable call is not async until we've finished literally all semantic analysis. Perhaps we'll make a guess about whether such functions are async and re-do codegen later if that guess was wrong. Or, in the worst case... perhaps we'll literally just defer all codegen until semantic analysis completes! After all, it's a release build, so you're going to be waiting a while for optimizations anyway; you won't mind an extra couple of seconds on delayed codegen.

[1]: https://news.ycombinator.com/item?id=44549131

Icathian · 8 months ago
> a change in a leaf function in a little file in a random helper module could introduce asynchronocity which propagates all the way up to your `pub fn main`

If this doesn't make the argument that Zig has certainly not defeated function coloring, I don't know what would.

The fact that this change to how my program runs is hidden away in the compiler instead of somewhere visible is not an improvement.

Icathian commented on Figma Slides Is a Beautiful Disaster   allenpike.com/2025/figma-... · Posted by u/tobr
lucumo · 9 months ago
What do you expect people to do with that? Spend another hour rewatching the thing? Push it into some AI summary tool?
Icathian · 9 months ago
If information is important enough to bother someone asking for a copy of it, but not important enough to spend an hour ingesting, I'm not sure what to tell you.

u/Icathian

KarmaCake day1434August 10, 2019
About
Currently working with: database internals and distributed systems.

Influences: Ecology academia, BigCo analytics, multiple startups, BigTech.

Interests: Systems, networks, databases, and performance optimization.

Hobbies: League of Legends, yoga, programming.

Important: If you are looking at this profile because you thought something I posted was wrong, dismissive, disrespectful, douchebaggish, what have you -- I would really like to hear from you so that I could understand how you got that impression. I won't get mad, I won't "retaliate" I just want to hear what you have to say. It is important to me to communicate clearly and if something I said struck you that way then I failed and I would like to correct it.

Note: Any comments on this site attributed to me are my opinions and not those of any current, past, or future employer. Consider yourself so notified.

Credit to ChuckMcM for this profile format. I liked it enough to steal it!

View Original