• 39 Posts
  • 769 Comments
Joined 3 years ago
cake
Cake day: November 24th, 2023

help-circle
  • Setting aside all the ethical nightmares for a sec, AI is a pretty good tool to review your work. You can give your art to ai, ask to “improve it”, and it will give you something which you can then pick and choose parts to add to your art (by yourself. Not by AI).

    It’s like a mentor helping you improve by pointing out stuff you missed. It’s free constructive criticism (which a lot of beginners don’t have/don’t hear), so as long as you take what it suggests (and remove things you don’t like), you’ll improve and slowly don’t need it.

    The goal is to let it give ideas. Not a guide, nor do it for you. Now if only there were ethical AIs for this… But may as well ask for the wealthy top 50 to disappear mysteriously instead






















  • In the case of France there’s two possible broken laws (not a lawyer btw):

    • If the glasses wearer upload the video/photo online, you are one of the primary subject of the frame (aka not just in he background), and didn’t consent to being on the internet, you can sue.

    • Companies must legally ask you for your concent to collect personal and identifying information. If the video/photo is sent to meta for big data/ai training, they must ask for consent

    Edit: “primary subject” is kinda vague and may change depending on the context. If you do a VLOG and someone does something funny in the background, not aware of the camera, and the video is re-uploaded to only feature the guy, then it becomes the primary subject, and must be asked for concent





  • I actually use it to run krita, prism launcher when the Minecraft mood peek in, inkscape, MusicBrainz picard, Alistral, peazips, libre Office.

    Aka, anything that I don’t use enough to warrant opening my config and adding them in (and forgetting when I do open my config.

    Although krita is currently being installed through flatpack because nixpkgs ship broken alpha versions…



  • Most of the time, async tutorial makes you learn tokio, not async. If your program can run with only tokio::main, then you learned async. If not, you learnt tokio (except if you are spawning a future that should never stop)

    For example, my pet project only uses tokio::main to do async stuff. The only instances of tokio::spawn is make sure some SQLite transactions get polled to completion. I do need to replace them with a proper mechanism now that sqlx supports smol-rs


  • A lot of the time it’s not about options. It’s about not messing up the async pattern.

    If you have something that either:

    • requires a lot of CPU time
    • requires to run permanently, independently to the caller’s future polling. Then you can spawn it on a global tokio executor.

    If not, just use future polling tricks like the futures::join!() macro or a stream with .buffered(). It won’t be slower. The bottle neck is IO. Not the program.

    Personally I even try to replace the heavy reqwest library with ureq + blocking, and it works perfectly and compiles faster (you can see that in the api_bindium crate)