Absolutely fascinating deep-dive into the core data structures the folks at Zed Industries use for their #Zed#editor!
"Currently there are over 20 uses of the SumTree in Zed. [...] The list of files in a project is a SumTree. The information returned by git blame is stored in a SumTree. Messages in the chat channel: SumTree. Diagnostics: SumTree."
I've released #Cushy v0.3, a reactive GUI crate for #RustLang. It's been a while, so the changelog is pretty massive. It's still very much an alpha GUI framework, but it's made significant strides since v0.2.
I'm starting working on a blog post highlighting some of the changes and new features, which I'll of course post here when I've published it.
Introducing entropyscan-rs, a #RustLang entropy scanner for analyzing files and directories during incident response. Used carefully, this can quickly identify likely malware when not all stages of an attack have been discovered, such as during a web server compromise without adequate logging. Enjoy!
Preview of what I have been working on recently. The core of this crate is a mere two traits. The crate will ship with a number of parsers and combinators, none of which rely on anything not exposed to downstream users.
I've attached a real-world situation, taken verbatim from the test suite. Parsing integers isn't as efficient as it could be yet, as it's using a naïve method.
Parsing in general compiles to be extremely efficient, and using it is ergonomic.
Wrote a little app launcher for all of my manually installed applications using Tauri in about 2 hours and with less than 100 lines of code. The .deb package it generated is just 2.8 MB in size. I added this to my startup applications using Gnome Tweak Tool.
P.S. One hour was spent fighting the borrow checker. AppImage is 164 MB.
Five months later, I finally got around to bringing up my four channel driver board so I can control X and Y at the same time on these. With a hole in the middle of the PCB, this seems like it could actually work as a back-illuminated microscope stage. Not as good as an OpenFlexure probably? But it's just a PCB, simple 3D printed part, and $3 worth of magnets (well, and drive electronics!). The software driving it is #rustlang, of course!
I keep looking at rust and thinking "Gods it seems to be an awesome language"... Then I read and hear about a lot of hassels moving from C or C++ to rust and never really any massive success stories... are the massive success stories out there? #rustlang#development
@looopTools#Firefox is a massive success story for Rust. After multiple attempts to write a multi threaded style engine in C++, and getting completely destroyed by data races on each attempt, #Mozilla funded Rust #development, and then used it to write a high performance multi threaded styling engine (#Stylo) with no crashes or data races on basically the first attempt.
Once again I get foiled by switching languages. :blobcatfacepalm2:
In Javascript, you have to compare strings with ===, not ==, or else you'll run into type coercion problems, because Javascript thinks 1 == "1" is a totally fine thing to be true. (it's not)
But in Kotlin, === compares identity not equality for strings. But in the JVM, string values are aggressively cached, so === actually does what you want most of the time. Unless your strings come from weird places, like JNI code. Then you get awful non-deterministic behavior that's incredibly hard to debug, but it totally goes away when you use the correct comparison operator == for strings.
sigh I'm not really as good at this whole programming thing as I should be by now.
This was tried a couple of years ago, but there some issues with mingw - so kudos to the folks that investigated and fixed those (sorry that I don't have links)!
Next step, the MSVC builders, which will require bumping the version of Clang that's used to build LLVM first...