Ogeon

joined 1 year ago
[–] [email protected] 5 points 2 months ago (1 children)

That's silly. Luckily, I don't think this was the same situation. This was at a university and they had classes with other languages. The beginner classes were split into two variants, where some students (mostly CS students) learned C, and other students (economy, etc.) learned Python. I suppose they figured it was more useful to them or something.

[–] [email protected] 19 points 2 months ago (4 children)

I was a teacher's assistant in beginner's programming at university for a bit. I expected them to learn C, which I knew enough of, but I got assigned to a group that learned Python instead. I had never used Python at the time. I ended up having to speed learn it while trying to teach it, to not be completely useless.

[–] [email protected] 11 points 2 months ago

That's definitely part of "the deal" with MIT and Apache. The other end of it is that they shouldn't really expect to get anything more than what the authors are willing to give.

[–] [email protected] 1 points 3 months ago

Right, there may be too many unknowns involved. 🤔

[–] [email protected] 18 points 3 months ago (4 children)

Option<T> has a From<T> implementation that lets you write Option::from($file_path).map(|path| path.to_string()) to accept both cases in the same expression.

https://doc.rust-lang.org/std/option/enum.Option.html#impl-From%3CT%3E-for-Option%3CT%3E

[–] [email protected] 12 points 3 months ago

Zooming in? In this economy?!

[–] [email protected] 2 points 4 months ago

"Search prompt engineer"

[–] [email protected] 8 points 4 months ago (1 children)

How much is that in ™?

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago)

The rabbit hole goes deep if you really feel like going spelunking. A basic understanding of RGB, HSV and HSL takes you very far and lets you do a lot of things already. It's good enough as long as it looks good, after all. 🙂

You really don't need to read all of it to get started!

[–] [email protected] 2 points 4 months ago (2 children)

This depends a bit on what you are looking for. The library documentation is supposed to guide you to a practical starting point, but it's still quite light on the theoretical parts. I haven't really collected any specific beginner material, so this may still be a bit technical. There's a ton of info about the basics, with varying levels of detail.

Assuming you are starting from almost nothing, I would recommend getting familiar with what RGB is and how its components relate. This is the format most images are encoded in and most devices and software use. The Wikipedia page is quite thorough, so no need to read all of it: https://en.wikipedia.org/wiki/RGB_color_model

Next, it's good to know there are other models. HSV and HSL tend to be used in color pickers (a bit more intuitive than RGB), so you have probably interacted with them at some point. Again, the Wikipedia page may be a good source: https://en.wikipedia.org/wiki/HSL_and_HSV

That's often good enough for producing colors and reading or writing images. If you want to go more into editing, it's good to know that you will need to massage the values you get from the images. They usually don't represent the actual light intensities, so they have to be made linear. Palette offers functions for it and represents it in the type system. This video is a slightly simplified explanation of the problem (when it mentions the square root, it's an approximation): https://youtu.be/LKnqECcg6Gw

At some point, you will realize that neither linear nor non-linear RGB is the universal answer to good looking colors. They are used in different situations. There is another category of color models/spaces that are called "perceptually uniform", meaning that they try to simulate or predict how we actually experience the colors and relate it to the numbers in the computer. This page shows the problem and introduces one of those models: https://bottosson.github.io/posts/colorwrong

I can probably provide more sources if you have any specific things you want to read about, but this is a start.

 

The maintainer here! Feel free to ask questions. I know especially CAM16 can feel a bit abstract if you aren't in the loop, but I will try to answer what I can. I have tried my best to explain the concepts in the docs, but it can always be better.

 

Just to reiterate what the linked blog post mentions; this isn't a bug with Iced, specifically, but seemed to have been brought into light by having Iced 0.12.0 among the dependencies. Many variants of this bug has been reported to the Rust compiler repository and some seem to be fixed by the next trait resolver.

 

Hey, folks! Here's another update for Palette, the color crate I'm maintaining. Feel free to let me know if you have any questions or feedback! I will do my best to answer.

 

I suppose I should start posting updates here too. 😁

view more: next ›