• Разработка простого расширения для google chrome

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

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

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

    Данный пост будет более продвинутой версией.
    Читать дальше →
  • Руководство: пишем интерпретатор с JIT на PyPy

    • Translation
    Все исходные коды и примеры из этой статьи доступны здесь.

    Когда я первый раз смотрел проект PyPy, мне потребовалось некоторое время, чтобы выяснить, что он из себя представляет. Он состоит из двух вещей:

    — набор инструментов для написания интерпретаторов языков программирования;
    — реализация Питона с применением этого набора инструментов.

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

    Я взялся за это руководство для того, чтобы лучше понять как работает PyPy и что он из себя представляет. Предполагается, что вы очень мало знаете о PyPy, поэтому я начну с самого начала.

    Читать дальше →
  • Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 2

      Часть 1
      Часть 3
      Часть 4

      В предыдущей статье была описана общая схема работы, установлен UniMRCP, Asterisk подключен к VoiceNavigator и создано простое голосовое приложение.
      Остановимся подробнее на возможностях синтеза и распознавания. Первая часть статьи будет посвящена языку разметки SSML, вторая — построению грамматик.

      Использование языка разметки SSML


      Управление синтезом речи на лингвистическом и акустическом уровне, происходит с помощью управляющих тегов в формате SSML.
      С помощью тегов можно определить произношение, управлять интонацией, скоростью и громкостью звучания и т.д.
      Опишу только наиболее используемые теги.
      Подробную информацию по всем тегам можно получит в описании стандарта .
      Читать дальше →
      • +20
      • 6.6k
      • 8
    • Большая коллекция игр Ubuntu GamePack 11.04

        Представлена самая большая коллекция игр — Ubuntu GamePack 11.04

        Комплект состоит из 6-и дисков (5-ть DVD дисков включают 156 самых популярных игр различного жанра. В качестве 6-го диска — Ubuntu Desktop 11.04).
        Теперь нет необходимости исследовать интернет в поисках игр, а найдя игру задаваться вопросом как ее установить в Ubuntu Linux.

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

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

        Данные диски не являются модификацией Ubuntu Linux. Они содержат только игры, поэтому требуют предустановленную систему Ubuntu Desktop Linux 11.04 (или основанную на ней, такую как LinuxMint, SuperOS и д.р.).

        Подробнее: ualinux.com/ubuntu-gamepack
        Загрузить: ualinux.com/download
        смотреть список игр
      • Модуль Bluetooth HC-04 на чипе BC417143B компании CSR

          Компания CSR (Cambridge Silicon Radio) выпускает специальные чипы для устройств BlueTooth. Чипы судя по всему довольно недорогие, потому что господа китайцы предлагают миниатюрные (размером несколько больше симкарты) платки Bluetooth HC-04 на основе чипа BC417143B (семейство BlueCore4, см. [1]), которые в России можно купить всего лишь за 6.6 доллара (через dealextreme.com, см. [2] и [3]).

          image

          По умолчанию в память FLASH платки HC-04 записано ПО, которое позволяет связать по радио Bluetooth любой наладонник (или телефон, ноутбук и т. п.) со встраиваемой системой на основе микроконтроллера (робот, плата Arduino, любое устройство на микроконтроллере, имеющее TTL-порт UART RS-232). С помощью пакета CSR CASIRA BLUELAB SDK (в котором есть рабочие примеры программ Bluetooth) можно самому перепрограммировать модуль HC-04 и создавать свои собственные устройства Bluetooth. Программатор и полноценный аппаратный отладчик для модуля можно легко сделать самому, подключается к компьютеру он через порт LPT (см. [4]). В предлагаемой статье краткое описание инструментария разработки для чипов семейства BlueCore компании CSR, которое можно использовать для быстрого начала написания своих программ для модуля HC-04.
          Читать дальше →
        • IPO for dummies. Часть VIII: о мотивации

            Начало и оглавление см. в первой части.

            Акции у основателей компании и первых инвесторов — это очевидно. А как акции попадают к сотрудникам?

            Ещё в самом начале развития стартапа основатель (особенно если он не имеет готовой команды) ищет первых сотрудников/коллег/соучастников, которые зачастую могут стать сооснователями. Станут или нет — зависит от многих факторов: сможет ли основатель обеспечить им зарплату «на уровне», от их commitment-а (помните байку про курицу и свинью, затеявших стартап в виде ресторанчика “Ham and eggs” и заспоривших, кто из них будет involved, а кто committed?), от их требований, наконец… Логично ожидать, что первые коллеги основателя, которые делят с ним в какой-то степени риск (а не просто ходят в офис отрабатывать зарплату), становятся, явно или неявно, сооснователями проекта. И в качестве компенсации за риск, в награду за приверженность делу, или как хороший стимул для красноглазенья без выходных, основатель делится с ними своей долей.
            Читать дальше →
          • Руководство АНБ по безопасной конфигурации Linux-сервера

              Агентство по национальной безопасности США опубликовало новую версию 200-страничного руководства (PDF) по безопасной конфигурации Red Hat Enterprise Linux 5. Это весьма подробный мануал, который объясняет принципы защищённой системы и на практике указывает все необходимые настройки и перечень сервисов, которые обязательно нужно отключить (это один из базовых принципов: минимизировать количество софта).

              Есть и что-то вроде шпаргалки на листе A4, тоже очень удобно.
              Читать дальше →
            • Пайпы, the pythonic way

                Одни питонисты любят код читаемый, другие предпочитают лаконичный. К сожалению, баланс между первым и вторым — решения по-настоящему изящные — редко случается встретить на практике. Чаще стречаются строки вроде
                my_function(sum(filter(lambda x: x % 3 == 1, [x for x in range(100)])))
                
                Или четверостишья а ля
                xs = [x for x in range(100)]
                xs_filtered = filter(lambda x: x % 3 == 1, xs)
                xs_sum = sum(xs_filtered)
                result = my_function(xs_sum)
                
                Идеалистам же хотелось бы писать как-то так
                result = [x for x in range(100)] \
                    | where(lambda x: x % 3 == 1)) \
                    | sum \
                    | my_function
                

                Не в Питоне?
                Зря так думаете...
              • IPython advanced usage

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

                  Terminal 2014 python 2014 125ճ0image

                  Статья построенна на выдержках из обширной, понятной и красивой документации ipython.github.com/ipython-doc/dev/interactive/index.html
                  Пропустим такие явные вещи, как автодополнение и история команд, сохраняемая мыжду вызовами.
                  Читать дальше →
                • Медвежий балет и искусственный интеллект

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


                    Графический интерфейс и командную строку часто противопоставляют другу другу. Причем то, что поклонники GUI считают достоинствами, в глазах любителей CLI — недостаток. И наоборот. «GUI — самодокументированный интерфейс. — говорят первые, — Мне не нужно читать инструкцию, чтобы разобраться в грамотно спроектированном GUI, я просто смотрю на него, открываю меню, другое, третье, и через несколько минут (или секунд) делаю, что мне надо». «А как насчет десятого или сотого раза? — возражают вторые. — Всё это изобилие кнопочек и значков превращается в раздражающий визуальный шум и мешает работать. А скорость? Разве может сравниться хождение по многоуровневым менюшкам со стремительностью клавиатурных команд?» «Стремительность, говорите? — отвечают первые, — А изучать руководство на сотни страниц мелким шрифтом, чтобы выйти из вашего Vim-а, это тоже стремительно?»

                    Этот спор можно растянуть еще на несколько абзацев, но лучше подумать вот о чем: так ли уж необходимо терпеть недостатки каждого из интерфейсов? Нельзя ли быстро запрягать и так же быстро ехать? Ведь сторонники GUI на самом деле любят не кнопочки и разноцветные значки, они любят легкость обучения. Шедевры графического интерфейсостроения всегда легки и лаконичны, в них не встретишь буйства красок и россыпей кнопок. А любители командной строки привязаны не к монохромному аскетизму, а к скорости, ненавязчивости и предсказуемости консоли. Достаточно взглянуть на обилие цветовых схем подсветки синтаксиса того же Vim, чтобы убедиться в том, что суровые консольщики тоже любят, чтобы было красиво.

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

                      Приди ко мне брате в Консоль!
                      — Админ Долгорукий.

                      Много ярлыков улетело в корзину со времён выхода в свет 2008 Windows. Люди попроще дивились новому синему окошку, которое ребята из Майкрософт зачем-то вставили в свои новые продукты. Люди, которые сидят на блогах и знают программирование начали изучать это окошко.



                      В итоге к народу начало приходить осознание того, что Майкрософт действительно разработали что-то новое и интересное.
                      И так, зачем вам это нужно? В основном, программа под названием PowerShell (в дальнейшем PS) предназначена для администраторов и программистов. Она позволяет автоматизировать примерно 99% всех действий в системе. С помощью неё вы можете настраивать удалённые компьютеры, запускать и перезапускать сервисы и производить обслуживание большиства серверных приложений. Как выяснилось, возможности у программы потрясающие.

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

                      Задача этой статьи проста — показать вам малую долю возможностей PS и дать вам концептуальное понимание предмета. В действительности документации по предмету написано несметное количество, так что я не стремлюсь охватить всё. Я так же ознакомлю вас с набором утилит, которые позволят не вылезать из PS в принципе.

                      Читать дальше →
                    • Выбирая работу, не забудьте выбрать босса

                        Я ошибался дважды, выбирая работу. Совсем не от того, что неверно выбрал карьеру специалиста в сфере информационных технологий. Это очень, очень, очень интересная работа. Почти как работа капитана космического корабля… ;)

                        Я выбирал компании, но не выбирал боссов. И в этом состояла моя ошибка. Думаю, что не только моя…
                        Читать дальше →
                      • Создание простого бота для онлайн-игры world of warcraft

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

                        Предыстория


                        Как-то раз в выходные я зашел за своего персонажа в world of warcraft. Делать было в игре нечего — все рейдовые боссы уже убиты, друзей для похода на арену нет, остается только выполнение квестов и неспешная добыча золота. Квесты я не очень люблю и свое свободное время в игре провожу обычно возле аукциона — с помощью специальных аддонов скупаю что подешевле и потом продаю подороже, выигрывая на разнице в цене.

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

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

                        Что из этого вышло и с какими проблемами я столкнулся
                      • IPython: замена стандартного Python shell

                          Python shell достаточно удобная вещь для тестирования и изучения возможностей языка, кто-то даже использует его в качестве калькулятора(что между прочим весьма удобно), в этом цикле статей я бы хотел рассказать о IPython — замене стандартного Python shell'а, который предоставляет расширенный список возможностей, что делает работу с ним более эффективной.

                          Читать дальше →
                        • Python(x, y)

                            imagePython(x, y) — набор библиотек и программного обеспечения для численных расчетов, анализа и визуализации данных на основе Python. IDE представлены IDLE, Eclipse и Spyder, основой GUI избран Qt. Я расскажу вкратце о модулях, относящихся к самому Python, приведу несколько примеров их работы. Во время установки можно выбрать только то, что нужно, поэтому стоит разобраться что к этому нужному отнести. Кроме того, рассказ о модулях может пригодиться и сам по себе, поскольку их можно установить и по отдельности. Порядок следования модулей повторяет порядок оригинальной страницы и список чекбоксов установки.
                            Читать дальше →
                          • PyQt4 и QML

                            Совсем недавно, разработчики фреймворка Qt Software, обрадовали нас появлением GUI, альтернативного стандартному, со своим, довольно несложным, языком разметки — QML.
                            Связкой QML с основной программой является модуль Qt Declarative. Начиная с версии 4.7 — PyQt4 поддерживает этот модуль.
                            QML значительно проще и гибче основного GUI, помимо того является и языком программирования, так как позволяет писать функции на javascript. В то время как Python довольно простой и гибкий интерпретируемый язык.

                            далее...
                          • Арт-проект от Google

                            • Из RSS
                            Только что прогулявшаяся по Версалю, Менеджер по маркетингу продуктов Лидия Болотова

                            Более тысячи произведений искусства из 17 музеев мира теперь доступны онлайн в рамках Арт-проекта!

                            Сегодня компания Google представляет Арт-проект – результат уникального сотрудничества Google и знаменитых музеев мира. Теперь вы сможете познакомиться и рассмотреть в мельчайших деталях более тысячи произведений искусства на сайте googleartproject.com.

                            В проекте участвуют 17 художественных музеев, включая Государственный Эрмитаж в Санкт-Петербурге и Государственную Третьяковскую галерею в Москве. На сайте googleartproject.com представлена коллекция гигапиксельных изображений известнейших произведений искусства и собраны тысячи фотографий других великолепных работ. При использовании панорамной технологии Street View были созданы виртуальные экскурсии по залам художественных галерей.

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

                            Музеи помогали нам выбирать коллекции для проекта, подбирать оптимальный угол съемки произведений, составляли сопроводительный текст, а также предоставляли аудио- и видеоматериалы. В виртуальную коллекцию вошли такие шедевры, как "Возвращение блудного сына" Рембрандта из Государственного Эрмитажа, "Явление Христа народу" Александра Иванова из Государственной Третьяковской галереи, "Рождение Венеры" Боттичелли, композиция современного британского художника Криса Офили "No Woman No Cry", пост-импрессионистские картины Сезанна, византийские иконы, потолочные росписи Версаля и интерьеры древних египетских храмов, произведения Уистлера и полотна Рембрандта.

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

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

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

                            Музеи в проекте:

                            Старая национальная галерея, Берлин, Германия
                            Галерея искусств Фриера в Смитсоновском институте, Вашингтон, США
                            Коллекция Фрика, Нью-Йорк, США
                            Берлинская картинная галерея, Берлин, Германия
                            Метрополитен-музей, Нью-Йорк, США
                            Музей современного искусства, Нью-Йорк, США
                            Музей королевы Софии, Мадрид, Испания
                            Музей Тиссена — Борнемисы, Мадрид, Испания
                            Музей Кампа, Прага, Чешская Республика
                            Национальная галерея, Лондон, Великобритания
                            Версальский дворец, Франция
                            Государственный музей, Амстердам, Нидерланды
                            Государственный Эрмитаж, Санкт-Петербург, Россия
                            Государственная Третьяковская галерея, Москва, Россия
                            Галерея Тейт, Лондон, Великобритания
                            Галерея Уффици, Флоренция, Италия
                            Музей Ван Гога, Амстердам, Нидерланды
                          • Универсальное решение для печати на сетевые принтеры под Windows 7/Vista/2003/2008

                              Очень часто возникают проблемы при сетевой печати на принтеры, подключенные
                              например, к компьютеру с Windows XP на компьютере с установленной ОС Window 7,ненаVista,2003,2008

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

                              Вот и у меня сложилась такая ситуация:

                              Знакомый попросил настроить печать в офисе со свежекупленного ноутбука.

                              1. Конечно же — ноутбук был с операционной Windows 7
                              2. Конечно же — Home (см. ниже в чем проблема)
                              3. Конечно же — она (система) была 64-х разрядной.
                              4. Конечно же — принтеры в оффисе были не новые: HP1320 и Canon MFxxxx
                              5. Конечно же — принтеры были подключены и «расшарены» на машинках с WinXP.
                              6. И никто не будет менять структуру сети ради одного ноутбука
                              Читать дальше →
                            • Unity3D для начинающих — Туториал 1

                                Предисловие


                                Хабралюди проявили некоторый интерес к Unity, поэтому открываю этим постом цикл туториалов, освещающих основные моменты работы с объектом (цикл неопределённой пока длительности — если кому окажется полезным продолжу).

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