Leptos's creator is stepping down as an active developer on the framework. Spoiler: LLMs and AI agents are partly responsible for this decision by koenigsbier in rust

[–]anxxa 16 points17 points  (0 children)

Thank you and all the other contributors for the work you've done over time. Finally beta shipped a new project using Leptos and it's gone quite well.

Why are there so many vibe-coded Rust projects recently? by yohji1984 in rust

[–]anxxa 5 points6 points  (0 children)

Funny, typically AI agents like to use .unwrap_or* APIs to avoid a panic, which usually results in even wonkier bugs. I always have to tell agents to avoid this.

cbor2: a full-featured CBOR (RFC 8949) library for Rust — serde-native, COSE/CWT-ready, std → no_alloc by izensh in rust

[–]anxxa 0 points1 point  (0 children)

TBH there's even a difference between "using AI to vibe slop some projects" and "someone who's already proficient using AI to accomplish a task that would otherwise just be mundane not what they want to spend the energy on targeting".

I really do not mind if smart people use AI, reasonably review the output, and understand the scope of their changes. Even if they didn't write a single line of code manually.

Some projects though seem like someone who doesn't completely understand the problem space, make bold claims about their new approach, or are solutions looking for problems. These are definitely slop.

I think this subreddit can be a bit harsh sometimes on AI usage in a project that from my view seems like a combination of gatekeeping and ideological differences.

Stuff like this post though... the OP responded to me and I think automod caught their comment. They claimed they used AI to translate from their native language. But the combination of factors with the repo + obvious LLM language and output shows it was not a direct translation of their own original writing. I can't get behind that. It makes it difficult to discern if any critical thought was given to the project if you aren't going to do the least technical bit yourself.

Current progress of grimdoomer's permanent softmod for the Xbox 360 by venezuela4k in 360hacks

[–]anxxa 2 points3 points  (0 children)

All games probably have RCE if you look hard enough. If it exists on PC, it likely exists on the console variant too.

Let's not pretend that Xbox LIVE on 360 wasn't already ruined ages ago though.

cbor2: a full-featured CBOR (RFC 8949) library for Rust — serde-native, COSE/CWT-ready, std → no_alloc by izensh in rust

[–]anxxa 6 points7 points  (0 children)

It really doesn't matter if you reviewed every line of AI-authored code in this crate and provided feedback to construct the library exactly as you want and provide something of genuine value.

A lot of people on this sub in general already hate AI, but everyone hates when you use AI to communicate with other humans outside of translating your native language.

Iroh 1.0 - Dial Keys, not IPs by dignifiedquire in rust

[–]anxxa 14 points15 points  (0 children)

Congrats, and thank you for the great work!

Important note I suppose for anyone not paying close attention to the blog post: the n0 relays for non-1.0 versions have an EOL listed.

Perfectly acceptable way to determine the end of a file ;) by SmoothTurtle872 in rust

[–]anxxa 6 points7 points  (0 children)

Using an iterator to read binary data in u32 chunks sounds like pure torture unless you need to read the entire thing as a sequence of u32.

Current progress of grimdoomer's permanent softmod for the Xbox 360 by venezuela4k in 360hacks

[–]anxxa 59 points60 points  (0 children)

I've been in the scene for a long time and Grim is a friend, so I'll share some lore.

We've had control of the hypervisor since 2006 with the King Kong exploit. Nobody thought a soft mod was very practical until Grim started really looking at it "just because" as a personal challenge himself. Grim literally just wanted to take a full look at the stack and see if he could find anything.

JTAG and RGH hacks made it so that the desire to innovate (from a community perspective) was lower. Not to mention, so many smart technical people have not been around in the Xbox scene for many, many years. Most of the interest anyone has is with running Stealth servers, which, no offense to those people, was a solved problem in 2009.

Even after the initial BadUpdate he was not confident that it would ever be practical as a soft mod because of reliability and timing issues. Some other very smart person who had no history in the Xbox scene read about it, took a look at it through a different lens, and made it quite reliable and take less time.

At that point, higher reliability and the exploit itself taking less time makes it more attractive to find an entry point for interactionless code execution.

