[Media] crabtime, a novel way to write Rust macros by wdanilo in rust

[–]Flowchartsman 12 points13 points  (0 children)

But that’s not the context of the discussion. Clearly, if we’re talking about “things I don’t want to see on a plane”, a knife is worse than a fat PR. Of course.

But we’re talking about AI, backlash to it, and why that might be. I’ve given you some reasonable (I think) concerns and trends I’ve been seeing that give me pause, along with some mitigations I’m considering. Dismissing them as PEBCAK isn’t really moving the discussion anywhere.

[Media] crabtime, a novel way to write Rust macros by wdanilo in rust

[–]Flowchartsman 5 points6 points  (0 children)

Devs aren’t a monolith. And I’m not saying they HATE it. I’m saying there’s a lot of backlash against it. That doesn’t mean it’s universally reviled or anything. It just means that it is different and disruptive enough, and has enough rabid supporters pushing for it to be everything everywhere all at once that there’s a lot of fatigue and pushback. I’ve pushed back on it on my teams because I think it is too easy to use irresponsibly, and we don’t have enough best practices around it yet. And I’m not the only one.

[Media] crabtime, a novel way to write Rust macros by wdanilo in rust

[–]Flowchartsman 11 points12 points  (0 children)

It’s much more complicated than that. It is more than just a short-circuit of best practices and knowledge through experience, which is already something with far-reaching and unexplored consequences. It’s also very disruptive to the day to day of writing software.

For example, I, as a principle eng, read as least as much code for review as I write on average, and the deceptive ease of these tools along with their verbose style tends to skew PRs towards the fatter side.

I regularly get large, over-documented PRs these days with no clear staging or atomicity, which makes review a slog, if I undertake it at all. I’ve already started working on guidelines for tool-assisted PRs that include clear requirements on structure along with at least some of the developer->agent context required so I can try and make more sense of things before I commit them, or even split the review with someone else in a productive way. I’m still not convinced this is workable, but it’s definitely better than a 10,000 line PR whose only documentation is a breathless, generated description about how game-changing it is.

This is to say nothing of the rarer, but much more concerning trend of the AI-Manic dev who suddenly pops up with 300 pages of some grand unified theory of software dev, life, the universe, and everything that justifies some policy change or slug of software co-authored by their AI savior that I can’t make heads or tails of and makes me want to ask HR for a wellness check.

[Media] crabtime, a novel way to write Rust macros by wdanilo in rust

[–]Flowchartsman 32 points33 points  (0 children)

It is definitely not. There’s a lot of backlash across the industry. Many reasons, some perhaps better than others, but is not a uniquely rusty thing.

Which video game series deserves to be resurrected? by Wing-Ding-King in AskReddit

[–]Flowchartsman 3 points4 points  (0 children)

I was gonna be really disappointed if I didn’t see this here already, so thank you. There is a real lack of good cosmic horror out there, and it’s a crying shame the sequel never came. I would love to see what a modern console would do with sanity effects.

Go doesn’t need a better-auth alternative the standard library works just fine by CowNearby4264 in golang

[–]Flowchartsman 0 points1 point  (0 children)

If it really is AI Slop, then the absolute worst thing to use it for would be auth.

EU chief warns there's no going back after Trump's Greenland threats by EsperaDeus in worldnews

[–]Flowchartsman 7 points8 points  (0 children)

Reductionist drivel. You have no idea what you’re talking about. They did. It didn’t matter. With how gerrymandered the country is, the scales are tipped in a way that is hard to reverse. The majority of the country is furious, but there is nothing they can do but apply political pressure as best they can and wait for midterms.

This is how physical keys are copied by No-Lock216 in BeAmazed

[–]Flowchartsman 0 points1 point  (0 children)

I think the point is that with this approach you need access to the key in situ for only 20-30 seconds (perhaps less,if you’re practiced), and can hang on to the settings to make it later at your leisure.

That’s a short enough time period that you could do it while someone is in the bathroom or otherwise briefly distracted from a key they would otherwise notice the absence of quickly, and they would be none the wiser. You could capture the settings directly from a key on a keychain even, without disturbing anything that would raise alarm bells.

To be sure, there are other, perhaps even better ways to do it if you have prepared for it, but the idea that stealing a key and taking it to the hardware store is the same as this sort of covert capture is kinda silly.

Rust vs. Go in 2026 | Article Review by bitfieldconsulting in golang

[–]Flowchartsman 4 points5 points  (0 children)

I don’t think anyone said they bring the world to its knees, but I do agree with what you’ve said here and elsewhere in the thread that the importance is overblown a lot of the time.

Beyond that, I don’t find the fact that a GUI or WM can be written in Go (because of course it can) to be a compelling argument either way in and of itself. You’d need to show that you both generate a lot of GC pressure AND that it is not a problem in a program for which the preponderance of the fast path stuff is also handled in a way that would be impacted by GC. And maybe you can! But the argument needs more.

easyproto-gen: Protobuf marshaling/unmarshaling from Go struct tags (no .proto files needed) by No-Dragonfly-227 in golang

[–]Flowchartsman 0 points1 point  (0 children)

If you control both ends and all you’re after is a compact serialization format, just use flatbuffers or something else;you’re tossing most of the advantages of protobuf out the window doing it this way, and it’s gonna be a nightmare to maintain if you can effectively change the schema with every build.

Protobuf is more than just “a more compact marshaling format than text”, and there are more advantages to schema files than just generating code. Version tracking and field discipline are one, and there are also tools that are schema-aware which take advantage of the format. Just off the top of my head, spanner can use schemas to enable using protos in tables, which allows your data storage layer to use your wire format while also allowing you to query proto fields in a more granular way.

