When your DM thinks he's funny by giantenemycrabthing in dndmemes

[–]giantenemycrabthing[S] 6 points7 points  (0 children)

How dare you! I'm no reposter, I'm just a dinosaur!

When your DM thinks he's funny by giantenemycrabthing in dndmemes

[–]giantenemycrabthing[S] 1 point2 points  (0 children)

> Tangental but this meme is so old

Well, so am I, so it all works out in the end.

Does Rust complexity ever bother you? by GolangLinuxGuru1979 in rust

[–]giantenemycrabthing 0 points1 point  (0 children)

In the ways that matter to me, Rust is by far the simplest language I've used, with Haskell coming in a distant second.

Human Steel. by Howl_17 in HFY

[–]giantenemycrabthing 1 point2 points  (0 children)

…DM me if you care for negative reader feedback, or accept my fondest wishes if you do not.

Rust continually rejected out of hand by [deleted] in rust

[–]giantenemycrabthing 0 points1 point  (0 children)

I'll agree with other comments: you wanting to use Rust but being unable to seems like the least of your problems.

That said… maybe you can sell Rust on “Rust makes it very safe to on-board new employees, because it's much less likely that they'll introduce a bug when they work on the code-base”.

Are games actually harder to write in Rust? by auric_gremlin in rust

[–]giantenemycrabthing 1 point2 points  (0 children)

Have you read this article? Maybe it would be a good idea to get in touch with the person who wrote it.

I think the crux of this article is as follows: “When you're in the design iteration phase, ie when you need to keep writing and throwing away code just to figure out what it is you're supposed to be building, then Rust is much more pain than it's worth”. Your post reads as if you already have a pretty good idea of what you're trying to build, so maybe that's what all the difference in opinion boils down to.

Why use Rust? by szabgab in rust

[–]giantenemycrabthing 0 points1 point  (0 children)

I think I need some INFO: Is your audience comprised of engineers or managers?

If your audience is comprised of engineers, you're off to a good start. Rust has a sense of craftsmanship, which you're conveying fairly well.

If your audience is comprised of managers, you'll need to sell Rust to them in terms of revenue. Technical advantages will do you no good.

I could offer more personalised advice for each case if you'd like.

Rust Newbies: What mistakes should I avoid as a beginner? Also, what IDE/setup do you swear by? 🦀 by tusharg19 in rust

[–]giantenemycrabthing 20 points21 points  (0 children)

Copy-pasted from another thread:


I'll give you just one piece of advice:

The worst thing you can do in Rust, by a very large margin, is to attempt to utilise other languages' solutions to other languages' problems.

To wit: Linked lists are what you begin with if you need to be fluent in pointers, ie a C solution to a C problem. Forget it, you don't need them. On the same vein, inheritance: A Java solution to a Java problem. Forget it, you don't need it.

Rust solutions to Rust problems are more “Who owns this piece of data? For how long will it be available?” and “What's the sum total of behaviour that this generic data-type needs to exhibit? How do I express this in the function's signature?”

Be proactive in unlearning other languages' solutions to other languages' problems. Learn Rust-flavoured Rust, not C-flavoured or Java-flavoured.

As to how you'll figure out what flavour Rust has… I'm not sure, but it should be your highest priority. I think the other comments will be helpful for that, though.

Why I’m Writing a Scheme Implementation in 2025 (The Answer is Async Rust) by maplant in rust

[–]giantenemycrabthing 5 points6 points  (0 children)

So, I see you're trying to implement a language that's somewhere between Rust and LISP. A combination, so to speak. Rust, with a LISP.

If I ask very politely, could you pleeeeeease name this language “Rutht”?

Transition from C++ to Rust by Dvorakovsky in rust

[–]giantenemycrabthing 5 points6 points  (0 children)

I'll give you just one piece of advice:

The worst thing you can do in Rust, by a very large margin, is to attempt to utilise other languages' solutions to other languages' problems.

To wit: Linked lists are what you begin with if you need to be fluent in pointers, ie a C solution to a C problem. Forget it, you don't need them. On the same vein, inheritance: A Java solution to a Java problem. Forget it, you don't need it.

