What are you working on this week? (June. 30, 2024)
What are you working on this week? (June. 30, 2024)
Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?
What are you working on this week? (June. 30, 2024)
Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?
Been working through Andrej Karpathy's ML lectures in Rust. The backprop one went pretty well, but I had to learn how to do type indirection and interior mutabilty because of the backprop graph structure. I'm now on the makemore lecture, but having a lot of trouble building the bi-gram model in Burn (the rust native ML framework), because it seems like directly incrementing the tensor values is insanely slow. His example that takes like 10 seconds to run in Python takes two and a half minutes in Rust with Burn, so trying to figure out how to optimize or speed that up.
More progress on the Finite Projective Plane (incidence matrix) generation from last week. There already exists an algorithm to generate boards of order p+1 where p is prime. It is stateless, so with CUDA we can generate huge boards in seconds since all you need is the x, y position and board size. 258x258 under 3s!
However, p+1 isn't the only sequence. It seems by our observations that the fermat numbers also generate valid boards, using our "naïve" algorithm.
Unfortunately 3x3, 5x5, and 17x17 might not contain all the nuggets of generality to find a nice algorithm like the p+1, so we're gonna generate the next up: 257x257. We've been improving the naïve algorithm since it is too slow. (The resulting image would be 65793x65793)
true
elements would be using row and column indexes. This is okay because of the constraint which limits how many true
elements can be in a row/columnslice::contains
, use slice::binary_search(...).is_ok()
Next steps:
Another optimization:
I ported the frontend for https://kellnr.io from vuex to pinia, which makes the code to hold state in the frontend much cleaner.
Every post, I see you commenting progress. Respectable! Do you work on kellnr fulltime?
Anti Commercial-AI license
Unfortunately not. But I try to work on it a few hours every week in my spare time. I think that having an easy and free crate registry is crucial for the adaption of Rust in the commercial space. Companies don't want to share their code publicly on crates.io. My full time job is in the IT security sector. My hope is that by pushing Rust as a safe language, we can close some fundamental design flaws that languages like C/C++ introduced and make software landscape more secure.