2 ноября 2011 г.

Фраза дня :)


Да, для кого-то самовосстанавлияющиеся системы - это мечта, у нас это давно случайная реальность :)

Из рабочих обсуждений

1 ноября 2011 г.

中國 или новые приключения Java в Китае


“Never tire to study and to teach others.” —Confucius

Неожиданно появилась третья (и что-то мне кажется, что не последняя) часть саги о путешествии Java по разным странам мира. Ранее были Украина и Азербайджан. Теперь речь пойдет о Китае (насколько я понял, данная проблема касается всех иероглифных языков: китайского, японского и корейского).

Слоган компании Sun Microsystems Oracle по поводу Java все мы хорошо помним "Write once, run anywhere". Действительно, так и происходит: пишешь один раз и с JVM от того же поставщика все работает как и ожидалось на разных ОС. В частности, наши продукты активно используются под Windows и Linux в разных странах.

И вот пригласили нас на китайский рынок. Тема интересная и большая: локализация ПО, подготовка документации и т.д.

Переводчики закончили с текстами, добавили их в ПО, запускаем и видим квадратики вместо иероглифов. После поисков виноватых и наказаний непричастных выяснили, что дело в Look&Feel, который мы использовали. Он де совместим с иероглифами только традиционного китайского и только под Linux. Ладно, Бог с ним. Перешли на другой L&F и все как будто бы наладилось. Квадратиков стало поменьше, но они по прежнему остались! Эмпирическим путем установили, что квадратики появляются только под Windows и только в момент когда идет изменение шрифта (стиль или размер).

В общем, не буду тянуть - Windows L&F очень (очень-очень-очень-очень) странно себя ведет с иероглифами:
  1. После его установки (иногда?) системный шрифт меняется на Tahoma, а иногда остается Dialog.
  2. Если шрифт остается Dialog, то иероглифы отображаются, но, в общем и целом, интерфейс начинает выглядеть "по уродски" (технический термин).
  3. Если шрифт становится Tahoma, то он может даже покажет Вам иероглифы, но вот малейшие с ним манипуляции приводят к квадратам (так и хочется не к месту вспомнить Малевича).
    В нашем случае вот такой вот код безбожно "квадратит": label.setFont(label.getFont().deriveFont(Font.BOLD));
И на сладкое, как это "лечится":
  1. Заменой L&F'a на какой-то иероглифо совместимый аналог. Важно его проверить под всеми ОС с которыми Вы планируете использовать свой продукт, а то могут быть "сюрпризы".
  2. Если это в силу каких-то причин сделать не возможно и нужно "жить" с "родным" Windows L&F, есть секретный слабо документированный параметр (точнее переменная окружения) swing.useSystemFontSettings. Нашел на сайте IBM JDK упоминание, что этот параметр по-умолчанию включен и он влияет на использование системных шрифтов для Windows L&F вместо "родных" шрифтов Java ("From v1.4.1 onwards, by default Swing programs running with the Windows® Look and Feel render with the system font set by the user instead of a Java-defined font. As a result, fonts for v1.4.1 differ from those in prior releases. This option addresses compatibility problems like these for programs that depend on the old behavior. By setting this option, v1.4.1 fonts and those of prior releases will be same for Swing programs running with the Windows Look and Feel."). На сайте Sun Oracle о нем как бы тоже говорят, но больше в контексте, что он существует, чем в контексте, а что он собственно делает.
Итак, для того чтобы в Windows L&F включить "совместимость" с иероглифами достаточно:
  1. Задать переменную окружения ОС (sic!) swing.useSystemFontSettings и поставить ей значение false (правда неожиданно :)?
  2. Или задать ее значение программно:
    System.setProperty("swing.useSystemFontSettings", Boolean.toString(false));
  3. Или любыми другими способами передать значение этой переменной в JRE. Например, в качестве параметра запуска -Dswing.useSystemFontSettings=false
