Экономическая Ситуация в Украине Ухудшается

Экономическая ситуация в Украине ухудшается. В полне возможно Украину ведут к банкротству.

По состоянию на 31 января 2010 г. государственный и гарантированный государством долг Украины составлял 301 млрд 538 млн 747,28 тыс. грн или 37 млрд 686 млн 690,45 тыс. долл. В тоже время золотовалютные резервы Национального банка Украина (НБУ) составили на 31 января 2010 г. 25 млрд 285 млн 920 тыс.  долл.

В том числе: государственный и гарантированный государством внешний долг – 195 млрд 286 млн 531,99 тыс. грн (64,76% от общей суммы государственного и гарантированного государством долга) или 24 млрд 407 млн 155,45 тыс. долл.; государственный и гарантированный государством внутренний долг – 106 млрд 252 млн 215,29 тыс. грн (35,24%) или 13 млрд 279 млн 535,00 тыс. долл., сообщает пресс-служба Минфина.

Государственный долг Украины составлял 212 млрд 133 млн 243,04 тыс. грн (70,35%) или 26 млрд 512 млн 678,50 тыс. долл. Государственный внешний долг составлял 119 млрд 939 млн 835,96 тыс. грн (39,78%) или 14 млрд 990 млн 230,97 тыс. долл. Государственный внутренний долг составлял 92 млрд 193 млн 407,08 тыс. грн (30,57%) или 11 млрд 522 млн 447,53 тыс. дол.

Гарантированный государством долг Украины составлял 89 млрд 405 млн 504,24 тыс. грн (29,65%) или 11 млрд 174 млн 011,95 тыс. долл., в том числе: гарантированный внешний долг – 75 млрд 346 млн 696,03 тыс грн (24,99%) или 9 млрд 416 млн 924,48 тыс. долл.; гарантированный внутренний долг – 14 млрд 058 млн 808,21 тыс. грн (4,66%) или 1 млрд 757 млн 087,47 тыс дол. В течение января 2010 сумма государственного и гарантированного государством долга Украины увеличилась в гривневом эквиваленте на 26 млн 010,36 тыс. грн (0,01%) в основном, за счет превышения поступления средств от выпуска облигаций внутреннего государственного займа над погашением государственного внутреннего долга.

При этом, государственный внешний долг уменьшился на 614 млн 278,69 тыс. грн (0,51%), государственный внутренний долг увеличился на 1 млрд 123 млн 330,31 тыс. грн (1,23%).

Гарантированный государством долг Украины уменьшился на 483 млн 041,26 тыс. грн (0,54%), что связано как со снижением курса евро к гривне, так и с превышением выплат по погашению гарантированного государством долга над суммой заимствований.

Мечтатели

Хотели бы провести день возле моря не делая ничего а только гуляя и мечтая? Посмотрите видео снизу, послушайте музыку и окунитесь в эту расслабленную атмосферу!

Архивация CVS/SVN Репозитория на Amazon S3

Недавно я решил сделать дополнительный бэкап нашего CVS репозитория. Ранее существовал всего лишь один файл бэкапа, создаваемый ежедневно
на том же самом виртуальном диске где хранится всё остальное (RAID 0). «Почему бы не использовать Amazon S3 для удаленного бэкапирования?»,- подумал я.

Шаг 1: Включить поддержку FUSE в ядро и установить s3fs
Шаг 2: Примонтировать S3 bucket к папке на сервере . Чтобы сделать это создайте файл /etc/passwd-s3fs и впишите туда одну строчку – Access Key и Secret Access key разделённые двоеточием.
Шаг 3: Редактируем fstab и вписываем туда это:
s3fs#your_bucket_name /mnt/s3_storage fuse auto 0 0

Этот скрипт оставляет самый последний бэкап в папке BACKUPSDIR на сервере и 7 копий за 7 последних дней на S3. Все бэкапы шифруются паролем, не забудте поменять его в скрипте (–passphrase pwd )!

#!/bin/bash
#
# Back up CVS
#
CVSDIR=/home/cvs
BACKUPSDIR=/home/andrew/backups
S3DIR=/mnt/s3_storage
#
# Get current date and time
set `date +"%Y %m %d %H %M"`