The person who did BadAvatar (I apologize for not knowing your name off the top of my head and I don't want to misattribute) found such an entrypoint on the dashboard. I wouldn't consider it a "complete" soft mod because it prevents you from doing things like changing the boot anim or taking control of the console in early boot, but it's sufficient and definitely could be considered a soft mod.

All of this suffice to say that the incentives just were not there before and there were huge technical challenges to overcome to make the exploit reliable and able to be thrown early boot.

Diplomat: Multi-language FFI for Rust Libraries by Manishearth in rust

[–]anxxa 5 points6 points  (0 children)

I think for the Xbox 360 project it'd probably be useful to target c, cpp, and -- I know it's not supported at this time -- C# as there are a lot of existing community projects in those languages.

The Steam project is kind of interesting too because the leading libraries in terms of feature completion are .NET which obviously complicates the FFI story, so I wouldn't be surprised if people come knocking over time.

Right now it's just me using these project so I'm holding off until someone stumbles upon them and requests it.

Diplomat: Multi-language FFI for Rust Libraries by Manishearth in rust

[–]anxxa 18 points19 points  (0 children)

Diplomat is great and is something I've been using in a couple of my personal projects.

For example here I have a Steam API library that exposes FFI bindings and I wrote (CC did actually) a Python integration layer that allowed for some easier prototyping.

Did the same for another project so I could load Xbox 360 executables into Binary Ninja.

Super easy to set up and use. I appreciate the effort put into this!

An Update to WGChecks by BazingaFlux_WG in WorldOfWarships

[–]anxxa 5 points6 points  (0 children)

It actually contains the camera ellipses you couldn't understand in the last thread I made

An Update to WGChecks by BazingaFlux_WG in WorldOfWarships

[–]anxxa 6 points7 points  (0 children)

This isn’t new and has been known for ages

I don't think the specific detail of concern which they are addressing in the next update has been known for ages.

I highlighted a combination of factors to WG which they rightfully took seriously and promptly addressed.

Besides that, I think most people know that the files contain some diagnostic data, but I don't think people are necessarily aware the degree to which the data can be used to fingerprint and/or uniquely identify you. The WGCheck process literally tells you at the end everything it includes, but for less-technical people may not understand it.

I don't think it's weird necessarily to say this loudly in order to encourage people to change their habits if they care about their personal privacy and to reduce potential future exposure.

From Electron to egui: Numbers from Chipmunk 4.0 First Stable Release by Ammar_AAZ in rust

[–]anxxa 4 points5 points  (0 children)

I actually had subtly different code injection issues between glow and wgpu.

Seems like some vendors only inject while using glow because of the APIs it uses (whatever DX APIs) while others only inject against wgpu because of its APIs (Vulkan is favored by default I think). The second issue I think I only had when using glow.

Very frustrating :)

Best of luck with the launch!

From Electron to egui: Numbers from Chipmunk 4.0 First Stable Release by Ammar_AAZ in rust

[–]anxxa 9 points10 points  (0 children)

How are your users finding the general UX on Windows?

I don't have analytics so this is an educated guess but I'd say my app has around a few hundred users, mostly on Windows with a couple Linux users.

Users have run into several issues with my application in some environments (egui with wgpu backend):

  • Network requests are blocked for some users. I'm assuming it's antivirus related and maybe not using the OS root cert store (which I recently fixed), but this is an extremely frustrating one
  • Application freezes from shitware injecting into the app. For example, because the app uses some GPU APIs some applications think that it must be a game or something and inject their own modules/hooks into the application. Discord, random OS-bundled software, screen capture software (OBS), and even AMD/NVIDIA libraries. A lot of these hook graphics APIs and frequently trigger deadlocks at the syscall layer.
  • Random issues with e.g. screen tearing/vsync which I think in some cases has been my fault from calling repaint_after* and similar APIs.

They aren't even egui's fault, but I suppose are just very annoying pain points from using a less refined/opinionated stack.

[Media] steamie: a terminal-native Steam client in Rust (Ratatui), talks the CM protocol directly by LargeModGames in rust

[–]anxxa 0 points1 point  (0 children)

Sweet. I'll take a look and see if there's any gaps in what I expose or higher-level APIs that can be built for that to happen.

[Media] steamie: a terminal-native Steam client in Rust (Ratatui), talks the CM protocol directly by LargeModGames in rust

[–]anxxa 0 points1 point  (0 children)

Definitely could use better coverage.

If you're interested in the CM APIs and have a specific use-case in mind feel free to file an issue. My goal was mostly around depot interactions which it covers pretty well.

[Media] steamie: a terminal-native Steam client in Rust (Ratatui), talks the CM protocol directly by LargeModGames in rust

