It is, however, common knowledge that calling that particular person orange is meant as an insult. No need to have a precise definition of "offensive" for cases like that.
What are you talking about? TDS is very very real and very very serious. You can say anything negative about him here too but anything positive becomes political and gets removed by the intellectual mods.
If it's 3 non-repeating unordered words, the minimum vocabulary will need to be 256*3 = 768. Realistically you'll need an order of magnitude larger. That's a pretty large vocabulary.
I suspect you didn't catch gp's meaning: To get to 24 bits of color info, you'd need at least 3 words of 8 bit info each. If you want these to be non-repeating and unordered that makes 256x3=768 unique words.
I'm just jumping in where I saw a misunderstanding :) I think that's what they mean by unordered as that makes sense with the numbers (I think).
To some degree I agree, but there are also a lot of cases where different orders aren't distinguishable easily. "Light bright red" and "bright light red" is the best I can come up with quickly but I'm sure you get the idea.
It is a minor point, but 467 words would suffice, as there are 16865705 possibilities to choose 3 elements out of 467. (This is the smallest possible.)
Strictly speaking, yes, if you just view it as unordered sampling without replacement. Although that would squeeze out nearly all of the creative side of things.
That ought to end well. "It enhances understanding! We benefit from a nomenclature..."
... that is apparently entirely reliant on case-sensitivity. Because "I'm Blue" is a very different color to "I'M BLuE" (and I guarantee there's probably dozens of other variations there, at least).
What does 'telling a color apart' even mean? I did a mini project some time ago, where I basically did some custom color quantization (it was to reduce an image into a configurable amount of discrete colors, to make a pixel quilt with a manageable amount of distinct fabric colors). So I used CieLAB colors to calculate the 'visual distance' between the available colors and then recursively merged colors until I got to the desired amount. But even a simple algorithm like that, it turned out, could be implemented in several way; each of which gave different, yet equally 'valid' results.
My point being - it's very hard to give a simple, unambiguous meaning to seemingly simple concepts like 'what is a color', 'when are colors the same' and 'are these two colors more similar than those other two'. There is a lot of abstraction between the physics of light and representations of color e.g. on a screen, or in fabric, or when printing.
I think in the case of telling two colors apart, it's can be as simple as presenting them side by side, and seeing if someone can distinguish a difference.
First, because if I recursively apply your argument, then no color would have a name. Starting from the very 1st lowest color frequency and the 2nd right next to it, no-one could differentiate them. Apply the same logic between the 2nd and the 3rd, the 3rd and the 4th, etc.
So you cannot apply this argument to "any" color pair. You would have to define a set of starting colors, and always do the comparison against them. Now you enter the problem of which starting colors to starts, and the fact that using any pre-existing color names would most likely not be evenly distributed on the color spectrum.
Second, it wouldn't work because color recognition is not a transitive process.
- If you show me two very close red variations side by side, I may not be able to tell the difference.
- If you space the variation, I may be able to tell that there are 2 different reds, but wouldn't be able to tell which one is darker/lighter accurately.
- If instead of showing me the two close reds side by side, you show them to me paired with an other color, I may be able to tell the difference. For instance, show me a board with half red1 + yellow, and an other board with red2 + yellow. I may spot than 1 of the red + yellow is matching that good compared to the other one.
That's interesting. So what you have is some sort of similarity metric that is colour based. You could define it as being 1 for an exact match, and 0 for not matching, so cyan, etc. would be 0 red, while orange may be slightly red (e.g. 0.1), and pink may be slightly more red (e.g. 0.25). This would be a 3D function/surface.
This would allow you to model classes of colours, like purples. Shades of a colour could then be any similar colour in the range 0 to 0.5 (or 0.25).
Yes, this is what Delta E in the CIELAB color space is meant for. But in RGB color space this concept doesn't make sense; well, only if you would accept a non linear similarity metric - but then what is the metric for, if you need to apply a curve to it to normalize it? But still, this is different from modeling 'shades' of a color (if we say 'shades' are varying brightness in RGB space using the 0.21/0.72/0.7 brightness conversion - but again, I argue that 'shades' is an ambiguous concept).
My point is, again, that colors are a much more difficult concept than some in this discussion are making it out to be, and 'distance between colors' is more complex still.
Yep, in fact, that’s exactly what those hex codes are: a specification for how much red, how much green, and how much blue is in the color (though our vision and color perception may not map linearly to that specification).
That restricts you to 8 bits per color channel, and more importantly, to the RGB color space which is non linear. Comparing colors in RGB color space is nonsense in the first place ('comparing' here is 'judge by human perception'). 'Comparing' colors is just not that easy; in fact, I'd argue that without (much) more definition and clarification, it's impossible to do, because it can mean different things depending on the purpose.
Your suggestion was that if two colors are indistinguishable, they should have that name.
But given any two colors A and B you can construct a sequence C1 = A, C2, C3, ..., Cn = B where adjacent colors Ci and Ci+1 are indistinguishable from each other, and so need the same name, for 1 <= i < n. Hence, A and B have to have the same name.
The problem with your argument is that indistinguishable doesn't mean the equal. I'm not saying there is no difference between adjacent colors. I'm saying that the difference is indistinguishable. A lot of indistinguishable differences add to a distinguishable difference.
Think about it with numbers: if your sequence A, B, C... are each zero units apart, then yes, A = B = C = ...
In actuality, though, they are not zero units apart. They are a small, but positive distance apart. Those tiny differences add up so the distance from A to C is twice as far as the distance from A to B.
Having more than one name doesn’t change the story, and neither does some colors having no name at all. For each pair of adjacent colors which is indistinguishable to most people, and the two colors must either have the same name (the two sets of names are equal) or different names (the two sets of names have no intersection).
Let's do an example, using just colors with no red or green in their RGB representation so we just have to give the B component, which is a decimal from from 0 to 255. Let's call 0 "black".
Your suggestion was that if a color is close enough to another to be indistinguishable it the two should have the same name.
1 is close enough to 0, so gets the name "black" too.
How about 2? That's farther from 0 "black". Is it distinguishable? If not, it too is "black", and we can go on to compare 3 and 0, and beyond.
At some point we get our lowest blue-only RGB color that is distinguishable from 0 "black". Suppose that is 4. So we have 0, 1, 2, and 3 are all called "black", and since 4 is distinguishable from 0 it needs a new name, say "very light blue".
But now we have 3 "black" only 1 away from 4 "very light blue". Those are probably indistinguishable, so are supposed to have the same name. Oops.
"can't tell apart" isn't a transitive relation. That is, just because I can't tell A from B and I can't tell B from C doesn't mean I can't tell A from C.
“Has the same name as”, however, is a transitive relation.
So, if no two indistinguishable colors have distinct names, and for every pair of colors have a path between them of colors such that adjacent colors in the path are indistinguishable, then all colors would have the same name.
Even if you associate each color with a set of names, if the graph where vertices are colors and edges are “these colors are indistinguishable” is connected, and any two indistinguishable colors have the same set of names, then all colors would have the same set of names.
The solution of “assign a degree of applicability if each name to each color” and allow a color name to have different levels of applicability for a pair of indistinguishable colors, sorta solves the problem?
But, in a sense, isn’t “to what degree do each of these names apply to this color” just a kind of identifier like a name is? (Though it has the advantage that we can talk about the identifiers being very close to each other )
We can’t have identifiers for colors always be the same iff the colors are indistinguishable, because “is the same” is transitive while “is visually indistinguishable” is not.
Therefore, in order to be able to describe a large variety of colors (with say, rgb), we choose to use an identifying scheme (such as rgb) which has different identifiers for colors which are visually indistinguishable.
Hah, I love it! There's a lot to dislike about HN and the culture here, but questions like these that sort of make me go "Well obviously not, because ... erm" are quite common and always interesting.
Sure. At a minimum, it seems some folks find it entertaining to do so. That is a point. But naming them for the conventional purpose of indexing into cognitive clusters doesn't work, obviously.
The entire website is obviously a silly joke. Even if the colours were distinguishable you wouldn't go about naming them in this fashion but in some more systematic fashion
I thought the entire thing was an excuse to have yet another node dependency.
const namedColors = require('namedColors');
const chalk = require('chalk');
console.log(chalk.hex(nameColors['Hacker News Orange'])(
lol, you just downloaded a 200meg dep for named colors
));
I propose that names be considered more like probability distributions. For example the name “red” has a probability distribution that probably peaks in the neighbourhood of #FF0000 but includes a large range of colors; the distribution of the name “crimson” likely has a much narrower distribution. Under this interpretation, and given enough data, one could feasibly extract “the” name for any given colour using a maximum likelihood estimation (what name is most likely to generate the observed colour).
And to collect data on this, one could for example ask many random users to choose the range of colours they believe correspond to a given name (“select all red colours”) and merge the results into the distribution. (There are many, many other ways to carry out such a survey; this is but one example).
Obviously, you won’t get to 16M names this way, but you could definitely learn quite a lot about where the “boundaries” are between colours from this kind of exercise!
Every time I see that xkcd I'm never surprised that gold is the smallest section. It's consistently a pain in the ass to get something that looks semi-decent gold ish. A shine effect helps, but then that's more work to get right.
#b18800, from the xkcd, looks pretty bad; #d4af37 is a good bit better, #cfb53b is semi-passable IMO.
Depending on how it's produced it's not even _a_ colour, it's three colours, or two colours, then the same two with a bit of blue. Perhaps my eyes lack a normal number of blue receptors, and a substantial amount of blue still wouldn't alter the perceived colour.
Would be fun to take all this data and interpolate it to all the 16M colours using a natural language model. We'll need this if we want to stand a chance against at ten bit colour depth.
More discrimination against us colour blind people. The basic names are confusing enough - my housemate mentions something "green" when there's no such thing, he's talking about the brown one.
I'm colourblind myself. I mind when eg UI elements or real world distinctions are _only_ communicated by hue (instead of also using texture, brightness, saturation, shape, text, etc); but I don't think anyone can mind less disabled people making full use of the facilities they have.
Although mostly tongue in cheek, I do think the lack of awareness by some UI designers is a real issue. I've also found IDE syntax colouring schemes that are just too hard.
I've also found posters and signs where important information is in colours/shades that I can't discriminate between. Sometimes I wonder if there should be a law that prevents safety information being green on brown, or brown on green, or the wrong shades of red/green/brown together.
And no, I don't do domestic wiring, nor can I read many resistors.
I am wary of adding extra laws. Especially ones that are hard to enforce. Luckily, I found that people seem to be paying more attention to accessibility than they did in the past.
Eg Game Maker's Toolkit has a video series about 'designing for disability', see eg their 'Colourblindness & Low Vision' entry at https://www.youtube.com/watch?v=xrqdU4cZaLw
One of their points is that lots of adjustments made to assist people with disabilities can also help normal people grasp information quicker or in unusual circumstances.
I sometimes wonder if there are actually that many colours, or whether people are just making up differences that don't exist.
They seem to have their conspiracy up and running pretty tight, though: when I ask different people, they usually give me the same answer. All very well prepared!
Hey, I independently came up with a similar solution (https://notryan.com/colors) and it renders to HTML.
But ugh... I applaud your simplicity. I used `unzip` instead of zcat, but I guess .zip files normally use GZIP internally. And, I didn't know you could use `sort` for a specific field! So I ended up using a full SQL engine... Learn something new everyday :)
CSS Color Module 4, which introduced support for the DCI-P3 color space, also introduced support for the even larger ProPhoto RGB and Rec.2020 color spaces (as well as the similarly-sized Adobe RGB). These were already supported in media that could be embedded in web pages.
And here I thought it was released for everyone at the point where I apparently hit that number. Is it just me, or is the fact that it's based on karma not clear?
I mean, Hackernews isn't known for its good UX. What does "showdead", "noprocrast", "maxvisit", "minaway", "delay" do in the profile? I've been using HN for a while and I have no clue
Nice. I did not know this. I have set mine to #fff2af. I used to manually edit each character and see if it fits for me. It is 480 of 2923 in that list!
Write a Grease-monkey (or equivalent) script, that reads your query variable, applies the value to the top bar, and then add that parameter to all links on the page.
Optional: Then write a bookmarklet, that displays a color-picker, and reloads the tab with the changed querystring variable.
(HN web server admin might get some "scary" log file entries though, regarding an "unusual" additional QS variable)
You are misunderstanding what grease-monkey can do, and what I'm proposing.
e.g. try loading news.ycombinator.com?myColorVar=44ff55 , it will load normally, as usual. Of course, this variable means nothing to the HN backend, but this is where e.g. Grease-monkey comes in: It injects a bit of javascript of your choosing into the page context for the news.ycombinator.com/* pages. This scriplet can easily change the color of the header-bar, and add the colorVariable to all (non-external) links.
Of course, you can add a line like the following to your local userContent.css:
, but this has the disadvantage of requiring a Firefox restart for each change, whereas my method requires only twiddling the value in the URL, and it's valid for all future requests, until you change it again.
I hope, the above makes it clearer, what I meant the post above
This script colors the top bar, and adds the custom colour to all HN-internal links, so until you manually change the URL, further navigation in that tab within news.ycombinator.com will retain your chosen top-bar colour.
(I hope the code comes out formatted in a legible way)
You’re missing the point of the query. What’s the point of using the query at all?
OP suggested it as a way for users to customize their HN color; Then you suggested to take this query and make an extension out of it.
If you want to customize your HN color, use CSS, not this roundabout way through a query parameter.
The query never makes sense anyway. If HN were to allow customization they’d allow it in the options, not as a random query that you have to set manually.
I'm still working diligently on counting the grains of sand on the beach closest to me, and hopefully we can pool all of our work together for a final count. As soon as that's done I'll start trying to name all the stars. Colors? I'm tired already.
Ha, I thought of doing that but decided it would be too hard, so i picked the much easier challenger of naming the numbers between 0-0.01. I'll be finished in no time.
Though it did cross my mind to split the range in to 2 parts and then recursively bin each part in two; if I allow repeating names ... Perhaps then ones chances would be greater than zero.
235 comments
[ 2.8 ms ] story [ 218 ms ] threadApparently not a very serious attempt.
Thus, unless you're fairly explicit about who it's not okay to offend, "offensive" is at best vague and at worst weasel-wording.
Screaming Grey: #AAAAAA
It's Still Basically Black: #000001
Nice: #696969 (lol)
These would make for some great candidates: https://colors.lol/ ;)
You need 256 base words, and two substitute words, one of which substitutes for the first repeat, and the other for the second, so 258 words total.
Okay but that's a strange requirement. A 'big burger house' isn't a 'big house burger', after all.
I had read 'unordered' as 'the collation order of the words has no connection to the ordinal rank of the underlying byte', for some reason
To some degree I agree, but there are also a lot of cases where different orders aren't distinguishable easily. "Light bright red" and "bright light red" is the best I can come up with quickly but I'm sure you get the idea.
That managed to uncover all of the Father Ted fans on the team.
Yours should be called Yabba Dabba Doo.
Or perhaps Fred Flintstone.
I'm Blue https://colornames.org/color/174ac0
I'M BLuE https://colornames.org/color/1971d5
... that is apparently entirely reliant on case-sensitivity. Because "I'm Blue" is a very different color to "I'M BLuE" (and I guarantee there's probably dozens of other variations there, at least).
Seriously?
https://en.m.wikipedia.org/wiki/International_Klein_Blue
Stubbed Toe: #FFFFFF
There are zero people in the world who can tell #FF4500 from #FF4501, so aren't they effectively the same color?
If there is at least one person who cannot tell two colors apart, they should have different names.
My point being - it's very hard to give a simple, unambiguous meaning to seemingly simple concepts like 'what is a color', 'when are colors the same' and 'are these two colors more similar than those other two'. There is a lot of abstraction between the physics of light and representations of color e.g. on a screen, or in fabric, or when printing.
First, because if I recursively apply your argument, then no color would have a name. Starting from the very 1st lowest color frequency and the 2nd right next to it, no-one could differentiate them. Apply the same logic between the 2nd and the 3rd, the 3rd and the 4th, etc.
So you cannot apply this argument to "any" color pair. You would have to define a set of starting colors, and always do the comparison against them. Now you enter the problem of which starting colors to starts, and the fact that using any pre-existing color names would most likely not be evenly distributed on the color spectrum.
Second, it wouldn't work because color recognition is not a transitive process.
- If you show me two very close red variations side by side, I may not be able to tell the difference.
- If you space the variation, I may be able to tell that there are 2 different reds, but wouldn't be able to tell which one is darker/lighter accurately.
- If instead of showing me the two close reds side by side, you show them to me paired with an other color, I may be able to tell the difference. For instance, show me a board with half red1 + yellow, and an other board with red2 + yellow. I may spot than 1 of the red + yellow is matching that good compared to the other one.
So #FF0000 is red. But is #FA0101 is also red, just slightly less so.
This would allow you to model classes of colours, like purples. Shades of a colour could then be any similar colour in the range 0 to 0.5 (or 0.25).
My point is, again, that colors are a much more difficult concept than some in this discussion are making it out to be, and 'distance between colors' is more complex still.
You can map those clusters into RGB space. Or other colour spaces.
Technically you are correct, but I don't think that's what the colour-namers are going for.
My argument was more general.
Being able to distinguish colors on a test such as https://xritephoto.com/cool-tools
But somehow, on all rows, the colors just seemed to snap into place for me, is that a normal feeling?
But given any two colors A and B you can construct a sequence C1 = A, C2, C3, ..., Cn = B where adjacent colors Ci and Ci+1 are indistinguishable from each other, and so need the same name, for 1 <= i < n. Hence, A and B have to have the same name.
Think about it with numbers: if your sequence A, B, C... are each zero units apart, then yes, A = B = C = ...
In actuality, though, they are not zero units apart. They are a small, but positive distance apart. Those tiny differences add up so the distance from A to C is twice as far as the distance from A to B.
Your suggestion was that if a color is close enough to another to be indistinguishable it the two should have the same name.
1 is close enough to 0, so gets the name "black" too.
How about 2? That's farther from 0 "black". Is it distinguishable? If not, it too is "black", and we can go on to compare 3 and 0, and beyond.
At some point we get our lowest blue-only RGB color that is distinguishable from 0 "black". Suppose that is 4. So we have 0, 1, 2, and 3 are all called "black", and since 4 is distinguishable from 0 it needs a new name, say "very light blue".
But now we have 3 "black" only 1 away from 4 "very light blue". Those are probably indistinguishable, so are supposed to have the same name. Oops.
So, if no two indistinguishable colors have distinct names, and for every pair of colors have a path between them of colors such that adjacent colors in the path are indistinguishable, then all colors would have the same name.
The solution of “assign a degree of applicability if each name to each color” and allow a color name to have different levels of applicability for a pair of indistinguishable colors, sorta solves the problem?
But, in a sense, isn’t “to what degree do each of these names apply to this color” just a kind of identifier like a name is? (Though it has the advantage that we can talk about the identifiers being very close to each other )
We can’t have identifiers for colors always be the same iff the colors are indistinguishable, because “is the same” is transitive while “is visually indistinguishable” is not.
Therefore, in order to be able to describe a large variety of colors (with say, rgb), we choose to use an identifying scheme (such as rgb) which has different identifiers for colors which are visually indistinguishable.
Or maybe lockdown is really getting to their head.
And conversely, there are infinitely more colors than that particular digital representation can express.
And to collect data on this, one could for example ask many random users to choose the range of colours they believe correspond to a given name (“select all red colours”) and merge the results into the distribution. (There are many, many other ways to carry out such a survey; this is but one example).
Obviously, you won’t get to 16M names this way, but you could definitely learn quite a lot about where the “boundaries” are between colours from this kind of exercise!
Particularly, what you're describing is this: http://imgs.xkcd.com/blag/satfaces_map_1024.png :-)
#b18800, from the xkcd, looks pretty bad; #d4af37 is a good bit better, #cfb53b is semi-passable IMO.
> People are primed by the colors they saw previously, which adds overall noise and some biases to the data
and
> Moreover, monitors vary; RGB is not an absolute color space
https://en.wikipedia.org/wiki/Eric_A._Meyer#Personal_life
Greerg: #123321
I'm colourblind myself. I mind when eg UI elements or real world distinctions are _only_ communicated by hue (instead of also using texture, brightness, saturation, shape, text, etc); but I don't think anyone can mind less disabled people making full use of the facilities they have.
I've also found posters and signs where important information is in colours/shades that I can't discriminate between. Sometimes I wonder if there should be a law that prevents safety information being green on brown, or brown on green, or the wrong shades of red/green/brown together.
And no, I don't do domestic wiring, nor can I read many resistors.
Eg Game Maker's Toolkit has a video series about 'designing for disability', see eg their 'Colourblindness & Low Vision' entry at https://www.youtube.com/watch?v=xrqdU4cZaLw
One of their points is that lots of adjustments made to assist people with disabilities can also help normal people grasp information quicker or in unusual circumstances.
They seem to have their conspiracy up and running pretty tight, though: when I ask different people, they usually give me the same answer. All very well prepared!
They need to have a way to sort by votes, or have a "Best of" or whatever. I was curious (and they provide the data! Thanks!)...so naturally-
Edit: sorry..."Focus Group Blue"...im dyingBut ugh... I applaud your simplicity. I used `unzip` instead of zcat, but I guess .zip files normally use GZIP internally. And, I didn't know you could use `sort` for a specific field! So I ended up using a full SQL engine... Learn something new everyday :)
http://imgs.xkcd.com/blag/satfaces_map_huge.png
That was genuinely educational.
Colornames.org just seems to be a gimmick, kind of like the million dollar home page [2] -- remember that? But still fun though. :)
[1] https://blog.xkcd.com/2010/05/03/color-survey-results/
[2] http://www.milliondollarhomepage.com/
Nice, I’ve found my people.
https://colornames.org/color/d00d00
I'm struggling to figure out if this is a serious attempt, though.
For anyone looking for a more tasteful topcolor, try d0c8b5. It's just a darker version of the main HN background color, so it's easy on the eyes.
c0ffee, dadb0d, badcab, deface, deadbf, baddad, daddad, debeef, beefed, adbeef, beeeef, efface, faceb0, deeded, facade, 2faced, decafe, dabeef
#debeef is a lovely lavender actually!
Optional: Then write a bookmarklet, that displays a color-picker, and reloads the tab with the changed querystring variable.
(HN web server admin might get some "scary" log file entries though, regarding an "unusual" additional QS variable)
e.g. try loading news.ycombinator.com?myColorVar=44ff55 , it will load normally, as usual. Of course, this variable means nothing to the HN backend, but this is where e.g. Grease-monkey comes in: It injects a bit of javascript of your choosing into the page context for the news.ycombinator.com/* pages. This scriplet can easily change the color of the header-bar, and add the colorVariable to all (non-external) links.
Of course, you can add a line like the following to your local userContent.css:
@-moz-document domain(news.ycombinator.com) { #hnmain>tbody>tr:first-of-type>td { background-color: lime !important; }
, but this has the disadvantage of requiring a Firefox restart for each change, whereas my method requires only twiddling the value in the URL, and it's valid for all future requests, until you change it again.
I hope, the above makes it clearer, what I meant the post above
// @include https://news.ycombinator.com/*
in the header will color the top-bar on HN pages with the color given in the URL such like https://news.ycombinator.com#MYC=lime or https://news.ycombinator.com#MYC=#ce1c01 .
(function() { if (color=document.location.href.match(/#MYC=(.)/)[1]) { document.querySelector("#hnmain>tbody>tr:first-of-type>td").setAttribute("bgcolor",color); document.querySelectorAll('a[href^="https://news.ycomb"],a:not([href="/"])') .forEach(e => {e.href+="#MYC="+color}); } })();
This script colors the top bar, and adds the custom colour to all HN-internal links, so until you manually change the URL, further navigation in that tab within news.ycombinator.com will retain your chosen top-bar colour.
(I hope the code comes out formatted in a legible way)
OP suggested it as a way for users to customize their HN color; Then you suggested to take this query and make an extension out of it.
If you want to customize your HN color, use CSS, not this roundabout way through a query parameter.
The query never makes sense anyway. If HN were to allow customization they’d allow it in the options, not as a random query that you have to set manually.
Although the 65 one needs to be better named "Fake Hacker News Orange" or "Hacker Fake News Orange".
hopefully the masses can figure it out and correct it.
Edit: I think my new favorite is "#403403 Forbidden Brown"
Though it did cross my mind to split the range in to 2 parts and then recursively bin each part in two; if I allow repeating names ... Perhaps then ones chances would be greater than zero.
;oP
https://colornames.org/search/results/?query=draymond+green
Because, why not.
For those curious, I created a script that sorts their data by votes! https://notryan.com/colors