Яндекс.Метрика

    Ни о чём

    Ни о чём

    Как связать два asterisk-сервера

    imageИтак, имеем два астериска.
    Задача — организовать прямой дозвон через префикс туда и обратно.
    Исходные данные:
    Астериск 1.4 на обеих концах
    kazan.asterisk.ru — имя первого астериска.
    volgograd.asterisk.ru — имя второго астериска.
    Предполагается, что оба астериска имеют прямой выход в интернет (в ином случае тоже проблем быть не должно, нужно настроить NAT и использовать параметр nat=yes)

    Пусть 1-й астериск у нас находится в Казани, другой в Волгограде. Обратимся к автомобильным кодам регионов.
    Тогда дозвон из Волгограда будет 9-16-<номер>.
    Из Казани 9-34-<номер>.

    Ни о чём

    Тест Си компиляторов под Windows

    После многочисленных споров на тему «Какой компилятор лучше генерирует код», появилась идея провести самому испытания. Основной целью испытания была проверка скорости работы программы с оптимизацией по скорости. Результат тестирования: среднее арифметическое время выполнения тестовой функции в миллисекундах (1/1000 сек). т.е. чем меньше тем лучше.

    В тестировании участвовали:
    • Intel C++ Compiler Pro 11.1.054;
    • GCC 4.5.0 (MinGW);
    • MS C/C++ Compiler 15.00.21022.08 (VS 2008);
    • CodeGear C++ Builder 11.0 (C++Builder 2007);
    • Tiny C Compiler 0.9.25.
    Железо для теста:
    • Компьютер: CPU Intel E5200 (2-ядерный) 2.5 Ггц + 2 Гб ОЗУ;
    • Ноутбук: CPU AMD Athlon QL-62 (2-ядерный) 2 Ггц + 3 Гб ОЗУ.
    ОС для теста:

    MS Windows XP SP3 Eng x32 на ноутбуке и на компьютере (с одного диска устанавливались и один и тот же SP3 ставился).

    Варианты компиляции:
    1. Отключена любая оптимизация;
    2. Включена вся возможная оптимизация.
    Ограничения на тестирование:
    • Исходный код тестовой программы не изменяется в зависимости от компилятора;
    • Тестовая функция не использует функции системы, т.е. только вычислительные операции, все функции связанные с вызовом системных функций вызываются до и после замера времени;
    • Не используются библиотеки распараллеливания типа OpenMP;
    • Вычисления производятся только в одном потоке;
    • Компьютер не загружен больше никакими другими программами, только запущенная Windows + Notepad + тестовая программа;
    • Для тестов не использовалась VCL, MFC, CLR, ATL;
    • Код программ компилировался именно как С код, а не С++;
    • Для Tiny C Compiler использовался только 1 вариант компиляции, потому что он не поддерживает оптимизацию на уровне кода. Из документации: Оптимизация кода ограничена вычислением константных выражений на этапе компиляции, заменой операций умножения и деления операциями сдвига где это возможно, а также некоторыми другими действиями. Оптимизация переходов не производится, так как это потребовало бы организацию промежуточного кода в более абстрактном виде.
    Метод тестирования:
    1. Выделение памяти для буферов;
    2. Получение UserTime текущего потока через GetThreadTimes;
    3. Выполнение тестовой функции;
    4. Получение UserTime текущего потока через GetThreadTimes;
    5. Получение разницы во времени с точностью до миллисекунд (1/1000 сек);
    6. Повторение последних 4-х действий 10 раз;
    7. Вычисление среднего арифметического значения времени.
    Алгоритм вычислительной функции:
    1. Инициализация ключевой последовательности для алгоритма шифрования RC4;
    2. Инициализация ключевой последовательности для алгоритма шифрования AES-128;
    3. Заполнение первого тестового буфера данными полученными из генератора RC4;
    4. Вычисление CRC32 для первого тестового буфера;
    5. Шифрование первого тестового буфера алгоритмом AES-128, блоками по 128 бит, с помещением результата во второй тестовый буфер;
    6. Заполнение первого тестового буфера данными полученными из генератора RC4, т.е. первоначальные данные затираются полностью;
    7. Расшифровка второго тестового буфера с помещением результата в первый тестовый буфер;
    8. Подсчет CRC32 для расшифрованного первого тестового буфера;
    9. Сравнение CRC до шифрование и после.
    Параметры теста:
    • Кол-во данных для шифрования — 1600 килобайт (102400 блоков);
    • Кол-во тестовых итераций для вычисления среднего арифметического значения времени — 10.
    Результаты тестирования:
    Intel C++ Compiler Pro 11.1.054
    • Ноутбук без оптимизации: 6301 мс;
    • Ноутбук с оптимизацией: 971 мс;
    • Компьютер без оптимизации: 4541 мс;
    • Компьютер с оптимизацией: 867 мс.
    GCC 4.5.0 (MinGW)
    • Ноутбук без оптимизации: 6568 мс;
    • Ноутбук с оптимизацией: 1691 мс;
    • Компьютер без оптимизации: 4979 мс;
    • Компьютер с оптимизацией: 1521 мс.
    MS C/C++ Compiler 15.00.21022.08 (VS 2008)
    • Ноутбук без оптимизации: 5149 мс;
    • Ноутбук с оптимизацией: 1574 мс;
    • Компьютер без оптимизации: 3740 мс;
    • Компьютер с оптимизацией: 1290 мс.
    CodeGear C++ Builder 11.0 (C++Builder 2007)
    • Ноутбук без оптимизации: 4982 мс;
    • Ноутбук с оптимизацией: 3854 мс;
    • Компьютер без оптимизации: 4006 мс;
    • Компьютер с оптимизацией: 3185 мс.
    Tiny C Compiler 0.9.25
    • Ноутбук: 6275 мс;
    • Компьютер: 4606 мс.
    Более наглядно:График времени выполнения кода:imageГрафик скорости выполнения кода относительно лидера теста (лидер теста — 100%)image

    Итоги:
    По результатам тестирования на оптимизацию по скорости, компиляторы занимают следующие места:
    1. Intel C++ Compiler Pro 11.1.054;
    2. MS C/C++ Compiler 15.00.21022.08 (VS 2008);
    3. GCC 4.5.0 (MinGW);
    4. CodeGear C++ Builder 11.0 (C++Builder 2007);
    5. Tiny C Compiler 0.9.25.
    Как видно, ребята из Intel хорошо постарались (на 32% код работал быстрее чем у ближайшего соперника) и их код имеет отличную оптимизацию не зависимо от того что он работает на Intel или AMD процессоре.

    В тоже время С++ Builder показал себя не с лучшей стороны (отставание в 2 раза), что свидетельствует о чуть другой специфики его применения.

    Ну а про Tiny C Compiler 0.9.25 и речи не может быть, потому что он вообще не поддерживает оптимизацию переходов, вот и выходит, что скорость выполнения программы находится на уровне с другими компиляторами без оптимизации при компиляции.

    Конечно С++ Builder оказался чуть староват потому что не нашел я у себя более свежей версии. Хотя мне кажется, там мало что изменилось в этом плане.

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

    Ни о чём

    Таки должны ли тестовые задания (для приема на работу) оплачиваться потенциальным работодателем?

    В одном из постов недавно мелькала эта мысль habrahabr.ru/blogs/arbeit/106832/ — должны ли тестовые задания оплачиваться или нет.

    Мое мнение, что тестовые задания НЕ должны оплачиваться (точнее, такой проблемы вообще вставать не должно), и вот по какой причине.

    Ни о чём

    Прошу Совета — Незаконное использование домена — Так ли это?

    Один мой знакомый обратился ко мне с таким вопросом:
    Я зарегистрировал домен rockfon.su и начал заполнять его информацией об акустических панелях производства Rockfonа (я субдилер этой компании) как только сайт вышел в топ компания rockfon пожелала отнять домен. Что же мне делать? Законны ли их требования? rockfon.su — я использую для информирования а не для прямых продаж.

    Я не специалист в данной отрасли прошу помощи у сообщества.
    ниже размещаю письмо от rockfon и ответ моего друга на это письмо.

    Ни о чём

    Пробуем открыть свое дело

    Пролог


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

    Я буду очень рад, если данный материал будут читать люди с опытом, и поделятся своим. Я в свою очередь полезные мнения и комментарии буду выносить в конец поста.
    Возможно таким образом у нас получится довольно полезный материал, который будет полезен в дальнейшем и другим, я надеюсь.
    Пробуем открыть свое дело. Часть 2

    Ни о чём

    Вроде бы рядом живем (о доставке в соседние страны)

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

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

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

    За полгода существования магазина у меня было порядка шести десятков заказов из Украины, Белоруссии, Абхазии и Казахстана. Часть из них удалось осуществить благодаря добрым друзьям и железнодорожным проводникам. И счастье тем, у кого находились добрые друзья в Москве и знакомые проводники на рейсах. Эти люди смогли получить свои заказы. Хотя, бывало, не без проблем.

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

    Ни о чём

    Электронные версии печатных изданий в удобном виде

    Доброго времени суток, уважаемые хабравчане!

    С каждым днем все больше и больше появляется желание отказаться от бумажных периодических изданий (журналы, газеты, книги). Кроме того, с выходом Samsung Galaxy Tab, в видеообзоре заметил интересное приложение, позволяющее читать журналы, газеты, а также книги. После недолгих поисков в сети, нашел название этой программы Zinio Reader. Перейдя на официальный сайт обнаружил, что софт существует не только под Android и iOS, но и для Linux, MacOS X, Windows, так как разработан на платформе Adobe Air. Под катом мой обзор и впечатления от использования этого приложения под Ubuntu 10.10.

    Ни о чём

    Использование статистических методов для генерации парадигмы по каноническим формам новых слов

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

    Имеем:
    1. Базу Зализняка из 94 тысячcлемми почти 3 миллионових словоформ
    2. Базу из 52 тысячи новых слов с информацией об их грамматической принадлежности (род, число, одушевлённость и прочее…)
    3. Интерпретатор Ruby
    4. Некоторое кол-во свободного времени после работы
    5. Необходимость дополнить базу модуля парадигмами новых слов (имеются лишь их канонические формы)

    Ни о чём

    Как за 20 000 р. привлечь внимание посетителей интернет-выставки

    imageЭти девушки привлекли к себе внимание почти всего мужского контингента выставки RIW 2010.

    Нанять таких красавиц (как это было сделано см. в конце поста) оказалось довольно просто.

    Ни о чём

    Хабраинформер от Яndex

    Бороздя страницы Яndex'a наткнулся на Хабраинформер для лисы. Исходя из скриншота, к нему причастен пользователь kukutz, администрирующий Яndex. Автор — некий Raider.

    image

    Кнопка «Хабраинформер» показывает ваши карму, рейтинг и позицию на сайте habrahabr.ru, позволяет перейти на вашу личную страницу, а также разделы постов, блогов, людей, компаний, работы. В настройках кнопки укажите свое имя пользователя на сайте habrahabr.ru. Можно разместить несколько кнопок «Хабраинформер» на панели, и получать информацию о разных пользователях.

    Ни о чём

    Украина — регистрация купленного в инет-магазине телефона в базе IMEI

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

    Подготовил все документы, отправил вместе с оригиналом упаковки (конверт с пупырышками). Через несколько недель получил ответное письмо со следующим ответом (перевод, по смыслу):
    Код не может быть внесен в базу, потому как были предоставлены документы, в которых указанный товар не является мобильным телефоном.

    Ни о чём

    Развод не там где кажется

    imageВам звонит человек и говорит, что Вы должны ему денег, при этом грубит. Сообщает, что не тащить же ему Вашу расписку для того, чтобы вернуть долг… потом говорит, что придётся встретиться лично и кладёт трубку…
    Разговор проходит быстро. Упомянутое имя звонившего ни о чём Вам не говорит…

    Думаете Вас разводят на деньги?

    Ни о чём

    VR-Online (Август-сентябрь 2010)

    image
    Вышел очередной номер бесплатного журнала VR-Online. Август-сентябрь 2010.

    В этом выпуске:

    Intro

    IT-Новости
    Hard-News

    КОДИНГ

    — C#. Берем WEB-камеру под контроль
    — C#. Бинарные деревья поиска
    — C#. Элегантное сохранение параметров приложения

    Ни о чём

    Лампа настроения

    Добрый день.

    Хабралюди, мне нужна ваша помощь. Я публиковал проект «лампа настроения» (http://habrahabr.ru/blogs/DIY/65616/)
    Сейчас я исследую возможность коммерческого выпуска данной лампы, и возможно других электронных устройств, ввиде радиоконструктора, или в виде уже собранной электронной платы. Лампа будет иметь возможность управления через com/usb порт компьютера.

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

    В связи с этим я прошу вас ответить на вопросы:

    а) По какой максимальной цене и в каком количестве вы бы приобрели бы следующие устройства?

    1) Радиоконструктор «лампа настроения» — полный комплект деталей и печатная плата для самостоятельной сборки (может поставляться уже собранной). Микроконтроллер в комплекте уже прошит. Мощность светодиода 3 Вт, управление по USB(COM). Питание по USB (световая отдача только 50% мощности) или от отдельного источника (100% мощности). Плафон включается в комплект опционально. Подключение к компьютеру позволит лампе реагировать цветом на события, например на получение нового сообщения IM или перегрев системы.

    2) Модуль к лампе настроения для управления мощной нагрузкой. Можно подключить вместо 3Вт светодиода RGB ленту, или набор 12В галогеновых ламп. Написав свое или скачав выложенное в открытый доступ ПО, можно превратить лампу настроения в самодельную систему Ambilight или в цветомузыку.

    б) Какие электронные устройства вы бы хотели приобрести? (блоки для управления внешними устройствами через порт компьютера, блоки ввода информации в компьютер, например считывание состояния внешних контактов, логгеры, электронные блоки СКУД, генераторы сигналов, робототехнические модули и т.д.)

    г) Публиковали бы вы свои наработки к нашему оборудованию в открытый доступ (библиотеки работы с лампой, придуманные вами хаки и улучшения)?

    д) какой способ оплаты вам удобен? наложенный платеж на почте, предоплата банковским переводом, через яндекс деньги, через web-money?

    е) как вы оцениваете перспективу данного коммерческого предприятия?

    Буду рад услышать от вас пожелания и критические замечания. Спасибо.

    Ни о чём

    Обзор BlackBerry 9700

    По просьбам трудящихся решил все-таки написать небольшой обзор своего маленького помощника – BlackBerry 9700.
    image

    Ни о чём

    Ghetto workout: уроки для начинающих

    В продолжение темы хочу рассказать об уроках для начинающих, но с начала смотрим новое видео парня из Днепропетровска

    Ни о чём

    Swiz Framework (краткий обзор)

    Swiz это фреймворк для Flex, AIR и Flash который был создан для быстрой разработки RIA приложений. Основные фичи swiz это:

    В сравнении с другими фреймворками для Flex:
    • Отсутствие необходимости JEE паттернов
    • Нет необходимости в куче повторяющихся папок
    • Нет кучи копипастеных кусков кода
    • Не обязательно наследовать классы фреймворка

    Ни о чём

    Ghetto workout

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

    Отжимания




    Ни о чём

    Медиацентр собственными руками

    Предисловие



    Как то раз за кружечкой пива рассказал другу об идее создания своего медиацентра из барахла что скопился на работе.
    Задачи которые должен решать:
    • проигрывать любое видео
    • звук 5.1
    • тишина в студии
    • подключение к локальной сети
    • скачивание торрентов
    • управлялся с помощью пульта
    • сидя на диванчике ползать по интернету с беспроводной клавиатурой и мышью
    • ремонтопригодность

    Оказалось, он уже давно хотел собрать такое чудо и есть для этого старый корпус от умершего караоке.

    Ни о чём

    Пример увеличения производительности. Intel C++ vs. Visual C++


    Меня уже несколько раз просили показать подходы, которые позволяют увеличить производительность приложения. Так что я решил начать с самого простого.
    В этом видео ролике рассматривается на конкретном примере прирост производительности в на ~107%, полученный путем замены компилятора Visual C++ компилятором Intel C++ для сборки проекта в Microsoft Visual Studio*. Все замеры происходили на ноутбуке HP Compaq 8510w.

    Пожалуйста, обратитесь к странице Уведомление об оптимизации для более подробной информации относительно производительности и оптимизации в программных продуктах компании Intel.