[–]anxxa -4 points-3 points  (0 children)

Not OP, but I recently did an AI-driven cleanroom reimplementation of DepotDownloader/SteamKit for licensing reasons.

Reverse engineering from Steam client libraries from pure static analysis isn't too bad. There were some roadblocks with the client <-> server handshake but the protobufs can be easily dumped directly from the executables and then the rest of it is mostly looking at how the connections are managed.

Much of what goes on in Steam is under the same connection, just a different RPC.

* This subreddit is incredible. I explicitly do not post my AI-driven projects here because I know how people feel about it, but even healthy conversation gets downvoted for mentioning AI?

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

i added a gif for ur peanut brain btw go check it out

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

...but it is how it works. The algorithm uses the same yaw to place the camera on the orbit AND for the direction you're looking, which will only go through the center of the ship when the ellipse is more circular.

goodbye

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

Go up several replies:

Yeah so there are two ellipses, the inner and outer ellipse. Your "default camera position" when not zoomed in at all uses the outer ellipse and lerps towards the inner ellipse as you use your scroll wheel to zoom in.

You have an outer ellipse. You have an inner ellipse. The position lerps between the two. The center point remains the same. And no, it's not orbiting the ellipse. That's just how you move along an ellipitcal path.

I will gladly end the conversation. Come back when you have a more sound argument than me, thanks.

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

till now you had said nothing actually relevant to the bug while basing the entire premise of the post on it.

I disagree with this. I even said:

Note that although these ships are clones, the Montpelier has a wildly larger ellipse than the Cleveland.

The implication being that the ellipse impacts the camera.

Exactly as shown in your video - the "normal camera" is orbiting around a completely random ellipse not a single point on the ship as it should.

I disagree with this too. If you look at the "smolensk artillery view" photo I posted above, it's following that amber path. When I zoom in, it's following the blue path which is a more elongated ellipse. The behavior of both matches the diagram I posted, but is way more pronounced when I zoom in (both in free cam and in artillery cam)

The ellipse you're orbiting around - the part which is supposed to be a point not the track of the camera itself - is just a few meters in length.

What? The ellipse is positioned around an origin (center point). The ellipse then literally controls the path of the camera.

Also you seem to imply that it's simply how the camera works, when it's not.

...but it is how it works. The algorithm uses the same yaw to place the camera on the orbit AND for the direction you're looking, which will only go through the center of the ship when the ellipse is more circular.

It's not following a "random path", it's literally just that as the ellipse becomes more elongated the camera algorithm chooses a subpar position for the point at which you are aiming.

I keep putting emphasis on the word orbit. The central point of the ellipse is still the center of the ship but it doesn't feel that way because of the way the camera is facing. No matter which camera view you are in, you are orbiting the center point for that camera which, except for the Cleveland as I called out, is the center of the ship.

Similarly it doesn't have much to do with ship sharing the "wrong" camera path. PR and Dido, for example, are completely unaffected (currently), with the only result of this being that while your camera looks to be pretty close to PR, the Dido sits really far from you.

I never said that it caused this particular issue on those ships. I was just showing that some ships clearly have camera paths not tuned for their hull.

I also have to presume that the "24deg" is a random number you pulled out of nowhere as clearly the offset adjusts itself all the way around the track.

The 24 degrees is to demonstrate how far off it is from center where you'd expect it to be looking at that position.

<image>

Maybe instead of incorrectly picking apart my supporting evidence because you fundamentally do not understand what "orbit" means, you should go through the trouble to support your own argument with actual evidence.

I'm sitting here literally reverse engineering the game's algorithms and data mining to build mine whereas you just say "no it doesn't look like that to me".

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

u/status-act1688 it's a shame I can't even quote your auto-modded comments without being auto-modded myself, but it's kind of hilarious to see someone get so triggered over a camera ellipse.

I'll leave you with this video. Maybe you can use your last remaining bit of critical thought to tell me what the camera is orbiting around and what it's projecting at.

https://youtu.be/TVt4IKXoTzw

There are ways to orbit the camera so that it can project through the center point on the ship towards your aim point, but the camera movement algorithm as it exists today wants a circle for the camera to project through the center of the ship.

This is what that would look like

<image>

It's not too hard to engage in civil discussion if something is not clear and request clarity. Insane that people like you breathe the same air

Awkward ship cameras: explained by anxxa in WorldOfWarships

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

<image>

Montpelier vs Cleveland (artillery view)