К сожалению, после всех этих манипуляций Ваш продукт будет выглядеть не столь красиво :(.

P.S. Для полноты картины все же поясню, что "корень зла"  - это шрифт Tahoma, который не полностью совместим с иероглифами. Т.е. есть еще один вариант решения данного вопроса: глобальная замена шрифта Tahoma на более приемлемый.

15 октября 2011 г.

Полезные документы: проведение тендера и ИТ стратегия

Давным давно (в далеком 2007), кратко описал наш алгоритм выбора одной большой финансовой системы для десятка стран в Евразии.

Сегодня написал статью (точнее сделал cross-post цитат из статьи Борис Шлаина) о бизнес-аналитиках.

Автор статьи меня заинтересовал и пока смотрел, что "вкусного" есть на его сайте наткнулся на золото в области тендера и выбора решений:
  1. Разработка IT-стратегии
  2. Проведение тендера по выбору IT-решения

Обе ссылки на оригинальные pdf документы. Если они перестанут работать, всех направляю на сайт компании в раздел библиотека.

Кто такие бизнес-аналитики?

Давно хотел отметить труд "бессмертных" людей любого серьезного ИТ проекта - бизнес-аналитиков. Но, как часто бывает в Интернете, все уже "украдено написано до нас".

Так что привожу выдержки и ссылки на оригинальную статью Борис Шлаина "Бизнес-аналитик - свой человек за линией фронта".


Бизнес-аналитик – это, с точки зрения клиента, еще или уже не программист. Это человек, которому можно рассказать о бизнесе примерно так же, как пожаловаться своему врачу – и он должен где-то посоветовать лекарство, а где-то просто успокоить словом. А для руководителя группы разработки и архитектора бизнес-аналитик – это такой агент, шпион, которого можно «забросить за линию фронта» в компанию-клиента, чтобы он добыл ценные сведения о пожеланиях клиента и его стратегии развития своего бизнеса.
Сегодня под словом «бизнес-аналитик» скрывается две разные профессии:
  • Бизнес-аналитик в информационных технологиях – это человек, выступающий в роли интерфейса между ИТ и бизнесом, который может говорить на одном языке с представителями обеих областей и может организовать совместную работу над предметной областью. Его главная задача – сделать так, чтобы информационная система отвечала потребностям бизнеса. Бизнес-аналитик может быть связан с каким-либо определенным продуктом (консультанты по SAP), с узкой специализацией (розничные продажи и логистика скоропортящихся продуктов) или с конкретным предприятием (бизнес-технологи, работающие в ИТ-отделах крупных компаний).
  • Бизнес-аналитик в бизнесе – это человек, который умеет анализировать определенный вид бизнеса или процесса (непрерывное производство, розничный бизнес, управление проектами и т.п.) или круг задач в бизнесе (маркетинг, управление запасами, бюджетирование и т.д.). Его арсенал – это совокупность методик, а средства автоматизации являются при этом вспомогательными.

Бизнес-аналитик может представлять в проекте ИТ-компанию, компанию-клиента или быть независимым консультантом, приглашенным на проект. При этом функциональная роль бизнес-аналитика – интерфейс между бизнесом и ИТ – остается практически постоянной, вне зависимости от «юрисдикции».

Основная роль бизнес-аналитика – это разработка непротиворечивой и достаточно полной модели требований реального бизнеса. Это задача не столько описательная и созерцательная («просто напишите, как у нас все происходит и автоматизируйте»), а творческая. Уже расхожим стало выражение об «автоматизации беспорядка», которая только ухудшает общую ситуацию. Но и «прямолинейная автоматизация» очень часто исключает из процесса те самые «отдушины» и «обходные пути», которые и обеспечивают известную российскую «нестрогость законов» и позволяют бизнес-системе в целом работать.

Но достаточно часто бизнес-аналитик приступает к работе еще на этапе переговоров. В этом случае его задача – понять, насколько решение соответствует потребностям клиента, оценить «масштабы бедствия» и определить возможный объем доработок.

Особая роль принадлежит бизнес-аналитику на этапе внедрения. Его задача – «вписать» средства автоматизации в реальный бизнес-процесс. Бизнес-аналитик не обязательно разрабатывает документацию сам и тем более не обязательно непосредственно руководит внедрением – он формулирует требования, каркас документации и совместно с менеджером внедрения разрабатывает модель эксплуатации системы, решая задачи соответствия организационных и технических решений.

Работа в проекте – основная форма деятельности бизнес-аналитиков. Любой участник проекта должен понимать, что такое проект, как он управляется, из каких этапов он состоит и кто в нем участвует. В проекте бизнес-аналитик отвечает за управление информацией о предметной области: он может не только разрабатывать соответствующие документы, но и технологию, обучать и контролировать других членов проектной команды. Многие риски проекта связаны с ключевыми требованиями клиента, возможностью и полнотой их удовлетворения. Из всех дисциплин управления проектами – управление контрактами, управление ресурсами, управление персоналом и т.п. – управление рисками и управление информацией о предметной области являются для бизнес-аналитка приоритетными.

Бизнес-аналитик – существо общественное
Навыки коммуникации – «работы с людьми» – заслуживают отдельного внимания. При всем многообразии учебных курсов и литературы, большинство этих «источников квалификации» уделяют основное внимание методологии, правильному использованию нотаций и программных средств. Между тем не менее 35% времени бизнес-аналитика занято общением с коллегами и клиентами, и на практике основным способом научиться этому остается личный опыт.

Так или иначе, большинство российских компаний решают для себя эти задачи. И бывшие еще недавно «белыми воронами» люди с профессией бизнес-аналитика все чаще и – я надеюсь – все успешнее играют роль между бизнесом с его растущими требованиями и сферой информационных технологий с ее ограниченными возможностями.

2 июня 2011 г.

Операция Ы (I) или приключения Java в Азербайджане

Не так давно я писал о приключении Украинской гривны в Java. И вот - вторая серия: приключения азербайджанской буквы ı (I) (произносится примерно как ы). Ни в коем случае ее не стоит путать с аналогичной буквой из Английского языка i (I) - у них разные коды и ... ну просто это разные символы. И вот что странно, с Украинской буквой і (І) никто английскую не путает, а с Азербайджанской - увы ;(

Какие сюрпризы это готовит Java разработчикам - например, если в операционной системе установлены региональные настройки Азербайджанские, то вот такой вот код:
System.out.println("decimal".toUpperCase());
Вернет
DECİMAL
Да-да это азербайджанская İ, а в оригинале была английская i. Кто и для кого подготовил эту пакость неизвестно, но эффект от нее может быть неожиданным. Будем надеяться, что это bug, not a feature.

Как это все решается:
System.out.println("decimal".toUpperCase(Locale.US));

Или более глобально в начале программы в коде явно задайте default Locale, если это приемлемо.

15 мая 2011 г.

Фраза дня :)

Иногда в автоматизированных системах бизнес-логика реализуется так, что обвинять после этого женщин в бессвязности и непоследовательности - преступление

5 мая 2011 г.

Приключения украинской гривны в Java (Oracle)

Как оказалось, долгие годы в Java (Oracle) в определенных случаях неправильно отображался код украинской валюты Гривны для региональных настроек (Locale) Украина (uk_UA).
До версии jdk1.6.0_21 включительно код был грв.
В версиях jdk1.6.0_23 и jdk1.6.0_24 он уже стал грл. (судя по всему кто-то "промахнулся" с последней буквой "л" - "н", "Да какая разница ..." (С) Брат 2).
И вот только в jdk1.6.0_25 все встало на свои места Гривна стала грн.


Java код, который проверяет данный bug:
System.out.println(Currency.getInstance("UAH").getSymbol(new Locale("uk", "UA")));

2 июля 2010 г.

Skype: земной шар становится меньше :-(

Сегодня понял, что такое "земной шар становится меньше". Это когда коллега из Азербайджана просит пообщаться с каким-то незнакомым сербом, который в данный момент находится в Кении и который в свою очередь передает мне привет от россиянки сидящей с ним за соседним столом, с которой мы работали когда-то в Армении :). 

Всех нас объединил skype (:

3 мая 2010 г.

Кибер войны China vs Google (USA). Счет 3:2 ?

"Проморгал" интересную тему. C пол-года назад т.н. "китайские хакеры" что-то страшное хотели сделать с Google, но у них "ничего не получилось". По-крайней мере так это событие подавалось на большинстве новостийных сайтов.

Если кто-то как и я был "не в теме", рекомендую посмотреть ролик на CNET news или прочесть статью на www.theregister.co.uk. Вкратце речь идет о том, что группа неизвестных злоумышленников атаковала Google для получения доступа к каким-то исходным кодам, а походу попытались получить доступ к GMail ящикам пары диссидентов, но у них ничего не вышло, хоть в корпоративную сеть Google они и "вломились". Сервера, с которых шла атака, были в Тайване и еще в паре американских штатов. 

Само по себе событие достаточно обыденное. Интересно другое: в ходе этого же взлома упоминается еще 33-34 американские компании, среди которых Adobe, Yahoo и другие, большинство из которых факт атаки или не признали, или отказались отвечать на подобного рода вопросы. Крайне интересно освещение этой атаки в новостях BBC, где говорится только об атаке на почтовые ящики диссидентов (т.е. остальное был просто "отвлекающий маневр?").

Еще интереснее ответ Google представителям Китая (да-да не хакерам, о них вообще никто не вспоминает) - отмена цензуры на китайской версии своего сайта (официальный анонс в блоге Google). Давайте подумаем, какой резон коммерческой компании явным образом провоцировать конфликт с одной из своих крупнейших целевых аудиторий? Ответ мне кажется, очевидным - заказ. Чей заказ, я тоже думаю достаточно ясно - правительства США.

Теперь почему счет 3:2 (по крайней мере, в этом туре их противостояния)?
  1. 15-25.12.09 China vs Google (USA) 1:0
    Атака на американские ресурсы. Получение доступа к требуемой информации (судя по некоторым новостям, атака была успешной)
  2. 12.01.10 China vs Google (USA) 1:0
    Анонс Google об отмене цензуры на своем поисковике http://www.google.cn/
  3. 22.03.10 China vs Google (USA) 1:1
    Отмена Google цензуры на поисковике http://www.google.cn/
  4. 30.03.10  China vs Google (USA) 2:1
    Блокирование властями Китая ресурса http://www.google.cn/
  5. Начало апреля 2010 China vs Google (USA) 2:2
    Анонс Google об уходе с китайского рынка. Перенаправление всех посетителей на Гонконгский ресурс http://www.google.com.hk/
  6. 19.04.10 China vs Google (USA) 3:2
    Анонс о краже в ходе атаке парольного механизма Gaia (Single Sign-On) , который используется Google для доступа к большинству ресурсов (GMail, Picasa, Adwords, Adsense и т.д.)
Почему виноваты китайцы?
Мне точно не известно. Наверное, потому, что один из серверов с которого была атака расположен в Тайване и потому, что "почерк атак совпадает с подобными атаками китайских хакеров" (мой вольный пересказ текста из ролика CNews). Вам это ничего не напоминает :)? Например, Ирак или Югославию?

Вместо заключения
История взаимоотношений Пекина и Вашингтона стара и запутана (да-да не Google'а, а именно Вашингтона, так как какой резон транснациональной корпорации портить себе отношения с руководителями одного из самых лакомых рынков на планете мне не ясно). Например, если историки не врут, один из первых кораблей после объявления независимости будущих Соединенных Штатов Америки, отправился именно в Китай. Теперь по-теме: мы видим попытки одной из стран (США) несколько ослабить позицию другой (Китая). А в политике, как нам известно, все средства хороши.

Поговорим немного еще об одной избитой теме - независимости Google от правительства США. До определенного предела такая независимость, скорее всего, присутствует, но в крупных и международных делах такие транснациональные корпорации как Google будут действовать заодно с правительствами своей страны (не чувствуете иронию в "транснациональных" и "своей страны" :).

Фантастика
Странно, но в таких новостях мне все больше прослеживается аналогии и с киберпанком и со взглядом некоторых писателей-фантастов на постиндустриальное общество в котором мы с вами живем (например, цикл В.Панова "Анклавы": это мир "эпохи цифры" в котором есть и транснациональные "независимые" корпорации, "поднебесники", взломы и кибер-атаки).

Ссылки по теме: 

1 мая 2010 г.

Отзыв о работе книжного интернет магазина kniga.biz.ua

Магазин интересный: низкие цены, быстрая доставка, а теперь о плохом.

Сделал в этом интернет магазине заказ почти на 400 грн. (около 50$).  Быстро привезли и все было бы ничего, если бы черт меня не дернул задать им вопрос по-телефону. 

До того как купить книги "в бумаге" я прослушал одну аудиокнигу и в ней постоянно упоминались материалы на прилагаемом CD-диске. Купил у этих горе-продавцов эту же книгу и диска не нашел (скорее всего он прилагался только к аудиокниге). Сразу я этого не сообразил, и на свою беду "имел наглость" позвонить им в субботу в 11 утра и получил по 1-ое число "Какие диски !!??? Что Вы звоните с утра !!!" . 

Вот так хамство одного сотрудника перечеркивает весь наработанный положительный имидж компании: не хотите отвечать на вопросы клиентов - не оставляйте повсюду номера телефонов, не хотите отвечать на звонки утром - не снимайте трубку. А уж если вы оставляете свой номер телефона даже в книгах (они ставят штампы с информациоей о продавце на разворотах), и потом хамите своим же клиентам, то это называется одним словом - непрофессионализм.

В общем, если вам нужно недорого купить книгу - это хороший вариант, но не вздумайте обращаться с вопросами в эту компанию. Вам как и мне в лучшем случае нахамят, а то и чего похуже. Так что удачных покупок, а я в этот горе-магазин более ни ногой, ни мышкой. Как по мне, так лучше уж переплаить 10-20 грн.(2-3$) за книгу и сделать заказ в другом магазине, чем выслушивать о себе от ТАКИХ продавцов.

И подумайте еще об одном. Если после предоплаты Ваш заказ не будет доставлен, не поступят ли с Вами также как и со мной и не услышите ли Вы по телефону "Какой заказ !!!!???? Какие деньги !!!???"

31 января 2010 г.

Giveaway: 20 Google Wave invitations и 2 бесплатных купона по 300 грн. в Google Adwords

Есть 20 приглашений в Google Wave и 2 купона по 300 грн. (действительны до 31.03.10) для открытия account'a в Google Adwords. Отдам и то и дргое первым обратившимся.

UPDATE: Купоны у меня закончились, но случайно попал на сайт Приват-Банка, который судя по всем раздает те же самые купоны в неограниченном количестве до 1 августа. Спешите ...

17 октября 2009 г.

Free launch from Atlassian: Jira, Confluence, Fisheye, Bamboo, Crucible, Clover и Crowd

Недавно я писал об изменении лицензионной политики Jira австралийской компании Atlassian.
Оказалось, дела обстоят еще интереснее. Изменились цены практически на все продукты   и их поддержку данной компании.

Рассмотрим продукты по порядку (желтым цветом выделены цены, которые уменьшились, красным – которые увелечились).
Изменился подход к лицензированую. Подробно его описывал ранее в этой статье.
Вывод по Jira: лицензии  и поддержка младших версий подешевели, остальных - подорожали.

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
10
10
-
10
-
25
800
1200
400
300
50
-
2200
-
550
100
2200
-
1100
-
500
4000
4000
2000
1000
2000
8000
-
4000
-
Unlimited
12000
8000
6000
4000

Вывод по Confluence: лицензии младших версий подешевели, вся поддержка продукта подорожала!

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
Starter
10
-
10
-
10
1200
1200
10
600
25
2200
2200
1100
1100
100
4000
4000
2000
2000
Unlimited
8000
8000
4000
4000

Вывод по Fisheye: стоимость лицензий осталась без изменения, существенно подешевел maintenance на 10 пользователей - 10$, вместо 600$.

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
10
1200
1200
600
600
25
2200
2200
1100
1100
100
4000
4000
2000
2000
Unlimited
8000
8000
4000
4000

Вывод по Crucible: цены не изменились

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
Starter
10
-
10
-
Basic
-
1200
-
600
Standard
2200
2200
1100
1100
Professional
4000
4000
2000
2000
Enterprise
8000
8000
4000
4000

Вывод по Bamboo: исчезла версия Basic и вместо нее добавлена неравноценная версия Starter. Пользователям Basic предоставлен бесплатный переход на Standard.

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
1 desktop
300
-
150

1 server
1200
1200
600
600
10 machines
2200
2200
1100
1100
25 machines
4000
4000
2000
2000
100 machines
8000
8000
4000
4000
Unlimited
16000
16000
8000
8000

Вывод по Clover: добавлена версия 1 machine за 300$, остальные цены не изменились.

Количество пользователей
Лицензии
Поддержка
Новая цена в $
Старая цена в $
Новая цена в $
Старая цена в $
25
-
600
-
300
50 (Starter)
10
1100
10
550
100
1200
-
600
-
500
2200
2000
1100
1000
Unlimited
8000
8000
4000
4000
Вывод по Crowd:  существенно подешевели младшие версии и их поддержка.

Итог: добавлены версии продуктов Starter (их целевая аудитория startup-ы и индивидуальные пользователи), существенное изменение произошло с лицензированием Jira (однозначно Jira станет дороже для компаний с большим количеством пользователей), подорожала вся поддержка Confluence, существенно подешевела поддержка младшей версии Fisheye (надолго ли?), подорожала базовая полнофункциональная версия Bamboo и ее поддержка, существенно подешевели младшие версии Crowd и их поддержка.

И вместо залючения: осеннее изменение цен компании Atlassian не похоже на "антикризисный" подарок производителя, а скорее наоборот - повышение цен, направленное в первую очередь на клиентов с большим количеством пользователей.