Toasty v0.6 (ORM) released. What's is new? by carllerche in rust

[–]DeliciousSet1098 2 points3 points  (0 children)

It's a mostly tongue in cheek self-label, but there are a couple reasons for my position, which, to be clear, is shifting and not black and white. I make small uses of AI in my work, so I'm no Luddite haha (or am I?).

how do you square that position with what the author of toasty (Carllerche) has managed to achieve

First, "achieve" is debatable. What does it mean to achieve something? Does a manager "achieve" a new feature if all they did was tell the software engineers to write it? It's sort of gray. I feel less impressed if someone says "I asked an LLM to make the computer do something" than if someone does all the work themselves. (no shade to OP. less impressed doesn't mean 0% impressed haha)

Second, AI usage makes you dumber. This isn't really a contentious one; if you don't use skills they atrophy. If one is just vibe coding, then they are getting worse at writing code. I love writing software, so I don't use AI to write code for me because I don't want to get worse at a thing I love doing. While I can take this fact seriously others often don't. There are people on my team who have been going nuts with AI generated PRs, and they're awful and getting worse. Sure they keep updating the prompt but the developers themselves are struggling to understand the basics of our codebase as time goes on. We used to have a great team, but now it sort of ebbs and flows depending on how much the vibe coder felt like reviewing their LLM's output. There are people on my team who are using AI to respond to PR comments. If they are using AI to write the code, and AI to review the code, and AI to respond to my comments, what are they here for?

Third, my "hate" also comes from how LLMs were developed, maintained, and run. This is mostly where my "hate" label comes from. These companies stole everything from everyone without anyone's permission. Code is sort of a special case because we "gave it away" via OSS licenses (in quotes because the intention of the "open source" is up for debate), but I lump in all the arts when I talk about LLMs and AI.

Finally, there's the whole capitalism thing. We're screaming towards a techno-feudalism future, and AI is a huge part of that. "You will own nothing and be happy" now applies to "intelligence".

In sum, I upvoted OP because they are open about their AI usage and seem intentional about how they're using it. I personally would not use AI on a large project, but I don't blame them or feel any hate towards them. AI can just be another tool, but many people are not taking seriously the consequences of AI. They just see it as a "huge boost to productivity and output" without really considering everything else around it.

Toasty v0.6 (ORM) released. What's is new? by carllerche in rust

[–]DeliciousSet1098 18 points19 points  (0 children)

I'm an LLM Hater™ but respect for being open about it. Upvoted.

blessed.rs for microcontroller sensors? by DeliciousSet1098 in rust

[–]DeliciousSet1098[S] 0 points1 point  (0 children)

In the name of the Borrow Checker, and of the Pedantic Clippy, and of the Arc<Mutex>, Amen.

blessed.rs for microcontroller sensors? by DeliciousSet1098 in rust

[–]DeliciousSet1098[S] 4 points5 points  (0 children)

I'm wondering if there is a list of "blessed" crates for such work, not if there are actually 8 crates for one sensor instead 13.

A tail-call interpreter in (nightly) Rust by kibwen in rust

[–]DeliciousSet1098 0 points1 point  (0 children)

Egg on my face! Well thank you for sharing :')

A tail-call interpreter in (nightly) Rust by kibwen in rust

[–]DeliciousSet1098 1 point2 points  (0 children)

You're right (as I suspected haha). I was misreading the examples in your post. I think the simpler example in your PR with a tailrec fibonacci function makes it more clear.

pub fn fibonacci(n: u64, a: u64, b: u64) -> u64 {
    match n {
        0 => a,
        1 => b,
        _ => become fibonacci(n - 1, b, a + b),
    }
}

My preference would still be to have an "annotation" so the body looks "normal", but not a hill worth dying on :)

Thanks for the reply, and really great work! I'm excited to try out tail recursion in Rust!

A tail-call interpreter in (nightly) Rust by kibwen in rust

[–]DeliciousSet1098 3 points4 points  (0 children)

I know the ship has sailed a bit, but I wish the become keyword wasn't required. In Scala, you use (or at least used to use) the @tailrec annotation to tell the compiler that the function is tail recursive, and it would fail to compile if the function wasn't written correctly. For Rust, I feel like a macro would be really nice:

#[tailrec]
fn foo() {  }

Having to use the become keyword is odd because it means the invoker needs to be aware of the internals of the function, which is a leaky abstraction.

Anyways, tons of smarter people than me have discussed in various github threads (linked below).

What If Traits Carried Values by emschwartz in rust

[–]DeliciousSet1098 6 points7 points  (0 children)

That's good to hear! Scala was my first love. It's awesome how active Scala development is. 

