Cuba’s [es-CU based] LCID of 0x1000 basically means “do it yourself, with elevated permissions”

It has been a while since anything internationally interesting has been here, a fact worth remedying a bit.

So on Wednesday night, Conan O’Brien will start televising from his trip to Cuba, in the aftermath of Barack Obama’s moves to start regularizing diplomatic relations between the two countries. I don’t know about you, but with most of the various forces behind that time in our shared history behind us, it really might make sense to have more of the non-government people thinking in that same direction as well.

Which puts us somewhere weird.

The es-CU aka Spanish – Cuba locale is not one of the official ones in any shipping version of Windows, which means that it would only be able to be supported via custom locale. Due to initial design decisions made many years ago and never changed, there are no per-user custom locales (despite the fact that the bulk of the user locale data is stored under HKCU anyway), so any attempt to query such a custom locale’s LCID would lead back to 0x1000, which unless you had such a custom locale would be mapped back to whatever the default user locale was anyway.

A random attempt of an inspired developer to use es-CU in a named locale-based function call if one is Cuban or has/will have Cuban customers will fail unless you have such a locale installed. Never mind the fact that anything Barack or Conan or others might be doing might inspire one to look up the 639 and 3166 names in the Unicode CLDR or elsewhere and try to use.

I’ve met and worked with Spanish-speaking people all over Central and South and even North America many times over the last 18 years, and  have consistently seen a pride in the language and culture beyond many others, which is perhaps why I’m not so willing to assume that customers will just figure it all out.

The process of becoming an official Microsoft locale is a complex one involving subsidiaries and PSS/CSS and other complex issues that have to be figured out first. And while many Cubans might find the longstanding  Microsoft user interface locale choice of Spanish - Latin America to be good enough to get things done the lack of intuitive nature of the choice may leave many Cubans feeling unrecognized no matter what Mr. Obama or Mr. O’Brien or whoever might think or say about recognition.

Solving Trigeminal Neuralgia v.2!

So I just went through my second ever radiofrequency rhizotomy for acute onset trigeminal neuralgia which seems to have been quite successful so far, so I wanted to talk about it a little bit here with you….

(I will be talking soon about the many differences between the two procedures, but this blog is about something entirely different: what happens next!)

I am now completely sans pain, and have to go through the difficult process of deciding (with neuro MD help) which medications to taper and how much, so I can work out a schedule of when to actually do the do the aforementioned reduction.

First and most importantly, this will mostly be with the help of my neurologist rather than my neurosurgeon, since:

• she prescribed all three of the actual medications, and

• all three have other neurological uses beyond the one serious neurosurgical problem that I have apparently solved, and

• no offense, but I’ve been seeing her for decades and I’ve only seen him for weeks….

The risks of doing it incorrectly are pretty harsh, so this is a Very Good Thing to get right the first time, if you know what I mean.

First there are the three medications that I’m [currently] taking:

baclofen, which I have been taking on and off for decades for spasticity in oral form and most recently had an intrathecal pump added via an unrelated surgical procedure three quarters of a year ago (which others have taken successfully for both trigeminal neuralgia and seizures);

keppra, which I have been taking for a few years for an unrelated seizure disorder secondary to my multiple sclerosis (which others have taken successfully for acute trigeminal neuralgia);

Tegretol, which I have tried in the past for trigeminal neuralgia (and which others have taken successfully for both trigeminal neuralgia and seizures).

The one thing that I probably cannot do without lots and lots of caffeine is nothing at all, because the current dosages lead to me being drowsy to the point of it affecting my ability to work and interact with others, and as a “bonus” may not be completely resolving my seizures.

In the long run, the most likely long term medication changes will be:

• no change to the baclofen since it never seemed to be very helpful to either trigeminal neuralgia or seizures (for me, at least!);

• increase to the keppra since I have been able to tolerate higher doses in the past and may still be having some seizures on my current dosage;

• complete cessation or at the very least of the Tegretol since it never seemed to help very much with either the trigeminal neuralgia or the seizures and has often had unpleasant side effects associated with it;

• [possibly] adding another anti-seizure medication if the keppra dose proves to be concerning and another with fewer negative side effects than Tegretol can be found.

