• Реализация USB-интерфейса ИБП на основе ARM-платы MC HCK

    • Tutorial
    Возникла задача сделать USB-устройство, которое, будучи вставленным в NAS, воспринималось бы им как USB-линк к источнику бесперебойного питания (именно через такое USB-соединение NAS узнает от ИБП об исчезновении питания, разрядке батарей и т.д.).

    1. Внутри USB


    Для решения задачи важно понимать, как USB устроен и работает. Очень короткое и доходчивое введение для знающих английский язык называется USB in a NutShell (upd: есть перевод). Затем советую по возможности пролистать книгу "USB Complete".

    После этого, если потребуется, уже можно что-то уточнять в спецификациях, изучать классы, знакомиться с USB 3.0 SuperSpeed и т.д., но я уверен, что текста USB in a Nutshell и хороших примеров достаточно, чтобы сделать свое первое экспериментальное устройство.
    Читать дальше →
  • Приключенческая игра, в которую играют путем изменения её Javascript-кода

      Удивлен, что мимо Хабра прошла очаровательная приключенческая javascript-игрушка Untrusted.



      Надо помочь герою преодолеть более 20 уровней, в процессе прохождения которых мы встретим боевых дронов, реки и лабиринты, ключи и замки, звонки «оператору Матрицы» и многое другое… К счастью, благодаря взломанному компьютеру у главного героя есть доступ к коду игры! И если на первых уровнях мы просто изменяем на ходу реальность, то в конце нам придется запускать в нее свои js-объекты, помогающие атаковать мега-босса.

      Одно жаль — уровней мало. Бонус: милая музыка + хорошие комментарии в коде. Приятного вечера!
    • Синий малиновый пирог бесплатно

        Как известно, Raspberry Pi празднует свою первую годовщину. В честь этого RS Components выпускает ограниченную партию из 1000 синих Raspberry Pi, в комплекте с которыми также идет сертификат, подписанный Эбеном Аптоном (создателем RPi) и симпатичный синий корпус. В продажу партия не поступит, но есть шанс получить синюю малинку бесплатно, выиграв её в конкурсе.

        image
        Правила конкурса
      • Как работают одноразовые пароли

        • Tutorial

        Вступление


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

        Прочитав эту небольшую статью, Вы разберетесь в принципе работы одноразовых паролей на основе хэшей, а заодно напишете на Python небольшую программу, которая умеет вычислять пароли для двухэтапной аутентификации Google.
        Читать дальше →
      • Расширение функций виджета iCal в Mac OS X

          На Хабре недавно была опубликована статья о том, как писать виджеты для Mac OS X Dashboard.

          Давайте воспользуемся полученными знаниями для того, чтобы научить стандартный dashboard'овский календарик показывать нерабочие и праздничные дни.


          Читать дальше →
        • Программный RAID1 (зеркалирование) на XenServer 5.5

            Возникла необходимость установить Citrix XenServer 5.5 на сервер с «ненастоящим» RAID'ом.

            Просто классическая ситуация: Intel Matrix Storage Manager в BIOS'е нормально создает RAID1-массив, но Linux (на котором построен XenServer) продолжает его видеть как два независимых SCSI-диска: /dev/sda + /dev/sdb… Привет, Fake RAID!
            Читать дальше →
          • Поддержка замыканий в C/C++/Objective-C в Snow Leopard

              Угадайте, что это такое:

              testblock = ^(char *s) { printf("String is %s\n", s); };
              testblock("TEST!");

              * This source code was highlighted with Source Code Highlighter.

              Скоро подобные конструкции будут все чаще встречаться в приложениях для Mac OS и, возможно, iPhone OS.

              Еще в конце лета 2008 года Apple объявила, что работает над расширениями к C/C++/Obj-C под условным названием «блоки» (Blocks), которые представляют из себя ни что иное, как замыкания (closure).

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