2008-09-29

Mature programming languages and internationalization

Have you ever tried to implement application using character encoding other than Latin 1? What is deal with that? If you are using modern development platforms like Java or .Net - it just works. Let's omit other problems caused by bad implementation of internationalization issues in framework/library. Multilingual application scenario is simple - use internal UTF character encoding, allow transcoding from external systems at the API level (I/O operations with text files, databases etc.) - and your application will be able to write messages in most standardized character sets including Russian and Chinese.

What about other popular programming languages? Take for example Python 2.5 - recent version that could be used in production environment. It supports UTF strings processing, and character transcoding- but be aware - there are glitches and unimplemented UTF features, causing bad UTF processing. To get it work you have to use (sometimes ugly) workarounds. Here is nice presentation about these issues. There is hope that developers from open source community will fix that till let's say version 3.0.
Ruby is in better situation- as a younger language it has more properly adressed internationalization issues at the design stage. I suspect there is still more work to do.

What about old work horse of web applications development- PHP in newest stable version 5.5.2. It came a long road, but still have problems caused by legacy of non integrated separated libraries. It has long list of options to set encoding like internal encoding, http input output encoding, and many more affecting single libraries.

So what about using mbstring module (multibyte string representation) , setting UTF as internal encoding and sticking to it. Situation is worse than in Python- many even simple string functions can't process multibyte strings in proper way. The Solution is to write own workarounds or use third party libraries like PHP utf8. Here is good list of PHP internationalization issues. Last week I have checked xml import support for old PHP application- it caused problems with Latin2 encoding. The reason was simple: The XML SAX parser supports only ISO-8859-1, UTF-8 and US-ASCII encodings.

Such low detail problems could potentially take a lot of precious project time. So if your next application will use character set other than Latin 1, you should consider good internationalization support by chosen development and production platform.

2008-09-22

Summer is ending - three online games to get more fun of life

The summer is going to end - it gets cold and rainy. The weather takes out fun from outdoor activities. So I'm presenting three online games for autumn (winter) gloomy days.

The first one is the Intrusion - platform shoot and action game with bosses etc. reminding old console classics. It works very smooth, and custom physics makes play pretty enjoyable.

The second is Fantastic Contraption - it is more thinking/creativity kind of. It's in an early stage of development, but already gives the fun of play now. The beauty of the game is in that there are so many ways to solve given levels.

The third is Globulos that needs use of tactic and quick thinking. Globulos is in the business for some time, and every new feature added before time made game only more cool.

I wish more successes for those good products, and I'm waiting for more news and features.

2008-09-15

Google Chrome - one more step on the way for perfect client for web applications

Google Chrome browser gets a lot of attention from the start. It is browser build from scratch for better performance, usability and security. Isn't it good solution for web applications, even for enterprise level? As Forrester Research analyst Sheri McLeish says in Information Week article Google's Chrome browser "is not top of mind for IT organizations". It's still in beta, and Google is the only main supporter with its unclear reasons.

There can't be "perfect" browser for everyday surfing, and in the same time using enterprise web applications. But it's good step on the way to "perfection". In worst case the best features could be adopted by other web browser players. On the other hand, if chrome goes out from Beta stage, it can take big share of users by its usability and performance.

I will be watching progress.

2008-09-08

DVR or custom built PC media center?

Under pressure of family I extended subscription of cable network. That means more potentially interesting programs to view. I still have the same amount of time for all my activities. I agree with the term somebody coined, that is "TV - the weapon of mass distraction". I want to take my time on my way, so I thought about some kind of DVR (Digital Video Recorder). On the other side I have seen cool media center box placed in my friend's living room.

There are many DVD recorders with hard disks and DVR functionalities for good price, but I'm not sure about its usability. I tempted to build my own media center/set top box connected to Internet, but it will probably take more time and money. But it also gives more fun. I have to rethink my needs and choose something useful.

2008-09-01

IT pro life anniversary

It passed one year since I started writing this blog. It serves me good as outlet of me geek activities. I'm not a "pro" blogger but I like writing. I think it started when I have been writing posts to closed email groups, sharing ideas and experiences with friends. Now my writings are more public and I can get to more readers interested in that subjects.

I maintained weekly posting that gives 55 posts for now. I get small feedback but almost all positive.

I have made mistakes, some of it I know I could fix now. There is so much things to improve.

I would be grateful for your opinions.