Just for Fun фриланс 1 – Первая неделя

Рубрика: Development, Работа | 29 February 2008, 11:17 | Vadim Voituk

… или рассказ о том, как я на 5 дней снова стал фрилансером

Пользуясь отсутствием загруженности по работе, а также почитав немного getafreelancer-daily.ru, решил “поиграться” с фриланcерским сайтом getAFreelancer.com

Первой приятной неожиданностью для меня стало то, что оказывается, у меня уже года так 4 есть аккаунт на этом сайте (остался ещё со времен фрилансерского прошлого) – в результате мой ежемесячный лимит ставок составляет более 60 bid-ов в месяц (для новичков лимит составляет 15 bid-ов в месяц). Такой сюрприз позволил мне не выполнять upgrade до gold-member-а(у которого лимит ставок выше), при этом не чувствовать себя в жестких рамках.
Это же в последствии и сыграло со мной злую шутку, но об этом позже. [Далее...]

Реклама Google

Рубрика: Google | 26 February 2008, 23:49 | Артем Волхонский

Недавно увидел замечательную рекламу от Google. Реклама наглядно демонстрирует работу с Gmail-ом, только одно но. В рекламе интерфейс почты воплощен в жизнь и его можно потрогать :) Смотрите сами. Очень оригинально на мой взгляд

Юмор: Заказчики разные важны…

Рубрика: Юмор | 26 February 2008, 23:14 | Vadim Voituk

Среди моих заказчиков у одного фамилия Леннон (ирландец), а у другого – Карлсон (швед).
Ни одного ни второго “вживую” не видел.
При общении с первым постоянно вспоминается легендарный битл и отношение к нему формируется в стиле свободных понятий 60-х (сам заказчик похоже тоже мыслит этими категориями).
При переписке со вторым чувствую себя взрослым, удрученным опытом дядей, готовым всегда “поставить на место” выбравшегося из сказки пухлого персонажа “с моторчиком”.

А ведь безусловно от собственного восприятия мною заказчика зависит и исход проекта.
Потому сразу напрашивается вопрос – как класифицировать проектный риск связанный с ассоциативным восприятием имени клиента?
IMHO – единственное решение – “забить на это все” до личной встречи :)

Какими критериями у вас формируется восприятие “удаленного персонажа” aka заказчика?

Есть ли среди ваших клиентов, люди с “интересными” фамилиями?

P.S. Навеяно bash-ем после тяжелого трудового будня.

LinkedIn запустил мобильную версию

Рубрика: LinkedIn, Mobile | 25 February 2008, 09:42 | Vadim Voituk

Самая популярная профессиональная социальная сеть LinkedIn, сегодня обьявила о запуске мобильной версии сайта, доступной по адресу http://m.linkedin.com/

В отличии от “старшего собрата”, мобильная версия доступна на 6-ти языках, и разработчики уверяют что это ещё не предел.
Кстати русского языка пока нет (не говоря уже про украинский).

В пресс-релизе утверждается, что это пока бета-версия, оптимизированная под iPhone, и разработка её активно ведется.

Исходя из собственного опыта использования LinkedIn, придумать success-story использования мобильной версии мне не удалось. Скорее всего разработчики “повелись” на всеобщуюю истерию iPhone-омании, а возможно тут приложился “кулуарный монстр” Стив Джобс.

P.S. Для себя отметил очень неплохой уровень технической реализации мобильной версии.

jEdit FTP plugin 0.9.4 released

Рубрика: Development, Java | 18 February 2008, 13:49 | Vadim Voituk

Сегодня зарелизил новую (0.9.4) версию FTP-плагина для jEdit.

