• Ускоряем написание Selenium-автотестов на Ruby

    Одним из инструментов, позволяющих автоматизировать взаимодействие с браузером, является Selenium Webdriver. В действительности автоматизированные тесты веб-страниц с использованием Selenium Webdriver выглядят довольно громоздко. Вот «небольшой» пример, который параллельно в двух браузерах открывает страницу поисковика Google, заполняет поисковую строку и отправляет форму:


    Читать дальше →
  • SICP теперь по-русски! Часть третья

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

      Это самый известный курс по программированию за последние 25 лет; с 1980г читается в MIT, а с недавних пор что-то подобное читается и в Беркли.
      Курс сменил преподавателей и даже язык программирования Scheme на Python(на мой взгляд совершенно зря) и тем не менее информация, которая дается в этом курсе остается архи актуальной в любое время. Я бы сравнил этот курс с чем-то очень фундаментальным и важным для программистов, типа математики или теории алгоритмов.
      Мне бы очень хотелось, чтобы программирование у нас в стране преподавалось таким вот образом.
      Приятного просмотра!
      Читать дальше →
    • На старт, внимание, N900!

        Здравствуй, уважаемое хабрасообщество. Сегодня, продолжая свой цикл статей о Nokia N900, проведу достаточно нестандартное сравнение трех устройств (почти сравнение пылесоса и холодильника ).
        Летом многие бегают и катаются на велосипедах. Некоторые используют для этого специализированные компьютеры. А если такого нет или не хочется покупать? В таком случае можно воспользоваться N900!
        Так как я достаточно давно занимаюсь бегом, то у меня есть два беговых компьютера от Garmin. В этой статье я решил описать каким образом N900 можно превратить в беговой компьютер и насколько он хорошо смотрится на фоне профессиональных специализированных инструментов.

        Под катом я проведу сравнительный анализ и выяснить, насколько Nokia N900 может заменить специализированные компьютеры от Garmin. И в этом анализе мне помогут два моих других устройства: Garmin FR50 и Garmin FR305.
        Читать дальше →
      • Эпидемия

          На beta.ya.ru эпидемия, с каждой секундой прибывает и прибывает население.
          У меня из 225 инвайтов, осталось 200.

          Отдам даром :)

          PS: уже больше 100 человек воспользовались инвайтами. Спасибо! Значит я рассылал их не зря :)

          PSS: больше, к сожалению, инвайтов не имеется :(
        • трансляция rit2007 non-stop

            «Организаторы конференции приняли решение транслировать большую часть докладов без перерывов. Трансляция идет в один поток из одного из залов — первого или второго!»

            смотрите завтра на главной странице RIT2007
            с 10 утра до 19:30 non-stop трансляцию конференции.

            Мы показываем и записываем ;)

          • Игровые сообщества — часть нашего будущего

              Мы большую часть дня проводим перед экраном монитора, называем друг друга по никам, и многие планы прокучиваем в голове, чтобы продвинуться в игре, как я в Дозорах. Но, несомненно, при этом испытываем потребность дополнить это полноценной реальной жизнью. Поэтому ездим друг другу в гости, пересекая половину континента, собираемся в уже совершенно обычных компаниях за совершенно обычным столом. Что это? С чем это связано, к чему ведет?
              Читать дальше →
            • 7 распространенных заблуждений о «клонировании» Youtube

                1. Ниша не занята и, если мы выпустим клон к апрелю, — рынок будет наш.
                2. Сделать скрипт а-ля Youtube стоит $100.
                3. На первом этапе мы привлечем деньги инвесторов и венчурных фондов.
                4. Главное купить этот скрипт за $100, а потом мой проект купят за $1 600 000 000.
                5. Даже если не купят проект, мы заработаем на рекламе.
                6. Если сделать скрипт стоит $100, значит стартапу достаточно $100 + $N, где N — это моя зарплата.
                7. Два человека могут повторить успех YouTube.

                Суровая правда жизни...
              • Участвуем в выставке. Часть 1: подготовка

                  В сети присутствует огромное количество публикаций репортажами с выставок — CES, NAB, CeBIT и других. Но информации, как стать участником, а не посетителем выставки, мало. Когда примерно год назад у нас сформировалась идея об участии на выставке CSTB, информацию пришлось собирать по крупицам. Очевидных вещей вроде «ваш стенд должен быть информативен» было полно, действительно полезной информации — мало. Сейчас, завершая подготовку уже к третьей выставке, хочу поделиться опытом участия с практической стороны с теми, кто думает об участии первый раз.
                  Читать дальше →
                • Опыт применения Google Apps for Business

                  Каждая компания на определенном этапе развития становится перед вопросом организации и последующей автоматизации своего документооборота. Хотим поделиться нашим опытом использования решений Google — Drive (Docs), Calendar и Contacts.

                  image
                  Читать дальше →
                • Сравнение алгоритмов распознавания аудио для Second Screen

                  Введение


                  На сегодняшний день существует множество методов распознавания звука. В самом общем виде большинство методов состоят из алгоритма построения сигнатуры (fingerprints) сигнала (максимально компактного и при этом наиболее точно описывающего трек набора признаков), алгоритма ее поиска в базе данных и алгоритма отсечения ложных срабатываний. Перед нами стояла задача выбора технологии для построения second screen приложений.

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

                  Поскольку в открытых источниках сравнительных данных, удовлетворяющих нашим требованиям, найдено не было, было решено провести собственное исследование алгоритмов распознавания звука, с учетом специфики аудиопотока и искажений. В качестве потенциальных кандидатов мы остановили свой выбор на алгоритмах J. Haitsma и A. Wang. Оба широко известны и основаны на анализе частотно-временных признаков, полученных с помощью оконного преобразования Фурье.
                  Читать дальше →
                  • +20
                  • 6,7k
                  • 5
                • Текстурирование спрайтов с помощью (dis)placement map


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

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

                    Суть в том, что в изучаемой мной игре есть большое количество анимированных спрайтов человечков (как я изначально считал — заранее отрендеренных). Человечки разные (по-разному одетые, разных цветов и т.п.).
                    Читать дальше →
                  • Licenzero: ищем порно по цвету кожи

                      Маска по цвету кожиПродолжаем описание классификатора порнографического видеоконтента, разработанного компанией Inventos (Licenzero, присутствующее в заголовке это не отдельная компания, а подразделение в компании Инвентос).

                      Детектор цвета кожи является одним из детекторов, при помощи которых мы классифицируем видео. Он не такой сложный, как детектор движения, или детектор фрагментов, можно даже сказать совсем простой. Вначале у нас была куча идей, связанных с цветом кожи в видео. Но попробовав самый простой подход к классификации, мы решили (возможно временно) на нем остановиться, поскольку полученные результаты нас вполне устроили. Итак.
                      Читать дальше →
                    • Свет и освещение

                        Часто (в том числе и на хабре) всплывает вопрос освещения, особенно «нанотехнологиченого» светодиодного и зачастую говны священных войн «светодиод» против люминисцентных ламп начинают подбурливать. Больше года я уже собирался написать статью о свете, и оно наконец свершилось.
                        Из этой статьи вы узнаете почему в фотостудиях не снимают с люминесцентными лампами, почему светодиоды до сих пор не захватили мир и стоит ли ими освещать улицы. Поехали!
                        Читать дальше →
                      • Licenzero: простые движения

                          Двустороннее движениеЭтим постом мы продолжаем цикл статей о том, как мы делали порнофильтр. Сейчас речь пойдет о попытке классифицировать порнографический контент по характерным движениям в кадре.

                          Началось это все как просто шутка из разговора. Ведь классифицировать порнографические движения довольно непросто — они слишком разные, чтобы найти в них что-то общее. Но мы попробовали, результат нас вполне устроил, и детектор движения занял свое место в общем классификаторе порнографического видеоконтента.
                          Читать дальше →
                        • Построение систем доставки видео на основе HTTP Dynamic Streaming от Adobe и OpenSource

                            В рамках проекта для одного из наших заказчиков в очередной раз встала задача построить систему конвертации/ хранения/ доставки видео в интернет. Типичная такая задача создания своего маленького (или не очень маленького) “Тьюба” только с профессиональным, а не UGC-контентом.

                            С момента создания первых “Тьюбов” технологии видео в интернете прошли некоторый путь развития, позволяют сейчас делать намного больше, да и требования к современному видео-сайту стали несколько иными.

                            Наиболее интересными трендами последнего времени, на наш взгляд, являются:
                            • возможность смотреть один видео-сайт с разных устройств,
                            • технология адаптивного HTTP стриминга

                            Читать дальше →
                          • Licenzero: порно детектед

                              Licenzero У нас великолепная работа — нам платят за просмотр порнографических роликов. Ну а серьезнее, мы работаем в R&D отделе компании Inventos, которая занимается автоматической фильтрацией веб-контента: модерация, защита авторских прав и т. д. Перед нами была поставлена задача — построить систему для автоматического выявления роликов порнографического содержания. Здесь мы расскажем, как мы решали поставленную задачу.
                              Читать дальше →
                            • Asterisk, или домашняя телефония для (про)двинутых пользователей

                                Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
                                Итогом стало открытие для себя SIP-телефонии.

                                И вот несколько месяцев назад, из статей на Хабре, выясняю, что чужим дядям можно и не платить за межгород, если надо позвонить откуда-то в родной город через Интернет! Достаточно поставить VoIP сервер и настроить его так, как надо именно тебе!

                                И вот, взяв в руки Asterisk, я приступил к операции по борьбе с излишней жадностью ОпСоСов…

                                Читать дальше →
                              • Шаблонизация на стороне клиента — уже реальность

                                  Предыстория


                                  Я занимаюсь разработкой IFrame приложений для социальной сети ВКонтакте. Самый удобный способ навигации по приложению — это динамическая подгрузка данных, без перезагрузки всей страницы. Раньше я генерил html код который нужно отобразить на сервере, пока не встретил EJS — JavaScript Templates…

                                  EJS — Embedded JavaScript


                                  EJS оказался одним из самых удобных и подходящих мне шаблонизаторов. Он работает, как с одиночными переменными, так и с массивами (читай объектами), присутствует логика (if...else...).
                                  Читать дальше →
                                • 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 — автодополнение пути.
                                    что же внутри...
                                  • Аскар Туганбаев: телевизионщик на тракторе

                                      Аскар ТуганбаевПродюсер, телеведущий, пиарщик, журналист, эксперт по современным технологиям, предприниматель — у Аскара Туганбаева (tuganbaev) много занятий, которые он умудряется достаточно успешно совмещать. Недавно он присоединился к команде видео-портала Rutube. Так что появился неплохой шанс узнать об этом проекте поподробней — из уст его нового продюсера.

                                      Если честно, я был слегка удивлён, узнав, что ты стал продюсером Rutube. Мы знакомы не первый год, я общался с тобой и в эфире, и просто в жизни — и всегда воспринимал тебя как «телевизионного человека». И вдруг — Rutube. Как это случилось, почему?

                                      Вообще Rutube — это убийца телевидения, так что всё логично. :)

                                      То есть Youtube будет убивать западное телевидение, а Rutube — российское?

                                      На самом деле Youtube и Rutube — совершенно разные вещи. В Америке в интернете гораздо легче зарабатывать, а у нас пользователи пока не совсем готовы тратить деньги в сети. Сделать Youtube в той среде легче: ты даёшь людям возможность обмениваться контентом и с каждого клика, с каждой транзакции получаешь деньги. В России эта ситуация пока невозможна — и так будет ещё лет 5-10: пока в нашей стране не получится делать бизнес на обмене информации между людьми.

                                      Читать дальше →