"Dotless i" problem is the most profitable area in my revenue stream :)
Since the beginning of my career, I found and isolated dozens of bugs simply related to 'dotless-i'.
I have already blogged about it couple of times, but let me sum up the problem.
There are Turkish characters in our language, as in many others. But two exceptional cases are "ğ" (curved g) and "ı/İ" (dotless-i/dotted-I) characters. The first one is a whole different story that some linguistic experts suggest its removal. The second one is a serious headache for us.
Dotless-i, is a lowercase 'i' without dot. The uppercase of this character is the usual "I". There is another character, "I with dot". The lowercase of this character is the usual lowercase "i".
Have you noticed the problem? This unsymetrical conversion causes a serious problem in programming. We face this problem mostly in Java applications because of (IMHO) poor implementation of toLowerCase and toUpperCase functions.
In Java, String.toLowerCase() method converts characters to lowercase according to the default locale. This causes problems if your application works in Turkish locale and especially if you are using this function for a file name or a url that must obey a certain character set.
There is a long history, as I said. For instance in some R7 version, router was unable to send a message to a recipient if his/her name starts with "I". Message reporting agents was not running in Turkish locale until R8. Anyone with Turkish locale could not install Lotus Notes 8.5.1 (it's real!). The list goes on...
There is almost no beta tester from Turkey and customers don't open PMR for these problems. So these problems are not going up to the first priority for development teams.
Even Java team has added a special warning to the latest documentation:
Note: This method is locale sensitive, and may produce unexpected results if used for strings that are intended to be interpreted locale independently. Examples are programming language identifiers, protocol keys, and HTML tags. For instance, "TITLE".toLowerCase() in a Turkish locale returns "t?tle", where '?' is the LATIN SMALL LETTER DOTLESS I character. To obtain correct results for locale insensitive strings, use toLowerCase(Locale.ENGLISH).
My point is to give a simple suggestion for all Java programmers.
If you are using toLowerCase and toUpperCase function for non-textual context, use them as suggested above!
My previous blog post was ’Hot’!
Sat, Dec 7th 2013 2:47a Serdar Basegmez Yesterday, I have blogged about the renewal of my IBM Champion title. This morning I woke up with lots of notifications on my mobile. Apparently, my dear friend Bruce liked my blog post very much and he has posted it everywhere (Twitter, Facebook, Linkedin Google Plus). The real surprise was on PlanetLotus waiting for me :) Wow! I must be really famous and people want to know about my happiness. Thank you all! :) OK I'm joking. Many of you know it but for those who are not aware of [read] Keywords: ibm
Still part of it: IBM Champions
Fri, Dec 6th 2013 6:11a Serdar Basegmez Yesterday, Oliver Heinz and Joyce Davis announced IBM Champions of 2014. I have been recognized as IBM Champion for the third time but it's still exciting like the first time :) Congratulations to everyone, especially new champions. 2014 IBM Champions So proud to be listed here, with these fantastic people... But remember, there are many great people outside of this list. They might not have the title for this time but they are helping others and improving the value of the te [read] Keywords: connections
Change is good...
Mon, Nov 18th 2013 5:22a Serdar Basegmez Yes! Change is good... For a couple of weeks, I've been working on Bootstrap and as I learn it, my blog became a great playground for me! It's still using Domino Blog template at the back-end but skin is completely renewed. I have not optimized for performance yet but I can tell you, our blog template is so powerful that I have not changed anything in the application design! Please share your thoughts and tell me if you see any problems! BTW, I can share my templates in case you [read] Keywords: domino
A mini-guide to understand what’s going on: Turkish Summer...
Wed, Jul 3rd 2013 3:15a Serdar Basegmez It's been more than a month. We had the most chaotic days in Turkey... A lot of friends from all over the world ask me what's really going on here. I just wanted to summarize headlines... All started as a tiny protest in Taksim Square, almost the center of Istanbul. There is a small park here named "Gezi Park" (Gezi means trip/travel in Turkish). Istanbul municipality wanted to destroy this park and construct a shopping mall but while the legal dispute continues, construction [read] Keywords: network
Two critical HTTP problems in Domino 9...
Fri, Mar 29th 2013 6:48a Serdar Basegmez After I upgraded my servers to Domino 9, I have found two problems affecting HTTP task. 1. Redirect TCP to SSL problem... My HTTP task stopped responding just after the upgrade. When I look into thread logs I saw that it was redirecting every requests to the same URL! After a couple of tests, I found that if you have "Redirect TCP to SSL" checked in your Internet Site document, it fails with infinite redirection problem. I posted the issue into the N/D 9.0 Social Edition forum and [read] Keywords: administration
Happy Pi Day present: Pi Calculator for XPages...