That’s OK. I’ve already removed Netflix
That’s OK. I’ve already removed Netflix
Congrats!
Probably! According to Wikipedia you get 3-5 hours off of 6 AA batteries. Not sure how that changes with the TV tuner but battery life wasn’t great.
It’s based on Iced, but it looks like they have their own fork. Anyone know how extensive their changes are and how much gets merged upstream?
Yup! Also languages in the ML family and others I’m sure.
Nope. In Rust, a semicolon denotes a statement while a lack of semicolon is an expression so you can’t just omit them at will. This does lead to cool things though like if/else blocks being able to produce values if they end in an expression. But the expression type is checked so you’re less likely to make a mistake. You can see an example here: https://doc.rust-lang.org/rust-by-example/flow_control/if_else.html
In JavaScript I never skip semicolons because I’ve seen those subtle bugs.
Yeah, semicolons are ugly anyway and they’d ruin the beautiful expression of your code.
Sounds fun! I assume you’re read the Async Book?
Finally some positivity around async Rust!
I write a lot of embedded C for a living, and can’t wait for the ecosystem to get better so I can switch to Rust. Threading always starts simple. All I need is to spawn a thread and wait for a message on a queue. Then requirements change and I’m waiting on multiple messages from multiple other threads and suddenly I’m writing yet another state machine that async Rust would write for me.
I also wish I had “coloured” functions in my embedded code. Often times it’s not even documented if a function blocks or not, and sometimes the behaviour changes depending on compile time configuration (blocking, or interrupt driven, or DMA, etc.).
Async Rust certainly has it’s complexity too, but at least to my brain it would make a lot of my code much simpler.
I need to find some time to really dig into Embassy one of these days.
Totally!
I hit burnout an now “productivity” is a dirty word. I’ve discovered that it is healthy to take time for yourself, even if it is to literally do nothing.
Programming is both my career and hobby, but I’ve had to adjust my free time to allow my mind to just let go a bit more often.
JFC. When will people learn that there will be toxic people in ANY community of sufficient size.
Also, as far as I know this crate isn’t official in any capacity. Not to mention that base64 isn’t terribly complicated if you don’t like this crate (https://en.m.wikipedia.org/wiki/Base64)
This post just sounds like trolling.
I’m going to have a fair bit of code to refactor once this lands!
I guess that’s my point. The article criticizes reference counting as if it’s strictly worse, but it’s not so simple. Even with a GC funny things can happen so it’s worth understanding the memory model of the language.
I disagree. Async Rust is fine, but it does have some baggage, not least of which is Pin/Unpin which I still don’t fully understand. But that aside, I prefer writing async Rust to any other language because the rest of Rust comes along for the ride!
It’s actually amazing that I can use the same mental model for async code on a small MCU or a large server.
Is Arc really the worst GC? Doesn’t Swift use reference counting also? I did a few minutes of searching but couldn’t really find any benchmarks comparing Arc with Swift RC or some other GC.
I feel that async Rust is a good set of tradeoffs that allows it to scale to a lot more than just writing web servers. Rust seems to be pretty good for web servers too though.
This is all pretty new though. And if another one came out it would be less mature than Headscale. For what it’s worth I’ve been using Tailscale for a while now and it’s fantastic!
I just don’t watch many shows and a lot of the stuff coming out I don’t find that great anyway so I’d rather do something else with my time than pay more for worse service.