• Вызов managed кода из unmanaged

    В данной статье будет рассматриваться вызов управляемого C# — кода(.Net) из неуправляемого С — кода.
    Как-то раз на работе дали проект, точнее даже не сам проект, а только его часть. Сам же проект состоял из двух частей: функционал, написанный на С (unmanaged code) и интерфейсная часть, написанная на C# (managed code). Моей задачей было написать интерфейс и связать его с функционалом.
    Читать дальше →
  • Популярные вопросы на собеседовании по C++ и ответы на них

      Здравствуйте!

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

      О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
      Читать дальше →
    • Что нужно знать про арифметику с плавающей запятой



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

      Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
      Читать дальше →
    • История развития Asterisk во всех подробностях

        Вся история развития Asterisk на русском языке!
      • Астериск для корпоративных клиентов

          Порой слышу от сисадминов: «Поставил Астериск, на него и абонентов по SIP подключил, вот теперь все бесплатно и АТС не нужна». А как он у тебя на город звонит? А как он интегрируется с существующей телефонной сетью компании, реализованной на базе АТС Definity или Panasonic? Как он помогает бизнесу?

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

          Далее поделюсь небольшим опытом внедрения Астериск'а в телефонные сети корпоративных клиентов.
          Читать дальше →
        • Физика на Flash. Создание Ragdoll в Nape на AS3

          image
          Надо было сделать физику на флеше, но с одним маленьким нюансом. Необходимо было на сцене отобразить порядка 10 — 15 регдолов (для не незнающих. Регдол — это кукла. Имитация человеческого тела). Попробовав реализовать подобное на распространенном Box2D, пришел к неутешительному выводу, что Box2D это не под силу сделать. Немного погуглив нашел относительно новый движок Nape (). Который и решил в общем данную проблему.
          К своему удивлению не нашел на хабре упоминаний Nape и решил описать начало работы с ним.
          Под катом, описание создание регдола и примеры для сравнения на Box2D и Nape, а так же исходники примера.

          Читать дальше →
        • svn + bash = пишем консольный svn браузер

            Для тех кто пользуется svn в командной строке, а так же для тех кто интересуется программированием bash-скриптов, в топике рассмотрен пример написания интерактивного bash-скрипта «svn-браузера», работающего в терминале и позволяющего делать несколько «ежедневных» операций с деревом репозитория, а именно:
            • Серфить по репозиторию
            • Просматривать логи
            • Копировать директории для создания tags/branchs
            • Создавать/удалять/переименовывать директории
            • Извлекать/экспортировать (checkout/export)
            При этом любая операция делается нажатием одной-двух кнопок, не считая ввода комментариев, и не требует помнить/вводить длинные пути, такие как:<br><br>
            $svn cp "http://workserver.com/_main_repository/embedded_system/product_xxx/_trunk/main_task/ http://workserver.com/_main_repository/embedded_system/product_xxx/_tags/"

            Под катом обзор внутренностей, результат можно скачать по ссылке svnb
            Сделать исполняемым, запускать в директории — рабочей копии svn (запустить можно в любом месте, но тогда придется ввести путь до репозитория с которым вы хотите поработать).

            P.S. В конце статьи добавил еще одно решение для улучшения юзабилити command line svn — автодополнение пути.
            что же внутри...