"Later he applied his extravagant principle to the other numbers. In place of seven thousand thirteen, he would say (for example) Maximo Perez; in place of seven thousand fourteen, The Train; other numbers were Luis Melian Lafinur, Olimar, Brimstone, Clubs, The Whale, Gas, The Cauldron, Napoleon, Agustin de Vedia. In lieu of five hundred, he would say nine. Each word had a particular sign, a species of mark; the last were very complicated.... I attempted to explain that this rhapsody of unconnected terms was precisely the contrary of a system of enumeration. I said that to say three hundred and sixty-five was to say three hundreds, six tens, five units: an analysis which does not exist in such numbers as The Negro Timoteo or The Flesh Blanket. Funes did not understand me, or did not wish to understand me."
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).
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.
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.
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.
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!
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
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.
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.
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 :)
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.
"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.
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.
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.
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).
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.
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.
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
));
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.
It's parsing any webpage, and coloring words based on their Part-Of-Speech tags.
The idea behind is that if we let the computer pre-parse the text for us, it should incur less mental fatigue, and help visualize the structure of sentences therefore improving our reading comprehension.
The question is how universal can we make this color-mapping ?
I like the idea but the demo page looks a boy clownish. As in, too many colors. Perhaps you should test which particular elements benefit most from this type of tagging
I have been searching for something like this for years! Wish it wasn't Firefox-only :( What would it take to get it ported to a better browser?
Here's my crack at coloring or syntax-highlighting the parts of english speech for easier analysis, but mine was a manual process: https://github.com/tomhodgins/bil
Just go to any paint store and you'll find yourself halfway there. When we were searching for gray tones we were stunned at the creative names we saw for the thousands of grays available i.e. "mindful gray" "blissful stone" etc.
That's got a be a dream job for some uber-creative artist.
The hex code is six numbers long, the same length as a date written in ddmmyy format. Apparently this is not a unique thought because I tried putting in some random dates and found the colors were named things like "gage's birthday".
There are four distinct competing pukes, a myriad buffet of barfs, and a veritable cornucopia of vomits, but none of them cover what I consider the entire gamut of requisite Ralph colors. There's a reason it's called the "Technicolor Yawn".
H. Fishlove & Co. "Whoops" Brand Fake Barf has its own distinct set of signature colors, including "perfect puke-yellow" with "Cabernet chunks", easily recognizable by connoisseurs and aficionados of fine fake barf. And artisanal hand-made farm-to-floor fake barf has its own earthy bouquet of organic colors.
>The latex is initially white, but after a day or so, dries into the perfect puke-yellow. “Then, they attach it to a card that says ‘Whoops’ and sell it,” Stan says.
>Of course, now, the original “Whoops” has many gnarly competitors. “One of the better ones is called Glop, made by the famous S. S. Adams joke company.” Others made across the Pacific include Fake Barf and “Oops.”
Why do I get the feeling that you could programmatically name all these colors in some trivial way? Then you wouldn't end up with 30x "Blue" in your dataset.
Let's imagine we take the dominant byte of each color only. That's 4096 different color combinations. The lower byte makes up another 4096 color variations to each of those dominant colors. Just name 4096 "Color" words, like "Blue", "Aquamarine" etc. Then 4096 "useless adjectives" like "Mindful" and "Exotic".
And viola:
Exotic Blue - 0x0xFx | xAx3x5
Mindful Blue - 0x0xFx | x5x5x5
etc.
8000 words is something a single person could do by themselves, and it would generate all 16.7 million colors. You could even have some intuitive understanding. "Aha, Mindful Blue is a little bit grayer than just 'Blue'." This isn't even the most useful schema you could come up with...
Realistically, it's foolish to even do this in the RGB colorspace. Humans are not going to notice the difference between #000000 and #000001. Colors should be organized in a way that's useful. Hierarchical color naming at least gets you partway there.
I would if they restrict names to be two or rarely three words and avoid punctuation. Also, I think they should advise against humorous/jocular names and ask people to suggest brief but descriptive names.
I was voting on suggested names, very many are those jocular names, overlong and with too much punctuation that does not really serve the purpose.
They should have named 12-bit (4096), 15-bit (32768) and 18-bit (262144) color spaces first then the 24-bit (16.7M) color space. It's easier for humans to manage smaller data sets at first.
The audience names a color, and the lights change accordingly. I remember attending a talk of his where he briefly mentioned the huge color name mapping he created for this piece!
If I ever need a quick colour to highlight something when testing I use #BADA55, it’s a rank lime green and it’s spelt BadAss so it’s easy to remember.
As colour blind (I fall under the umbrella of Deuteranomaly) I must only celebrate this kind of efforts.
I should probably know better but if I recall, up to 8-10% of male population can suffer some kind of colour blindness so it's a huge slice of population that can be benefitted from this.
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 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!
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.
Deciding what to call a color is going to require more than seeing which name for each color gets the most votes. For a set of names to be useful, they need to make sense when taken as a set.
Maybe this could be partially automated by getting lists of things like plants, animals, etc. running a web image scrape with those key words, and computing the average color of, say, the first 100 images returned for each word.
I think we should also name the numbers between 1 and 1,000,000 wiht unique names. The current names we use have too many patterns :D The number 173,515 could be a "singing dog", etc.
It should be organized as a tree where each level has 3x2-1 children for the corresponding RGB bits... (local top level is the color with the current leading bits repeated)
There has got to be some finite combination of stars that make up constellations. You all see the Big Dipper but thereabouts I see Jerry the Cowboy and Alan the Cowboy.
However, I have a few concerns. It does provide feedback "That name already exists in 3 other places." with a warning sign. It really shouldn't, for quite a few reasons:
- Names that make sense will appear many times over. It is natural and good. It will make the final result MUCH more robust if we look at the most common color.
- Right now it promotes the first move. If someone uses color "sea" for "#003b3b" (Mexican gulf oil spill?) it discourages others for using the same name for more suiting colors. The problem can be anything: poor English vocabulary, typo, atypical connotation, poor color display, etc, etc.
- Then the feedback says that my voice will be the name of a color. Too much pressure for me. English is not my mother tongue. I am am not a graphic designer. My display is good, but clearly not good enough to distinguish the tiniest changes.
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.
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 about all the colors named on other sites? colourlovers.com alone has already named over 10 million colors. Someone should scrape those and add them :)
-- Funes the Memorious, Borges