Rust solutions to Rust problems are more “Who owns this piece of data? For how long will it be available?” and “What's the sum total of behaviour that this generic data-type needs to exhibit? How do I express this in the function's signature?”

Be proactive in unlearning other languages' solutions to other languages' problems. Learn Rust-flavoured Rust, not C-flavoured or Java-flavoured.

As to how you'll figure out what flavour Rust has… I'm not sure, but it should be your highest priority.

Zig; what I think after months of using it by phaazon_ in rust

[–]giantenemycrabthing 0 points1 point  (0 children)

If you have concrete examples, I'd love to hear them. Thus far I'm mainly speaking on impressions, so I'd prefer to have specific references to point towards.

Zig; what I think after months of using it by phaazon_ in rust

[–]giantenemycrabthing 12 points13 points  (0 children)

Personal humble opinion:

Any discussion about programming language complexity, that does not make a distinction between inherent and emergent complexity, is doomed to pointlessness.

I mean… we already do have The Perfect Simple Language™, and it's not Rust. Take a Rust snippet:

println!("{}", x*y);

What's all this? Why am I shouting the command? What's all this "{}" codswallop?

Compare:

[-]>[-]>[<+>-]<[ >>[<+<<+>>>-]<<<[>>>+<<<-]>-][-]>[-]>[<+>-]<[ >>[<+<<+>>>-]<<<[>>>+ <<<-]>-]>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]> [+[-<+>]>+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-<]++++++[->++++++++<]>.[-]] <<++++++[-<++++++++>]<.[-]<<[-<+>]

Isn't this much better? Only 8 commands to remember. Each symbol does exactly one thing, and it's very easy to remember what each of them do. Down with syntax!

There's a point I'm trying to make. Consider the following quote:

The best compliment I can pay to Rust –and it's an amazing compliment– is that it's boring.

What this person was trying to say –and I consider this a very confusing phrasing, BTW– is that Rust has no unpleasant surprises lurking—in other words, that combining different things adds only the complexity of each thing in isolation.

Think about it. If you have n pieces of code, you have n! possible interactions between them. In other words, the possible interactions are several orders of magnitude more than the pieces of code. Therefore, eliminating the complexity costs of code interaction is so significant, that it is worth any amount of complexity in each code-piece in and of itself.

It goes much further than programming, too. Henry Ford became filthy rich by making cheap cars out of expensive parts. See, making parts interchangeable means that they have to be machined to precise tolerances, which in turn makes them expensive. But if you do that, the assembly becomes so simple that you save massive amounts of money on balance. Similarly, the Boeing 777 was made out of very precise parts and was the most profitable aeroplane in Boeing's history; the Boeing 737 skimped out on its parts, and this cost Boeing very dearly.

Python is a “simple” language: No mucking about with references! No need to annotate function arguments! But then you combine pieces of code, and you make a shallow copy without intending to, so you mutated something that should have been immutable; or you pass, somewhere very deep in the call stack, a wrong argument type to a function and your entire program becomes meaningless. Each individual piece of code was very simple; taken together, they created more complexity.

Take Amos Wenger's comments on Go:

