Postings are provided as is with no warranties, and confer no rights. Opinions expressed here are my own delusions; my employers at best shake their heads and sigh, at worst repudiate the content with extreme prejudice, whenever it manages to appear on their radar.
This blog is unsuitable for overly sensitive persons with low self-esteem and/or no sense of humour. Proceed at your own risk. Use as directed. Do not spray directly into eyes. Caution: filling may be hot. Do not give to children under 60 years of age. Not labeled for individual sale. Do not read 'natas teews ym' backwards. Objects in mirror are closer than they appear. Chew before swallowing. Do not bend, fold, spindle or mutilate. Do not take orally unless directed by a physician. Remove baby before folding stroller. Not for use on unexplained calf pain.
A nice FLAIR (FLuid Attenuated Inversion Recovery) view from the not-too-distant past. Every abnormality you can see on this scan (and there is more than one!) is asymptomatic at present. Alongside is a picture of me walking the walls at Fremont Studios, a sign of a damaged brain.
Note: if you found this blog to be interesting, then the new blog written on this topic a week later (The ordinary nature of being exciting) should be right up your alley...
So, way back in 1999, Microsoft eliminated the MVP program that they had created and nurtured.
It was done quickly and entirely due to an AOL lawsuit where its newsgroup leaders sued for benefits as "de facto" employees.
Then over a weekend, so much mail was received by senior execs about how awful that decision was that they reinstated the MVPs days later.
You can see it described here. My only contribution is that I can confirm that it was the AOL lawsuit that inspired it (the Wikipedia article is less definitive on the matter) and that I had a minor impact on the list of exec email addresses (I recommended certain email addresses be removed as some of the people on the list were not the right people -- I think my advice was mostly ignored, at the time.)
You may wonder why this is relevant.
Well, because Microsoft, multi-billion dollar company that it may be, has no spine whatsoever to speak of.
Even though the cases were miles apart, even though there was no threat from any MVPs suing, they wigged out at the chance it could happen and over-reacted in a way that was not in the best interest of customers. Including some of their best customers, the ones who did so much to support their other customers.
Fast forward a few years.
And the fact that Microsoft has great health coverage.
Given my pre-existing condition coverage was a huge issue about the idea of working full time for Microsoft, as I discussed in My thoughts on the health care thing (given my life, my multiple sclerosis, and my iBot). As that blog discusses, they cleared this hurdle with ease.
Multiple sclerosis costs money -- for symptoms, for tests, for treatment.
But Microsoft has always had some of the best health care there is, something they are in fact renowned for.
Calling it universal health care is an understatement -- it is practically pan-dimensional it is so huge.
A few years later, we got a mail about changes in the health plan:
Shocking! Microsoft was taking two steps to do the thing that every other company in the country had been doing all along.
We were still astoundingly well-covered.
Now recently the new health care bill passed.
Foremost in Microsoft's cowardly mind and spineless guts was the Cadillac Insurance Plan notion, which as Wikipedia explains is "an informal term for any unusually expensive health insurance plan, usually arising in discussions of medical-cost control measures in the United States".
As it further goes on to explain:
Although neither bill uses the "Cadillac" term, the 2010 Patient Protection and Affordable Care Act, as amended by the Health Care and Education Reconciliation Act of 2010, imposes an excise tax on plans with an annual cost exceeding $10,200 for individuals or $27,500 for a family (not including vision and dental benefits).
Now me saying this scared Microsoft is not me spinning yarns. They directly said so in a communication just after it all passed. Sure it would be in eight years, but they stood out like sore thumb from everyone else and made it clearly they were actively worried about this tax.
Then yesterday they dropped the bomb on us, just eight years in advance: the insurance that used to never have a co-pay would now always have one. Up to an annual maximum not yet determined, we the employees would now be contributing to our health care costs. As Ina Fried reported:
"We can confirm that Microsoft has begun to evolve its employee health care benefit," Microsoft spokesman Lou Gellos said in a statement. "There will be no changes for the next two years, but in 2013, employees will contribute to their health care. A guiding principle in this evolution is that Microsoft will continue to offer market-leading health and wellness benefits that rank among the best in the country."
The company didn't go into details on what exactly employees will have to pay, but said there will be a maximum amount that workers will have to pay both individually and as a family. Microsoft currently pays 100 percent of the cost of coverage for workers as well as for a spouse or domestic partner and children.
Hmmm.
This is like the same language they use about when the poll shows many employees feel their pay if less than the industry and we are assured how competitive they are. Of course they point out the benefits as a part of that, so that other language will now be taking a hit too as they decide that the best way to proceed is to act like everyone else does.
Because maybe if they fool the government into thinking we're a Pontiac Insurance Plan they won't call us a Cadillac Insurance Plan.
Okay.
UPDATE 10:59am: I have had several people, at multiple levels of authority and influence, point out that in the announcement the larger issue of health care costs skyrocketing was also emphasized. So I will point that out now since it was not my intent to mislead, though the issue of Cadillac plans was raised as an important issue. My larger points still stand, I believe.
We don't have numbers yet but for now I can pretty much assume that I am likely going to hit that maximum any year I am working, which means I can probably look at that amount as an annual salary decrease.
And Microsoft will just get some extra money from me, so that they can try to make sure they won't have to pay more to the government in eight years.
My initial thought is cheap ass, cowardly, and greedy bastards and I'll admit further reflection does not water that sentiment down much, as people making millions and more decide that people making way less can foot the bill to protect them from the company having to pay out more.
After spending the night drinking too much and reflecting further, I have a different thought.
They no longer look as bad as they did, and I'm not angry any more.
But Microsoft now looks ordinary to me.
I never consciously thought of the health care plan at Microsoft as handcuffs keeping me here until they announced how they planned to remove those shackles.
And now I sit here and when think about Windows 7, or the next version, or Windows Phone 7, or really anything planned, and thing meh. The idea of doing my job when I am not loving it is something that I never have found appealing. But now I have a type of "short timer" syndrome, because in a couple of years working for Microsoft would be just like working for anybody, and perhaps I should not have been so hasty in turning down prior job offers on the basis of how well Microsoft treats its employees.
I'm grateful about that bonus I got a few years ago when they paid for the iBot entirely. Because in the new world, it would cost me since they've decided intrinsicly that we aren't worth as much.
They used to care about their MVPs until they proved they'd drop them in an instant due to even the most irrational fear of lawsuits.
They used to care about their employees too much to get rid of them in large numbers, and then they laid off over 5000.
And they used to care about their employees too much to give us anything other than benefits to rival and top the industry.
Now they've decided money is better then loyalty.
Well.
Microsoft did want to be like everyone else, and not be special.
Congratulations Microsoft. Now you are.
I have been writing about internationalization and the console off and on for over five years now, and this fact highlights two problems with blogs:
Because of this, I thought I would take a little time to really summarize the current state of affairs, with examples in-line for shorter stuff and with links for the longer stuff. So you can just look here to get the full story in one place.
Random people trying to improve their console application story can use this blog to find out about everything they need to know. They are perhaps not in the ideal order here either, but at least they are all here. In a "myth-busting" format.
You're welcome.
So, without further introduction, let me proceed....
Myth #1: You can not detect within a console application whether a console handle has been redirected to a file.
Given some of the central differences between applications that are principally used within the console and ones that expect to spend the bulk of their time redirected, this is a pretty important issue, especially given other myths related to the "least common denominator" of each when it comes to Unicode support.
This myth, however, is demonstratably false. You can (for example) check out the IsConsoleRedirected function from this blog to see how easy this is to do. There are many other examples but this seemed like the most contained.
Myth #2: You cannot detect whether a console handle that has been redirected to a file is appending to an existing file or is creating a new file of its own.
Another myth to bust -- this one is trivial to detect, as I point out in the section entitled "First if all" in this blog:
A simple call to GetFileSizeEx will tell you that, immediately! Just pass in that stdout pointer that you have already determined is a redirected file, and then you will know by the size of the file if they redirected with a > or a >>.
Sometimes the simplest answers are the hardest ones to figure out!
Myth #3: You should never add a BOM (byte order mark) to console application output.
Given the truths behind Myth #1 and Myth #2, this one obviously is weird. If you
then you can write U+FEFF, the Unicode Byte Order Mark. Let the underlying encoding do its thing with the BOM and you don't need to worry about anything.
Myth #4: When appending console output to an existing file you don't/can't know what the encoding is.
Now this myth causes all kinds of problems because one can easily talk oneself into being unable to safely support anything beyond ASCII -- and I have seen people do this very thing.
But untrue is untrue, and in Orwellian terms this one is perhaps even doubleplusuntrue.
As this blog points out, in its section entitled "Second of all":
A quick call to GetFinalPathNameByHandle to get the path and you can look at the contents and see what is in there and make the appropriate decision (if you need it to be pre-Vista you can use code like this).
Remember that the file is guaranteed to be opened to you or else all of your write operations would fail. So you are the one person with access.
By combining the knowledge of Myth #3 and Myth #4 with the general truth that people who "redirect append" do so to files created by applications that use similar techniques or by the very same application you can look at the first few bytes in most cases to do rather precise detection verifying whether it is Unicode.
Myth #5: The console does not support Unicode.
This is a pretty weird one, and between all of mystery surrounding the default use of CP_OEMCP in the console and the longstanding poor documentation and bugs surrounding the console in general and the CRT in particular it has been one of the most enduring myths of all time.
But when you use the knowledge behind Myth #1's debunking to determine you are in the console, the WriteConsoleW and ReadConsoleW Win32 API functions have supported Unicode for not quite as long as CMD.EXE has existed, but certainly on any version of Windows you are likely to see.
Myth #6: The console is able to support Unicode, but sometimes it doesn't work and for some characters it doesn't work -- and you can't ever tell what's what.
Thank goodness the myth was worded this way, so I can once again say it is wrong. Wrong, wrong, WRONG.
By using the knowledge of this blog, one can detect both
By the use of those two functions, you can know exactly what is supportable/supported. From there you can choose (if you so wish) to make intelligent decisions on how to proceed, even perhaps going so far as to warn people what they ought to be doing instead if they are likely to be unable to support the text your console application might want to output.
Myth #7: The Microsoft Visual C Run-time library (mvcrt*) doesn't support Unicode output to a Unicode console.
This myth was proven to be wrong back in this blog.
A simple:
_setmode(_fileno(stdout), _O_U16TEXT); _setmode(_fileno(stderr), _O_U16TEXT);
before calling Unicode console functions like wprintf and getting back error text is all you need to have the CRT do all the work behind Myth #1 and properly handle console output. This has been true since Visual Studio 2005 (VC++ 8.0).
There are several such modes:
that will do much wonderfuler things for Unicode text in the console using the CRT.
Myth #8: The Microsoft Visual C Run-time library (mvcrt*) completely supports Unicode text processing in a Unicode console.
Ah, I must have lulled you into complacency after Myth #7 was proven wrong, and you took it too far.
Because the truth is that there is a bug that has existed in one form or another in every version of the CRT since 2005 that makes it so that even though stdout and stderr can handle Unicode, stdin cannot.
I discuss the issue in this blog, if you are interested in details. It is one of my most fervent hopes that this bug is fixed at the next available opportunity in every place it can be fixed.
And since one cannot count on either hopes or prayers to make such things happen, I am trying to make sure that the fix is made by more conventional means within my job....
Myth #9: You should really use resource fallback to handle the scenario of a console that cannot fully support the text.
Once again, the myth is wrong.
As this blog discusses at length, the claim that blogs like this one make about the need to force the resource loader to do fallback in order to avoid problems in the console has many flaws in it.
There are scenario based flaws (e.g. that the world is teeming with people writing console applications that output Arabic text), implementation flaws (e.g. the ridiculous fallback to en-us for most complex script locales guarantees that a lot of text such as that used by many European languages that might have succeeded will fail due to the en-us use of a 437 CP_OEMCP), conceptual flaws (e.g. fixing teh UI language does nothing for text created by the user locale like date formats which will have the same problem and no ready sensible solution).
As I exaplained in the debunking of Myth #6, the answer if you detect a case where the application may not fully support the text is at best to detect and warn the person, at worst output the junk but make sure that the right documentation or KB articles are available to tell people what is going on, so they can address the problem.
Now since
your console application does itself and its users a tremendous disservice by unconditionally falling back.
Now the world of MUI_CONSOLE_FILTER isn't the worst thing you can do to users, since it is not legally assault by a software developer. But it is still pretty bad....
Myth #10: Okay, I am convinced. You can support Unicode in pretty much all of the console.
Wow, that is incorrect. I'm sorry I lulled you into thinking everything works. Across all of the built in commands in CMD.EXE itself and all of the common binaries that extend the console, many support Unicode but not all of them do.
No list of what commands and executables fall in each category exists, and the rules about each one (for example find.exe never supports Unicode, while as I discussed in this blog the type intrinsic completely supports Unicode but the file must have a BOM in front of it). Such a list would be really cool, but it does not currently exist and no one seems to want to take the time to create it....
Plus occasionally other long-standing issues can exist like the one I talked about in this blog, a bug that none other than Mark Zbikowski ended up fixing for me in the Vista cmd.exe. The effort was truly appreciated.
Myth #11: All of the defaults in CMD.EXE like whether you are using a TrueType font are out of your control.
This particular myth is al so wrong. Surprised?
You can change this setting in any CMD.EXE shortcut -- something that every single VS, SDK, and WDK console shortcut should be doing!!!
I am totally serious here. I can understand why people would be afraid to change the defaults in CMD.EXE itself for back-compat reasons of changing behavior in legacy console apps, but the shortcuts? Seriously, these should get updated.
Myth #12: You can't change the setting of whether a console window is using a TrueType font.
This myth too is quite untrue.
I have used a few console API functions and that IsConsoleFontTrueType function from this blog to change the font within a console window to a TrueType font, from code running in the console window.
This is something I would never recommend in production code, mind you; I only did it because someone told me it wasn't possible and I was sure she was mistaken.
The impact of the accomplishment was interesting, mind you; she and I dated for about a month after that. ;-)
And the story there may be worthy of its own dedicated myth-busting blog, along with the code itself. If people are interested, I mean. Let me know....
Myth #13: There are thirteen incorrect myths about support of Unicode text within the console that this blog will talk about.
Crap. You foxed me.
If I say you are wrog and that there are only 12 myths, then this is s genuine myth. Which means there are 13 myths.
But if there are 13 myths then you are right and this isn't a myth, it's just a fact. In which case there are just 12.
Dammit.
Maybe you should go shave a Spanish barber or something! :-)
Nothing Technical Whatsoever....
I have had a strange relationship with my hair for most of my life.
It has always been curly, and I have always hated that fact.
After as much pressure as a stubborn and smart-ass of a young child can apply to the situation, it was determined by the stylist at the beauty salon my mom went to that if I kept it reasonably short that I could comb it straight, parted on the left (my left).
then, as the hair got longer, it would start to have waves. And those waves would threaten to move into full-flown curls. I would then have to get it cut before that happened.
For many years, this was the way things were.
Then one day in I think the Eighth grade, it was a costume party kind of a day. I decided to go as "a white Michael Jackson" and my costume consisted of my hair (that was too long and in need of a cut) left curly, sunglasses, some sequins, and some greasy stuff in my hair (his hair always looked greasy).
I wasn't a huge fan, but my musical tastes were bizarre compared to my friends and I figured everyone would recognize him.
Actually, everyone assumed I got a perm.
As if!
Anyway, the next day everything was washed out of the hair but I decided not combing it straight was easier since it involved no special work.
And then, the new way things were for my hair was the curl.
Which I hated, but I hated dealing with it more.
Eventually I gave up on the curl, which was an unstable situation anyway (since I hated it), and settled on just combing it straight back and getting it cut regularly.
As a small aside, for a brief period in my late 20's I started dating the girl who was cutting my hair, and those fourteen weeks can be thought of as the Golden Age of my hair, as it is the only time in my life I used product and my hair has never looked as good, before or since.
When we broke up, I stopped with the product and reverted back to combing my hair straight back.
I kept waiting for my hairline to recede, as I was warned that was a natural consequence of combing my hair back tightly and consistently and since I did not know the definition of "tight" in this context i assumed my follicular days might be limited.
But the hairline never did manage to recede, and the hair stayed in its holding pattern of needing to get cut every 6-8 weeks to have a hope of staying straight.
And then there was a costume party for Halloween 2010.
This past weekend, in fact.
Realizing that the options for realistic costumes involving wheelchairs are limited and not being too fond of Mike Myers, I decided to consider going as Professor Charles Xavier (Professor X) of X-Men fame.
You know, the guy Patrick Stewart played in the movies.
Friend Holly (whose husband also happens to bald in real life) and friend Dave (who is bald in real life) and friend Ellen (who was going with me to the party) all asked whether I planned to a) wear a bald cap, or b) shave my hair off.
I was leaning toward the bald cap but everyone seemed disappointed by this answer
As I started toying with choosing the other option, all three of them seemed excited. And a little surprised.
Too surprised. I started wondering if people were playing one of those little jokes.
Asking the question a bit wider and getting only one negative response (a friend who has less hair than a full head who claimed he did the same thing once and it never grew back -- he may have been joking) out of ten, I decided to risk it.
I asked over at Gene Juarez whether they could do this, and they said they did not have razors to do the 100% job, but they could use clippers with no attachments and get it very very close.
Appointment for Friday afternoon.
And Ellen agreeing to help me touch it all up with a razor for whatever I couldn't get to well, on Saturday afternoon.
And the party in Los Angeles on Saturday night.
The plan was set..
Memories of how rough I had been with my head in the past (including a fight of sorts with a family room table) came to mind, unbidden. And I wondered what might be underneath all that hair.
I decided to hang on to the bald cap as a backup in case something really unsightly was under there.
But now with so many knowing about it I knew I was going to go through with it.
And I did!
We went to the party at Hollywood Castel (last minute unfortunate venue change but the party was still pretty wild), with me as professor X and Ellen as Storm.
About half the people paying attention to costumes guessed mine correctly, though I had not really done enough with the Picardian take on the demeanor. I decide I could improve that on future runs with the costume (I have at least three more Halloween parties between now and November 1st!).
I may talk about other party details some other day. Perhaps though I should not do that....
I touched up the hair last night (Sunday) keeping it shaven, and probably will keep doing so at least through the 1st of November and all the parties.
Though I suspect I won't keep it up forever; it seems like yet another unstable situation as it is a lot of work to keep it up, and really I like my hair best when I don't have to do anything.
But for the next week or so, I'll be keeping it bald. Maybe longer if the response between now and then is as good as it was for the party (adjusted from Los Angeles to Seattle, of course!)....
This blog you are reading is not about Viagra (a.k.a. sildenafil, aka. the little blue pill). Well it is about it some even though I'm not taking it, so it kind of isn't. You'll understand if you read it. Though I am curious if all of the mentions of Viagra and sildenafil will cause this page to be not listed as high in Google, or to be filtered as adult content, or spam. :-)
For at least the first ten years of having multiple sclerosis, one of the things I could count on happening regularly was brand new symptoms. They were
Eventually I stopped reporting them most of the time, as it really didn't accomplish anything or change anything.
So my Lhermitte's Sign or my positive Romberg or my hearing tones half an octave lower (which destroyed my ability to tune guitars long before lack of coordination ruined it anyway) or loss of position sense in my limbs or foot drop in my left foot (which ruined manual transmissions and my porsche for me) or lack of temperature sensation in my limbs or inability to discern touch from pin or somatic RSD-esque ashen skin appearance or double vision or loss of peripheral vision or really any random new symptom that might pop up?
It's the MS. Again. Every time.
Then over time, there were not new symptoms so often (one imagines cards that some imp picks to choose new symptoms and they just ran out or cards?).
The old signs and symptoms would then fill in the slack.
But then every once in a while a new symptom would pop up.
Like yesterday, when I started noting that as soon as things started getting even a little bit darker, everything would start getting truly, deeply, and distractively blue.
It is called Cyanopsia. As per that Wikipedia article:
Cyanopsia is a medical term for seeing everything tinted with blue. It is also referred to as blue vision. Cyanopsia often occurs for a few days, weeks, or months after removal of a cataract from the eye. Cyanopsia also sometimes occurs as a side effect of taking sildenafil(Viagra), Cialis, or Levitra (Viagra and vision, n.d.).
Cyanopsia is a medical symptom and not a sign. It is a purely subjective state, and can be caused by a physical or functional abnormality of the eye, a physical or functional abnormality of the brain, or by nothing at all (i.e., it can be purely psychological). Cyanopsia, if unaccompanied by any other sign or symptom, is not an indication of any disease or disorder. Unless it causes an impairment or significant distress, it is not in and of itself diagnostically relevant.
Interesting.
Now I just so happen to have MS involvement with my optic nerve (the P100 wave of my Visual Evoked Potential that usually happens in 100ms is actually more like 150-160ms) and I have known MS plaques in my left/right occipital lobes visible on my MRI (you can't see them in the scan I have on the blog home page but they show up in other views and scans).
So most likely this is due to a problem somewhere between the optic nerve and the right/left occipital lobes of the brain. Probably the optic nerve.
Where it is doesn't matter so much, because there is one cool thing about eyes. And that is that they have the easiest possible physical therapy of all time. They just have to look at stuff!
Now the puns ran heavy last night, as did the song lyrics (Behind Blue Eyes, Blue Velvet, Am I Blue, and so on...).
Though there is that one interesting factoid about cyanopsia -- the fact that it is a common side effect of too much Viagra.
This made the conversation with both the insurance health nurse and the neurology resident on call take at least 15 minutes longer than it probably needed to, so that Viagra involvement could be ruled out by them (in a patient not taking Viagra!).
And I found out another interesting sheaf of factoids in talking to these folks in the industry.
The health care industry, I mean. Though there are other industries making heavy use of Viagra, of course!
These factoids combine to make sure that in today's society, cyanopsia is seen more often in people taking Viagra than from pretty much any other cause.
Which is why both of the early phone conversations had to waste so much time given the almost garden path sentence issue where mentioning cyanopsia in someone only 40 years old leads medical folks to assume it's all due to sildenafil.
Me not having taken it non-withstanding.
My feelings about the whole thing are well described in my Twitter tweet about it last night:
1st new multiple sclerosis symptom in yrs: CYANOPSIA. Unfair of MS to give me Viagra side effects w/o the "benefit".
Now this is obviously a little silly; I would not ordinarily be looking for the "desired" effects if I am in public, in a club. But you know what I mean....
I spent at least a third of the night at the official opening of Pink in Seattle (I had been at both prior "soft" opening too; at least half othe owners and the general managaer and many of the bouncers and several of the bartenders like me at Pink!), which when the pink shirts of a third of the staff combined with my blue-filtered view of the world led to quite a few purple people clearing empty dishes off the bar....
There are many things I cannot do, e.g. run, dance, ski.
Another is the ability to maintain a sustained anger about anything, really.
One could rightfully assume that my blog of a week ago on the Health Care changes at Microsoft (The exciting nature of being ordinary) came largely from such a place.
But it does not really tell the full story.
Several people at various levels of importance/seniority reached out to me and assumed I had not seen the Town Hall framing of the issues involved, but I had.
It did not really tell the full story, either.
A few others reached out to me, assuming my job was about to be lost, but they didn't understand the larger problems that would entail, or really the mindset of the people involved. This too is an interesting topic to me, though one I doubt I would cover unless I was leaving and felt like burning a lot of bridges. which for the most part I don't.
Some might think it too bad I am not angry now -- since that is the way to get Mini linking to you and if I had that as a goal then I suppose I could aim my content that way. I remember a lunch a few years back with Robert Scoble where he lectured me about all of the rules about "A" list blogging I routinely violate. I told him I wasn't trying to drive heavy traffic here, and that whatever popularity the blog has is accidental.
Although it has been an exciting week, I found it all to be pretty ordinary. So even when throughout the week friends of mine pointed out the Mini ref to see what I thought, it was hard to get excited about it. If felt ordinary....
Anyway, in this last week, after a listening tour, some authorized research, some not entirely authorized research, several conversations, and a few revelations, I feel that I have a much better idea what is going on.
I thought I might share my thoughts on thie matter with you, just in case you were interested in having some more discernible facts now that the anger has passed.
If you are not interested, please leave now. :-)
It all started with a Town Hall.
The Town Hall had a slide deck.
The slide deck had a chart in it.
The chart had a title on it: Microsoft U.S. Health Care Trends.
The title had a subtitle under it: (Per Employee Per Year).
The figures in the chart were alarming:
Since the chart notes a 203% difference (aka 103% growth) between the first and second points, and a 287% difference (aka 187% growth) between the second and third, this is obviously kind of alarming.
These stats, along with some basic stated principles of the company's health care policy, are the justification given for the suggested changes.
If you were there or saw the video then you knew all this, but I wanted to have a basis for understanding that even those who have not seen or cannot see the slides can have.
It leads us to the problem.
And the problem is?
Well, the chart of this slide deck of this Town Hall is more than just a little bit manipulative.
I'm going to take a moment and list our all of the ideas I can think of factors that can, over the course of 20 years, have statistically significant impact on those numbers, on that graph:
You get the idea.
If I had spent another hour I could have thought of more (e.g. the overlap of Worker's Comp. cases covered via health care benefits due to the ease of doing it -- something i have witnessed and which while I cannot claim it is explicitly encouraged I can claim it is implictly encouraged -- and certainly not audited or monitored), but this covers the broad strokes.
Now on this list, item #1 is not changeable by the HR Benefits portion of Microsoft. It really is completely outside their power to do anything significant to "fix" it.
Items #2 and #3 are not changeable by the HR Benefits portion of Microsoft without severe and in many cases illegal changes to the core guidelines of how benefits and provided and how employees are let go. Given a general aversion to this, it is clearly in Microsoft's interest to reject any changes (e.g. not cover dependents, lay off sick or older employees for being sick or old) out of hand.
However, given the simple facts that those first three factors
the simple fact that Microsoft has not stated they want to change the philosophical basis of the benefits means that trying to keep the chart simple in this way leads to very misleading numbers.
You can't talk about a problem honestly and openly when the proofs given are not honest and open themselves.
Anyway, to continue:
Items #7 and #8 are difficult to solve as long as the rules encourage it -- the water tends to flow where it is most natural to do so. The HR Benefits portion of Microsoft cannot do much here if it cannot change the nature of the coverage to change that perception.
Items #4 and #5 and #6 are also difficult to solve as long as there is no real change in mindset; and when the mindset is created by the rules the system works under, it is difficult to change without changing the rules.
Items #9 and #10 are crimes -- whether felony or misdemeanor or something to inspire civil suit if one wanted to recover damges. And the HR Benefits portion of Microsoft has a real vested interest in such actions when they happen.
There are, as I said, other items that could be added to the list, though one the whole I believe they all fit in one if these categories.
Microsoft's (pre-Health Care Change) Remedies
The issue, while new for most employees, is not new for the HR Benefits portion of Microsoft or the Executive Staff or the Leadership Team.
And people in the HR Benefits portion of Microsoft have been working the problem for several years now -- particularly:
However, they get no credit for going after these things first in my eyes as they did not announce these things the way they did the plan to share costs with he employees.
Note that in many cases these items are hard to address since the bullets that try to change employee behavior (the first two) have limited success when the employees do not feel they have enough reason to pay attention to them and take advantage of them, and the bullets that try to fix inefficiencies and problems and crimes (the last three) are hard to identify when no one reports them (and if no one is paying attention because there is no impetus to pay attention, then this is the behavior the system creates).
Additionally, problems with Blue Cross were being handled (and are still being handled) as external vendor management issues, so that even though the HR Benefits portion of Microsoft has been working on the problem for years and making great efforts to go after everyone other than the employees to preserve the original principle of not wanting them to worry about health care, they get no credit from me or many other employees because they didn't let us know this was happening and that they were trying to solve the problem years ago. From our standpoint, the first major step beyond tracking the problem was to tell us how much we were going to have to pay.
Sure, the most obvious "answer" to many problems here is to make employees pay more attention, but this pretty much impossible to do, beyond what they have been doing. And even doing that stuff has still led to increased costs (which as a side note suggests additional problems with the chart and the numbers that could be resolved by better use of the data, but I'll quit beating that dead horse).
The "easiest" way to get people to care is to get them involved.
To be honest, I myself know of only two ways to consistently motivate huge numbers of Microsoft people to do stuff: you have to either make stuff free (this works great with pizza and dove bars and lattes and beer), or make stuff cost something (preasumably the hope is that if employees were needing to pay they would pay more attention).
Okay this is an interesting plan they have.
There, I said it.
In fact, it is so interesting that it is too bad that they really are wrong, Wrong, WRONG here.
Perhaps I should explain why I think they are incorrect.
I'm going to categorize Microsoft employees into a few different groups here. Think of this as the broad over-generalizations portion of the blog today, which is an answer to even worse over-generalizations in the plan.
If you carefully consider the impact of the health care change on each group, you may notice that the impact does not necessarily get felt where it is arguably most needed.
In an effort to maximize the awareness while minimizing the pain, they found a way to in several cases (including mine) maximize both.
I understand what they did and why they did it, but I have no respect for the way they did it as the inaccuracies in the presentation of data and the fact that this blunderbuss shotgun approach that will not have the best impact is hurting people like me currently and will almost certainly require significant changes and/or additional costs in the long run.
As en engineer who is on the front lines of the new costs, I can't claim to be happy about poor communication of a poor plan. That is both bad engineering and bad marketing.
As someone who recognizes the importance of both, screwing up either one is pretty bad; screwing up both is a poor way to present to a bunch of engineers and marketing people.
Also inescapable is the fact that it effectively discriminates most against those most sick (whether one believes that is the intent or not, or whether you believe the distinction matters or not), rather than discriminating against the three things that (in my opinion and in the opinion of others I have talked to) should be most penalized given the above:
Hard problerm? Sure. But I thought Microsoft wasn't afraid to take on the hard problems.
Or to solve them properly.
Especially since (by loose analogy) after putting the wrong person in jail for a murder, you will still have the murderer out there killing people and therefore will have to do more to catch the murderer eventually....
What they have done here is a second rate solution, and I think we deserved, and that we deserve, better.
Yep, that's the deal -- Unicode 6.0 has been released!
You can check it out right here....
Now of course the bug questions that come up next are when do we pick it up, when does Microsoft support it. For that, see the following blogs:
And of course keep in mind that we just shipped Windows 7 and Office 2010. BEFORE Unicode 6.0 came out. The comments in that last blog on the list about the non-synchronization between Unicode and Microsoft has just been given an epic example!
From the Unicode Announcement, titled: Unicode Version 6.0: Support for Popular Symbols in Asia:
The newly finalized Unicode Version 6.0 adds 2,088 characters, with over 1,000 new symbols.A long-awaited feature of Unicode 6.0 is the encoding of hundreds of symbols for mobile phones. These emoji characters are in widespread use, especially in Japan, and have become an essential part of text messages there and elsewhere. Unicode 6.0 now provides for data interchange between different mobile vendors and across the internet. The symbols include symbols for many domains: maps and transport, phases of the moon, UI symbols (such as fast-forward) and many others.A late-breaking addition is the newly created official symbol for the Indian rupee. With the help of the Indian government and our colleagues in ISO, the consortium was able to accelerate the encoding process. Once computers and mobile phones update to the new version of Unicode, people will be able to use the rupee sign like they use $ or € now.This October 2010 release includes the Unicode Character Database (UCD), Unicode Standard Annexes (UAXes), and code charts. With the release of these components, implementers are able update their software to Unicode 6.0 without delay. The final text of the core specification will be available in early 2011.* To access Unicode 6.0, see http://www.unicode.org/versions/Unicode6.0.0.* For more information on emoji, see http://unicode.org/faq/emoji_dingbats.html* For a formatted version of this message with images, see http://unicode.org/press/pr-6.0.html.
Have at it.... :-)
But note the information I started this blog with: for new characters and scripts, there is no collation or font or property support yet. We don't have the ability to predict the future!
It's a funny thing about off-by-one errors, you know.
Looking at the subject in Wikipedia:
An off-by-one error (OBOE) is a logical error involving the discrete equivalent of a boundary condition. It often occurs in computer programming when an iterative loop iterates one time too many or too few. Usually this problem arises when a programmer fails to take into account that a sequence starts at zero rather than one (as with array indices in many languages), or makes mistakes such as using "is less than or equal to" where "is less than" should have been used in a comparison.
I found another case yesterday.
By which I mean today, since it is today that I am writing it, but by the time you read it then either you hacked my account on the blog server, or it is tomorrow. Or later still.
Anyway, the error.
So if you look at keyboard hardware, each key has a scan code that it sends to the computer when you hit it.
Here is a typical layout, shown via MSKLC:
Now the key with the tilde on it has a scan code of 29.
And then the numbers 1234567890 have the scan codes of 02 to 0b.
You may know where I am going with this one....
If you look at the keyboards of India that ship on Windows, most of them have one thing in common: they put U+200d (ZERO WIDTH JOINER) and U+200c (ZERO WIDTH NON-JOINER) in the CRTL+SHIFT shft state.
This was very important at the time when Windows 2000 was being developed, back when Unicode had the grand plan for how to use these two characters I showed in Why don't all the half forms sort right? -- before fonts started widely doing something different as I discussed in Which form to use if the form keeps changing?.
So because of this fact, they were put on most of the keyboards.
Here we come to the problem, though.
You see, while all the keyboard layouts we ship (e.g. the Hindi Traditional keyboard) put these two control characters on the CTRL+SHIFT+1 and CTRL+SHIFT+2 keys:
but a colleague of mine who had created some updated versions of some of the layouts had put them instead on the CTRL+SHIFT+2 and CTRL+SHIFT+3 keys.
I pointed this out to her, and she admitted she did the work in the .KLC file rather that MSKLC itself. And when looking at the following rows in the file:
02 1 0 09e7 0021 -1 -103 2 0 09e8 0040 -1 200d04 3 0 09e9 %% -1 200c
The confusion of the scan codes (02, 03, 04) right next to the VK_* values (1, 2, 3) and her knowledge that the scan codes were one off from the numbers caused her to put them in the wrong spot.
And thus the decision long ago that caused the scan codes to not line up for these digits when they could have, combined with an incorrect compensation for that of-by-one assignment by intentionally being one off from the scan codes, led the characters to be in the wrong slot.
Clearly this was not due to the traditional "off-by-one" error due to 0-based vs. 1-based counting that the Wikipedia article was referring to.
But the fact that the scan codes were off-by-one from the numbers atop them due to the way they were assigned and the potential confusion thereof made it easy for her to introduce an off-by-one error of her own!
The story has a happy ending, though. Her keyboards will now be correct when she uses them, and she was only a little embarrassed by the fact that I told her I'd be writing this blog you are reading (though she admitted that it wouldn't make sense to not do!). She even bought me a beer for looking at her layouts. And thus everybody wins....
The qiestion I received via the Contact link was an old one -- one that goes back centuries, really. It was a request to explain the issues about the English spelling of 한국 (or 조선 in the North), and the English spelling of it....
Now we're not talking Chaudhuri vs. Chaudhary? here.
And it isn't Bangalore vs. Bengaluru, either.
Though bearing some surface resemblance to Farsi vs. Persian, it ain't that, either.
Perhaps if you think about Macao vs. Macau or Uighur vs. Uyghur, you'd be a little closer.
But I'll tell you, the situation of
Korea vs. Corea
has them all beat when it comes to rumors and stories and conspiracy theories. Hands down.
The conspiracy theory generally tenfds to suggests that the move to use Korea rather than Corea was orchestrated by the (at the time) occupying Japanese, in order to make sure that Korea did not come before Japan in alphabetical order.
The wikipedia article on Names of Korea lays out the broad strokes:
English usageBoth South and North Korea use the name "Korea" when referring to their countries in English.
As with other European languages, English historically had a variety of names for Korea derived from Marco Polo's rendering of Goryeo, "Cauli" (see Revival of the names above). These included Caule, Core, Cory, Caoli, and Corai as well as two spellings that survived into the 19th century, Corea and Korea. (The modern spelling, "Korea", first appeared in late 17th century in the travel writings of the Dutch East India Company's Hendrick Hamel.)
Despite the coexistence of the spellings "Corea" and "Korea" in 19th-century English publications, some Koreans believe that Japan, around the time of the Japanese occupation, intentionally standardised the spelling on "Korea", so that "Japan" would appear first alphabetically. Both major English-speaking governments of the time (ie the United States and the United Kingdom and its Empire) used both "Korea" and "Corea" until the early part of the Japanese occupation. English-language publications in 19th century generally used the spelling Corea, which was also used at the founding of the British embassy in Seoul in 1890. However, US minister and consul general to Korea, Horace Newton Allen, used "Korea" in his works published on the country. At the official Korean exhibit at the World's Columbian Exhibition in Chicago in 1893 a sign was posted by the Korean Commissioner saying of his country's name that "'Korea' and 'Corea' are both correct, but the former is preferred." This may have had something to do with Allen's influence, as he was heavily involved in the planning and participation of the Korean exhibit at Chicago.
A shift can also be seen in Korea itself, where postage stamps issued in 1884 used the name "Corean Post" in English, but those from 1885 and thereafter used "Korea" or "Korean Post".
[See Wikipedia article for the stamp pictures]
By the first two decades of the 20th century, "Korea" began to be seen more frequently than "Corea" - a change that coincided with Japan's consolidation of its grip over the peninsula. Most evidence of a deliberate name change orchestrated by Japanese authorities is circumstantial, including a 1912 memoir by a Japanese colonial official that complained of the Koreans' tendency "to maintain they are an independent country by insisting on using a C to write their country's name." However, the spelling "Corea" was occasionally used even under full Japanese colonial rule and both it and "Korea" were largely eschewed in favour of the Japanese-derived "Chosen".
This makes for a nice summary but just as the history of the battle is usually written by the winning side, the description does tend to favorite the Korea camp....
As a general principle, Germanic languages are more likely to go with a "K" while romance languages are more likely to go with a "C". English is of cvourse somewhere in the middle there, which is why both spellings "make sense" in a way -- until the eigenstate is resolved and one is chosen, at least.
Articles like this one are really able to give a better flavor of the "Corea camp", though the many comments from people who disagree tends to shift the overall feel of the page in the other direction.
There are several other such articles on the Internet, of course....
I won't say that the article swayed me exactly, but it made a lot more sense as a theory (even if I ultimately decided my opinions went the other way) when I gave people the chance to present their case.
I didn't find the notion that a country or a language could be petty to be unlikely in general, it is just this case in particular that seems like a stretch.
But by reading these two articles (before looking at many others), I felt like I now had looked at some balance in the situation - that I had looked a little into both sides.
I suppose some might say this puts the whole "Wikipedia:Neutral point of view" thing in doubt a little, though I don't know if I would go quite that far for sure. But I do know that there are times I feel like I leave Wikipedia with a much more fair, balanced, and accurate view of a historical dispute that to this day remains.
But not this time....
For comparison purposes, look at the Greek vs.Ethnic Macedonian positions on the Macedonia Naming Dispute in Wikipedia. This is in my humble opinion much more in line with the stated intent of Wikipedia's neutral point of view.
Perhaps my presentation here on the issue also shows bias since I ultimately chose a side and do not pretend to be fair and balanced, but I have no "neutral POV" philosophy: my blog is the world from my point of view.
Plus regular readers know that if I am truly neutral on an issue then I'm unlikely to write about it....
But that is just me. :-)
As a random side note, Japan itself had names for itself in English like Wa and Wagoku and Nippon and Nihon, the bulk of which come alphabetically in English after Korean, anyway. This does make the "alphabetical conspiracy" argument feel a little less likely.
Regular reader Ivan Petrov asked, over in the Suggestion box:
Hi Michael,There has past a long time I've not posted here :-(Anyway, my question is:Why in Microsoft Office 2010 the 'Choose ScreenTip Language' Preference respectively the 'Set your ScreenTip language' Option has not been added to the 'Microsoft Office 2010 language Preferences' application instead in the 'Language option' of every 'Microsoft Office Application', as 'ScreenTip Language' option is a Global preference for all 'Microsoft Office Applications' (Word, Excel and etc.).Regards,Ivan Petrov.
That's an interesting question. :-)
In the absence of a member of the Office division, we'll have to see if we can find hints about the reason.
Starting from the Microsoft Office 2010 Language Preferences:
Okay. Good.
There is a lot going on there, but it is kind of clear what is happening.
Now let's see what the fuss is about.
First in Word:
Ah, I see what Ivan meant.
A lot of settings are shared defaults from the one dialog thast you can then override in the individual Office application.
In PowerPoint:
Yep, there too.
I sense a pattern.
Oh, wait a minute.
I know the best place to break a suspected Office pattern.
In Access!
Ah, it isn't there -- this looks like the same subset of controls!
Perhaps an accident/coincidence.
Maybe there is an Office person lurking nearby who knows if it more complicated than a Microsoft Office 2010 Language Preferences Least Common Denominator effect?
Maybe it is something about Saturday.
Medical blogs, on this blog, seem to be happening mainly on Saturdays now.
Seems like a theme, for now as theme I will go with....
Anyway, I have been going on for a while about our awesome health care plan and how unhappy I was at what I believe to be issues behind pending changes.
That is not what I am going to talk about today.
I have also leveled specific charges at what I believe are mostly administrative sloppiness issues that cost Microsoft money and which if they were doing right they'd have fewer problems now.
But that is not what I am gong to talk about today, either.
I'm going to talk about batteries.
"Batteries?" you may think in wonder.
Yes, batteries.
The scooters I used to use all the time made use of batteries. And so does the iBot I use now.
You may know or possibly have heard the expression "it's not the initial investment, it's the upkeep."
It's true.
The iBot itself clocks in at a cool $26,100.00. That is the initial investment.
This rather amazing chair uses Nickel-Cadmium (a.k.a. Ni-Cd, a.k.a. Ni-Cad) batteries. This is nit entirely unusual in wheelchairs.
On the whole I wouldn't care about whether they were Ni-Cad or the Lithium Ion batteries I use in my laptops, except for the known memory effects that Ni-Cad batteries can suffer from.
It is more complicated than I'll present here, but this is not a Battery Blog so I feel comfortable with the simplification.
In essence, if you set the battery up to recharge every day and it never gets below a certain percentage, then it will tend to forget its own lower limit and start thinking the lowest level it has reached is the lower limit.
The imagine it conjures in my mind is that weak-minded assistant to Jabba the Hutt who Luke Skywalker was able to adle so easily. Luke confused Bib Fortuna and filled the vacuum created with new instructions.
And NiCad batteries seem to be just as easy to confuse, though it does take a bit longer.
Now there are two defenses against this:
1) You can fully use up the charge every day park it at virtually 0% and charge it up fresh, so it will always think the full charge is nothing short of the full charge. There are way too many reasons why this is impractical, not the least of which the notion of every day using the same amount of the battery is more or less impossible to orchestrate.
2) You can periodically do a "deep discharge" by draining the battery all the way down and letting it charge back up.
The official recommendation for #2 is monthly, but I have found this to be less than ideal, and tend to do it at least weekly (and more often any time the battery ends it's day under 15%.
Officially they rate the battery as lasting for a year, though through a practice of doing it once a month for the first half of the battery's life and with my new schedule for the second half, I have made it last two years.
This next time I will use my way from the start an I hope to make it last longer. I'm off to as good start so far, we'll see what happens.
But that is not exactly what this blog is about, either.
When it was time to get the battery replaced, I had to put up the money myself and tehy billed the insurance (check to me afterward since I paid upfront).
The cost was $1100.00.
Eventually I got the Explanation of Benefits (EOB). It was attached to a check for $24.09.
That is not a typo, the balance was "my responsibility."
Of course, I call the insurance company. They inform me that this the "reasonable and customary amount" given the code it was billed with. "Perhaps they mis-coded it?" was the question presented to me.
The woman working for Blue Cross explained the procedure for them to change the claim.
So I call the iBot people.
They are frustrated, not with me but with the fact that they do not feel there is a better code.
"What is the code?" I ask. Though she doesn't tell me. She suggests it is the insurance company's issue.
I call the insurance company again, and after a bit of time re-iterating that this is the usual amount, I am given the code being sent to them.
It is 2008 HCPCS K0108.
The text description for this code is "Wheelchair component or accessory, not otherwise specified"
Well crap, no wonder they paid so little. This looks like the code you would use for replacing the cup holder (if it had a cup holder, which it doesn't). Clearly this does look wrong.
I resolve to call the iBot reimbursement folks again, but first I prepare myself. It looks like perhaps another code would be more appropriate, but I should try to figure out which one.
Perhaps 2008 HCPCS K0733 would be better.
The description for that one is "Power wheelchair accessory, 12 to 24 amp hour sealed lead acid battery, each (e.g., gel cell, absorbed glassmat)".
Not much better, but a friend of mine in the industry tells me that the intent of the "e.g., gel cell" which is not about lead acid batteries, indicates it is more general purpose than it sounds.
I have looked through all the other "2008 HCPCS K-codes" and none of them come any closer.
So I talk to the iBot folks again.
They are doubtful.
"It doesn't sound like the right code," I am told.
I agree, but at least it hints at it being a battery, instead of the code more suited for the cigarette lighter (if the iBot had a cigarette lighter, which it does not).
She is going to check with her management on what they think.
Though the "reasonable and customary amount" for 2008 HCPCS K0733 is about the same as for the 2008 HCPCS K0108 anyway, so the insurance answer will likely be the same.
Other codes, like 2008 HCPCS E2397 ("Power wheelchair accessory, lithium-based battery, each") are closer to the mark, but the wrong battery type. In theory that could be considered fraud, and I do not question their unwillingness to go down that road. Even nearby codes like 2008 HCPCS E2399 ("Power wheelchair accessory, not otherwise classified interface, including all related electronics and any type mounting hardware") seem fraught with that sort of peril.
She will look into it, though.
Companies that do not deal with insurance are often loathe to test the limits, and at no point did either they oir the insurance company deign to speak directly, as that would have made entirely too much sense.
She suggests that short of her hearing otherwise from her superiors, the only way to handle this, especially when Blue Cross originally claimed to expect that the battery to be covered, was to appeal the decision.
Of course I am on my own doing the appeal, though I am forwarded the iBot battery stats to help me do it.
I am reminded of something I was told by several people in response to my previous insurance posts: that the principal cost for the typical person is the administrative overhead. And I can't help feeling like this is engineered overhead:
This problem of mine would ordinarily be expected to occur at least five times and perhaps 10 times or more. Yet the insurance has no methodology by which to bill for such a situation that does not rely on the time consuming for me and more expensive for the insurance company (under the "time is money" theory of resource costs) process of the appeal?
This is just stupid. Pure stupidity.
I guess maybe if I were too dumb or too busy to or whatever to appeal than the insurance company saves some money. Or Microsoft saves some money.
But Microsoft will never see this one (people reading my blog notwithstanding), as Blue Cross will pay the amount on first appeal anyway.
This is hardly unique to my iBot -- a casual survey of just about every powered wheelchair and scooter will show that irregardless of battery type batteries will usually and customarily cost way more than the "reasonable and customary amount" and that the effective life of batteries is pretty much universally less than the devices they power.
So in other words this whole situation is engineered wrong, and someone should fix it, to minimize the additional costs, costs that while not the biggest part of the expense in my case can well be in other cases. More common cases.
Why engineer inefficiency?
I plan to make this battery last as long as I can. The fewer the number of times I have to deal with this crap the better. Maybe that is everyone's intent here in making it such a pain in the ass?
So a while back, in a comment to The difference between 'Dangeous Characters' and 'Dangerous Minds' is the lack of Michelle Pfeiffer, user Abeywickrama commented:
Michael, I was in Turkey and could not log in to the Google account from Hotel PC. Latter I found the reason was that my username had letter 'i' in it. In Turkish keyboard the letter i [which is generally between u & o] represent a different 'i' than what we use. But I found letter i in a different place.
Now the comment was from a few years ago (kind of like the blog itself was), but I thought I'd follow up on it a little....
I'll start by giving the keyboard layouts.
First the Turkish F layout in BASE and BASE+SHIFT states:
And then the Turkish Q layout in BASE, BASE_SHIFT, ALTGR, and ALTGR+SHIFT states:
Now the Turkish F keyboard puts the dotted I on VK_OEM_4 (just to the left of the "u" character in the third row), and the dot-less I on VK_I between the ğ and the O in the second row (uppercase in the shift state).
(note that on a US keyboard, this would be on the "S" key and the "R" key, respectively)
The Turkish Q keyboard keeps the dot-less I down in the base state while putting the dotted I in the ALTGR state. This can make typing the dotted I much harder. Though it puts all for letters on the VK_I -- and the "I" key on the US keyboard, which taken together maybe makes it all a little easier....
When typing on a keyboard one is not used to, the problem Abeywickrama notes is probably a lot more common to run into, and which points to one of the very real problems when using unfamiliar computers in general and the keyboards attached to them in particular....
Potential workarounds include soft keyboards (on computers, in browsrs, in toolbars, and in particular web pages), though if the web page has its own special handling that can complicate things further.
I was told Google was sometimes doing extra work here but that they aren't doing it any longer, though I am unable to verify the veracity of either claim....
It is something I talked about years ago, in my ISO 8601 is asinine blog. And not long after in ISO 8601 redux, which references Shawn's ISO 8601 Week of Year format in Microsoft .Net blog and Isaac's Best Week Ever blog.
Both Shawn and Isaac were trying to work around the fundamental difference between what Microsoft does with its GetLocaleInfo LOCALE_IFIRSTWEEKOFYEAR flag in native code (its DateTimeFormatInfo.CalendarWeekRule in managed code).And how they compare to the ISO 8601 rules, which are used by several different countries.
Unfortunately, the documentation on the Windows/.Net side doesn't help enough to set expectations.
Managed code describes it all as
A CalendarWeekRule value that determines the first calendar week of the year.
and native code describes it similarly.
With these descriptions, even with the cool example tables in the CalendarWeekRule enumeration, its official statement "This does not map exactly to ISO 8601", and its direct link to Shawn's blog (proving once and for all that blogs can indeed be treated as official documentation!), it is still way too easy for a person to:
Probably we should just add an actual ISO 8601-compliant locale field, though for whatever reason no one seems eager to do that (we can't change the meaning for the existing property). The workaround is pretty easy (since the MS implementation and the ISO standard aren't that different.
I think we're just going to be stuck with this difference between the two, with people periodically reporting this as a bug....
So I read the English becomes Europe's second language story from the Telegraph.
Of course the title was a bit sensationalistic, since that isn't really what happened....
The subtitle explains what the story was really going to say.
Rather than:
English becomes Europe's second language
The subtitle said:
English has become Europe's second language of choice with two thirds of people in the continent able to speak it, according to a survey.
Now that is a fairly large difference!
The article goes on a bit further to stir the pot with some more kind of incendiary text:
The study found that English is the first foreign language studied in secondary schools in every country outside Britain and Ireland.
The results of the survey are a particular blow to the French, who recently launched a failed bid for their language to be made the sole official language of the EU headquarters in Brussels, claiming their mother tongue was "more precise".
Now I suppose I could go on, but you should probably read it yourself if you want to see some good old fashioned muckraking.
No, I'll do a little more:
It has also prompted calls for the EU to cut back on the £1 billion it spends every year translating official documents into the organisation's 23 recognised languages.
A spokesman for the Foreign Office said: "It's only right that the EU institutions think carefully about every penny they spend to ensure that they're getting the most from their money.
Though there is some truth in the article, I guess I'd be more impressed if a non-English speaking country were having its foreign office making the statements. And if so many different issues were given the clear timeline of a full story instead of a bit of sensationalistic fluff.
On the other hand, this is a sign of the times... or rather, The Telegraph.... :-)
The title of this blog was inspired from a blog from a few years ago in Elizabeth Pyatt's A Linguist in the Wild blog entitled Arabic with a Kurdish Accent?. However, this blog has nothing to with accent and is really focused on issues of script and collation..
It was a litte over 16 months ago in my The Whey doesn't get a locale, either blog that I responded to the It is Time to Add Kurdish Culture to VS .NET Globalization paper, which mentioned me and my work a bit.
I skipped over several of the (in my opinion) interesting linguistic issues related to Kurdish, with just a hint to the fact that there are multiple scripts involved in a theoretical locale list.
But one of the linguistic issues touches on the area of
and since these topics are all interesting to me, I thought it might make sense to talk about Kurdish and these issues a little.
I'll start with the two major branches of Kurdish:
I won't be talking about Yekgirtú in this blog, though its unification efforts are also kiind of interesting so I could talk about it some other time!
Now an interesting question comes up when one answers the question of how to sort the language if one is creating a custom culture and must pick a sort order from all the ones that exist.
If you look at the It is Time to Add Kurdish Culture to VS .NET Globalization paper, you will see that Azad Ali and Frederick Kohun explicitly use the ar-IR (Arabic - Iraq) culture to get their sorting from. Arabic sorting.
This is obviously not so very Perso-Arabic due to the specific differences in Persian when compared to Arabic. But if one looks at the letters used for Sorani, you may not get the same kind of "Persian", Perso-Arabic sense that languages like Persian and Urdu might give you.
Whether this is due to worry about support for some letters or is how people want it? That much is unclear, but we'll assume for now that the results are actually correct. So perhaps using ar-IR rather than something like fa-IR might be okay in this context, if there are no letters that would be different.
But another problem quickly rears its head, however, one that the Yekgirtú alphabet I said I wasn't going to talk about helps to highlight.
You see, the Sorani alphabet for Kurdish has a feature that makes it somewhat unique among languages using the Arabic script.
That difference? Well, vowels are required, and the result becomes a true alphabet rather than an abjad.
This factor could lead one to want a sort that is more like the Latin script Kurmanji, because even though it is a different script there is a total mapping between letters in the two cases.
You can actually find examples of both sorts out there, though without a mechanized solution it is possible that this is more of an anomaly than anything else - a limitation of technology and of sketchy manual labor.
Now in the Latin script, Kurmanji does not have Turkic rules about either letters or casing. So perhaps the English sort or something like it is good enough for them -- or perhaps they are just using the thing most easy for them to get on computers and if they had their choice they'd want something different.
Interestingly, both English and Arabic sit in the default collation table of Windows, so assuming one doesn't need the Arabic letters of Sorani in the Latin order of Kurmanji, then collation will simply work (if not, then one would have to work a little harder to get the right results).
It does seem odd to be placing the vowels in the "Arabic" places when they act like the vowels in Sorani Kurdish do, but perhaps that is indeed what people are used to at this point; perhaps it is what they want.
Note that the "Arabic" sort puts some of these letters in different places than the letter lists for Kurdish typically do. Which makes this question all the more complicated....
What bothers me most here is the thought that perhaps technology has led to changes in language done merely for the expedience of getting on computers. I don't know why exactly, but that bothers me. Like as if there is some issue in language and linguistics that technology should not sully....
The email came, as most emails seem to, in the middle of the day to the account I don't tend to check much in the middle of the day.
Not their fault; it just wasn't a work email and one can't spend all day checking one's personal mail and facebook if one has a job!
Okay, on second thought some people do that. But it isn't really for me....
Ok, end digression. The e-mail:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Redmond Area MS Support Group StartingA new support group for people living with MS in the Redmond area is being planned.Find comfort and strength with your peers as you learn, cope, laugh and celebratethe challenges and successes of living with MS.Monday, October 11, 20106:30 - 7:30 p.m. PSTRedmond Library15990 NE 85th StRedmond, WA 98052Join us for the group's first meeting with an open discussion about issues that matter to you!- Who else in my neighborhood lives with MS?- Where can I meet others coping with similar symptoms?- How do I build on a positive approach to managing my MS?- What speakers would I like to hear from?- What resources am I looking for?Contact Sue Dahlin at sue_dahlin@msn.com[mailto:sue_dahlin@msn.com] if you planto attend or are interested in attending future meetings.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I've had kind of a tenuous connection with support groups over the years.
I went to one not too long after I was first diagnosed and kind of in denial about the whole thing.
I was working for neurologists and neurourgeons and even without the Internet I knew probably too much about MS for my own good. It was easy to not really think of myself that way since I sometimes couldn't even convince myself it wasn't in my head.
Anyway, being the person least affected by the disease, I found the support group to be depressing. I'm not the sort of person to derive hope from people who bear terrible burdens well. When I think about parts of Heinlein's Stranger in a Strange Land like the bit about Rodin's Fallen Caryatid Carrying Her Stone:
"This poor little caryatid has fallen under the load. She's a good girl - look at her face. Serious, unhappy at her failure, not blaming anyone, not even the gods... and still trying to shoulder her load, after she's crumpled under it.
But she's more than just good art denouncing bad art; she's a symbol for every woman who ever shouldered a load too heavy. But not alone women - this symbol means every man and woman who ever sweated out life in uncomplaining fortitude until they crumpled under their loads. It's courage... and victory.
Victory in defeat, there is none higher. She didn't give up... she's still trying to lift that stone after it has crushed her... she's all the unsung heroes who couldn't make it but never quit."
I am simply not inspired in that case or in the ones where the looad is being shouldered.
Generally, I found myself moved to pity, which I knew that they didn't want.
And that moved me to a bit of shame that I couldn't cast out the pity.
So not going just seemed easier.
I was invited to other groups and other events from time to time, but usually found suitable excuses. And as I got worse but kept on living life people started suggesting I could be some kind of inspiration for others.
But I knew how I felt about that same group of people from that first meeting -- I felt pity. And I really wasn't interested in inspiring pity. Whether I had fallen under my load or carried on in spite of it all.
Which is not to say everyone would feel that way, many probably wouldn't.
It wasn't until a few years back that I took a Negoitiation Strategies class that I learned a lesson really outside of what the class itself was teaching, and applied it to my life....
What I realized was that yes, some people will be moved to pity. And others to denial or discomfort or shame or pseudo-empathy (it wouldn't be my pain they were feeling, it would be their reflection of what they thought my pain might be).
But all of that? It isn't about me -- it's about them. Those are their issues.
If I understand that then I can move past however it might have made me feel and accept it or deflect it or ignore it or whatever. But I could avoid letting it bother me....
I suppose one of the reasons I enjoy going out again (after a bit of hermit-like break) is that now with the iBot it changes the reactions a lot, and I don't mind mixing up the landscape a bit.
And there are times I forget that "it's all about them" lesson for a moment, but not for too long. Because it's still all about them.
So maybe I could get something out of that meeting on October 11th.
It's weird to think I had a bunch of years where I wasn't healthy enough to be spending time in a support group, but that was kind of where it was.
Now of course there is a new problem -- the iBot can be kind of distracting.
I'll think about it, in any case. It's probably worth the time to give it a shot.
If you have MS and are interested, maybe I'll see you there. :-)