TLDR; For legacy reasons, some words produce valid colors even if they don't respect the standard color formats. For example, "chucknorris" produces red.
Someone should make a list of all words and common phrases that result in a color different from #000000 and then go through them all and pick out the interesting ones.
By the way I didn't see any mention of max length. Is there a limitiation to the length of the color string?
Bonus question: What color would the complete works of Shakespeare be? Take all of his scene play manuscripts found on Project Gutenberg but excluding duplicates if any, sort them in the order they were originally published and concatenate into a single string.
The HTML5 color parsing algorithm is less complex than it seems. Mostly it boils down to "take any characters that aren't hex digits and replace them with zeroes, then truncate the resulting string in a consistent way to produce a 24-bit value".
Got to admit I was hoping it'd be a coffee-ish colour before I sorta parsed the colour in my head and realised it was mostly green.
With that said there are some pretty cool ones (e.g. 5afe57 = safest = a green) that do match up. Can't say I can think of many hugely practical uses for this, but it's kinda neat!
That's a very good point! I can't say I've ever roasted my own coffee, so it's something I've not experienced in person. I hear you can buy green beans and roast them with a popcorn machine though, which sounds kinda fun to try.
The above describes creating a bread-machine "Coretto" roaster. (I still have no idea why it's named that). A heat gun (for paint drying) from Harbor Freight (~$15, it's almost always on sale) is used for the heat. The bread machine is torn apart so it permanently spins, and never turns on the heating element.
After using it manually a bit you'll get the bug too. Eventually you'll want to control it electronically. I still have to actually do it...
These CSS colors consist of 3 bytes in hex, the first gives the red value, second green and the last is blue.
So:
#FF0000 = 0xFF, 0x00, 0x00, which is pure red
#0000FF = 0x00, 0x00, 0xFF, which is pure blue
#FF00FF = 0xFF, 0x00, 0xFF, which is red and blue mixed, so it's purple (violet)
#FFFFFF = 0xFF, 0xFF, 0xFF, all colors combined is white
etc
#C0FFEE = 0xC0, 0xFF, 0xEE, so by 'parsing' it in your head yo can see is mostly green and blue, combined that's cyan.
Yes but you grew up typing hex codes into a home computer connected to a tape drive. You know what 8192 looks like in binary but everything beyond 65535 you struggle with because you didn't have the registers for that on your 6502A.
It probably irritates you to see images scaled to 1000 pixels rather than 1024. What about that jpeg cell that is not 8 pixels square? Think of the computational overhead and the need to go floating point just because someone does not think in bytes. It is too late to tell them now, these kids ain't spending winter typing in hex. Hex to them is like BCD is to you and who needs binary coded decimal these days when emoji's need to be mastered?
I don't mean you personally, just them folk that know their hex from learning to code that way. I think hex is important but it seems most front end developers would prefer not to know.
You don't even have to decode the actual number, just comparatively figure out which one 'looks bigger'. In more steps than necessary to be abundantly explicit:
Step 1: group into two characters each.
Step 2: know that hex is an extension of decimal that adds the digits A-F after 9. So just like 0<1, 9<A and A<B etc.
Step 3: find the biggest and smallest groups by comparing the first digits of each. If they match they're pretty close.
Step 3a (optional): guestimate the intensity of each color by thinking of the first digit on the scale from 0 is least intense to F is most intense. (5: somewhat less than half, D: pretty close to max, 1: almost none etc)
Step 4: use your knowledge of additive color mixing to guestimate the color.
You don't need to be able to map each digit to its' decimal equivalent first to get a general guess. If you're missing Step 4, then you can still figure out mostly-primary colors like #D53A1F. Step 1 should be trivial. Step 3 can be guestimated.
Though I can read and even compare hex numbers easily, I'm with you that it would be great to just represent colors in "rgba(75 100 93 80)", i.e. colorspace(percents) format anywhere and to not deal with cryptic strings.
Moreover, RGB isn't great at all. We need "10% lighter than deep purple", not #ec12e4. All the mind-calc is done in these terms anyway.
In Australia you learn about base-N numbers in primary school, I don't understand why you see that as a huge undertaking. Ultimately if you ever have to check the mode of a file on *nix, or interact with bitmasks in any way, you're going to run into numbers in different bases. Not to mention memory addresses when debugging.
I mean, it's not _mandatory_ but it's something you'll run into eventually (though since I do quite low level systems programming, I expect that I see hex a lot more often than web developers -- though CSS colours are also in hex).
In my experience, I tend to think it's something like 30% technologists, 70% money makers. Unfortunately, barely anyone (including myself) wants to see themselves as the second group (for the record, I think I'm on the second group).
I'm sorry, but if you don't know how to read simple hex numbers for colours, and you're unwilling to learn, you probably shouldn't be in this game.
It's like when people complain that they failed to install desktop Linux in the last couple of years - sure in the 90s that was a very valid complaint, and early last decade it was tricksy too. But now? It says more about them.
TBH, in 90s I just pushed disk[ette] into the drive and booted into installer. Today I have to go through all the DVD-ISO-to-USB3-EFI hassle before it even boots. And then it still has no idea of how to install into that single partition that I created.
The fact that users cannot just install the OS and use it after 2+ decades says more about OS, not about users.
I mean people on here, who are supposed to be technically minded. I'm not really sure what hassle you're talking about, but I was very specific in talking about people who proudly claim to have failed, here.
My mother? Like most people, she might have trouble, but she probably doesn't even know what an OS is. A hacker news poster in 2017 should know better.
I think you're mistaking tech-minded with linux-experienced. I am definitely tech-minded (unix & c are main tags) and was linux-experienced. Solved any issue in minutes, hours or days. Now I can't make my soundcard work in Debian because: A). I don't know the stack anymore. Pulseaudio, alsa, setting managers, etc. B). I don't want to dive in there again to get more amazing brand new details about how sound meant to be played at modern days on my 11yo PC with AC97 chip.
I was like that too. Losers can't install, tune, [read hex colors,] etc. Then you realize that your time is finite, that your overall awareness has FOV parameter, that issues never end, they evolve. If you focus too much, you're solving local problems that should not be there in the first place, and these are not yours. So, things are wrong, not your FOV. Fix things, not yourself. Know hex for hardware, not for colors. That's what your parent's rant is about.
No, I'm not, and please read again, I was very specific.
If you can't install linux in 2017, you can't really consider yourself technically able.
I said nothing about getting every piece of hardware going. I said nothing about tuning anything, I said nothing about resolving issues or fixing things yourself.
If, between the big distros (and particularly ubuntu) you can't even get it installed in 2017, when linux in various forms is so widespread, and the installers are really not much more complex than the windows one, you have problems. I've watched linux installs go from hideously complex beasts invokving typing in monitor tolerances and manually selecting arcane package-sets to try and make anything work to something supremely easy. Are you really going to argue that installing Ubuntu on generic hardware is sooooo difficult we shouldn't expect someone who is supposedly into tech and a capable programmer to be able to click through an installer? Really? Because to me that's an expectation on a par with writing fizz-buzz,the lowest possible barrier to entry.
The parent rant is trying to say that kids today don't need hex, and that it's a fuddy-duddy old man skill reserved for those who grew up coding in assembly on 8-bit processors. As this very topic shows,I don't think that's the case.
I'll skip linux part because it goes nowhere without considering that specific case with someone on HN who failed. But doesn't your last sentence involve circular logic?
Hex colors are RRGGBB; if you look at C0FFEE, you can see that it's all-green, almost-all-blue, and significantly less red. So it's going to be a near-white color that's green/blue.
You would recognize how 00 through FF indicates more/less presence of each of rgb for every two characters, and combine from there. IE ff0000 would mean fully red no green no blue. It takes some practice to remember how the different combinations add up.
Seems like a great gamer handle. It's leetspeak, a decent name to go by on the servers, and it's a color. One could maybe theme a site in tune with one's nickname that way.
SAFEST is a decent green and ACIDIC is a decent red -- probably going to use these instead of #f00 and #0f0 next time I need success/failure color codes for some hastily-made web thing.
7->T is definitely the most oblique of the four numbers. I'd say that 0 as O is completely unobjectionable, and 1 as I mostly so. It's a lot easier for me to read #c0ffee than #7a57e5.
He makes a direct reference to leetspeak [0] which has leet/1337 even in the name. As someone who grew up alongside gaming, the T/7 connection is acceptable without issues.
The idea is nice, but (as a suggestion) I would add a drop down to "strict" where you can tick whether to include 0 (zero) and 1 (one) as respectively O and I, which is what everyone would likely read as well as - maybe - 5=S while the 1 as L (as in 1337) and the 7=T are far less intuitive.
To give anyone freedom of choice maybe adding a "selectively strict" button with ticks for each leet letter would be ideal (as an example I cannot read the 2 as R as it is used on http://bada55.io/ ).
One oddity: for some reason, the site's CSS makes text selection highlights invisible. If you select text, the selection looks identical to unselected text, though copy/paste still works.
Also, the color boxes appear to be editable text areas: if you click on one, you can backspace or Ctrl-U and the text of the color vanishes, until you hover/unhover it again and the text gets reset (because of the 1337/LEET translation going on with hover/unhover).
They seem to have intentionally done this, by setting ::selection to transparent. I don't understand why some people think this is a good ideal, for colorblind people this is a real nuisance.
I'm periodically looking for browser extension that disables disabling of selection, but still no luck.
What really annoys is that browsers still select page text as it lays in HTML, ignoring CSS that places it differently. Also the entire fact that selection spans really different blocks, so you have to aim precisely to start and end it at appropriate places.
The main purpose of browser is to manage hypertext. How could that be implemented wrong?
That likely has less to do with strictness of number/letter substitutions and more to do with "tac" not appearing in the dictionary (unlike "tic" and "toe").
Nice - I built something similar a few years ago, mostly to mess around with CSS columns (http://thejacklawson.com/csswords/). I only used a regex over the system dictionary, so it doesn't include a lot of what it probably could.
This isn't related to the post content (which was great), but I noticed that HN lists the domain as "surge.sh", which doesn't make a lot of sense because surge.sh is just the web hosting service this site is on.
With the web, the convention right now is to treat the subdomain as a different security origin (with the exception of www). So the link should show c0ffee.surge.sh, not surge.sh.
If this is a manual setting, it probably also needs to be set for neocities.org. I noticed that wordpress.com domains were being subdomained properly.
It really shouldn't be manual, it should just always show the correct origin domain.
I was warned to not use it by it's maintainers because it would make the root of our domain potentially unusable. If I understand it correctly, it's designed for things like domain roots (.com), not domains with subdomains.
It is useful for some security protections in such a hosted subdomain scenario which is why herokuapp.com, herokussl.com, github.io, gitlab.io, etc are on the list, but yes, you would not be able to use your primary domain there, you'd need a dedicated domain for your customers and their subdomains.
Namely, having your hosting domain on the public suffix list means that browsers will not allow setting cookies on the suffix (similar to how you cannot set a cookie for ".com"), which prevents rogue websites on the same root domain from stealing sensitive cookie values from other subdomains.
You didn't read through far enough (or, more likely, you didn't ctrl-F well enough). After the "ICANN DOMAINS" section is the "PRIVATE DOMAINS" section. It contains entries like:
- s3.amazonaws.com
- blogspot.com
- githubusercontent.com
but there are many other sites in the list which are less notable.
Indeed, it doesn't really have anything to do with notability. You'll notice none of those root domains you just provided have sites attempting to use cookies on them.
TLDR; For legacy reasons, some words produce valid colors even if they don't respect the standard color formats. For example, "chucknorris" produces red.