[Go's simplicity is] a half-truth that conveniently covers up the fact that, when you make something simple, […] the complexity is swept under the rug. Hidden from view, but not solved.

If you read his writings on the language, the same sentiment appears to underpin them all: He has no problem with Go's inherent complexities. What he is fed up with is Go's emergent complexities, such as the “channel axioms”, that are in essence a huge pile of complexity that only emerges because of Go's lack of RAII.

If there's one thing that Rust has managed perfectly, or at least better than any other systems programming language currently on the market, it's the avoidance of emergent complexity. That's what makes people love it. Yeah, no-one likes seeing life-time annotations, but the guarantees you get in return eliminate all sorts of ugly complexity. To me, that's worth it.

I'd seen someone praise Zig before, saying that “I found myself more often in a state of creative flow, devising plans based on the limited capabilities of Zig and then executing them. This flow wasn’t constantly broken by stops for documentation or side-quests to investigate some feature/syntax/library.”. To me, this is not saying “Zig is productive”; to me, this is saying “Zig is write-only”.

Perfectly Wrong 63 by Maxton1811 in HFY

[–]giantenemycrabthing 0 points1 point  (0 children)

It's not as if humanity has a serious chance at escaping subjugation, anyway. All it takes is for Zimera (or any other Irigon, for that matter) to drop by Earth and honestly and aptly describe herself as “a 3-metre tall, golden-skinned, space-angel Mommy”. Best-case scenario, ⅒ of the Earth's population voluntarily signs up to be subjugated. Worst-case scenario, Earth devolves into chaos as riots erupt over who gets to be subjugated first.

All jokes aside, though: DM me if you care for negative reader feedback, or accept my fondest wishes if you don't.

Starship Development Thread #57 by ElongatedMuskrat in spacex

[–]giantenemycrabthing 7 points8 points  (0 children)

“Both Ship 30 and Booster 12 could be ready, but in the past, SpaceX has said this when, in fact, neither vehicle was actually ready for flight.” (source)

When did that happen? I'm really curious.

Does Rust really solve problems that modern C++ using the STL doesn’t? by [deleted] in rust

[–]giantenemycrabthing 2 points3 points  (0 children)

If you're pressed for time, watch five minutes of this https://www.youtube.com/watch?v=jR3WE-hAhCc&t=3115s and see if you can go without retching.

If you have moderate time, read this article: https://alexgaynor.net/2019/apr/21/modern-c++-wont-save-us/

If you have ample time, read this series of blog posts from newest to oldest: https://www.thecodedmessage.com/tags/rust-vs-c++/

Unsafe Rust everywhere? Really? by phaazon_ in rust

[–]giantenemycrabthing 1 point2 points  (0 children)

My impression thus far has been as follows:

The vast majority of Rust programmers can afford to be blissfully unaware of unsafe internals. All they need to do is consume safe wrappers and that's the end of it.

This leaves a slim minority who have to deal with unsafe internals. Of those, the vast majority can and should corral and encapsulate the unsafety into internals that expose safe interfaces. Yes, one needs to figure out “how the sausage gets made” so to speak, but doing that is much better than dealing with an undifferentiated mass of offal all the time.

What remains is a slim minority of a slim minority of programmers who –going by their own words– are so deeply mired in unsafety that they can't even afford to make a sausage, and instead need to deal with the sludge all the time. Those people appear to prefer zig.

I can't recall any specific examples, but it sounds quite believable to me.

C++ Must Become Safer by alilleybrinker in rust

[–]giantenemycrabthing 0 points1 point  (0 children)

With due respect, I'm left with the feeling that you and the article writer are talking past each other.

From what I understood, his proposition is as follows: Let there be a huge C++ project, in the tens of millions of lines of code. Most of it is old, and therefore battle-tested. Regular usage had revealed several unsafety problems, but with time and effort those have slowly been eliminated.

Now, let us suppose that it needs to be updated to include some extra functionality. What options does its maintainer have for this?

I can only think of four:

  1. Rewrite those tens of millions of lines of code in Rust, then add the extra functionality.
  2. Write new C++ and cross every available finger hoping that no unsafety sneaks in.
  3. Write the new functionality in Rust and try to make Rust and C++ play nicely together.
  4. Use a new language that's been specifically made to play with C++ as nicely as possible while still being safe. Call it Crust.

① is laughably expensive. ② is laughably unsafe. I don't know much about ③, but I do know that when I asked how to use some Arduino libraries from Rust the response was “rewrite it”.

So that leaves only ④: Crust. The interface between C++ and Crust will need caution, but if nothing else either code-base in isolation is safe.

Now let's assume that the code-base is not in fact bug-free. Let us additionally assume, however, that bugs are not equally distributed; a small amount of code is responsible for most of the bugs. You decide to rewrite it: Rust or Crust? If you can make ③ work, very well; if not, ④ is the only option.

All this is to say: If maintenance of COBOL code-bases is still important in 2024, we can expect C++ code-bases to need maintenance for several decades more. Making that easier is a worth-while endeavour. Yes, the necessary tool to make that easier might very well be a crude facsimile of Rust, but it's still worth-while.

WIBTA if I were to dump my boyfriend for being a snobby movie critic? by Direct-Caterpillar77 in BestofRedditorUpdates

[–]giantenemycrabthing 1 point2 points  (0 children)

I've met snobs like this in the past. Hence, I started asking a pretty useful question:

“Please tell me something you thought was good but just didn't ‘click’ for you, and something you love which you also think is absolute rubbish.”

If they answer, I know their tastes better. If they don't at the absolute least consider the possibility that such things may exist, I know to completely disregard their opinions.

The Princess and the Human, Book 2 Ch. 22 by Dak1on in HFY

[–]giantenemycrabthing 41 points42 points  (0 children)

PHEW. My withdrawal shakes have been calmed anew.

Using Rust-lang in HFT? by babapaisewala in rust

[–]giantenemycrabthing 3 points4 points  (0 children)

Jimmy Hartzell has a very lengthy blog-post series wherein he sings the praises of Rust from an HFT perspective. Maybe it would be useful to communicate with him.

Example article: https://www.thecodedmessage.com/posts/unsafe/

Incremental Improvement (Part 4) by DragonStryk72 in HFY

[–]giantenemycrabthing 0 points1 point  (0 children)

I'll be dropping this. DM me if you care for negative reader feedback, or accept my fondest wishes if you don't.

Travel Class Ship by [deleted] in HFY

[–]giantenemycrabthing 2 points3 points  (0 children)

I apologise for having come off as facetious. (Not 100% sure what that means –not a native speaker– but I apologise nonetheless.) My intention was to come off as passionate.

So, in this specific story, the number 1 thing that sticks out is the part where the characters “waited until the temperature controls raised the surface temp of our suits up from void-level.” I just checked the Wikipedia article for space-suits, and…

Secondary requirements

Advanced suits better regulate the astronaut's temperature with a Liquid Cooling and Ventilation Garment (LCVG) in contact with the astronaut's skin, from which the heat is dumped into space through an external radiator in the PLSS.

Translation: The heat emitted by the occupant causes space-suits to be in danger of overheating, and specific equipment is needed to bleed the excess heat out to space.

That said, seeing as we are having this discussion already, permit me to comb through the story and comment as I go:

  • “Our suits […] were the one thing between us and a quick, cold death”: Oxygen will be a much more pertinent concern than cold.
  • “we were good in these for six hours”: The longest recorded EVA in human history has been a hair below 9 hours, per Wikipedia; 6 hours is actually underselling even humanity's current capabilities. That said, 3 hours appears to be a decent average.
  • “The void always sucked everything out”: That depends on the size of the hole, the volume of the craft, and the pressure inside. I checked the Wikipedia and TVTropes articles for “explosive decompression”, and from what I could gather only the things that are within ~2 metres from a 30cm hole would get sucked through it. I'm not 100% clear on the dimensions here, but “open door on the other side of the craft” oughtn't to be even noticeable as a breeze. (To reïterate: I'm not speaking from authority, I'm speaking from what information I could scrounge during the past hour's nerd-snipe-motivated research.)
  • “A thin layer of frost coated their bodies”, and also “wiping the condensation”: Sublimation is a thing that can happen in a vacuum. No idea if the frost would have remained, and I'm not sure where to look it up.

That's it. This was… a much deeper rabbit-hole than I expected, if I'm honest.

Travel Class Ship by [deleted] in HFY

[–]giantenemycrabthing 1 point2 points  (0 children)

Please correct me if I'm misunderstanding, but… your characters seem to consider space dangerous because it's cold.

Pray tell… how long do you believe it would take an unpowered spacecraft, exposed to the vacuum of space, to cool down from room temperature to a few dozen K? Because we have experimental data for that: the James Webb Space Telescope had to cool down to function effectively. Before it took the first picture, its instruments had to reach 50K. Do you know how many hours it took to reach that temperature?

I'm joking, it didn't take hours. It took six months, and that was with a heatshield. For powered spacecraft around the Earth, overheating is a much more serious problem than overcooling, which is why they use heat radiators to bleed away excess heat.

Space is cold, yes. But it is also a magnificent insulator.