In addition to deepening my knowledge of Rust Embedded, the challenge was to make the most of standard LEGO parts, the servo, the motor, and especially the power supply (LEGO Power Functions pack of 6 AA batteries).
Non LEGO parts are mostly a Raspberry Pico W (for Wi-Fi control), an arducam (video stream), a Kitronik 5331, a buck converter, and a lot of jumper cables.
What I found most interesting, as a Rust programer, is how similar the backend and embedded code are. Even with the constraints of no_std, the parallel code running on the small Pico looks like your standard rust backend, even while there's no OS and almost no memory on this small chip.
During the thick of it, I could barely write at all. Physically as well. It was physically difficult to make the letters and others had a lot of trouble reading what I wrote. (Which was especially annoying when I had to fill out consent forms for my therapist!) Just the simple task of: 1) reading them, 2) signing them, 3) scanning them and 4) sending them back to her was incredibly difficult for me to do.
I have since been scanning documents like a boss. Lol.
Termimad author here: I’m always a bit afraid, when I see the popularity of this crate, that it might be undue and that people may lose time trying to use it when it’s probably not the tool they need.
Termimad isn’t a full-fledged TUI framework. It can be used to build TUIs (I made broot, bacon, safecloset, etc. with it), but if you want to quickly build a TUI and compose UI components and widgets, you’ll probably find it much easier to choose a real TUI framework (e.g. ratatui).
Termimad isn’t a generic Markdown viewer either. Markdown is mainly used as a language for the developer to describe parts of the interface—especially rich text—inside a TUI. People interested in rendering arbitrary Markdown files will find that it lacks features such as image rendering.
We don't know exactly why nature can't do otherwise, but any complex brain has to sleep.
Some animals, mainly sharks which can't stop or they would be asphyxied, deal with that by having kind of 2 brains which are never both sleeping at the same time.
Imagine you have a big enum in Rust, for example an Error, with a dozen or more variants.
When maintaining related code, for example a Display implementation, or routing to some behaviors, it's sometimes much easier when it's alpha sorted: you immediately see what's implemented or not.
That's when you can hit the codesort shortcut to have this specific list (enum variants, match arms, etc.) sorted.
Non LEGO parts are mostly a Raspberry Pico W (for Wi-Fi control), an arducam (video stream), a Kitronik 5331, a buck converter, and a lot of jumper cables.
What I found most interesting, as a Rust programer, is how similar the backend and embedded code are. Even with the constraints of no_std, the parallel code running on the small Pico looks like your standard rust backend, even while there's no OS and almost no memory on this small chip.