However, since the main acute effects of changing medication too rapidly is seizures and the main long term effects of reducing the current dosage of medication is some possible small recurrence of trigeminal neuralgia, a good solid plan taking all factors into account is what I need here.

Why nobody wants to fix the problem of the console

The ultimate problem is defining “Unicode support in the console”.

The console from the customer’s viewpoint is much simpler than the technical reality, which is:

{cmd.exe | CRT | PowerShell ISE | custom console provider} + {0 – n EXEs that can interact with the console}


• bugs in the custom console provider, whose bugs are for the most part owned by some third party developer, and
• bugs in the CRT, which has been broken so long that more recent version fixes don’t help so much, and
• bugs in the PowerShell ISE, which are comparatively low

all of my blogs have been about the Unicode support of cmd.exe, which I admit is hard to get at, because no wants to add new functions to wrap the old ones, even wrappers that would support multiple versions, either via .LIB or via header file, either one of which would work.

The last category, the 0 – n EXEs that can interact with the console, is ignored despite the fact that so many things that are done in the console depend on them.

This is why UA/UE has resisted efforts to document the story, and DevDiv has resisted efforts to either document or further improve the story: because from the customer point of view, the scenario will continue to suck a lot of the time.

Back in the Windows 7 timeframe, people were able to add Unicode support to a handful of specific EXEs that handle network support, but even very influential people in one area had a hard time getting other owners in another area to fix bugs in EXEs they own.

My meager efforts to Unicodize as well as third parties are covered here:

But short of a DaveC esque crusade to fix Unicode bugs in legacy EXEs combined with a DevDiv effort to document how developers can fix their own Unicode bugs, the overall scenario cannot be fixed. And no one is that big a fan of Unicode within Microsoft.

Sorry, but Sorting it all Out has often been about sex for the last decade

The persona of SiaO started out on the CompuServe MS Access forum hosted by Microsoft many years ago.

And starting in the end of 2004, it took on the support of Microsoft Windows, Microsoft Office, Unicode, and language/linguistic issues in general as a theme.

Then, it died for having the nerve to be outraged at certain specific aspects of Microsoft’s patent policy — ending on one patent plaque representing a specific patent based entirely on prior art (which I contrasted with another patent that Google fought for and eventually lost despite the fact that Microsoft specifically chose to not develop and two other technologies — MSLU and MSKLC — that I chose not to pursue patents for since despite some of their groundbreaking, industry changing themes were also based on prior art).

As an aside, I’ll mention my outrage over the fact that to date despite the decreasing relevance for both Microsoft and the entire industry for MSLU coupled with the opposite for MSKLC, the former has a specific Wikipedia article while the latter does not.

And finally, SiaO has been reborn as a hosted WordPress Blog in large part to help keep the information — and faith — alive, despite Microsoft’s efforts to squelch it.

In one sense, Microsoft has won, since they have obliterated most of my samples.

In another, deeper sense, Microsoft has lost, since the entire season SiaO Blog has mainly been about something else the entire time.


Not just the obvious flirting in almost the very beginning between Andrea and I in which led shortly thereafter into one of the most more intense yet brief sexual relationships in my life, followed by one of the best friendships unafraid to overtly hint at a sex life neither of us could ever have.

And not in one of the more longer running friendships of my life — my one with Liz that would have been a lot about sex if I had only been smart enough to realize that love and sex was what it was about, until she was gone, leaving only an easter egg type reference in a DLL name in Microsoft Windows (which would have been much more brilliant had it been intentional but even so).

Or one of the blogs that was almost more about sex than any other — the one about alphabet soup — a blog that never had to stoop to such obvious — and tacky — clichés as “cunning linguist”  to make it’s obfuscationarily obvious point.

I could even point out blogs like the one about the power over women (and men!) by knowing more about Schrödinger’s cat than even Erwin intended — but that just of proves the point. Besides, Erwin might’ve been gettin some out of it, too!

Of course, the interest in talented singer/songwriters in general has led to its own share as well, mostly not from the singer/songwriters themselves. It is just something their creativity inspires, I suppose.

I cannot underestimate the fans of SiaO Blog and even the CompuServe MS Access forum who each decided that if I was anything like my online persona that I would be worth at least a thirty day try. Thus from Claire to Trisha to Lynn to Debra to Clarissa to the rest of the women who were intrigued enough by me to give me a try but smart enough to escape, I suppose in the end it was largely about sex too.