# Remove any backups older than 1 days
echo "Removing backups older than 1 days..."
TO_DELETE=$(find $BACKUPSDIR -atime +1 -name "cvstree*")

if [ -z "$TO_DELETE" ]; then
    echo "No backups to delete"
else
    # remove them!
    rm -f $TO_DELETE
fi

#echo "Backing up CVS tree..."
/bin/tar -cj -C $CVSDIR --totals . > $BACKUPSDIR/cvstree_$1-$2-$3.tar.bz

echo "Encrypting the backup"
/usr/bin/gpg -c --batch --passphrase pwd $BACKUPSDIR/cvstree_$1-$2-$3.tar.bz
echo "Moving to the remote storage"
/usr/bin/mv $BACKUPSDIR/cvstree_$1-$2-$3.tar.bz.gpg $S3DIR

# Remove any backups older than 7 days on the remote storage
echo "Removing backups older than 7 days from the remote storage..."
TO_DELETE=$(find $S3DIR -mtime +7 -name "cvstree*" )

if [ -z "$TO_DELETE" ]; then
    echo "No backups to delete"
else
    # remove them!
    rm -f $TO_DELETE
fi

exit 0

Как Создавать Пользователей, Влюбленных в Ваше ПО

Некоторое время назад я натолкнулся на презентацию Kathy Sierra насчёт создания пользователей буквально «влюбленных» в Ваше ПО. Аннотация этой презентации представлена ниже.  Простые, но очень правдивые факты и идеи :)

  • Если мы хотим создать влюбленных пользователей, мы должны помочь им стать лучше.
    • ‘Никто не относится со страстью к тому что он делает плохо (и знает об этом)
    • Фотокамеры многих людей постоянно включены на режим“P” – автоматический режим — несмотря на то что их фотокамеры предоставляют возможность более точного управления такими вещами как экспозиция и выдержка.
    • Что это будет значить для пользователей если мы откроем дверь и поможем им быть просто «классными»?
  • В книге Malcolm Gladwell, Outliers (Посторонние), главной идеей является  “Правило 10,000 часов”, которое говорит что требуется по крайней мере 10,000 часов практики чтобы достичь мастерства в чем-то.
    • 10,000 часов это очень долго – это может быть удручающей перспективой
    • Согласно книге, 10,000 часов это около 3-х часов практики ежедневно на протяжении 10 лет
    • Чтобы достичь мастерства необходимо практиковаться всё время
    • Всё что помогает Вашим пользователям практиковаться – поможет им получить эти 10,000 часов (и стать лучше) быстрее.
  • Давайте Вашим пользователям шаблоны успеха
    • В каждом шаблоне которые Вы даёте своим пользователям должна быть “одна вещь” которую они могут взять с собой как урок
    • Вам надо ответить на вопрос: “Есть ли что-то одно (и что это) что Вы можете делать  блестяще?”
  • Давайте своим пользователям лучшие инструменты
    • Они будут работать лучше
    • “Не бойтесь тратить деньги!”
    • Объясняйте людям почему им нужны лучшие инструменты  которые Вы предлагаете
  • Мотивация очень важна
    • Воспринимайте мотивацию как подарок
    • Делайте продукт который люди будут использовать на самом деле
    • “Ваша беговая дорожка стоит в углу собирая пыль не потому что Вы её не используете, Вы не используете её потому что она стоит в углу.”
    • “Сделайте правильные действия легкими для пользователей а неправильные – сложными”
  • А теперь, то чего не следует делать:
    • Мы часто фокусируемся на инструменте а не на том чего хотят добиться пользователи с помощью этого инструмента
    • “Мы относимся к людям очень хорошо перед тем как они купят наш продукт, но после этого мы относимся к ним хуже.”
      • Это также причина почему люде не хотят платить за обновление продукта
      • Если мы хотим помочь людям обновить наш продукт – а им нужно будет сделать это если они хотят двигаться вперёл – мы должны понять что для них это проигрышь и удар по их уверенности в себе
    • Мы пишем FAQ так как будто наши пользователи любознательны и имеют TabletPC под рукой
      • Люди обращаются к FAQ и разделу помощи потому что уже имеют плохой опыт работы с Вашим продуктом
    • Не разрешайте “политике простоты использования” затмить все остальное
      • Вы не чувствуете себя блестяще когда освоили что-то что под силу 3-х годичному ребёнку
    • Наём консультанта по социальным медиа является ошибкой:
      • Они фокусируются на неправильном направлении
      • Консультанты по социальным медиа фокусируются на том чтобы Ваши пользователи любили Вас, что является неправильным – никто не является «блестящим» потому что любит Вас
      • Они думают что цель в том чтобы Ваши пользователи хотели веселиться с Вами на вечеринке
      • Настоящая цель это сделать так чтобы пользователи хотели веселиться на вечеринке из-за того что сделали Вы, что помогло им стать непревзойденными. Они должны веселиться из-за Вас, но без Вас
      • Вы хотите связывать пользователей с другими пользователями, не с Вашей компанией
      • Намного лучшим использованием социальных медия является выяснение:
        • Какую роль мы играем в жизни наших пользователей
        • Какую роль играют наши конкуренты в жизни наших пользователей
        • Какие точки «боли» (сделать что-то трудно) и «удовольствия» имеются у наших пользователей
      • Стараясь быть конкурентноспособными и фокусируясь на конкурентах мы оказываемся неконкурентноспособными
        • Это приводит к фичеризму (переизбыток функций)
        • Все заканчивается тем что мы производим продукт которы вредит нашему пользователю
        • Наилучшее что мы можем сделать это взглянуть на более большую, классную вещь – мир в котором существуют наши продукты и продукты наших конкурентов, проблемы которые эти продукты пытаются решить, вещи в которых наши пользователи стараются быть лучшими – и использовать социальные медиа для того чтобы общаться об этом

