Wednesday, June 09, 2010

Wizard needs ninja skillz, badly.

MEMO TO ALL EMPLOYEES

Please remember that Section 4c of the $MegaCorp employment contract specifically prohibits bringing weapons or objects which could be used as a weapon onto any $MegaCorp premises at any time. For further information on $MegaCorp policies concerning weapons and employee safety please click here.


Technically I'm banned from the office because I'd be happy to beat quite a few of my cow-orkers senseless with my laptop and strangle them with a USB cable.

Some cow-orker decided to ask a specific question of a general audience rather than contacting the I18N team who actually know their asses from a hole in the ground when it comes to what characters might be included in a Chinese codepage. She's new and can be forgiven for this. The super senior PM guy who doesn't know diddly about things international or language-specific is another matter.

When asked about a Chinese system needing to also display English his response was "This sounds almost impossible! You have to find a codepage that'll have both the English and Chinese character sets in." Which is every single fucking Chinese code page in existence, from MS936 & 950 to 2312 and GB18030. ALL codepages have 7-bit ASCII as the first 128 characters, even all the Unicode translatíons.

Now his ignorance of this isn't the biggest problem (even though he should have passed on the question to the person in his department who actually works with I18N). It's that he then argued when corrected by the guy his own colleague asks such questions of: me.
I might expect this to work in a Unicode deployment, but anything else I'm fairly sure would fail.
Because he's an expert in... nothing, actually. He deals mainly with Java and scripting shit and even then, despite being Senior Director, has no actual specialisation other than spreading misinformation and pissing me the fuck off.

Which goes a long way to explaining why $MegaCorp needs to have a written, continuously publicised anti-weaponry policy.

EVERY SINGLE COMPUTER CODEPAGE IN USE TODAY -- EVEN ON MAINFRAMES AND (cr)APPLES -- INCLUDES BASIC ASCII.

Labels: , , , , ,

1 non-"17"s have already commented. Click here and be the next.

Friday, June 27, 2008

Dear Japan,

Your clocks are running seven hours too fast. PLZFIXKTHXBYE!

I like my Japanese cow-orkers. I really do. Of course, I've never had any "face-time" with them which might explain this lack of animosity. But when I need to work with them I either have to be up at 3am (and sober enough to function) or I might as well send snail mail. One round-trip communication takes three days.

I needed a database in Shift-JIS, the most common Japanese encoding. It's crap compared to Unicode... hell, it's crap compared to anycode, it being a freaky Microsoft hack to enforce their idea of codepages and still work with previous Japanese standards like JIS X 0201 and 0208. Wacky stuff if you're one of the couple dozen codepage supergeeks. I know I'm lame. Haz a cat. In fact, take two; they're small.

So what the hell do I want with a Shift-JIS DB when its suckage quotient is so high? It seems we have a bug, one that I not only pointed out about eight fucking years ago but which also should've been dealt with by the time $OurBigApp supported Unicode.

ATTENTION AMERICAN DATABASE-PROGRAMMING INFIDELS: There is a huge fucking difference between "character" and "byte". Not for you normally, but for most of the rest of the fucking world. One byte per character works fine for English. ASCII is also sufficient for Latin, Swahili and Hawaiian. It is rumoured that there are other languages, many of which have more characters than can be addressed with a single byte.

It turns out a field length of 5,000 characters isn't actually 5,000 characters but 5,000 bytes. For the Japanese this means that they can only squeeze in around 2,200 characters, not quite enough for what this field is designed to contain. But only in UTF-8. In Shift-JIS and UTF-16 with their fucking surrogate pairs the number becomes even more grim -- around 1600 characters.

So why didn't I just install a fucking Shift-JIS database on my own if I'm such a Mr Smarty-Pants? Setting up the DB is easy but our installer which adds and shapes the schema sucks. It's overly complicated (more than 90 screens of text and clicky goodness). That alone isn't a problem. I don't speak or read Chinese and I can still not only install but administer Windows in Chinese, both Traditional and Standard. Microsoft sucks but at least their suckage is uniform across languages. Same dialogs, same layout, same buttons, same icons. Not so $OurBigApp. The Japanese installer is nothing like the English which is nothing like the German, so I can't even run a side-by-side installation and select the correct radio buttons or fill in the proper fields.

I can read some Japanese but with so little chance to use the language I've lost much of it over the past 12 years. A few smrt peepul might think, "Duh! Just select the dialog text, copy and then paste it into Teh Ghugel Translator!" Yeah, I thought of that. Our programmers had different ideas:
window.properties.AllowSelectText=0.
Fuckwits.

Labels: , , , , , ,

1 non-"17"s have already commented. Click here and be the next.

Wednesday, March 14, 2007

Quick Googler Updates

byte-order marker vi
Since you didn't leave a comment, I'm guessing you want to know how to write or view a BOM in vi. If you want to view/edit a file in hex in vi, use the [esc] :%!xxd command. Add the "-r" switch to get back to text.

To read in a Unicode file, you can specify the format by specifying a value for the infileformat variable. If there's no BOM you can use the -U option or the TK_STDIO_DEFAULT_INPUT_FORMAT and TK_STDIO_DEFAULT_OUTPUT_FORMAT environment variables to force any file to be treated in a given format (e.g., UTF-8, UTF-16 BE).

When writing files, vi uses the value of the defaultfileformat variable. The default value is determined by the -U option (if an output format is given) or the TK_STDIO_DEFAULT_OUTPUT_FORMAT environment variable. When writing to an existing file, vi uses the same format that was used to last read or write the file.

my employer doesn't use a punch clock
Lucky you, unless you have to fill out time sheets. Flextime rocks.

japanese slavegirl
You're looking at the wrong blog.

Citrix fuckking sucks
We've established this already.

dst issues with citrix presentation 4
There shouldn't be any unless you're logging everything. I'm pretty sure the OS system clock is used.

MS06-051 Corrupt Filesystem
No idea what you're looking for. Leave a comment.

"i hate phone calls"
Ditto, especially the incoming ones since it's inevitably some clueless fuckwit who wants to have a long discussion with you about things he knows nothing about yet argues with you when you try to set him straight.

codepage 8859-p1
Here is a list of ISO codepages.

mssql optimise
Move to DB2, MySQL or Oracle. You'll thank me later.

animated gif of smashing head into wall
I tried to upload that as well as the smashing-into-keyboard one, but Blogger keeps converting them to PNG format. If someone knows how to get the AniGIFs up intact, please let me know.

Labels: , , ,

1 non-"17"s have already commented. Click here and be the next.

In compliance with $MegaCorp's general policies as well as my desire to
continue living under a roof and not the sky or a bus shelter, I add this:

DISCLAIMER:
The views expressed on this blog are my own and
do not necessarily reflect the views of $MegaCorp, even if every
single one of my cow-orkers who has discovered this blog agrees with me
and would also like to see the implementation of Root Cause: 17-Fuckwit.