News for hackers. Stuff that matters.

Ralith

Re:Jujutsu for Busy Devs on Tuesday July 22, 2025 @05:35PM (#44653273)
There's a (configurable, easily bypassed) limit for newly created file size to catch that common mistake.
Disabling that option makes the `%SystemRoot%\system32\GigabyteUpdateService.exe` binary mentioned by the original article stop appearing, so it seems so.
There's even been experiments with binding futures to glib or various GUI event loops!
"system" here is intended to refer to the application using tokio, i.e. if you got rid of tokio and did everything by hand you wouldn't be able to make your application faster.
Re:Ask HN: Do you have personal bots? on Thursday October 31, 2019 @11:03PM (#21415938)
Missed opportunity to render pixel art in the calendar display.
Thanks for the details!

> the core protocol objects in quinn that directly link to specific socket and address and even event loop reactor objects - and these objects strictly in Rust to boot.

This isn't accurate. The core protocol objects in Quinn are those defined in "quinn-proto", which has absolutely no awareness of how I/O is performed or what event loop is in use: the interface is structurally very similar to Quiche's, with the caller providing data/timeouts by any means and consuming events that result. See https://docs.rs/quinn-proto/0.2.0/quinn_proto/struct.Endpoin... for details.

The high level "quinn" crate interface, which incorporates awareness of UDP sockets and the tokio event loop, is strictly an optional binding; that's why it's a separate crate.

> existing solutions available right now would not be able to offer the level of flexibility and abstraction we need, nor would they likely be able to add the interfaces we need in a reasonable timescale, nor would they likely tolerate our requests to do so.

Support for this type of flexibility, up to and including allowances for a C API suitable for integration with existing software, has actually been an express design goal of Quinn from the start, and I regret that that wasn't clear.

Re:Quinn 0.2.0: QUIC protocol implementation in Rust on Tuesday January 22, 2019 @01:02AM (#18966306)
It's worth emphasizing that QUIC is more general than a new transport for HTTP; it has wide ranging applications, due to being far more versatile than TCP.
Re:Quinn 0.2.0: QUIC protocol implementation in Rust on Monday January 21, 2019 @10:38PM (#18965822)
All Rust programs call out to platform-dependent unsafe code sooner or later in the form of the standard library. Otherwise, you wouldn't be able to allocate memory or do any I/O whatsoever.

Sometimes the standard library doesn't expose functionality you want, like the capability to read/write the ECN bits of your UDP packets, so you have to bind some syscalls yourself. The capability to do this is one of Rust's core strengths, and it does not compromise a program's rustiness any moreso than calling a wrapper around write to print "Hello, world!" does.

Re:Quinn 0.2.0: QUIC protocol implementation in Rust on Monday January 21, 2019 @07:46PM (#18965027)
The current draft encourages, but does not require, QUIC implementations to employ path MTU discovery along those lines; see https://quicwg.org/base-drafts/draft-ietf-quic-transport.htm... for details. Quinn doesn't yet have this implemented, but it would be pretty cool!
Re:NixOS – Purely Functional Linux Distribution on Friday November 02, 2018 @07:19PM (#18367521)
> But for C/C++ projects I would just compile in an Ubuntu container as well.

Setting up a reproducible build environment with nix-shell is much more convenient than screwing around with containers.

Re:NixOS – Purely Functional Linux Distribution on Friday November 02, 2018 @02:03PM (#18365229)
> Binaries are a pain, but that's always true if you aren't running the exact distro that the binary was built for.

This is actually easier to deal with on NixOS than elsewhere, because the tools for handling that case (patchelf, buildFHSUserEnv, supporting multiple versions of a lib, etc) are so well developed.

Re:NixOS – Purely Functional Linux Distribution on Friday November 02, 2018 @01:58PM (#18365188)
> most of the configuration is for desktop stuff and NixOS doesn't really cover that.

I like home-manager: https://github.com/rycee/home-manager

Re:NixOS – Purely Functional Linux Distribution on Friday November 02, 2018 @01:56PM (#18365164)
Re:Quaternions: the Strange Numbers That Birthed Modern Algebra on Friday September 07, 2018 @11:14PM (#17939195)
> I invented quaternions using matrices

what

Re:Quaternions: the Strange Numbers That Birthed Modern Algebra on Friday September 07, 2018 @11:10PM (#17939183)
Even if you're writing your own engine from scratch, VR runtimes provide orientation information directly to the engine as a 4x4 transform matrix. They would have to ignore all the documentation and go far out of their way to somehow regress to euler angles, and are likely introducing other precision issues in doing so.
Re:QUIC as a solution to protocol ossification on Friday February 09, 2018 @03:24PM (#16343544)
> There is no support for datagrams, just datastreams.

Datagrams can be easily and effectively encoded as discrete short-lived streams. If you need streams of datagrams, you can encode your own header to do that. I see no reason why this has to be built into the protocol when the provided primitives are sufficient.

> Forward error correction is actually cool but just using XOR is too limited.

Pretty sure FEC was removed from the IETF draft.

Re:QUIC as a solution to protocol ossification on Friday February 09, 2018 @03:19PM (#16343511)
Those are probably supported version numbers.
Re:GCC is C++17 Complete on Thursday January 12, 2017 @09:48PM (#13388030)
Do you want GNU extensions? Use the latter. Otherwise, use the former.
Re:Rust severely disappoints me on Thursday January 12, 2017 @09:46PM (#13388024)
One of Rust's selling points is literally that it has very easy zero-overhead C interop.
Re:Simple and Terrifying Encryption Story on Thursday January 12, 2017 @08:07PM (#13387626)
Who needs type systems, anyway? Or any datatypes but strings, for that matter!
Re:Rust severely disappoints me on Thursday January 12, 2017 @03:36PM (#13385876)
> There is a return statement; it just can't return anything

What? Return works exactly like it does in C, it's just not required as much.

> warning: unnecessary parentheses around `if` condition

I'm confused about how reducing the amount of required syntax is "gratuitous syntax."

Re:Typing the nix language on Thursday January 12, 2017 @03:19PM (#13385732)
A type system for Nix would be pretty neat, but a lot of unfortunate design decisions were made in the absence of one that may make this a difficult project.
Re:Ruma, a Matrix homeserver written in Rust on Monday July 04, 2016 @09:28PM (#12033907)
It should be noted that rooms are not "on" a homeserver the way IRC channels are on a network. The server is just a convenient reference point. If it goes down, the room still exists and can still be used, and even given a new name.
> Over 10 years the government will save $1.32 for every $1 invested for fuller support for the chronically homeless, Sacred Heart Mission estimates

32% return on investment sounds like a lot to me.

That's a problem Wikipedia has in general; improvements to Wikipedia's botany coverage are not going to meaningfully change it one way or the another.
You can compromise on turing-completeness, too. Idris, for example, lets the programmer decide whether a given definition should be required to provably terminate or not.
Re:Introducing WhiteHat Aviator – A Safer Web Browser on Monday October 21, 2013 @05:58PM (#6588503)
It could still make sense to ship an ad blocking plugin with the browser distribution.
Re:Why Microsoft Word must die on Saturday October 12, 2013 @05:11AM (#6537978)
So if I use LaTeX and it gives me the results I want and I don't find myself spending inordinate amounts of time tweaking things, does that make me an intermediate user? I guess I had better stop learning.
Re:Ask HN: Where are all the programming jobs? on Saturday January 05, 2013 @12:35PM (#5013290)
> I had been mainly looking on the Who's hiring posts of HN

Well, there's your problem. HN consists mostly of web developers/startups.

Re:Rob Pike: Go at Google on Saturday October 27, 2012 @05:42PM (#4707333)
> It's almost like you don't realize that Java came out a decade before Go

This might be a more compelling argument if Go didn't ignore (more than) the last decade of PL research.

Older »