BatmanAoD

joined 1 year ago
38
A classic tale (programming.dev)
 
[–] BatmanAoD 4 points 1 week ago

Yeah, consistency is good, which is why it's good to follow the spec. I'm saying that the decision to make errors be flat strings in the spec was a bad one. A better design would be what you have, where code is nested one level below error, plus permitting extra implementation-defined fields in that object.

[–] BatmanAoD 16 points 1 week ago (2 children)

The spec requires errors to be a single string, and also mandates using the space character as a separator? I'm not a fan of deviating from spec, but those are...bad choices in the spec.

[–] BatmanAoD 1 points 3 weeks ago

Tortoise git is probably what convinced me to just use the CLI for everything back in the day. Tortoise SVN is basically 1:1 with the SVN CLI (as far as I could tell, at least); Tortoise Git was...not.

Maybe other git UIs are better. I hope so! Maybe even Tortoise has gotten better. But it was not good back then. (This was around 2013.)

[–] BatmanAoD 16 points 3 weeks ago* (last edited 3 weeks ago)

For anyone else wondering, here's the text of the actual email cited as the CoC violation:

Michal, if you think crashing processes is an acceptable alternative to error handling you have no business writing kernel code.

You have been stridently arguing for one bad idea after another, and it's an insult to those of us who do give a shit about writing reliable software.

You're arguing against basic precepts of kernel programming.

Get your head examined. And get the fuck out of here with this shit.

[–] BatmanAoD 6 points 3 weeks ago

I agree, but if you look at the specific email linked, it very clearly crosses the line into direct abuse, whereas most of Linus's rants do exist in a slightly greyer area (even if they'd be grounds for a discussion with HR at an actual company).

[–] BatmanAoD 32 points 4 weeks ago

the function reads the comment added after the function is called using a backtrace and uses them as arguments

How marvelously creative. What an abomination.

[–] BatmanAoD 1 points 4 weeks ago

(I haven't checked what the warning says today.)

[–] BatmanAoD 2 points 4 weeks ago (2 children)

Well, yeah, that's why the linked ticket led to a massive improvement:

[–] BatmanAoD 1 points 4 weeks ago

If you don't know what git is, you should probably avoid choosing the "confirm" option when you're warned that an operation is dangerous.

That said, I think the change they ultimately made in the linked issue, which words the warning differently and, more importantly, provides an option to only discard changes to already-tracked files, is a vast improvement.

[–] BatmanAoD 1 points 4 weeks ago

That depends on what you map "discard" to in your mental model. Whoever designed the VSCode feature chose to associate it with reset+clean, rather than just reset. Presumably that's why they called the menu option "discard" rather than "reset". (But I agree that this is a surprising choice, and that they managed to make an already-famously-bad UX even worse.)

[–] BatmanAoD 1 points 4 weeks ago* (last edited 4 weeks ago)

Well, yeah, that's why they updated the warning pop-up. It's still the case that the user didn't bother to find out what the warning meant before choosing the inherently destructive option.

Here's the revised pop-up, according to the linked ticket:

I haven't checked the current behavior (this whole incident was seven years ago).

[–] BatmanAoD 1 points 4 weeks ago

I meant it in a completely light-hearted way, but I do wonder if some of the downvoters don't realize I'm talking about the username.

34
submitted 11 months ago* (last edited 11 months ago) by BatmanAoD to c/rust
 

Almost five years ago, Saoirse "boats" wrote "Notes on a smaller Rust", and a year after that, revisited the idea.

The basic idea is a language that is highly inspired by Rust but doesn't have the strict constraint of being a "systems" language in the vein of C and C++; in particular, it can have a nontrivial (or "thick") runtime and doesn't need to limit itself to "zero-cost" abstractions.

What languages are being designed that fit this description? I've seen a few scripting languages written in Rust on GitHub, but none of them have been very active. I also recently learned about Hylo, which does have some ideas that I think are promising, but it seems too syntactically alien to really be a "smaller Rust."

Edit to add: I think Graydon Hoare's post about language design choices he would have preferred for Rust also sheds some light on the kind of things a hypothetical "Rust-like but not Rust" language could do differently: https://graydon2.dreamwidth.org/307291.html

view more: next ›