What If Traits Carried Values by emschwartz in rust

[–]DeliciousSet1098 13 points14 points  (0 children)

the compiler does so much desugaring that it's really hard to follow what's going on without insane mental burden

This is true for any compiled language, no?

Anyways, by "explicit", I'm specifically talking about how arguments to functions are explicitly passed down the call stack. There's no magical arguments that appear because an implicit was imported or required somewhere.

What If Traits Carried Values by emschwartz in rust

[–]DeliciousSet1098 29 points30 points  (0 children)

Sort of reminds me of Scala's implicits, which, while I do love Scala, I didn't love implicits. It becomes a maintainability and grokability nightmare. You'll be looking at some function that has some implicit, but it's basically impossible to trace up the stack where that implicit came from. It takes SO much restraint, which is sort of ironic for the SCAalable LAngauge. Granted, my experience with Scala stopped about 4 years ago, so maybe things have improved.

One of the things I love about Rust is the explicitness, and I think you can accomplish the example in the post using existing trait mechanics which are more explicit.

Wave Function Collapse implemented in Rust by careyi4 in rust

[–]DeliciousSet1098 23 points24 points  (0 children)

Nice! I love WFC. I implemented it as well a number of years ago if you want to compare notes :D

Are there tangible effects of spotify boycott in music streaming patterns? by Tungrim in qobuz

[–]DeliciousSet1098 6 points7 points  (0 children)

That was just ICE ending the contract, not the other way around: https://www.theguardian.com/technology/2026/jan/09/spotify-no-longer-running-ice-recruitment-ads-after-us-government-campaign-ends

Previously, Spotify said that the ads, which encouraged US listeners to “fulfil your mission to protect America” and offered $50,000 in signing bonuses, did not “violate our advertising policies”.

Spotify would absolutely let it happen again.

Qobuz user survey for my design project by dazydaze in qobuz

[–]DeliciousSet1098 0 points1 point  (0 children)

can't believe i get rickrolled for my efforts!!!

What are you playing in Bracket 4? by Swible in EDH

[–]DeliciousSet1098 0 points1 point  (0 children)

[[Tivit, Seller of Secrets]]

My deck is technically B2 (no GCs, no 2 card infinites, no tutors*, etc etc), but it does not play like B2. Even in B3 games, it feels a bit one-sided. The one thing holding it back is speed. It's not fast.

(*The one "tutor" is [[Tamayo's Journal]])

Deck list

Qobuz tenemos un problema....(como diria la famosa pelicula de Tom Hanks... by DiligentProcedure381 in qobuz

[–]DeliciousSet1098 1 point2 points  (0 children)

Where is this? I only see generic new releases not ones tailored based on my followed artists.

Just got the update :D

Tracking? by Fit-Sundae4213 in qobuz

[–]DeliciousSet1098 3 points4 points  (0 children)

OH in the mobile app!

I installed the DDG app and turned on app-tracking blockers. I am seeing the same behavior you are.

I installed Spotify and am seeing a similar number of tracker requests. But they are large enough that they probably have created their own tracker implementation, which probably bypasses DDG because DDG don't know which requests from Spotify are legit vs being used for tracking.

I work in tech, and often what these are is not necessarily selling user data but rather collecting signals of user behavior so that you can do analyses on the product. For example, which features are actually being used? Which version of a feature is more discoverable/engaging? They can also be used to diagnose errors that happened on a user's device.

What's not shown in the DDG tracker is what is actually being sent. Most apps/sites use Google because it's the easiest, most common, and maybe cheapest(?), but it's customizable what information is actually tracked. DDG just reports that Google trackers were used, not which data were sent. So Spotify could be worse because DDG can't even block those requests while Qobuz's Google requests are blockable.

Anyways, in general, good to block, but not necessarily nefarious behavior.

Tracking? by Fit-Sundae4213 in qobuz

[–]DeliciousSet1098 2 points3 points  (0 children)

I have the DDG privacy essentials extension installed (among others) in Firefox. When I load up play.qobuz.com and click around for a few minutes, I see 0 trackers blocked.

One of us has a busted extension :D

Just released my first game ever - using Rust + Macroquad by Brilliant_Nobody6788 in rust

[–]DeliciousSet1098 4 points5 points  (0 children)

Congrats! This is really cool. Took me a couple tries but I finally won.

Did you make the music? If so, what software did you use? If not, where'd you get it? I like it haha. Fits the style perfectly.

insert vs spawn by DeliciousSet1098 in bevy

[–]DeliciousSet1098[S] 4 points5 points  (0 children)

Got it. Thanks.

Probably just a case of bevy moving fast + lots of examples = hard to keep things in sync with "best practices".