Finally, there were the literally dozens and dozens of blogs about genitive date formats.

Though I guess those were principally based on gender.

Which is another word for sex, of course.

There’s nothing small about Cherokee — yet….

For as long as I’ve known about it, I’ve found the Cherokee syllabary fascinating, both personally and professionally. The work of Sequoyah aka ᏍᏏᏉᏯ aka Ssiquoya is fascinating on so many levels that it never really manages to get boring (if you know what I mean, or even if you don’t!) and has been a real “topic of interest” since I first seriously described the Cherokee Phonetic keyboard here on the Blog at in case you were curious.

One of the aspects that I found more frustrating was that although I could see Cherokee on my phone (currently a Nokia Lumia 1520 running Windows Phone 8.1) that I lacked a keyboard even though I had a font (see if you want to see more on that, even as this and subsequent blogs discussed how the Cherokee Phonetic keyboard layout could be (for lack of a better word) “translated” from Windows to Windows Phone now that I knew how they were defined (though nobody really showed a lot of interest then and me being on disability leave now makes me even more out of touch on both their plans and my ability to contribute to them).

Now that the proposal is somewhere between stage 7 and stage 8 for the small Cherokee letters per the Unicode pipeline ( with my only significant contribution being my late, passive/aggressive plea to keep it all in Unicode BMP (Basic Multilingual Plane (Cherokee small in the BMP which was ultimately successful, I feel kinda unclean, kinda unworthy of the work of Sequoyah aka ᏍᏏᏉᏯ aka Ssiquoya.

I mean yes, it will all be on/in the BMP, which will make the Cherokee Nation keyboard layout easier and the Cherokee Phonetic keyboard layout possible with the lowercase Cherokee letters. But what syllabary needs them anyway? Has the anal retentive need of a few to over-bicameralize everything hurt the efforts of Sequoyah aka ᏍᏏᏉᏯ aka Ssiquoya,, if you know what I mean?

And what would Sequoyah aka ᏍᏏᏉᏯ aka Ssiquoya do with the keyboard layouts, if he were given the choice, the opportunity to choose? Would he change the CAPS LOCK behavior of the Cherokee Phonetic keyboard layout? Would the lowercase Cherokee letters be widespread enoughin fonts to make the effort safe in the next versions of Windows and/or Windows Phone?

What will happen next?

Describing keyboard scenarios from soup to nuts

Over the last few years, one of the most difficult aspects of describing keyboard layout scenarios — which by their very nature are often cross-language, cross-version, cross-hardware type, and cross-OEM — is trying to understand how these differences affect the overall user experience. In this blog post, I will try to span these many dimensions and give the simplest reasonable process to ensure properly describing how target keyboard layouts are defined:

0) If it hasn’t already been installed ON THE TARGET HARDWARE, get the Microsoft Keyboard Layout Creator (MSKLC) from

1) While not required, going to View | Options… In MSKLC and choosing which of three given Backspace and Return/Enter Keyboard Layout Types best describes the target hardware will tend to make future steps more likely to succeed.

2) While in this dialog, can consider selecting the Show All Shift States by Default checkbox. Selecting it will make reviewing each key more complicated, but it will allow you to see all shift states at once.

3) Click OK to the dialog.

4) Select File | &Load Keyboard Layout… and choose the keyboard layout you want to review on the target hardware.

5) Choose a “key of interest” and type it once with the target keyboard hardware. If a dialog pops up, skip to step 7.

6) Type the same “key of interest” again to make the dialog pop up.

7) Note the VK (virtual key) of the key that was typed and the relevant character that it would [eventually] be translated to.

8) Either click Cancel or hit the Esc (Escape) button.

9) Repeat step 5 for another “key of interest” until there are no more keys of interest. Please be broad in your choices here so you don’t unintentionally miss a key in which you might be interested!

10) If in step 2 you selected Show All Shift States by Default then you can skip to step 12.

11) Repeat step 4 with different shift states on the left side of the main MSKLC dialog until there are no longer any shift states of interest.

12) You have now reviewed the target keyboard layout in question and all the relevant keys in it. If you need to review any other keyboard layout you can go back to step 4. Otherwise, you are done!

