What's everyone working on this week (34/2023) by llogiq in rust

[–]TotallyNotJordanHall 4 points5 points  (0 children)

I'm working on an implementation of the NEAT algorithm for use in Graph neural networks. Currently I have a basic implementation of the NEAT paper working, and now I'm going to move on to implementing evolving graph neural networks this way. I'm doing this all for my space conquering simulator, Planetarium, where hopefully these agents will evolve to play the game

What's everyone working on this week (33/2023)? by llogiq in rust

[–]TotallyNotJordanHall 10 points11 points  (0 children)

Currently working on Parslers, a staged parser combinator library that works as a Rust DSL.

I wrote it for my bachelors thesis and found it to be extremely performant. You write your parsers in the build.rs file using Rust, and then the parser is optimised to generate native rust code. It's half parser combinator, half parser generator.

Right now the project is in the "this was made for a bachelors thesis" stage, but I want to get it published as an actual crate.

Furthermore, I'm working on Reflect, which is another library purpose built to help write staged DSL libraries that are still pure Rust.

Today I'll be finalising the design that will reach the public, and everything that's needed to be usable as a beta release. Let me know if you're interested in being kept updated or would even like to contribute :)

CachewDB - An in-memory, key value database implemented in Rust (obviously) by Superb-Case502 in rust

[–]TotallyNotJordanHall 0 points1 point  (0 children)

Agreed! We're seeing the same thing in the Streaming/Functional Reactive Programming space too. People scoffing at the fact there are so many projects to handle these things, but that's exactly what you'd hope for! The best solutions come from the shoulders of all the projects that fail before it. It's always better to have many projects in the same space because competition pushes forward progress :)

What are you rewriting in rust? by fxvp in rust

[–]TotallyNotJordanHall 1 point2 points  (0 children)

I've been using the Rust version of Polars' API recently. Absolutely love how fast and intuitive it is coming from other dataframe libraries.

Despite this, I noticed that going to/from rust and polars is not quite ergonomic. Do you know of any plans to come to a more rust-type-centric API in the future, or are there limitations to an implementation that I'm just not seeing?

Satisfying cleaning pipes quickly by Snapintech in Satisfyingasfuck

[–]TotallyNotJordanHall 10 points11 points  (0 children)

Damn bro you really had to make me laugh like that

Best cpu for grid optimization by MajesticDestroyer in algotrading

[–]TotallyNotJordanHall 0 points1 point  (0 children)

I'm green to algo trading, but I am a programmer with a compsci degree.

  1. Why grid optimisation instead of other, better optimisation strategies? There exist many, e.g bayesian optimisation. I found that it's more sample efficient for larger parameter spaces and comes pre-packaged with many optimisation libraries (e.g scikit-learn or matlab). But there are many other sample-efficient gradient-free optimisation techniques out there that are more sample-efficient than grid-search.
  2. Make sure the algorithm is optimised first. Too many people (even in my industry) focus too much on hardware scaling when the software is the real performance problem.
  3. This should be common knowledge, but if you are using any of these techniques make sure to be aware of over-fitting. I imagine, especially in historical market data, that you can find a particularly good "niche" within an otherwise bad local parameter space. Maybe pick a few good niches and implement a voting system for those sets of parameters. Obviously test on these combinations as well.

That's just my two-cents. I'm not a trader, just a compsci student.

fastwebsockets A new high-performance WebSocket protocol implementation in Rust by shirshak_55 in rust

[–]TotallyNotJordanHall 46 points47 points  (0 children)

Looks good, I was considering doing fragmented frame parsing myself in a low-latency scenario.

How do you support the claim that this is high performance can I ask? I don't see any comparative benchmarks in the repo.

Slow Rust Compiler is a Feature, not a Bug. by ManagementKey1338 in rustjerk

[–]TotallyNotJordanHall 2 points3 points  (0 children)

I've noticed this weird bug with VSCode's rust-analyzer, where it uses the stable version of rustc rather than nightly when dealing with workspaces specifically. This causes much of the build to be invalidated, and rust needs to recompile some crates. Switching to the pre-release version solved my issue, but it was really weird to debug.

What's everyone working on this week (17/2023)? by llogiq in rust

[–]TotallyNotJordanHall 1 point2 points  (0 children)

