921 karma · joined July 2, 2015
Indeed. Starting out with code sprinkled with Rc, Weak, RefCell, etc is perfectly fine and performance will probably not be worse than in any other safe languages. And if you do this, Rust is pretty close to those languages in ease of use for what are otherwise complex topics in Rust.
A good reference for different approaches is Learn Rust With Entirely Too Many Linked Lists https://rust-unofficial.github.io/too-many-lists/
Generally “included (in the price)”, complimentary (costless but usually limited) or another word better fits the situation. But everyday language around this has gotten very imprecise.
So long as repercussions aren’t more serious (see EU fines) or more personal (hold C-suite personally responsible for contempt of court or similar), nothing will change.
Except if you go to a GC language, but then you’re prototyping other types of stuff than you’d probably pick Rust for.
Fortunately I haven’t seen the longer blocking you mention.
Problems start when these institutions get systematically dismantled and salaries don’t change to make up for them.
Edit: Interestingly, above were also the result of an experimental musical instrument. See https://kbd.news/0xC-0x33-1525.html
Edit: There are decent guides to designing and hand-wiring keyboards using computer keycaps. I haven't looked far, but something like this https://medium.com/cracked-the-code/a-complete-guide-to-buil... .
The linked layout editor (http://www.keyboard-layout-editor.com) allows pretty wild layouts. Try loading the ErgoDox layout. While you might want to go farther still, it does nicely showcase rotated thumb clusters.
The plate & case builder tool can then generate some basic CAD files for a sandwich keyboard build to fit your keys. This can then be laser cut or something.
Because most designs use a Teensy with USB connection, you might even be able to make the keyboard output MIDI, so it could easily plug into a DAW, or whatever.
And if you can accept these different facets being more fluid, I’d propose that rather than curing autism (something I don’t believe in and would never champion), one might be able to moderate specific facets of ASD that people on the spectrum themselves find a hindrance by changing the microbiome. Say some kinds of stimuli-caused overwhelm. Similar to somebody changing their diet to limit hangriness or blood sugar drops.
Note that at no point am I suggesting somebody with ASD needs treatment, just that they might see some improvements in their well-being if they wanted.
Finally, I derailed my comment by mixing it with a well-intended comment about mindset. I mean no judgement w.r.t. a fixed mindset, just that I found it a hindrance myself and have been happier since I started working on changing it.
For example being able to write down some things I may have held as axiomatic in the past (e.g. ideals or standards of behavior) and being able to consider how they may not be so fixed and deciding to change them or ignore them entirely is very liberating.
Among other things it lets me view my identity as separate from my feelings and behaviors.
P.S. I don’t appreciate the ad hominem at the end of your comment. Even if I unintentionally offended you don’t think I deserve that.
For example, you might have a particular way of thinking that is different from other people which is both important to you and often associated with ASD. That doesn’t feel like something likely to change qualitatively from say a diet change.
On the other hand, there might be aspects like being overwhelmed by particular kinds of stimuli, that feel less personal and may feel more likely to be impacted be something like a diet change.
Finally, consider that you might be holding too tightly to some aspects of who you are “right now”, to be able to see and accept how some of these things might change. I know I do sp sometimes (regardless of whether I might be on the spectrum, or not). At the very least a relatively fixed (as opposed to growth) mindset is also often associated with ASD.
I think now that too many lists is part of the book, maybe the compiler can link to that in some cases, hah.
There’s only so many variations that work for something like trees (especially with doubly linked nodes) in any language, without either inherently unsafe lifetimes (because the particular language can’t express them as part of the API) or some kind of indirection (such as ECS style indices). Or garbage collection or ref counting, but one probably uses Rust to be able to control that kind of overhead instead of having to use whatever the language creators picked.
If you want to learn about this, instead of using a ‘blessed’ implementation, read “too many linked lists” https://rust-unofficial.github.io/too-many-lists/.
As for the front-loading comment: yes, Rust requires you to get some things right from the start, particularly ownership and lifetimes. If you want to work in Rust like in a scripting language, you can just use Box, Rc and clone() everywhere. But getting it right without those might require a significantly different API. Which isn’t that much different with your rough C implementation. To get any kind of safe API there will require just as many changes (if not more).