• Быстрый старт в разработке дополнений Firefox

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

        image

        Вместо предисловия


        В недавнем прошлом судьба привела меня в область Нейронных Сетей (НС). Вопрос этот показался мне крайне интересным и, чего уж скрывать, не на шутку перспективным. Ах, какой простор открывается лишь при одной мысли что бы можно было сделать на основе НС, если бы только развить еще буквально чуть-чуть! И вот совсем недавно ко мне в голову забрела интересная (на мой взгляд, конечно) концепция. О да, я ни коем образом не претендую на истинность и правомерность своих суждений в вопросе НС, ибо, признаться честно, в этой области я дилетант (хочется верить, что только пока). Тем не менее, любопытствующих приглашаю под хабракат. Жду (конструктивных мнений), надеюсь (на снисхождение) и верю (в понимание).

        Читать дальше →
      • Как сохранить и как задействовать деньги?

          Рано или поздно к каждому из нас приходит понимание необходимости в денежном «буфере» про запас. На чёрный день, так сказать. Кто-то может насобирать скромную сумму, ежемесячно откладывая по чуть-чуть с зарплаты, кому-то достался приличный «буфер» от дядюшки… Как бы то ни было, встаёт вопрос хранения имеющихся средств, а ещё лучше — их задействования! Совсем не хочется, чтобы имеющиеся деньги просто таяли вместе с инфляцией.
          Не так давно я проводил опрос, с надеждой открыть что-то новое для себя и с целью узнать где хранят деньги уважаемые хабражители, пускают ли их «в дело». И, из результатов опроса и комментариев к нему, понял, что мне есть что рассказать по этому поводу.
          Под катом небольшой обзор самых популярных инструментов для самых начинающих от инвестора-любителя :) Я вкратце расскажу о банковских вкладах, индексируемых депозитах, ПИФах, ПАММ и ТМА-счетах.
          Вопросы мотивации на накопление средств и вопросы выбора валюты в данном посте не рассматриваются.
          Читать дальше →
        • Введение в jQuery Mobile

            Введение в jQuery Mobile


            Мобильная стратегия jQuery может быть легко объяснена — это внедрение пользовательского JavaScript в наиболее часто используемые браузеры на мобильных платформах.
            Основной ценностью нашего подхода является широкий спектр платформ, поддерживаемых jQuery Mobile. Мы прилагаем все усилия, что бы jQuery поддерживал все мобильные браузеры, по крайней мере занимающие номинальную долю рынка.
            Что бы обеспечить широкую поддержку, все страницы в jQuery Mobile построены на чистом HTML, это обеспечивает совместимость с довольно многими web-ориентированными устройствами. В устройствах, которые интерпретируют CSS и JavaScript, jQuery Mobile применяет прогрессивные методы, что бы ненавязчиво преобразовать семантические страницы используя богатый интерактивный опыт и мощь Query и CSS. Стандарты доступности активных интернет-приложений, таких как WAI-ARIA тесно интегрированы во всей структуре для оказания поддержки для чтения с экрана.
            Читать дальше →
          • Избавляемся от www в адресе сайта

              Универсальное решение проблемы постоянных редиректов на домен без www при помощи mod_rewrite. Просто и полезно. Работает на любом домене без необходимости править для каждого сайта. Ранее на хабре видел подобное, но без независимости от доменного имени.
              В корень бросаем файл .htaccess со следующим содержимым:
              <IfModule mod_rewrite.c>
              RewriteEngine On
              RewriteBase /
              # В переменную окружения %{ENV:PROTOCOL} помещаем протокол
              RewriteRule ^(.*)$ - [E=PROTOCOL:http]
              RewriteCond %{HTTPS} ^on$ [NC]
              RewriteRule ^(.*)$ - [E=PROTOCOL:https]
              # Если нужно убираем www
              RewriteCond %{SERVER_PORT} ^80$
              RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
              RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
              RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
              RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
              </IfModule>
            • Пример использования недокументированной функции Windows

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

              Предполагаем, что мы в нужной степени ленивые программисты, знаем С, в ладах с WinAPI и с архитектурой современной ОС Windows и у нас есть Ida Pro, хе-хе. Хотим красиво, быстро и эффективно выполнить задачу, не изобретая велосипед (и чтоб ещё сильно не перенапрячь руки и голову).
              Читать дальше →
            • Организация памяти в ОС семейства Windows

                Пост создан для публикации одной единственной картинки (кликабельна). На мой взгляд, она как нельзя лучше передаёт атмосферу того как устроена память в компьютере. Я изобразил её на 3-4 курсе института на A4 при объяснении положения дел товарищу. Так она мне тогда понравилась, что дал себе обещание нарисовать её в электронном виде.

                Исходник в формате VSD (Microsoft Visio) лежит у меня в DropBox. Если имеются уточнения, поправки, комментарии — прошу под кат.
                Читать дальше →
              • Граф интересов (Interest graph): новый принцип взаимодействия в сети

                  Пару месяцев назад меня очень тронула публикация Идеальная социальная сеть. Автор этой публикации, arilou-campe, обозначил доминирующие принципы, по которым выстраивается большая часть социального взаимодействия в современной сети, а затем он попробовал предположить, на каких принципах будет выстраиваться это взаимодействие в ближайшем будущем.

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

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

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

                    Но даже в книгах главные герои хорошо умеют различать собственные фантазии от реальности, жестокой, глупой и все-таки предсказуемой. Поэтому не дайте себя обмануть, цитата выше это начало презабавнейшего документа обнаруженного на сайте электронного правительства ООН и подписанного постоянными делегатами России, Китая, Узбекистана и Таджикистана — так сказать, мировой передовицы в области Интернет.

                    Но обо всем по порядку. «Кодекс поведения», представленный генеральному секретарю Организации Объединенных Наций на 66-м заседании, написан на английском языке и вряд ли содержит в себе расширение свобод интернет-пользователей, более глубокое вовлечение правительства в диалог с народом или же инициативы по созданию действительно электронного правительства. Уже из первой цитаты можно понять, что представители этих четырех стран видят в глобальной сети исключительно противника, шпиона и террориста. Если его нельзя поймать (и в самом деле — как поймать самого себя за хвост), то нужно создать эффективные инструменты контроля.
                    Читать дальше →
                  • Безопасная загрузка UEFI

                      Безопасная загрузка UEFI


                      Как сообщает Википедия UEFI — Unified Extensible Firmware Interface (EFI) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами

                      С большой вероятностью вскоре у многих появятся вопросы на эту тему:

                      Безопасный протокол загрузки UEFI является частью спецификации последнего релиза UEFI. Он позволяет установить один или несколько подписанных ключей в прошивку системы. После включения, “безопасной загрузки” UEFI предотвращает загрузку исполняемых файлов или драйверов, если они не подписаны одним из заранее установленных ключей. Другой набор ключей (Pkek) позволяет поддерживать связь между ОС и прошивкой. ОС вместе с набором ключей соответствия Pkek, которые организует связь с установлеными в прошивку ключами, может добавлять дополнительные ключи в так называемый “белый список” в прошивке. Естественно, помимо этого она может добавить ключи в “черный список”. Бинарники, которые отметились в черном списке ключей, естественно не будут срабатывать при загрузке.
                      Читать дальше →
                    • Развиваем кругозор и погружаемся в робототехнику вместе

                      image

                      Электроника — это очень интересно. Крайне приятное ощущение, когда ты вскрываешь какой-то электронный прибор, видишь что-то знакомое: «Вот диод, а вот транзистор!», когда вместо того, чтобы нести материнскую плату в ремонт, ты можешь сам поменять на ней конденсатор за пару минут. Однако, многие боятся ее, представляя огромные монтажные схемы со странными закорючками и непонятный ассемблерный код. Я же хочу показать всем, что начать заниматься электроникой, а в частности робототехникой, это несложно! Простого робота можно изготовить всего за пару часов.
                      Читать дальше →
                    • Российские микропроцессоры

                      Когда-то еще советские ЭВМ занимали лидирующую позицию среди своих конкурентов. В это мало верится, но знаменитая БЭСМ-6 (первая в СССР на основе транзисторов и ИС), разработанная под руководством легендарного Сергея Лебедева рассчитывала траекторию полета космического корабля «Союз-19» и американского «Аполлона»!
                      Но это было в 70-х, теперь Россия врядли может похвастаться своей компьютерной индустрией. Цель нижеследующего — выяснить, что на сегодняшний день творится с Российским компьютеростроением и ждет его в будущем…
                      Читать дальше →
                    • Фантастика? Нет, Wacom!

                        Привет, сообщество!

                        Увидев это видео, я не смог не поделиться им с вами. Wacom опять на высоте, глядите:



                        Пишу под большим восхищением. Как же не терпится впустить это чудо в жизнь!

                        P.S. продажи с 30 сентября.
                      • Получаем загранпаспорт через gosuslugi.ru (часть 2)

                        • Tutorial
                        Не так давно я написал топик, в котором описывал первую часть своего опыта по получению паспорта через инновационный портал госуслуг. На днях вожделенный документ был получен, и как и было обещано, я привожу остаток истории. Кроме того, под катом будут собраны наиболее полезные замечания и советы, которые хабрапользователи оставили в комментариях к прошлому топику. Прежде, чем продолжить чтение, настоятельно советую с тем самым прошлым топиком ознакомиться.
                        Читать дальше →
                      • Получаем загранпаспорт через gosuslugi.ru (часть 1)

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

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

                          В неизменном виде она перекочевала на электрические пишущие машинки, а затем и на компьютерные клавиатуры, где все стало ещё удобнее — теперь клавиши срабатывали от легкого нажимания, и по ним не приходилось лупить со всей дури.
                          Все было бы просто отлично, если бы не страсть к минимизации. Ноутбуки, нетбуки, классические смартфоны (не «тачфоны») — QWERTY-клавиатура стремительно уменьшалась в размерах, сохраняя при том свою сущность. Для некоторых таких творений впору вести набор спичками. Были и неплохие инженерные решения — например на Sony-Ericsson M600i клавиши-качели содержали по две-четыре символа, и они выбирались в зависимости от способа нажима.

                          Но когда это добро перекочевало на экраны… возьмем в качестве образца айфон(да, исторически первым [массовым] тачфоном все-таки было яблоко): три с половиной дюйма диагонали, отношение сторон — 2:3. Кто помнит теорему Пифагора, какова ширина экрана?
                          x² + (3x/2)² = 3,5²
                          x² = 49/13
                          x ≈ 1,94" ≈ 49,3мм.
                          Итак, ширина экрана — меньше 5 сантиметров. В ряду — 10 клавиш. Получается — около 5 мм на клавишу, и это включая промежутки между ними. Не знаю как у вас, а меня пальцы ощутимо шире, да и печатать на приборе таких размеров я могу только одним, ну максимум двумя большими пальцами одновременно. Ну не могу я печатать на ЭТОМ, при всей его умности! Хватит обратной совместимости! Я печатать вслепую научился за неделю, так дайте мне клавиатуру, где не придется целится в клавиши! Я её изучу! Я хочу комфортно и быстро печатать!

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

                          Их я и попытаюсь сегодня осмотреть.
                          Читать дальше →
                        • Основы работы с Robotic Operating System

                          Введение


                              Доброго всем времени суток!
                              Осваивая в очередной раз просторы Хабра, заметил, что здесь практически нет информации о Robotic Operating System (далее просто ROS). Поспешу исправить эту оплошность и популяризовать замечательный продукт.
                          image
                              Что же это такое? ROS представляет собой надстройку над ОС, которая позволяет легко и просто разрабатывать системы управления роботами. Что это означает и как с этим потом жить — и призвана рассказать серия топиков.
                              По сути, ROS — это набор из различных широко (и неочень) известных библиотек, таких как:
                          • OpenCV — библиотека, содержащая алгоритмы компьютерного зрения и обработки изображений;
                          • PCL- библиотека для работы с облаками 3D-точек;
                          • Ogre — объектно-ориентированный графический движок с открытым исходным кодом;
                          • Orocos — библиотека для управления роботами (например, расчет кинематики).

                              Также в ROS входят драйвера для различных манипуляторов и сенсоров (включая MS Kinect).
                          Читать дальше →
                        • Ремонт процессора AMD Athlon

                            Да, да, вы не ослышались! Именно ремонт! Но обо всем по порядку.

                            Некоторое время назад у меня начал подвисать и вырубаться комп. Симптомы очень походили на перегрев, за исключением одного — датчик температуры не поднимался выше 72-74 градусов. Это тоже не мало, хоть и явно недостаточно, чтобы все вырубалось. Может, датчик врёт?

                            Лезу под стол, снимаю крышку с системника. Пыли в кулере почти нет — продуванием не обойдёшься.

                            Щупаем кулер — холодный, градусов 40 от силы. Может, отклеился? С чего бы?.. Переклеиваем, заменяя термопасту. Эффекта — ноль. Датчик по прежнему показывает за 70, а кулер — холодный как труп! Есть над чем поразмыслить…

                            Гуглением по форумам выясняем, что проблема может быть в термопасте внутри камня, между кристаллом и корпусом. Ну что ж… Вооружившись острым ножом, термопастой, клеем и «прямыми руками» приступаем к вскрытию.

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