Что Значит Быть Лидером

Хм.. Похоже я не постил ничего нового на блоге уже оооочень долго. Накопились дела более важные чем блог – у каждого из нас бывают такие периоды в жизни.

Недавно моя девушка скинула мне ссылку на короткое видео в котором некий профессор Адизес объясняет что значит быть лидером. Объяснение простое но именно этим оно и потрясает. Оригинально и правдиво. 10 минут Вашей жизни не будут потрачены даром :)

Встречи и Расставания

У каждого из нас есть круг людей с которыми мы общаемся регулярно – с кем-то больше, с кем-то меньше.
- Привет
- Привет
- Как дела?
- В порядке
- До завтра!

Привычно засыпать и быть уверенным что увидишь тех же людей завтра, или послезавтра ну или на этой неделе в конце концов. Но в один прекрасный (или неочень) день что-то меняется. Меняется кардинально и неожиданно. Вдруг оказывается кого-то привычного больше не будет рядом. Она уезжает далеко-далеко – на другую сторону планеты. Именно в такой момент особенно остро понимаешь насколько этот человек важен в твоей жизни.
Смешанные чувства грусти и радости. Грустно расставаться но радостно что ей там будет лучше, а значит это положительное событие. Все отношения в нашей жизни временны, впрочем как и наше пребывание здесь :)
Сохраним хорошие воспоминания в наших сердцах и пожелаем ей удачи. Пусть там, в далеком Ванкувере, будет в 1000 раз лучше чем здесь, в Виннице!
А Земля, она – круглая. И 10 часов разницы во времени – не катастрофа.
Не говорим «прощай», говорим «до встречи!»

С любовью,
Андрей

Как делаются дети – Pixar

Смотрим как делаются дети – плохие и хорошие :) Pixar как всегда на высоте!

Стрижка В Поддержку Linux :)

На прошлой неделе я сделал стрижку показывающую мою поддержку Linux, а в частности Gentoo. Несём образование в массы :)

Haircut showing Linux support

Прическа в поддержку Linux - сторона А

Haircut showing Linux support - side B

Прическа в поддержку Linux - сторона Б

Плазмоид Для Отображения Загрузки Процессора (KDE4)

Поправочка: В KDE 4.3.x  появилась более продвинутая версия этого плазмоида, показывающая загрузку процессоров ядром и пользовательскими прогами разными цветами, показывающая используемый своп и память и т.д.