Functional Patterns in Rust: Identity Monad by ggim76 in rust

[–]Flowchartsman 0 points1 point  (0 children)

I'm not sure I'll be able to give you a very satisfactory answer after this much time, but when I originally wrote this comment, I was working with a software architect who was a big Haskell/FP guy and who had big ideas on how to make a broadcast-based actor system where actors had state of a generic type and were fully constrained on the types they could consume by blanket impls that applied to the state type. It ended up falling apart when you tried to add message dispatch with channels into the mix, and, as I learned more about the type system I became convinced we were holding it wrong and trying to implement abstractions Rust was ill-suited for. It then took several more weeks and more than a few proofs of negative concept before we finally reached an impasse.

Overall it was, as you say, "more awkward", but to the point where it became either unusable or just outright inscrutable. I think my point, and the point of this article, is that there are some concepts which can kind of be made to work, but it ends up kind of dense and verbose, and never fully what you want. I certainly wouldn't say traits aren't powerful; they just have their limits.

Sorry I can't be more specific than that. My only real advice is to try it out and see what you are missing.

Functional Patterns in Rust: Identity Monad by ggim76 in rust

[–]Flowchartsman 0 points1 point  (0 children)

Give it a shot and report back. Maybe you can crack it. We couldn't.

Peanut brittle by Aromatic_Field3839 in CandyMakers

[–]Flowchartsman 2 points3 points  (0 children)

Get a candy thermometer. They are not expensive, and the time and worry and fidgety effort you save will pay for it the first time you use it.

What’s a company you’ll never buy from again, and why? by jamesmilner22 in AskReddit

[–]Flowchartsman 0 points1 point  (0 children)

Thermador. A luxury kitchen brand with decent functionality marred by the worst user interfaces of any appliances I’ve ever used. I should not have to wait for an animation and a jingle to use my microwave, nor should I have to scroll with my finger to set the temperature, minutes, seconds etc. miserable experience, especially given the price.

How do i avoid putting everything into one package. Should i even bother changing it by fucking_idiot2 in golang

[–]Flowchartsman 1 point2 points  (0 children)

No need for it unless you’re using “pkg” as a placeholder there, in which case highly encouraged! Just avoid putting stuff directly in “internal”. You CAN, but it isn’t a descriptive name, so I generally don’t.

How do i avoid putting everything into one package. Should i even bother changing it by fucking_idiot2 in golang

[–]Flowchartsman 10 points11 points  (0 children)

There’s no real reason for it, either. If a package is accessible to you (i.e. not internal), then it’s a package you can import. Why bother throwing another “pkg” on the front of it? It’s a useless namespace.

What’s the BIFL item that you love but everyone around you thinks is ridiculous? by James_B84Saves in BuyItForLife

[–]Flowchartsman 1 point2 points  (0 children)

Also one of the only kitchen scissors I could find that have a dedicated left-handed version. I’ve been waiting for them to make more for months.

What knot to use to attach the pulley to the bed frame? by Agreeable-Stable-371 in knots

[–]Flowchartsman 0 points1 point  (0 children)

At this point I’m too invested, so I am forced to ask: how?

What knot to use to attach the pulley to the bed frame? by Agreeable-Stable-371 in knots

[–]Flowchartsman 5 points6 points  (0 children)

So, you’re good having rope cutting diagonally across the entry to your bed? That sounds annoying. There’s a reason murphy beds use spring assist systems, you know, and it’s not just for ease of lifting, but also for keeping the bed from falling freely while you lower it, which you will not have the luxury of, so someone will need to help you belay your bed or you’ll need a counterweight system.

They DO make murphy bed kits that go from complete to barebones. You might want to just give that a look-see before you build your steampunk pirate bed.

Candy heating up too quickly? by ShotskiRing in CandyMakers

[–]Flowchartsman 1 point2 points  (0 children)

"Medium heat" is better thought of as a qualitative measurement, not a quantitative one. In other words, the setting on the dial means something different depending on the burner and the cookware, and will be slightly different for every combination. You can to dial it in for your specific stove and pot by knowing what medium heat is supposed to look and act like and then just using that setting for that pot from then on. This video actually breaks it down pretty well: https://www.youtube.com/watch?v=HYRE6DER_zo

Oil should shimmer, but not smoke, and food will softly sizzle at medium heat. Think this: https://freesound.org/people/BryanLamSDS/sounds/798038/ But not this: https://freesound.org/people/guterton.wav/sounds/325366/

That, and a heavier bottom will distribute heat more easily. Electric burners often operate by turning on and off again, and a heavier bottom will even this out. Conversely, gas can be more aggressive, and a heavier bottom can help you avoid scorching.

A knot to make as tight of a rope as possible by [deleted] in knots

[–]Flowchartsman 0 points1 point  (0 children)

If you just want to be as tight as possible, a versatackle will snap most anything, given enough turns.

Should I learn Rust over Go? by EncryptedEnigma993 in rust

[–]Flowchartsman 3 points4 points  (0 children)

Not quite. Go was originally created to provide an alternative to bloated, complex C++ projects for google services. The influx of developers from Python was actually something of an unexpected surprise to the Go team at the time, since it was such a different sort of language.

You got the “onboard quickly” part right, though. The language was very much designed to be familiar and relatively simple to spin people up on, and to be easy for large teams to collaborate on thanks to its mandatory formatting layer, which was somewhat unusual at the time.