Some time of past year I spent in attempts to convince people did not rely on FIX logs especially if they collected from different JVMs or even hosts, in their attempts to measure latency on FIX message exchange. That may sounds silly, but finally I gave up and made some scripts that helps to automate process. Unexpectedly (for people, not for me) results were controversial and unpredictable. But this post is not about this. I decided pay tribute to a wonderful utility without which I just can't imagine how would I cope with that task. Let me write some warm words about AWK. It really outstanding one beside other data driven script engines due its power and flexibility.
06 January 2012
16 September 2011
Objects in mirror are closer then they appear

First time I heard this phrase from the Thomas Jahn’s "Knockin’ on Heaven’s Door". In Russian it would sound like "reflected objects are closer than appeared". But that doesn't deform the sense, isn't? Exactly, namely distortion. That what appeared to be when I benchmarked the hash code calculation.
04 September 2011
Growth rings
Dedicated to Bart :)
First time I saw growth rings of the tree I have been told that they reflects its age. Each year the new ring is appearing so, you can easily calculate how long this tree stands there. As simple as that, life of an any software product could be traced by its version numbers. Just unlike the tree, the software has multiple branches of "growth" (or evolution): functional, maturity and so on. Actually every company has its own versioning approach, different identification of stages. But versioning is always incremental and usually do not require more then 3 numbers.
26 February 2011
Small utility
Recently I re-open rsync for myself. I heard many people found it useful, but never used before. And its actually help me save some time.
20 September 2010
Part 1. "Какая гадость... Какая гадость эта ваша заливная рыба"
In past I spent some times on optimization of performance mostly JSE application. Recently I had a chance to play with enterprise Java.
Yes, they both are pretty same Java and life does not become heavier when you moving from Standard Edition land to Enterprise one. Except one note: the enterprise app supposed to be more complex so, is more "layered" application. Kind of "Shrek's onions":
- Ogres are like onions.
- They stink?
- Yes. No.
- Oh, they make you cry.
- No.
- Oh, you leave em out in the sun, they get all brown, start sproutin' little white hairs.
- No! Layers! Onions have layers. Ogres have layers. Onions have layers. You get it? We both have layers!
- Oh, you both have layers. Oh. You know, not everybody like onions.
Thats true, not everybody like ... layers. Especially when we talk about high performance, low-latency applications. Some people implied the Java to a heavy, multi-layered applications and blames it for so slow speed in comparison with C/C++. But, I think, that is unfairly...