Изменения:

  1. Добавлена возможность подключения к plain FTP серверам через HTTP-прокси (Bug#1735335)
  2. Исправлена ошибка невозможности изменить неправильно введенный пароль (Bug#1885830)
  3. Рефакторинг и очистка кода

Полный текст анонса доступен на SourceForge.
Вскоре новый релиз должен стать доступным через Plugin Manager, до того же можно загрузить новую версию отсуюда: FTP-0.9.4.jar (65Kb)

Публикации в тему:

  1. jEdit sFTP connection over http proxy
  2. Using jEdit as diff/merge tool
  3. My jEdit plugins

Quick Perforce Guide

Рубрика: Development | 14 February 2008, 16:55 | juriy

On a project that I’m currently working with we’re using perforce as a version control system. I’ve found that mostly team members are having troubles understanding it besides official guide is rather large and information-intensive. So I’ve written a short guide for my team. I guess it will be useful for other people too. So here it is.

Quick Perforce Guide.
Perforce is a powerful and flexible version control system (VCS). Perforce is a commercial product and due to that reason is not spread as widely as Subversion. Nevertheless it’s popular and widely supported in modern IDEs. This guide is Windows-oriented: some details (mostly minor) may vary from platform to platform but general concepts are the same.

This guide assumes that you’re already familiar with concepts of version control and have at least some experience using other VCS like Subversion and CVS.

0. Intro.
The main difference between perforce and CVS/SVN is that perforce stores all meta-information on server. Absolutely everything. No files, except project files will be ever added by perforce to your filesystem. It’s really good: you cannot corrupt anything. It’s a bit bad: you have to stay connected to perforce server to do your work.

[Далее...]

Googles Valentines Day

Рубрика: Google | 14 February 2008, 14:52 | Vadim Voituk

Большинство постоянных пользователей Google уже давно привыкли к традиционной праздничной смене логотипа Google на главной странице поиска.
Но к сегодняшнему Дню Святого Валентина дизайнеры Google решили порадовать пользователей не только подобным логотипом
[Далее...]

Знак зодиака средствами MySQL

Рубрика: Development, MySQL | 13 February 2008, 13:45 | Vadim Voituk

Что-то давно я ничего про MySQL не писал – буду исправляться.

Часто на развлекательных сайтах приходится приходится “вычислять” знак зодиака пользователя по его дате рождения. Задача решена уже тысячу раз, и интереса не представляет – проверка попадания даты в интервал релизуется на любом популярном языке программирования в 5-7 строк.
А теперь представьте себе, что нужно написать SQL-запрос в MySQL БД, который выбрает из таблицы всех пользователей с определенным знаком зодиака.

Тут на помощь приходит оператор CASE.
С его использованием запрос, который выводит из таблицы users id-пользователя и его знак зодиака выглядит приблизительно так:
[sql]

SELECT id,
  stat_birth,
  @d:=DAY(FROM_UNIXTIME(stat_birth)) AS stat_birth_day,
  @m:=MONTH(FROM_UNIXTIME(stat_birth)) AS stat_birth_month,
  CASE
    WHEN (@m=3 AND @d>20) OR (@m=4 AND @d<21) THEN 'Oven'
    WHEN (@m=4 AND @d>20) OR (@m=5 AND @d<22) THEN 'Taurus'
    WHEN (@m=5 AND @d>21) OR (@m=6 AND @d<22) THEN 'Gemini'
    WHEN (@m=6 AND @d>21) OR (@m=7 AND @d<23) THEN 'Cancer'
    WHEN (@m=7 AND @d>22) OR (@m=8 AND @d<24) THEN 'Leo'
    WHEN (@m=8 AND @d>23) OR (@m=9 AND @d<24) THEN 'Virgo'
    WHEN (@m=9 AND @d>23) OR (@m=10 AND @d<24) THEN 'Libra'
    WHEN (@m=10 AND @d>23) OR (@m=11 AND @d<23) THEN 'Scorpion'
    WHEN (@m=11 AND @d>22) OR (@m=12 AND @d<22) THEN 'Sagittarius'
    WHEN (@m=12 AND @d>21) OR (@m=1 AND @d<21) THEN 'Capricorn'
    WHEN (@m=1 AND @d>20) OR (@m=2 AND @d<19) THEN 'Aquarius'
    WHEN (@m=2 AND @d>18) OR (@m=3 AND @d<21) THEN 'Fish'
  END AS zodiak
FROM users

[/sql]

По хорошему определение знака зодиака нужно оформить как хранимую процедуру, но в таком случае теряется совместимость с MySQL версий ниже 5-й.

Новые эксперименты от Google

Рубрика: Google, JavaScript/Ajax | 11 February 2008, 16:11 | Артем Волхонский

Пользуясь в очередной раз поиском наткнулся на один линк который до этого или не замечал или его попросту небыло. Дословно линк называется “Попробуйте воспользоваться экспериментальной версией поиска Google“. Как я мог пропустить такой заманчивый линк :) Кто не хочет немного заглянуть в будущее и узнать как будет выглядеть гугль? Вообщем полез разбираться и забыл в итоге что вообще искал на гугле, но не пожалел.

Итак, сам линк выводится в результатах поиска в самом низу возле нижней строки поиска, нажимаем и попадаем на страничку http://www.google.com.ua/experimental/
Суть проекта в чем. Можно принять участие в разработке новых фишек на гугле. Среди тех которые в разработке есть очень много интересных, по крайней мере для меня, но думаю каждый найдет что-то и для себя, то чего ему очень нехватало все это время. Полный перечень приводить не буду, зайдите сами гляньте, как говорится лучше один раз увидеть.

Например “Keyword suggestions”. Позволяет увидеть результаты поиска по мере набора.
Или “Keyboard shortcuts” из названия понятно что за фишка. Она позволяет пользоваться горячими клавишами. Должен заметить очень удобно :).
Ajax рулит вообщем. Одно огорчило некоторые фишки у меня не работали и одновременно можно попробовать только одну, но это все еще в разработке поэтому жаловаться грех.
Советую всем присоединиться, тем более можно выставить свою оценку для каждой фишки и тем самым почувствовать себя участником грандиозного проекта :)

Мы не ищем легких путей…

Рубрика: Development, Java, Юмор | 11 February 2008, 15:44 | Vadim Voituk

Порою копаешься, по локти в де%ме, в коде, написанном разработчиками одной из самых доходных украинских компаний и начинаешь подозревать что им в буфете траву в кофе подсыпают.

Вообще я очень терпимо отношусь к чужому коду, и за последних несколько месяцев уже перестал удивляться разнообразным ляпсусам и ошибкам, связанными с неопытностью или незнанием – возможно на проект прийшел новичок, не все изучил, ещё не все узнал, опыта пока не набрался, документацию не дали или ещё недочитал и тд.

Но только что нашел настолько феноменальную реализацию проверки наличия записи в таблице БД, что удержаться не смог:
Немного упрощенная версия кода, без обработки исключений (это отдельная история!), соединений с БД и тд, все имена, фамилии, явки, изменены, все совпадения с реальными частями кода являются случайностью :)


...
Collection items = new ArrayList();
String sql = "SELECT '1'\n" +
"  FROM ... "; // тут следует большая куча неформатированного sql-кода

pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, this.getId());
pstmt.setInt(2, itemID);
rs = pstmt.executeQuery();

while (rs.next()) {
    items.add(rs.getString(1));
}
...
return !items.isEmpty();

И это наш, родной украинский парень – а вы говорите “индусы, индусы”…

P.S. Для любителей пообсуждать подобные “пЕрлы высоких технологий” существует русскоязычное комьюнити Programming WTF