Live data from Hacker News

We found a bug in the hyper HTTP library

blog.cloudflare.com

91–97 of 97 posts

Re: We found a bug in the hyper HTTP library

#91
post #90
post #89

Earlier quoted context omitted.

Which they could equally achieve by reducing even further the use of NDK, or moving more stuff into Kotlin/Java processes using Android IPC. Naturally there are several ideological questions between that approach from the anti GC crowd, and adopting Rust instead. Not that breaks the C++ vs Rust from your comment, though.

thats how you get bloated memory use and disk space. you know, the things everyone complains about when it comes to modern tech

Only by programmers that missed algorithms and data structures classes, unfortunately plenty of them nowadays, fresh out of JavaScript and Python Web bootcamps with zero CS background.

Folks that wonder pre-history tech with amazement and lack of understanding of how it used to work in first place.

https://news.ycombinator.com/item?id=48727323

Re: We found a bug in the hyper HTTP library

#92

Earlier quoted context omitted.

But "let _ =" is already an explicit suppression of a must-use warning. Where does this arms race of "no, I really know what I am doing, compiler" versus "no, this really looks like a mistake, programmer" end?

I do feel like Rust did enough to allow software engineers and their managers to make an explicit choice here.

I think it definitely sits at a reasonable point in the tradeoff space here, but it's not the only reasonable point. And it's the nature of tradeoffs that some cases will slip through the cracks.

Re: We found a bug in the hyper HTTP library

#93
post #91
post #90

Earlier quoted context omitted.

thats how you get bloated memory use and disk space. you know, the things everyone complains about when it comes to modern tech

Only by programmers that missed algorithms and data structures classes, unfortunately plenty of them nowadays, fresh out of JavaScript and Python Web bootcamps with zero CS background. Folks that wonder pre-history tech with amazement and lack of understanding of how it used to work in first place. https://news.ycombinator.com/item?id=48727323

The problem in your classic DS&A class is that they spend scant attention if any on the crucial difference between "This big-O evaluation is awesome" and "In the real world this goes fast/ is small"

The Red Black tree, C++ std::map is a classic example. It has these very attractive theoretical properties, but then you try one for real in C++ and oh, why is this so slow and so RAM hungry? Well yeah, those are only real world problems, the big-O numbers don't care about that.

Re: We found a bug in the hyper HTTP library

#94
post #91

Earlier quoted context omitted.

Only by programmers that missed algorithms and data structures classes, unfortunately plenty of them nowadays, fresh out of JavaScript and Python Web bootcamps with zero CS background. Folks that wonder pre-history tech with amazement and lack of understanding of how it used to work in first place. https://news.ycombinator.com/item?id=48727323

The problem in your classic DS&A class is that they spend scant attention if any on the crucial difference between "This big-O evaluation is awesome" and "In the real world this goes fast/ is small" The Red Black tree, C++ std::map is a classic example. It has these very attractive theoretical properties, but then you try one for real in C++ and oh, why is this so slow and so RAM hungry? Well yeah, those are only rea…

C++ implementation problems are another matter, caused by how WG21 sadly works, than anything else.

Ironically there are C# implementations that perform better, exactly because they were developed without WG21 working environment, in a compiled managed language.

For all the performance minded talk, the walk doesn't always follow.

Also std::map cannot be improved by existing processes.

Re: We found a bug in the hyper HTTP library

#95

Earlier quoted context omitted.

Ehh, easy fix #[allow(clippy::let_underscore_untyped,clippy::let_underscore_must_use)] let _ = self.poll_flush(cx)?;

And this is why you should warn on `clippy::allow_attributes_without_reason` in your projects.

    #[allow(clippy::allow_attributes_without_reason,clippy::let_underscore_untyped,clippy::let_underscore_must_use)]
    let _ = self.poll_flush(cx)?;

Re: We found a bug in the hyper HTTP library

#96

Earlier quoted context omitted.

And this is why you should warn on `clippy::allow_attributes_without_reason` in your projects.

#[allow(clippy::allow_attributes_without_reason,clippy::let_underscore_untyped,clippy::let_underscore_must_use)] let _ = self.poll_flush(cx)?;

If someone working for me wrote that I would fire them.

Re: We found a bug in the hyper HTTP library

#97
post #91
post #90

Earlier quoted context omitted.

thats how you get bloated memory use and disk space. you know, the things everyone complains about when it comes to modern tech

Only by programmers that missed algorithms and data structures classes, unfortunately plenty of them nowadays, fresh out of JavaScript and Python Web bootcamps with zero CS background. Folks that wonder pre-history tech with amazement and lack of understanding of how it used to work in first place. https://news.ycombinator.com/item?id=48727323

Nah. You have to be very intentional in GC languages to avoid extra allocations.

It doesn't take much for one memory inefficient dep to drag down the entire app.

Post reply on HN