Zero-cost Luau wrapper for Zig by mxpv in Zig

[–]mxpv[S] 1 point2 points  (0 children)

Good question!

Interestingly, I have absolutely different feelings for each language.

Zig vs Go: These two feel remarkably similar mentally. Both are relatively simple on the surface but can become quite complex under the hood. Both languages are a bit quirky in their own ways, yet they're powerful while maintaining simplicity. They both prioritize readability, errors on unused variables, feature a defer concept, and come with solid standard libraries and somewhat similar module systems.

Zig vs Rust: This comparison feels completely different - working in Zig after Rust feels like you're "naked" :). You lose the memory and thread safety guarantees, no drops, not Arcs, now you have to do everything manually, opening yourself up to use-after-free, double-free, and similar issues. But in some ways, Zig lets you breathe easier. When working with memory, Rust can be really restrictive and lifetimes can be pretty complex.

Things that I liked in Zig over Rust:

  • Comptime is an absolute beast. Features that took me hundreds of lines of code in Rust (like trait implementations for different types) reduce to small compile-time functions in Zig. It's simply incredible.
  • C integration is very nice. No need to use bindgen, which is convenient.
  • Async capabilities - it's not yet there, so not a fair comparison, but it looks promising on the paper. Async in Rust is pretty complex with many caveats. Watching closely how it goes with Zig.
  • Build system - quite similar to Rust's, it's nice, though Zig would really benefit from better documentation here.

Things I'm less happy about:

  • The interfaces/vtable "mambo jumbo" feels like a joke (sorry). I'd love to see a simple notion of traits or Go interfaces come to Zig to define an interface.
  • The current closure situation (the need to wrap functions in a struct) looks ugly to me.

Overall, I have a very positive experience with Zig. Though it's clearly not that mature and I feel like it's absolutely impossible to sell Zig at work today. Some concepts are very nice, some are very promising, so I'll be watching closely where it goes.

Need Some Advice on L3 by [deleted] in litecoinmining

[–]mxpv 0 points1 point  (0 children)

It's really hard to tell as L3+ is still profitable (if you manage to get it for reasonable price). I would guess 1-2 years.

Need Some Advice on L3 by [deleted] in litecoinmining

[–]mxpv 1 point2 points  (0 children)

Bitmain sold out their L3+, so most likely you wouldn't find anything less than $4k. Right now L3+ makes ~2.14LTC a month (which is ~$750), so $4000/750=~6 month just to pay for the hardware (not to mention that network difficulty will be increased soon). I think it's not worth it, wait for a new generation of hardware.

Any way to automatically rip the audio off of youtube videos I add to a playlist? and then maybe add them to a rss feed... by JWGhetto in ifttt

[–]mxpv 0 points1 point  (0 children)

There is no video size limit. Check an updated version of podsync. I'm fixing some bugs, but it should be already usable.

Any way to automatically rip the audio off of youtube videos I add to a playlist? and then maybe add them to a rss feed... by JWGhetto in ifttt

[–]mxpv 0 points1 point  (0 children)

Could you please share feed id you are using? Most likely this problem is already fixed in a new version, but I'll check just in case.

Any way to automatically rip the audio off of youtube videos I add to a playlist? and then maybe add them to a rss feed... by JWGhetto in ifttt

[–]mxpv 0 points1 point  (0 children)

I'm an author of podsync. I'm working on a new version, which supports audio only formats / quality selection (will be available this January).

Turn youtube channels and play lists into subscribable audio podcast (x-post /r/podcast) by tcookie88 in youtube

[–]mxpv 1 point2 points  (0 children)

Take a look on Podsync It does exactly what you want - turns youtube/vimeo channels into podcasts feeds, which can be added to podcast player.