UTF-16 is terrible, yes, but Windows does support it. I'm sure naive programmers create bad code by assuming UCS-2 and all characters being 2 bytes, but surrogate pairs like Emoticons U+1F600 - U+1F64F work just fine.
And by "out of luck" I was referring to possible future codepoints above U+10FFF. UTF-16 can only support up to that by using surrogate pairs. It does not have any way to represent higher codepoints, where as UTF-8 can easily be extended with 5 and 6 byte sequences.
I'm pretty sure most font systems already DO do this. In fact, this was the reason I rooted my Android phone - I wanted to change the font-fallback order so that certain Kanji would display with a Japanese font instead of Chinese one. An example is http://jisho.org/kanji/details... which is drawn completely different in Chinese fonts, to the point where Japanese readers would not know the symbol, yet both are supposed to be represented by the same codepoint, because they're the same character. But anyway, fonts and display aren't a character set encoding issue. It doesn't matter how you represent the glyph on disk or in memory, if your fonts are all missing a rendering for the character, you're going to just see a placeholder box no matter what.
The official spec limits UTF-8 to 10FFFF to help it place nice with UTF-16, so no 5 or 6 byte sequence is valid anymore. There isn't any characters defined above 10FFFF yet anyway. But in the future, if those ranges are defined, it would be easy to have programs using UTF-8 utilize those characters. If you use UTF-16 like Windows, you'd be out of luck though.
The font issue is a silly thing to worry about. The same thing can be said of ASCII of and Windows-1252. I'm sure lots of early fonts, and probably even some you find today, that claim to support all glyphs in Windows-1252, are missing the Euro sign at codepoint 0x80, because they added it later on. Even for a small character set restricted to 256 max characters, as you can see, things change over time, and fonts don't always keep up.
The answer is UTF-8. It's pretty much going to be the de-facto character set now. It has backwards compatibility with ASCII, and can easily be extended in the future to support possible U+200000 - U+7FFFFFFF codepoints, as the original UTF-8 specification used to include that anyway.
Any important point is to not mess things up and end up with CESU-8 like MySQL did. There are completely valid 4-byte UTF-8 characters, so don't think of it as some special alternate UTF-8 by artificially capping UTF-8 at a max of 3 bytes per character.
I've hiked in the backcountry for a week in Airplane mode with MyTracks recording just fine the whole way. MyTracks can also save your KML or other formats to your SD card for easy access last I checked.
I blame Mozilla because they could at least offer subpar work-arounds (blurry 2x scaling, half-assed PPAPI implementation, etc) for the NPAPI flash, but they choose not to. As much as I would like Flash to go away and be replaced with HTML5 video and Javascript, the real world situation is that big sites like CNN and Google Finance use Flash for video and charts that I simply can't access on my laptop now, because everything is too tiny to use. This laptop is only 2880x1620 and set to 200% scaling, but imagine how much worse things will look once laptops start having 4K displays and beyond. Meanwhile, right now, Chrome and IE both display all Flash content the correct size, so what am I to do? Obviously, on this laptop, I have to just not use Firefox. This sucks, because I otherwise think Firefox is the by far the best browser choice out there for a large number of other reasons.
Mozilla's refusal to implement PPAPI and Adobe's refusal to fix bugs in the NPAPI version of flash is going to cause a lot of problems in the future. For example, right now, the NPAPI version of Flash can't handle HiDPI properly (retina display and Windows at non-96dpi). Websites that use Flash for video or text display are unusable if you have a 192-dpi screen already, and it's only going to get worse as HiDPI both becomes more common and people start using even higher DPI devices. Meanwhile, the same websites display just fine in both Chrome (PPAPI Flash) and IE (ActiveX Flash).
It's pretty clear at this point, use Firefox or IE10+ if you want good HTML5/CSS3 support. Chrome only cares about what benefits Google and their ability to advertise to you.
I think Firefox is the only good browser, and the only one people should be using. It renders the best, has the best adblock, and is secure and respects privacy as best as possible. As a web developer, when all I care about is how the site renders, I want people to be using Firefox, or at least IE10+. Using Chrome or Safari is like using IE9. Is sort-of works with modern HTML5/CSS3 design, but with a graceful fallback to a crappier, sub-par look due to missing support for all the CSS3 features I want to use. But I guess Chrome is a lot better than IE8 and below, but at that point we have to start comparing Netscape 4, so it's best to just forget about anything that old now.
That's a great excuse. IE6 sucked so Chrome 38 might as well still suck. Yeah CSS3 support is split up all over the place, but there are a certain small set of really useful core features that just about every browser supports, and are particularly more useful for webpages than other features. Pretty much everything in that small list of features is supported by IE10+, Chrome 10+, and FF 4+. Sometimes support requires with vendor prefixes, but it still works. Except gradients on Chrome. Up to version 38 still and you can't make basic angled striped patterns for backgrounds, or smoothly blend two colors over a large distance.
And sorry, if you're talking about security, let's talk about privacy. Google is to the point where I'd rather trust Microsoft with my personal information over Google, so that's a huge sting against Chrome, and I'm not really trying to advocate IE here. Firefox is pretty much where people want to be, especially given how much better adblock support is there.
Why are people using public CAs and purchased certificates for private networks?
Wouldn't it make more sense to set up your own internal CA, or at least just force via policy certain certificates onto each computer's browser as trusted?
The double images are faint, blurry, and off centered slightly. I'm guessing they are focus aberrations due to healing that will slowly fix themselves over time. I don't think its permanent by any means, but some aspects of Lasik heal very very fast, while others take months and months. For most daily activities, you will never notice the ghost images at all. They warn you about this only in saying that your nighttime driving vision may be bad because of "halos" but really what they mean is starbursts and ghost images around bright light sources with a dark contrast, and it manifest in anything such as small LEDs on computers/smoke alarms/etc or high-contrast white-on-black text.
Weird. I don't remember my eye being poked by anything during the pre-exam measuring. I just looked into various machines that took pictures, stared at a red dot or something. They did a LOT of measuring too. Took way longer than the actual surgery takes.
I'm surprised they operated on you with -8. I looked into Lasik awhile back and all places refused to perform Lasik with that strong of a correction, for me they said it was PRK or nothing.
Some lasers are only approved to -5 or -6. Others are approved up to -15.0: http://www.fda.gov/MedicalDevi... Although the doctor can always choose to do "off-label" corrections with any laser, the approved value is not a hard limit.
Chances are, if you can't get Lasik because of your prescription strength, then your cornea just isn't thick enough. It's a real concern once you get into the -8.00 and worse range, but some people have enough thickness, and others don't.
I've read it's pretty normal, and it should correct itself over time. It's still annoying, but it *only* is noticeable around the edges of bright lights with dark backgrounds. My right eye is pretty good, it's my left eye that has some "ghost" images to the left and up of the main image, when looking at bright lights, little LEDs, white on black text, etc. I still have red spots on my eyes from the suction used for the Intralase to cut the flap, so I know it's still healing, even if it doesn't hurt or anything.
Where I went, everybody got 1 Valium and they gave you a stress ball to squeeze while everything was going on. Everything else sounds the same, except I didn't get a band-aid of any sort, they just put the flap back and I went home. Drove myself to the follow up the next morning at 8am. Agree that you can smell the laser burning your eye away. That's one thing they never said up front. You can't feel or see anything other than a blurry blinking red spot, and you hear some clicking as the laser pulses, but that was all expected.
I'm in my mid 30s and had -8.00 with another -1.00 astigmatism and I just had custom waveform Lasik done this month. The double and triple vision around bright objects is still very annoying after 3 weeks, even if my eyesight is 20/20 now. It's particularly bad in PuTTY or anything else that uses white text on a black background. I seriously hope it goes away within the next few months.
I understand how bad managers can create situations like this for developers, that's a given. All I was arguing is that IE10 and IE11 should both be pretty good browsers, capable of HTML5/CSS3 mostly on par with all the other major browsers now. I don't see how you can purposefully create *new* code that works on just IE10, and not IE11, without trying REALLY hard to be an idiot.
For legacy corporate sites, you just need to stick in a X-UA-Compatible to force IE to render in the version-mode you were originally targeting, and for the most part, I think things will keep working. Your IE10 and IE11 browsers can be forced to render everything as if they were IE9, or IE8, etc... This is only a "fix" for old, legacy sites though. For any new development, you should really stick a with IE=edge for X-UA-Compatible and just code to HTML5/CSS3 standards.
Like I said, you have to try REALLY hard to get yourself into such as situation, by explicitly NOT writing webpages to standard HTML5/CSS3. It's probably the result of poorly trained developers copy/pasting in tons of blobs of ancient javascript, or activeX controls that aren't going to work on newer versions of IE, or using some "toolkit" that spits out your HTML/CSS/JS for you instead of writing streamlined code yourself. Who knows. Like I said though, if you write standard HTML5/CSS3, you will have literally no trouble on IE10+ and Firefox, Chrome, Safari, etc. I can pretty much guarantee it.
IE9 will generally also gracefully fall back, as it supports some HTML5, it's just missing lots of features you might want to use in CSS such as gradients, transitions, transformations, text-shadow, and then some basic HTML things like the placeholder attribute for form fields. With IE9 having support for CSS rgba, opacity, box-shadow, nth-child, calc, and some other important things like Javascript's addEventListener and JSON.parse, you can also pretty easily target IE9+ if you know which handful of neat CSS things to avoid.
Targeting IE8 and below requires all kinds of IE-specific code like attachEvent instead of addEventListener, and it's generally not worth targeting IE8 without some shim like JQuery. And for this reason, I've pretty much stopped using JQuery (as it's now mostly superfluous), and stopped targeting IE8 completely. Sorry Windows XP users, but you're going to need to use a 3rd party browser of some sort if you want to stay on the web.
And this highlights an incredibly deep flaw in Unicode... plus, unfortunately, the app I was using on Android wasn't rendering with HTML, so I was basically out of luck there.
I ran into this problem recently. The kanji for "leader" is supposed to be like the diagram at: http://jisho.org/kanji/details... (note the 4 individual lines for the top right piece) but the fonts on my Android phone insisted on rendering this glyph using the Chinese font, that looks like http://www.hantrainerpro.com/h... It's not just drawn differently, it's actually one less stroke in Chinese, but it's supposed to be the same glyph somehow! Unicode has no way to indicate which language you actually want characters like this to display in. Sure for single-language documents like HTML, you can use a lang= attribute and hope the browser handles it right, but you certainly can't mix the two together very easily.
UTF-16 is terrible, yes, but Windows does support it. I'm sure naive programmers create bad code by assuming UCS-2 and all characters being 2 bytes, but surrogate pairs like Emoticons U+1F600 - U+1F64F work just fine.
And by "out of luck" I was referring to possible future codepoints above U+10FFF. UTF-16 can only support up to that by using surrogate pairs. It does not have any way to represent higher codepoints, where as UTF-8 can easily be extended with 5 and 6 byte sequences.
I'm pretty sure most font systems already DO do this. In fact, this was the reason I rooted my Android phone - I wanted to change the font-fallback order so that certain Kanji would display with a Japanese font instead of Chinese one. An example is http://jisho.org/kanji/details... which is drawn completely different in Chinese fonts, to the point where Japanese readers would not know the symbol, yet both are supposed to be represented by the same codepoint, because they're the same character.
But anyway, fonts and display aren't a character set encoding issue. It doesn't matter how you represent the glyph on disk or in memory, if your fonts are all missing a rendering for the character, you're going to just see a placeholder box no matter what.
The official spec limits UTF-8 to 10FFFF to help it place nice with UTF-16, so no 5 or 6 byte sequence is valid anymore. There isn't any characters defined above 10FFFF yet anyway. But in the future, if those ranges are defined, it would be easy to have programs using UTF-8 utilize those characters. If you use UTF-16 like Windows, you'd be out of luck though.
The font issue is a silly thing to worry about. The same thing can be said of ASCII of and Windows-1252. I'm sure lots of early fonts, and probably even some you find today, that claim to support all glyphs in Windows-1252, are missing the Euro sign at codepoint 0x80, because they added it later on. Even for a small character set restricted to 256 max characters, as you can see, things change over time, and fonts don't always keep up.
The answer is UTF-8. It's pretty much going to be the de-facto character set now. It has backwards compatibility with ASCII, and can easily be extended in the future to support possible U+200000 - U+7FFFFFFF codepoints, as the original UTF-8 specification used to include that anyway.
Any important point is to not mess things up and end up with CESU-8 like MySQL did. There are completely valid 4-byte UTF-8 characters, so don't think of it as some special alternate UTF-8 by artificially capping UTF-8 at a max of 3 bytes per character.
I've hiked in the backcountry for a week in Airplane mode with MyTracks recording just fine the whole way. MyTracks can also save your KML or other formats to your SD card for easy access last I checked.
I blame Mozilla because they could at least offer subpar work-arounds (blurry 2x scaling, half-assed PPAPI implementation, etc) for the NPAPI flash, but they choose not to. As much as I would like Flash to go away and be replaced with HTML5 video and Javascript, the real world situation is that big sites like CNN and Google Finance use Flash for video and charts that I simply can't access on my laptop now, because everything is too tiny to use. This laptop is only 2880x1620 and set to 200% scaling, but imagine how much worse things will look once laptops start having 4K displays and beyond. Meanwhile, right now, Chrome and IE both display all Flash content the correct size, so what am I to do? Obviously, on this laptop, I have to just not use Firefox. This sucks, because I otherwise think Firefox is the by far the best browser choice out there for a large number of other reasons.
Mozilla's refusal to implement PPAPI and Adobe's refusal to fix bugs in the NPAPI version of flash is going to cause a lot of problems in the future. For example, right now, the NPAPI version of Flash can't handle HiDPI properly (retina display and Windows at non-96dpi). Websites that use Flash for video or text display are unusable if you have a 192-dpi screen already, and it's only going to get worse as HiDPI both becomes more common and people start using even higher DPI devices.
Meanwhile, the same websites display just fine in both Chrome (PPAPI Flash) and IE (ActiveX Flash).
Time and time again, they just refuse to properly implement CSS3 gradients.
Version after version, no progress on https://code.google.com/p/chro... at all
See http://slashdot.org/comments.p... from version 38.
It's pretty clear at this point, use Firefox or IE10+ if you want good HTML5/CSS3 support. Chrome only cares about what benefits Google and their ability to advertise to you.
I think Firefox is the only good browser, and the only one people should be using. It renders the best, has the best adblock, and is secure and respects privacy as best as possible.
As a web developer, when all I care about is how the site renders, I want people to be using Firefox, or at least IE10+. Using Chrome or Safari is like using IE9. Is sort-of works with modern HTML5/CSS3 design, but with a graceful fallback to a crappier, sub-par look due to missing support for all the CSS3 features I want to use.
But I guess Chrome is a lot better than IE8 and below, but at that point we have to start comparing Netscape 4, so it's best to just forget about anything that old now.
That's a great excuse. IE6 sucked so Chrome 38 might as well still suck. Yeah CSS3 support is split up all over the place, but there are a certain small set of really useful core features that just about every browser supports, and are particularly more useful for webpages than other features. Pretty much everything in that small list of features is supported by IE10+, Chrome 10+, and FF 4+. Sometimes support requires with vendor prefixes, but it still works. Except gradients on Chrome. Up to version 38 still and you can't make basic angled striped patterns for backgrounds, or smoothly blend two colors over a large distance.
And sorry, if you're talking about security, let's talk about privacy. Google is to the point where I'd rather trust Microsoft with my personal information over Google, so that's a huge sting against Chrome, and I'm not really trying to advocate IE here. Firefox is pretty much where people want to be, especially given how much better adblock support is there.
Firefox and IE are basically the only good browsers still, I'm so sick of bugs like this on really important features.
https://code.google.com/p/chro...
http://jsfiddle.net/7C7ey/
Can it render large CSS gradients without horrible banding yet?
Why are people using public CAs and purchased certificates for private networks?
Wouldn't it make more sense to set up your own internal CA, or at least just force via policy certain certificates onto each computer's browser as trusted?
The double images are faint, blurry, and off centered slightly. I'm guessing they are focus aberrations due to healing that will slowly fix themselves over time. I don't think its permanent by any means, but some aspects of Lasik heal very very fast, while others take months and months. For most daily activities, you will never notice the ghost images at all. They warn you about this only in saying that your nighttime driving vision may be bad because of "halos" but really what they mean is starbursts and ghost images around bright light sources with a dark contrast, and it manifest in anything such as small LEDs on computers/smoke alarms/etc or high-contrast white-on-black text.
Weird. I don't remember my eye being poked by anything during the pre-exam measuring. I just looked into various machines that took pictures, stared at a red dot or something. They did a LOT of measuring too. Took way longer than the actual surgery takes.
I'm surprised they operated on you with -8. I looked into Lasik awhile back and all places refused to perform Lasik with that strong of a correction, for me they said it was PRK or nothing.
Some lasers are only approved to -5 or -6. Others are approved up to -15.0: http://www.fda.gov/MedicalDevi...
Although the doctor can always choose to do "off-label" corrections with any laser, the approved value is not a hard limit.
Chances are, if you can't get Lasik because of your prescription strength, then your cornea just isn't thick enough. It's a real concern once you get into the -8.00 and worse range, but some people have enough thickness, and others don't.
I've read it's pretty normal, and it should correct itself over time. It's still annoying, but it *only* is noticeable around the edges of bright lights with dark backgrounds. My right eye is pretty good, it's my left eye that has some "ghost" images to the left and up of the main image, when looking at bright lights, little LEDs, white on black text, etc. I still have red spots on my eyes from the suction used for the Intralase to cut the flap, so I know it's still healing, even if it doesn't hurt or anything.
Where I went, everybody got 1 Valium and they gave you a stress ball to squeeze while everything was going on. Everything else sounds the same, except I didn't get a band-aid of any sort, they just put the flap back and I went home. Drove myself to the follow up the next morning at 8am.
Agree that you can smell the laser burning your eye away. That's one thing they never said up front. You can't feel or see anything other than a blurry blinking red spot, and you hear some clicking as the laser pulses, but that was all expected.
I'm in my mid 30s and had -8.00 with another -1.00 astigmatism and I just had custom waveform Lasik done this month. The double and triple vision around bright objects is still very annoying after 3 weeks, even if my eyesight is 20/20 now. It's particularly bad in PuTTY or anything else that uses white text on a black background. I seriously hope it goes away within the next few months.
Sure, if you just open Terminal and don't use anything else. NextStep is pretty much a pile of junk.
I understand how bad managers can create situations like this for developers, that's a given. All I was arguing is that IE10 and IE11 should both be pretty good browsers, capable of HTML5/CSS3 mostly on par with all the other major browsers now. I don't see how you can purposefully create *new* code that works on just IE10, and not IE11, without trying REALLY hard to be an idiot.
For legacy corporate sites, you just need to stick in a X-UA-Compatible to force IE to render in the version-mode you were originally targeting, and for the most part, I think things will keep working. Your IE10 and IE11 browsers can be forced to render everything as if they were IE9, or IE8, etc... This is only a "fix" for old, legacy sites though. For any new development, you should really stick a with IE=edge for X-UA-Compatible and just code to HTML5/CSS3 standards.
Like I said, you have to try REALLY hard to get yourself into such as situation, by explicitly NOT writing webpages to standard HTML5/CSS3. It's probably the result of poorly trained developers copy/pasting in tons of blobs of ancient javascript, or activeX controls that aren't going to work on newer versions of IE, or using some "toolkit" that spits out your HTML/CSS/JS for you instead of writing streamlined code yourself. Who knows. Like I said though, if you write standard HTML5/CSS3, you will have literally no trouble on IE10+ and Firefox, Chrome, Safari, etc. I can pretty much guarantee it.
IE9 will generally also gracefully fall back, as it supports some HTML5, it's just missing lots of features you might want to use in CSS such as gradients, transitions, transformations, text-shadow, and then some basic HTML things like the placeholder attribute for form fields. With IE9 having support for CSS rgba, opacity, box-shadow, nth-child, calc, and some other important things like Javascript's addEventListener and JSON.parse, you can also pretty easily target IE9+ if you know which handful of neat CSS things to avoid.
Targeting IE8 and below requires all kinds of IE-specific code like attachEvent instead of addEventListener, and it's generally not worth targeting IE8 without some shim like JQuery. And for this reason, I've pretty much stopped using JQuery (as it's now mostly superfluous), and stopped targeting IE8 completely. Sorry Windows XP users, but you're going to need to use a 3rd party browser of some sort if you want to stay on the web.
And this highlights an incredibly deep flaw in Unicode... plus, unfortunately, the app I was using on Android wasn't rendering with HTML, so I was basically out of luck there.
I ran into this problem recently. The kanji for "leader" is supposed to be like the diagram at: http://jisho.org/kanji/details... (note the 4 individual lines for the top right piece) but the fonts on my Android phone insisted on rendering this glyph using the Chinese font, that looks like http://www.hantrainerpro.com/h...
It's not just drawn differently, it's actually one less stroke in Chinese, but it's supposed to be the same glyph somehow!
Unicode has no way to indicate which language you actually want characters like this to display in. Sure for single-language documents like HTML, you can use a lang= attribute and hope the browser handles it right, but you certainly can't mix the two together very easily.