Visit your nearest aquarium! They often have a petting tank where you can touch rays and small sharks. And if not, hey, at least the aquarium is still great!
Visit your nearest aquarium! They often have a petting tank where you can touch rays and small sharks. And if not, hey, at least the aquarium is still great!
Some alcohol cooks off when used this way, but not all. Be cautious when cooking for others to mention this so non-drinkers can make an informed choice.
It can be a delicious addition though: alcohol dissolves flavor and aromatic compounds that water and fat cannot, so you get a lot of unique flavors especially from barrel-aged drinks like whisky and wine.
Space Mutiny is my favorite, but since OP already claimed it (now who will bring toys to the children!?) I’ll go with my close second, Overdrawn at the Memory Bank. It’s such trash and Raul Julia tears up every blessed scene he’s in. He only dabbles in dopples but his love for the cinemas is easy to reciprocate.
Try a typing game, there’s lots of them now in several genres. I learned to touch type in secondary school, doing the old fashioned thing of taping a sheet of paper over the keyboard (and typing under it) so you can’t see the keys. That works but I believe in the educational power of games, and it’ll be more fun.
Otherwise, just practice. If you use lemmy on mobile, try switching to desktop to type more. Start writing letters to people or short stories or anything that just encourages you to type more.
Interesting, I’d tend to demote the initialism, ie topSecretFbiFiles.tar.gz
My last car was named Alice after the “Alice in Chains” mix cd that was left in the cd changer when I bought it.
My current car isn’t named, because I think it might be cursed and I don’t want to give any more power to it.
I agree with the other suggestions so far, to wit:
1.dyn is fine, when you need it. People will give you a lot of guff about performance but vtable lookup on a dyn is no less performant than the same thing in C++ (in higher level languages almost every call is dynamically dispatched and those are used for plenty of serious, performant work).
Use enums more.
Use traits and generic functions
And I would add a couple of other thoughts.
For some DI type work, you can use cargo’s Features to define custom build flags. You can then put variants on the same code (usually implementing a trait) in different modules and use conditional compilation on the Features to swap out which code is used. This is like a compile-time strategy pattern. I use it for testing, but also to swap out databases (using a local in-memory to test and a real one in prod) and to swap out graphical backends on my roguelike (compiles to OpenGL on windows but Metal on my Mac).
You’ll probably want to learn Rust’s macro system sooner than later as well. Sometimes a macro is better than a function when you need to generically operate over several types (function argument overloading, in other languages) or work on something in a general but well-structured way (tree walking for example).
I’ve gotten back into tinkering on a little Rust game project, it has about a dozen dependencies on various math and gamedev libraries. When I go to build (just like with npm in my JavaScript projects) cargo needs to download and build just over 200 projects. 3 of them build and run “install scripts” which are just also rust programs. I know this because my anti-virus flagged each of them and I had to allow them through so my little roguelike would build.
Like, what are we even suppose to tell “normal people” about security? “Yeah, don’t download files from people you don’t trust and never run executables from the web. How do I install this programming utility? Blindly run code from over 300 people and hope none of them wanted to sneak something malicious in there.”
I don’t want to go back to the days of hand chisling every routine into bare silicon by hand, but i feel l like there must be a better system we just haven’t devised yet.
It’s because they ruined Linux! Damn Linux users!