skavi
regarding the GP's comments on article content, i suppose maybe one critique could have been sharpened by a closer reading?
> There could be some value buried in there
i'd imagine you agree.
> could have been 10% of its size
likely false, but i interpreted this as an intentional exaggeration
> could have been human written
likely true
also, i'd expect the LLMness of that intro to bounce at least as many people as the additional context you've included retains (~0).
who is your audience? why are you defining every single term here? perhaps i am less tenacious than most, but i wouldn't expect many who are unfamiliar with interpreters, formal proofs, or assembly language to be willing to charge on ahead—even when armed with that additional context.
also, writing your very first paragraph via LLM is certainly a choice.
all i wanted was to add a new method i could call in the same way as all the methods on Iterator (map, filter, etc.). and was suddenly confronted with `impl Trait2 for T where T: Trait1`. which makes perfect sense now. but at the time was unparseable.
different people struggle with different things. your existing experience is a major factor. there are a lot of concepts in rust that you may have already figured out in another language.
personally, i started learning rust two years after i started programming. at that point i had basic experience with c, c++, and some assembly.
i struggled with pretty much everything. i recall traits being particularly confusing. i’m not sure i fully got them until i messed with typeclasses in haskell at some later point.
but, honestly, i don’t remember struggling too much with lifetimes. i think the compiler is pretty good at suggesting fixes for common issues. i think it was helpful that i knew what a pointer was and had debugged segfaults. also, i didn’t really have an existing way of structuring programs that i was trying to reconcile with rust.
Box, Arc, and Rc you’ll figure out as you need them. you can think of them as tools which let you escape lifetimes.
Pin you won’t need to think about for a very long time [0]. You should check out my guide [1] if you’re interested though :). There are many others.
[0]: unless you’re the guy i’ve tasked with fully understanding FuturesUnordered as his very first introduction to Rust, lmao.
[1]: https://github.com/soooch/async-intuition/blob/main/src/pin_...
at the same time, vox doesn't really look like a lot of other QT apps (whereas a lot of modern GTK apps tend to have very similar designs).
notes seems like a great app. ux seems great from the demo reels. but it doesn't look quite as nice to me. the drop shadows (on click and drag) seem off. many things are very flat and wireframe looking. the icons look "cheap" (trashcan and slider/config particularly). i am unsure on how you choose between full black and dark grey in your design system but it feels a bit inconsistent.
all that said, i think the animations look great. very smooth.
Also, that was an easily citable doc line, but I think a more comprehensive look at the work done in Fuchsia shows it has or had ambitions to run on personal computers.
e.g.: fancy graphics stack, Linux compatibility layer, ideas about OS integrated cloud syncing, the original work on the Xi text editor.
> Zircon targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.
Fuchsia also had a Linux compatibility layer similar to WSL1 at some point. Might still be there?
[0]: https://fuchsia.dev/fuchsia-src/concepts/kernel/zx_and_lk
Also, a link to the rust root of Zircon in case anyone else was interested: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/z...
Totally fair, and I agree that you should only have a few threads (or TPC) and shouldn’t be inundating the allocator with requests. But I’m only grinding this axe because I’ve personally had to deal with a system that went against most of that guidance.
We ran far too many threads in a memory-constrained environment. Thread count was many multiples of core count.
I totally agree that this is “questionable territory”, but honestly, any application that’s outgrown the basic glibc malloc has made a few mistakes.
maybe i give it too much weight, but:
> massive oversubscription of physical CPU cores (ie tens of thousands of threads) where TLS becomes utterly wasteful while also thrashing the cache
seems worth solving to me
[0]: https://github.com/google/tcmalloc/blob/master/docs/gperftoo...