Я начал использовать плазмоид Coremoid с тех давних пор когда KDE 4 был доступен только из SVN. Плазмоид сидит в панели задач и показывает нагрузку на процессор по всем ядрам (если у Вас современный процессор) плюс текущий governor (алгоритм изменения частоты процессора в зависимости от нагрузки). Мне большего и не нужно. Часто бывает полезным чтобы вовремя заметить что какой-то процесс отжирает проц. Да и вообще как-то спокойней с ним – знаешь что происходит :)

The look & feel of Coremoid plasmoid

Так выглядит Coremoid в панели задач

К сожалению исходники которые можно скачать с kde-look.org уже давно не компилируются с последними версиями KDE, включая стабильный KDE 4.2.x. Я сделал необходимые изменения в коде чтобы он компилировался с последними стабильными кедами и выкладываю исходники здесь.

Скачать coremoid-0.3.1-andrew.tar.bz2

Оптимизация Aptana Studio

Недавно я решил выбрать приличный IDE для программирования на PHP и Python. Из бесплатных естественно :) Будучи наслышанным об Aptana Studio решил взвести её и посмотреть собственно за что её хвалят. Года 2 назад у меня уже был опыт работы в клипсе (Eclipse) + PHPEclipse – неплохая среда но всё таки слишком медленная, за что и была уничтожена и заменена на Vim.

Aptana построена на базе Eclipse и конечно же по производительности ничем не выделяется. Но на этот раз я уже решил соптимизировать Java машину чтобы посмотреть как она будет вести себя на современном железе. Итак, мы будем редактировать файл AptanaStudio.ini находящийся у меня в папке «C:\Users\<ИМЯ ПОЛЬЗОВАТЕЛЯ>\AppData\Local\Aptana Studio 1.2″ . Именно туда он устанавливается по умолчанию на Висте.

Содержание моего файла приведено ниже.Я объясню значение каждого параметра который я добавил или изменил. Все добавленные или измененные аргументы идут после аргумента -vmargs.

-name
Aptana
Studio
-vmargs
-Xmx384M
-Xms128M
-Xverify:none
-XX:+UseParallelGC
-XX:+AggressiveOpts
-XX:+UseFastAccessorMethods
-XX:CompileThreshold=100
-Djava.awt.headless=true
-Djava.awt.nativeDoubleBuffering=true

  • Xmx384M – максимальный размер кучи (памяти) Aptana может съесть (384Mb). Это значение обычно вычисляется инсталлятором автоматически на основе объема памяти установленной на Вашем компьютере. Увеличьте это значение чтобы дать Java машине больше памяти для кеширования скомпилированного кода
  • Xms128M – начальный размер кучи. Минимальный объем памяти используемый Aptana. Увеличение этого значение немного ускорит начальную загрузку
  • Xverify:none – пропустить стадию проверки классов при их загрузке. Даёт выигрыш во времени загруки  в 10-15%
  • XX:+UseParallelGC – использовать параллельный сборщик мусора. То что надо для современных мультиядерных или мультипроцессорных систем. Дает прирост в производительности за счет выполнения нескольких стадий сборки мусора параллельно
  • XX:+AggressiveOpts – включает агрессивную оптимизацию кода. В будущих релизах Java машины этот параметр будет всегда включен
  • XX:+UseFastAccessorMethods – без лишних слов увеличивает производительность
  • XX:CompileThreshold=100 – этот параметр увеличит начальное время загрузки, поскольку Java машина будет компилировать в инструкции процессора больше методов и быстрее чем это было бы сделано по умолчанию. В результате Aptana будет более «отзывчивой» после загрузки посколько больше кода будет скомпилировано чем транслировано. Это значение обозначает количество раз которое должен быть вызван метод перед тем как код будет скомпилирован в инструкции процессора.
  • Djava.awt.headless=true – эта строчка находится в .ini файле по-умолчанию
  • Djava.awt.nativeDoubleBuffering=true – использовать «железный» двойной буфер. Не уверен что это работает из-за присутствия опции указанной выше которая говорит AWT что станция не имеет дисплея и клавиатуры.

Результатом изменения .ini файла является более шустрая Aptana, хотя конкретный прирост в производительности зависит от многих факторов. Я также использую цветовую схему Port of Ruby Blue – выглядит довольно неплохо!

Aptana Studio with color theme port of ruby

Aptana Studio с цветовой схемой "Port of Ruby Blue"