ноября 20, 2008

Яндекс.Карты в наших бизнес каталогах

Теперь на наших сайтах Товары и услуги и Prom.ua мы автоматически определяем местоположение зарегистрированных компаний с помощью Геокодера, также в случае недостаточно точного позиционирования пользователь может уточнить местооложение самостоятельно и добавить дополнительную информацию. Результат можно увидеть например здесь.

Интеграция пошла очень просто, API очень удобный, понятный и отлично документирован, также радует практически полная совместимость с Google Maps API, что позволит использовать наработки в странах, где покрытие Яндекс.Карт ниже чем Google Maps.

В будущем мы планируем добавить также возможность смотреть результаты поиска компаний/товаров/услуг на карте.

Давно хотел сделать что-то для души на наших каталогах, также давно хотел прикрутить Google Maps на RUProm.net так как в Украине покрытие нулевое, но с выходом API для Яндекс.Карт а также их отличным покрытием по большинству крупных городов Украины решил найти время и убить двух зайцев сразу. То что вышло нам нравится, надеемся оно понравится и пользователям и мы будем продолжать развивать интеграцию с гео информационными системами.

Кстати так сложилось, что мы с Трасом сейчас вовсю делаем Геокодер для Cloudmade, так что эта тема нам близка, и я довольно обоснованно могу сказать, что геокодер Яндекса как для бета версии работает очень пристойно.

ноября 13, 2008

Xen must die

Или мы просто не умеем его готовить.

Правда жизни такова, что бесплатный сыр бывает только в мышеловке или для хорошо обученых инженеров Amazon и Google. Эти компании вовсю используют бесплантую версию Xen. Сегодня у нас было 2 зависания всех виртуальных машин, после чего мы решили отказаться от дальнейшего использования виртуализации, по меньшей мере на некоторое время, пока не появится что-то надежное, производительное и за вменяемые деньги.

История болезни: Xen не дружит с Ubuntu, причем весьма странно, иногда все крашится, без записей в логи, просто система уходит и помогает только ребут. Предсказать когда это происходит сложно, у нас раньше это случалось раз в 3-4 недели. Сегодня случилось дважды. Корень проблемы в том что Xen выпустил патч только для одной версии ядра Ubuntu, мы используем другую в нашем dom0. В этой другой, патч сделан не Xen-ом и похоже криво. Есть подозрение, что Амазоновцы и Гугловцы либо делают свои патчи либо используют ту самую версию от авторов.

Итоги: На этой неделе сливаем все на один физический сервер. Такие вот боевые учения.

Мораль: Используйте Amazon EC2 и не морочьте себе голову, немного дороже, зато намного надежнее чем ваш серевер на украинском хостинге. Проблему локального трафика можно решать локальным прокси сервером.

ноября 07, 2008

Итоги октября

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

Российский сайт сократил до минимума отставание от украинского и наверное в этом месяце они поменяются позициями. Мы теперь поддерживаем внешние домены и принимаем Web-money. В ближайших планах интеграция с другими платежными системами и старт премиум сервисов в России.

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

ноября 04, 2008

Должен ли программист знать что такое 2^32?

Собеседовали сегодня человека на должность Python/C++ разработчик. Закончил КПИ.
Среди прочего спросили задачку по плюсам, где суть сводилась к тому чтобы от переменной типа unsigned int и значение которой равно 0 отнять 1 и сравнить с 0. Что-то типа такого (псевдокод)

unsigned int a = 0;
print(a - 1 <= 0);

Примерный диалог:
- Что такое unsigned int?
- ну это беззнаковое целое, которое всегда положительное.
- ОК так чему тогда равно a - 1 если а=0?
- -1
- Так -1 же отрицательное.
- Мда, действительно, ну тогда наверное будут все единички в двоичной записи.
(Тут стало интересно, вроде человек близок к цели)
- Хм а что это за число будет, ну хотябы примерно в десятичной записи, инт у нас 4-байтный
- Не знаю..., единички.
- ну сколько это будет
- ???
- ок 2^32 вам такое число знакомо?
- не совсем
- ок ну это и будет ответ, 2^32 - 1, вы можете прикинуть примерно что это за число
- нет, а что это за число?
Дальше мы ему рассказали как прикинуть что это за число в уме и сказали что это 4 млрд примерно
- Вообще то странно что вы не знаете что это за число, а сколько например 2^64
- ну эта... 16 млрд.

Дальше мы не стали долго продолжать.

Неужели программистам больше не нужно знать таких базисных вещей? Не уметь считать в уме? По моему многие из нас слишком расслабились взвалив всю ответственность на фреймворки и абсолютно не понимая, почему вставка записей через рубишный active record настолько медленная, или почему склеивание тысячи строк в цикле конкатенацией тормозит. Да компьютеры стали быстрее, но и объемы данных растут, и тупость разработчика может свести на нет весь прогресс, и прикрываться он будет тем что руби тормозит и надо было писать эту часть на C++/Java или покупать более мощное железо. Или уже появляется новое поколение, которое мыслит GC, фреймворками, паттернами, аждайлами и юниттестами а не базовыми понятиями computer science?

Зато теперь у нас появился новый вопрос на собеседовании :)