I have lost count of the number of times that this process has helped me both assist people who didn’t know how to solve problems and diagnose the occasional actual problem with real hardware. Specifically, cases where micro keyboards in laptops have changed the landscape for newer versions of Windows, I have been able to help solve those problems — for OEMs and for customers.

The Baltic states, me, keyboards, and Microsoft

My relationship with the Baltic states started back in my junior year of high school, specifically in AP American Literature. I chose to analyze the symbolism and allusions of TS Eliot’s The Waste Land, and quickly realized what a huge undertaking it was. Every line sent me scrambling to read the underlying meaning and symbolism behind it, until my “shadow” version of the poem was HUGE.

In any case, one line in particular is relevant to this blog, a line I still remember to this day:

Bin gar keine Russin, stamm’ aus Litauen, echt deutsch.

Clearly we were talking about someone (and really a whole group of people) eager to establish an identity, and even more eager to establish an identity that is European, not Russian — a feeling common to many in the Baltic states.

Years later when the importance of supporting the keyboard layouts of the Baltic states became clear, it was in the back of my mind. In ascending order of [apparent] difficulty:

• eesti keel (Estonian) & its ~1.1 million speakers, one keyboard layout was added to the NT source code tree in the end of April of 1996, and either it has been sufficient or the complaints have never reached me (and believe me, sooner or later the complaints would always reach me.

•lietuvių kalba (Lithuanian) & its ~3.2 million speakers, one keyboard layout was added to the NT source code tree in the end of April 1996 based on an OEM layout and named Lithuanian IBM. It was replaced in the end of 1998 by a better layout developed by a colleague from the Microsoft subsidiary. On the urging of several, a third keyboard layout was added named Lithuanian Standard that was developed with MSKLC and released with Windows Vista, but it was not made the default. The layout developed in the end of 1998 (first released with Windows 2000) has been the default for as long as it has been available.

• latviešu valoda (Latvian) & its ~1.3 million, two keyboard layouts [named Latvian and Latvian (QWERTY) by the way] were added to the NT source code tree in the end of April of 1996. After MSKLC was released, several people noticed that the Latvian (QWERTY) keyboard layout suffered from validation warnings, but to them I pointed out that the keyboard layout (which was not the default keyboard layout for Latvian anyway) was authored many years before MSKLC was developed! Then in the post Windows Vista timeframe, several complaints about supporting a Lithuanian standard but not a Latvian one also came out, but the Latvian standard was kind of a mess, supporting letters like Ō and ō that had been removed from the Latvian standard over fifty years prior! This came to a head in my blog inspired by reader Peter Klavins titled Wait til you see my õ (ō) Latvian edition where the ridiculousness of NOT supporting Ō and ō (admittedly out of Latvian for over fifty years) while simultaneously supporting Õ and õ (reportedly never in Latvian in the first place) was highlighted. I don’t think Peter was liking the answer, but at least feeling like people were listening to the problem felt good to him. He probably also disliked the eventual answer, a Latvian standard keyboard made into the default, but that’s because he was heard all those years and people wanted to solve the problem without creating industrial Microsoft-specific standards. most recently Dainis Jonītis (@dainis_jonitis) complained on Twitter to me: @michkap Windows (also 10) with Latvian keyboard can’t enter “\” key. Only you can make some 0.5M+ people happy. @michkap Thanks for reply! No one uses LV Standard layout. We can switch to Russian/English just to enter \.

The irony here is that the main validation warning of the Latvian (QWERTY) keyboard layout (added to the NT source code tree in the end of April of 1996 if you’ll recall!) is a lone \ (backslash) on the VK_OEM_102 key, meaning the requested punctuation symbol has been on Latvian keyboard layouts since the end of April of 1996, and it might have even been made the default if the original dissatisfaction with the keyboard layout for Latvian had focused more on the \ and less on the lack of Ōō/plethora of Õõ!!!!

As an interesting bonus, this particular blog post was authored with Windows Phone (my Nokia Lumia 1520), but I had to install a non-Baltic keyboard layout like Hausa to pick up the ability to type Ō and ō, although an Estonian keyboard layout had Õ and õ directly on the keyboard layout, with no need to hold down the O or o keys, neither of which I have especially strong feelings about the Windows Phone team needing to change at the present time….

The torrents of greed^h^h^h^h^h unLIKEing on Facebook

For myself and others one of the most unappealing parts of both Facebook and Twitter is the way they try to improve by being more like each other.

I have been shielded by the bulk of the effects of the Twitterverse by taking some specific steps to avoid the bulk of their “exciting innovations” like Lists and their official retweets. Though in truth Twitter’s own rejection of third party clients all the way back when I owned a Palm Pre is what officially made them Jump the Shark in my eyes, especially when their own efforts in the client space and the website avoided simple functionality that others provided like shrinkification….

Over the course of many months, I stopped FOLLOWing almost every celebrity I had been, including the ones I knew personally, for the simple but depressing reason that it turns out celebrities tend to be just like us, and maybe even a little worse when they don’t filter through their publicists.

I’d rather keep my illusions about celebrities as kinda heroes. It’s the same reason I unsubscribed from the Huffington Post and why I don’t watch TMZ.

For me, Twitter is pretty much only about announcing my blog posts, these days at least. As I unFOLLOW more, I might eventually find Twitter more generally useful again, though probably just the Windows Phone client and not the damn website.

Facebook, on the other hand, was much more insidious with its LIKEification, something I kinda realized but never paid enough attention to. But almost in the reverse of the Muddy Waters lesson of not missing your water until your well runs dry, you don’t realize how hard it is to unLIKE things on Facebook until you really try do it in earnest.

To be clear, I’m not talking about unLIKEing a comment or a status update that nobody ever sees again — I am talking about unLIKEing all the movies and books and television shows and bands and songs and so on and so forth.

I never realized it would be a challenge until I resolved to unLIKE almost everything the other day.

At first it was easy, as I could go to the Facebook website and see pages of things I LIKEd in each category, ripe to be unLIKEd, at the careful click of the left mouse button. But then something happened….

I unLIKEd all the books that were listed, and yet even the website claimed that I still LIKEd 40 books. And the same thing was happening in other categories, including one that were not as willing to be listed, especially.

In the end, I had to manually unLIKE the bulk of the groups and pages and so on whenever they popped up in the Facebook feed, whack-a-mole style, with just a few exceptions, such as

• Samantha Ronson, because she is such a truly amazing DJ/singer/songwriter that every time I saw her was an honor and a privilege, and

• Worlds Of Fun, the Kansas City amusement park where I met the young Naomi Dennis wearing an unforgettable red tube top.

I also started unFOLLOWing people who were no longer Facebook friends, and in a small number of cases unFRIENDing people who were basically not people.

Suddenly I am seeing more of my friends, some of whom I haven’t seen in a long time. It is almost a whole new Facebook. And it only took a ton of unLIKEs to get there….

Fractions may be your friend, but they can trip up Microsoft!

Microsoft is a huge multibillion dollar company.

In fact, they are so big that they are self payers for things like health insurance. Now Microsoft doesn’t get into a complex business like health insurance. But they pay the bills quite generously, a fact that I myself (not to mention many others!) have benefited from.

The truth is, however, that they don’t only do this with health insurance. They also do it with other things. Things like disability insurance (which I am currently on, as I deal with problems like trigeminal neuralgia).

But only the short term disability insurance.

Even though Prudential Insurance administers both short term and long term disability claims, Microsoft is self pay for only the latter, not for the former.

Now none of this is really all that much of a secret. Unfortunately, there are some problems with it, at least two of which I am suffering from.

FIRST, they and/or their (internal?) payroll tools can’t handle basic fractions, and I’m not talking about complex number type fractions but simple ones like 3/4, aka 75% (the amount that my short term disability insurance covers).

And it is the internal tools that handle paying that 3/4; they simply leave the pesky details like medical necessity and such to Prudential.

Since over the course of the 26 weeks they have overpaid just as often as they underpaid, I can’t assume any malice here. As they say, one should never assume conspiracy when garden variety incompetence will do. However, this leads to their next problem, something that I’m sure you knew was coming.

SECOND, they are really worried about a particular overpayment.

There is the letter they sent me, just the other day, at the same time another letter (one also sent by email) reminded me about open election of benefits for next year, by the way (that other letter would likely lead to deciding just how Microsoft was going to give me tens if not hundreds of thousands of dollars, during calendar year 2015).

I would provide a copy of the letter, but it contains many internal email addresses and the exact amount of my salary for anyone able to reverse engineer the whole 3/4 or 75% thing.

You see, with twenty six (26) weeks notice, they apparently miscalculated the end date of my short term disability insurance claim and the start of my long term disability insurance claim.

By three days.

Let me stop for a moment and repeat that last bit, since in the words of George Carlin it seems vaguely important.


Now there are some people at Microsoft (like Satya and a long line of vice presidents and distinguished engineers and technical fellows and partner architects who have such impressive salaries that 3/4 or 75% of three days might make a huge dent in Microsoft’s bottom line.

However, as a lowly Senior Program Manager with a bunch of knowledge about Internationalization, some mild knowledge regarding Unicode, and an uncanny expertise in keyboard layouts is hardly making enough for three days to matter.

Now I don’t think I am overstating my case to point out that are either obnoxiously greedy or pathologically impatient.

Either the doctors will figure out my medical problems (so I can return to work) or they won’t (in which case they’ll give me my severance and wish me well). In either case, they’ll have a way to get their three days worth soon enough.

What the hell is the rush that they have to interrupt my feeble attempts at recovery to deal with this crap right now?

For now, I’m going to ignore it and focus on my recovery. It’s not like they’re going to take me to court to get their three days pay back faster. From someone in a wheelchair. Good luck with that….

For a company with so many smart people, they can sometimes do the stupidest things, you know?

Happy Endings Aren’t Really Real

So yesterday Teresa came out and spent a lot of the day here. And I explained to her more about Liz. You know, how I never realized how she felt until it was to put it simply too late. After all, the only thing we ever shared that could be deemed romantic was a few songs dancing and one kiss.

Teresa and I even talked about movies and I pointed out how I can’t even say Liz and I fell just short of an inspiring love story. It wasn’t Reese Witherspoon and Mark Ruffalo in Just Like Heaven, because they spent the whole movie falling in love, and the one brief moment that she woke up and didn’t recognize him was forgotten when he built the huge garden for her and then touched her hand to return her spare key. After that, she realizes that it wasn’t a dream and they will [presumably] live happily ever after.

With me as the entirely clueless one who didn’t realize anything until it was too late, all I can say about Just Like Heaven is that it was clearly not our story.

Perhaps City of Angels with Meg Ryan and Nicholas Cage might come to mind. You know, the couple that had just that one night together before she died, and he (as a former angel) has the rest of his long life to remember their brief moment together.

Well maybe that would have almost been the story from Liz’s point of view, but I was too blind to give her the small crumb that would have meant the world to her. I would simply have been a supporting actor in her love story that spanned half of our lives. But I didn’t even give her *that*. All that I did was give myself a tragic memory of what could have been.

I could probably think of countless movies with happy endings with such similarities.

And I could probably think of almost as many epic plays that were tragedies, all of which would echo in such a familiar.way.

But the one advantage to being cynical is that I can take The Story of Liz and Michael (such as it is), my adult lifetime of serial monogamy, and the recent recurrence of 30-80 attacks per day of trigeminal neuralgia (intractable to medication, so far) and think of all of it as a tragic tale of *just desserts*?

Yes, the trigeminal neuralgia is incredibly painful, just like it was in 1993, until the radiofrequency rhizotomy done in 1994 by Poletti and Apple left me pain free for two decades.

But last time I dreaded each tic (attack) of trigeminal neuralgia and thought cynically that “it figures I am being punished for no reason!”.

And this time I almost welcome each tic (attack) of trigeminal neuralgia as proof that even an atheist MOT cynic can have the opportunity for experience a non spiritual form of karma.

I said ALMOST. It is still intensely painful each time a tic occurs. But with neurosurgeon Charles Poletti retired, neurosurgeon Sherry Apple passed away, and the disease [so far] not responding to medication, I don’t even have the first clue who might be able to help me.

Oh well. I’m enough of a cynic to appreciate the irony in following twenty years of numbness with a whole huge mess of pain.

I’m older now. And not so easily cowed by something as trivial as pain. Liz put up with a lot more, after all.



for Liz, with apologies, too little and too late….

A blog about all the things that the old Blog was about!