I've yet to dip my toes into Wasm. This might push me to finally get going. Based on a quick search, Wasmer and Wasmtime appear to be the two most popular runtimes with the latter being backed by some big names (via the Bytecode Alliance). Wasmer seems to push new features first. Can someone share what their experience was like with either or why they chose one over the other?
> I have two young kids and I'm constantly humbled by how fearless they are...There's this tremendous power in "not knowing what you don't know" that sometime in university disappeared from me...
"The teenage spirit." There was an interview[1] with one of the founders of Teenage Engineering (makers of the OP-1 synth) that drew from this line of thinking when naming their company:
> They took their name Teenage Engineering from an early prototype that they never launched, but it fits the company and its philosophy well. “The teenage spirit is sometimes about doing things without having any knowledge of how to do them,” he says. “You just do it. That’s often how we go about things. If there’s something we don’t know, say electronics, we learn; we don’t let it stop us. It’s about having more will than knowledge, which is a more rock ’n’ roll way of solving things.”
An interpreter for AMPscript (DSL for personalizing emails) that I used when I was at ExactTarget/Salesforce. I wanted to learn Rust and needed a project-based approach.
It doesn't really have a real-world use case since it's not integrated with any email platform (e.g., Marketing Cloud). I had loads of fun working on it though! Oh, and it's still missing a garbage collector.
Books/tutorials/etc. never really worked for me because they were all "happy path" exercises (read: too boring). Things only started clicking when I had to overcome obstacles while porting projects written in different languages over to Rust.
If you're like me and more interested in language additions, each release entry has a "Language Updates" section (under "Language and Libraries") with example code/usage.
I've spent the last several weeks porting a backend I had written in Go over to Rust (using Axum) and so far so good. But I don't know if I can call things in the Rust world like Axum/Actix/etc. "frameworks" anymore considering all the time I've had to spend researching/vetting crates to get the same functionality that comes out of the box in Spring/ASP.net/Django/etc.
Take handling datetimes for example. Do I use time or chrono? The initial developer/maintainer of chrono left[1] and for the longest time the crate was unmaintained while a CVE remained open[2] until a new maintainer finally came along and addressed it (I think?). All right, so, time it is then... but it uses its own custom format specifiers[3] that I had to get used to coming from the more familiar strftime used by other languages.
Or how about input/form validation. One of the most popular crates for that, validator, had its maintainer admit that they don't even use it themselves?[4] Of course I can already hear people yelling at me, "well, why don't you contribute then?!", and I certainly would love to if I could! But I have to finish what's in front of me first.
That being said, I still very much enjoy using Rust. Maybe less so for web-related projects. I just have to stay on an even keel despite the growing hype.
What's everyone using when it comes to data validation these days? Maintenance for one of the most popular crates for this seems to have slowed[1] and options for JSON Schema validators still seem immature[2] (but the ones I've tried work well so far).
> Ubuntu is an ancient African word meaning ‘humanity to others’. It can also be interpreted as ‘I am what I am because of who we all are’. The Ubuntu operating system brings the spirit of Ubuntu to the world of computing. And one last extra question for the road…
> How do you pronounce Ubuntu? Many people don’t get it right the first time, but it’s pronounced: oǒ’boǒntoō.
To force myself “to figure out the code,” I typically do the tutorial in a different language. I wanted to get familiar with Java last year, but all the books/tutorials were boring to me. What I ended up doing was going through a book that showed how to write a backend in Go (which was also unfamiliar to me at the time) while simultaneously porting it to Java (using Vert.x). Probably sounds inefficient tackling two languages at once, but it was the only way I was able to stay engaged with the material. Of course I ended up with something unidiomatic in terms of Java, but the project works and I now have motivation for a proper refactor to keep the momentum going.
I have tinnitus. I always describe my particular case as sounding like a dialup modem that's being "muffled" because it's in the next room over, behind closed doors. With this I can now pinpoint the specific section (ANSam, 0:09–0:10).
It sounds like you might be stuck in a "tutorial loop". Put them aside for now, and try building a tiny project for yourself. It could be anything that interests you; scratch whatever itch you may have right now no matter how silly/useless it seems. The goal is to start writing code for something tangible (instead of learning the basic mechanics of whatever language for the nth time as you aimlessly cycle through tutorials). Your code will be crappy and unidiomatic. That's okay because after you get that first project under your belt, you'll now have a better idea as to which resources to target next to improve.