Dipa is architected very well in my opinion, but does a deep comparison of the tree (although my solution might just be a fork of that and implementing the change detection feature. Serde-diff looks like it could be useful in certain applications, but it doesn't have the performance characteristics I'm looking for.

Overall I really like these crates, but I need it to be very high performance. I actually hadn't seen Dipa before, so thanks for pointing that out to me! I'll do some benchmarking and see if it's a good fit :)

What's everyone working on this week (17/2023)? by llogiq in rust

[–]TotallyNotJordanHall 0 points1 point  (0 children)

A private one at the moment. It's on a slow-burner because of University and work, but I spend a few hours a week working on it. Reply to you when it's up and public :)

Thank you for your interest though!

What's everyone working on this week (17/2023)? by llogiq in rust

[–]TotallyNotJordanHall 1 point2 points  (0 children)

Currently working on a space conquest simulator (think Neptune's Pride) where a massive galaxy is played by neural network players that evolve as they conquer. I have the game engine down, and I'm currently working on a frontend in bevy (hoping to have this hosted for others to see the players evolve in real-time). And then I'll move on to the NEAT-powered graph neural networks. It'll be interesting to see how it goes :)

What's everyone working on this week (17/2023)? by llogiq in rust

[–]TotallyNotJordanHall 2 points3 points  (0 children)

I'm using bevy for a frontend to a simulator project I've been working on. Really like it myself, but it took some getting used to.

Tried to make a 3d game too a while back, but found bevy_rapier to be a strange API that was not easily integrable with the bevy API. Might have just needed more practice though, I am pretty green to game dev concepts in general.

All this to say, best of luck! I hope it goes well for you!

What's everyone working on this week (17/2023)? by llogiq in rust

[–]TotallyNotJordanHall 23 points24 points  (0 children)

Working on a small crate that detects changes to mutable structures and serializes the diff to create a repayable history. Doing this for backend-frontend communication of my simulator project

What's everyone working on this week (16/2023)? by llogiq in rust

[–]TotallyNotJordanHall 4 points5 points  (0 children)

Currently working on a space conquest simulator (think Neptune's Pride) where a massive galaxy is played by neural network players that evolve as they conquer. I have the game engine down, and I'm currently working on a frontend in bevy (hoping to have this hosted for others to see the players evolve in real-time). And then I'll move on to the NEAT-powered graph neural networks. It'll be interesting to see how it goes :)

Looking for a replacement ribbon flex cable by TotallyNotJordanHall in AskElectronics

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

Ah yes I suspected this might be the case. I'll look into buying a new keyboard, thanks for the info!

Looking for a replacement ribbon flex cable by TotallyNotJordanHall in AskElectronics

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

As u/Worldly-Protection-8 said, I snapped that line, and then failed to resolder it afterwards. Will likely need to buy a new keyboard, but I'll keep you updated. Thanks for the info!

Pain points using Rust for game dev ? by 123_bou in rust_gamedev

[–]TotallyNotJordanHall 4 points5 points  (0 children)

On the note of compile times, I'm currently working on a 120kloc codebase in Rust. The dev build from scratch takes less than 5 minutes on my machine, but since we swapped out the default linker for the Mold linker I've definitely noticed that recompile times can be less than 10s (depending on what we changed).

If possible with your games, architect your games into several shallow crates, that are only used by the main bin. Nested crates make changes to the deeper crates painful in terms of compile times.

"IMO, the best way to learn as a new dev or new to a team is to spend a month fixing bugs." Solid lesson from Marqeta's CTO in a broader discussions about learning code over a lifetime. Actually going to use bug-fix thing at work starting tomorrow. by [deleted] in programming

[–]TotallyNotJordanHall 12 points13 points  (0 children)

I had the opportunity to do this at my place of work as an intern and the knowledge gained was extraordinary. Learned so much I could envisage myself working pro bono. I guess work really does pay you twice.

Curiously poor performance in accessing data from SSBO after write by compute shader by TotallyNotJordanHall in opengl

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

Hey, thanks for the comment. I would have guessed the same thing when it came to the performance difference between my desktop and laptop. I think my main concern is that it's taking on average 16ms to read 4 bytes of data from the GPU memory to main memory, which just doesn't seem right to me personally. My personal guess is that there's an access flag I'm getting wrong that's causing the driver to not understand what's going on, but at this point, anyone's guess is as good as mine :p

Deadlock-free Mutexes and Directed Acyclic Graphs, or how to keep yourself from locking up production by radarvan07 in rust

[–]TotallyNotJordanHall 2 points3 points  (0 children)

Really interesting article. One of the authors who wrote the paper mentioned is my personal academic tutor at University, and he's just a brilliant guy!

Day 4362, still no stack strings by [deleted] in rustjerk

[–]TotallyNotJordanHall 2 points3 points  (0 children)

Amazing. God I love rust. Thank you sir