This is all just makeup and PR stunt. All I see is another Linux distro with Gnome and flat icons and themes… How hard is it for developer to install wanted software or install Arch (or even other OS like BSDs or illumos ones)
This is potentially interesting, but I need more than a single screenshot before I’m going to bother doing a test install. Maybe this could be reposted when there’s something more to go on?
I’m cringing pretty hard at the guy walking through puddles right next to racks and racks of exposed power cords.
All they ever needed was to ask their grandma or go to amazon for high end device.
Yeah, dunno why they decided they need to press the entire surface of the bag at once instead of just running a roller from top to bottom.
I mean, it would still be silly, but maybe it would be $200 of silly instead of $400 - $700.
Real color theory is very complex, however this author just gave up and dealt with the HSL colorwheel, further teaching another generation that we should not look beyond RGB color spaces, which in my opinion is a fallacy once display technology gets better.
What resources do you recommend as an alternative? I’m interested in color theory and alternate color spaces, but haven’t really found any accessible resources for learning about it.
I would recommend to get your hands dirty and dive into the theory. There’s lots of handwaving in most sources available. Try to understand what the motivation behind the XYZ primaries is (to keep it short, they are three imaginary colors that, combined linearily, can create any perceivable colour), which followed from the fact that there are colours which cannot be “mixed” from RGB. I found the video series “Color Vision” by Craig Blackwell 1 2 3 4 5 to be very helpful and enlightening.
Now, once you’ve understood that, you have to understand that the “perfect” spectral colors (which means monochromatic light of different wavelengths) are the “boundaries” of human vision, so to say the convex hull of the XYZ-coordinates of all visible spectral colours (modulo lightness) is the realm of human vision. You can get those coordinates here. It turns out, these “coordinates” X(lambda), Y(lambda), Z(lambda) are called color matching functions (you can get them there as CSV’s).
The final piece in the puzzle is to convert these XYZ coordinates to common normalized formats like xyY or even CIELab or CIELuv, or even polar coordinate forms like HCL(uv). All these formulas can be found here, an excellent resource of transformation functions between all kinds of different formats, including XYZ <-> xyY and so on, by Bruce Lindbloom. He is a really awesome guy. Now the only thing left to do is plot the xyY data in ParaView or something and if you look at just the xy-plot you’ll see the familiar horseshoe. :)
If you look at the color transformations from RGB to XYZ, you’ll see that RGB data includes a lot of implicit information, including the reference white and which RGB primaries you actually choose. Most people, talking about RGB, are talking about sRGB, but you can “invent” an RGB color space easily by just defining three primaries. If you manage to convert an RGB coordinate to an XYZ, Luv or Lab coordinate, the latter are all “universal” in describing color perception. These spaces allow you to express any visible colour. With RGB, they over the years defined new colour spaces (Adobe RGB, ProPhoto RGB and so on), moving the primaries a bit to make the range of colours bigger, but in the end there are still quite a lot of colours left which just cannot be expressed within currently “popular” RGB colour spaces. There are drawbacks to working with anything other than sRGB coordinates (imaginary colours, no good software backing, lots of superfluous nomenclature, …), but you gain a lot of things. For instance, CIELuv is perceptually uniform, which means that if you select equidistant colors on a “line” within the uv-diagram, these colours will all be equidistant with regard to perception. If you work with HSL based on RGB, this does not work, which is very cumbersome if you want to select nice colours for diagrams and such. The reason for that is for instance that sRGB has a nonlinear gamma curve. You might want to work with Linear RGB then, but if you do any of that stuff on your data, you might as well work with the real thing.
I hope this introduction was sufficient to get you started. Send me a mail if you want to see some code. I might give a talk about it this year, but it takes some preparation.
Woah, thanks for the intro - I remember seeing your slcon talk a few months ago on color spaces and farbfeld, which is initially what got me interested. I’ll probably dive into all of it a bit more soon when I start fiddling with 3D graphics again. Thanks for the resources - I’ll definitely check them out :D
not OP, but https://www.handprint.com/HP/WCL/wcolor.html is probably the most accessible treatment I’ve found.
Color theory is interesting, but (I feel) a bit of a rabbit hole. I learned a little about color spaces a few years back while writing a blog post about how the difference in color space and gamma value between older Mac and Windows computers might have influenced some of the popular color themes.
I found Danny Pascale’s “A Review of RGB Color Spaces” a useful (if somewhat terse) source of information about computer color spaces.
Are there non-RBG displays coming down the pipeline? It makes sense to design for the displays that exist rather than the ones that might. I think this article is, as the title says, going for practical color theory rather than comprehensive color theory.
I assume you are referring to displays that can display colours beyond sRGB. Yes, these displays exist already. In fact, the current iPhone and most AMOLED displays fall within that group.
Real color theory is very complex
I think the issue here isn’t really about “real color” theory as in “all there is no know about color” but “i am making a blog what color what I make all the stuff in it?” and choosing 2 colors then making a light and dark version of each is a solid strategy for an otherwise ‘design-illiterate’ developer.
I don’t think the analogy holds. Most of the reason things end up getting off-track or getting out of hand are because the problem statement evolves and/or multiple people are working on the same codebase simultaneously. Cooking is a much better analogy for software, especially if the eater keeps changing their mind about what they want to eat. We all know what happens when there are too many cooks…
That’s indeed another very good analogy.
Anyway no analogy holds because programming is programming and by definition, analogies are just approximations. It’s just a way to capture parts of the reality we live everyday and the gardener, as much as the cook, cannot possibly capture all of it. Probably the cook for you works so much better because it looks more like your reality.
I think the analogy’s just slightly off target. The part that’s organic and alive and unpredictable isn’t the code that we directly build, it’s what the users do with it. We build structures, add fertilizer, and try to guide the plants into particular forms or directions.
Sometimes you spend a lot of time on some part of a project that people never end up using - nothing’s growing in that part of the garden. So you have to figure out whether that spot needs more light, or it’s too dry, or it’s too wet. Sometimes some part of an application that you threw together as an afterthought gets tons of use - wonderful, let’s expand that part of the garden and see what else we can get to grow there.
Maybe there’s some crappy part of your codebase that lots of people nonetheless depend on - this is like an old stone arch that’s crumbling, but has well-established vines growing up it. Now you have to decide whether to reinforce the arch and leave the vines alone, or build a better one and try to retrain the vines to grow on the new one.