Pull to refresh
-2
0
Вадим @Disasm

Пользователь

Send message

Секретность карт, координат и ДДЗ на бытовом уровне

Reading time4 min
Views60K
Я работаю в области, которую headhunter относит одновременно и к строительству, и к производству. Речь идет об инженерных изысканиях, будь то геология, геодезия, экология. Наша глобальная задача – изучение территории для создания проекта. Работая в этой отрасли, мы сталкиваемся со словом «секретно» через шаг. Координаты – секретно, приемник – секретно, через забор перелезть – секретно, фотографировать в торговом центре – тоже секретно…

image

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

Организация по стандартизации USB против Open Source

Reading time2 min
Views32K
image


Одной из главных проблем для любителей и мелких компаний, занимающихся продажей «железок» с USB-портом, сегодня является USB Implementers Forum (USB-IF) — организация, занимающаяся разработкой спецификаций на шину USB; в ней принимают участие такие компании, как Intel, Microsoft и Hewlett-Packard.

Суть этой проблемы в следующем. Каждое продающееся устройство с USB требует сертификации на соответствие требованиям USB, для чего ему необходимо иметь ID вендора (vendor ID, VID) и ID изделия (product ID, PID). Крупные игроки любительского рынка — вроде Sparkfun или Adafruit — давно заплатили USB-IF за получение USB VID; вся беда в том, что и любому умельцу, смастерившему в своем гараже устройство с USB и надеющемуся продавать его — пусть и продастся от силы десяток-сотня штук — тоже приходится оплачивать его получение.

В качестве решения этой проблемы компания Arachnid Labs предложила интересную мысль: поскольку отдельные производители USB-устройств (вроде Microchip или FTDI) раздают некоторое количество своих USB PID бесплатно, можно было бы создать собственную некоммерческую организацию, которая бы купила один VID и раздавала PID своим участникам, занимающимся разработкой открытого аппаратного обеспечения. В результате, множество устройств, изготовленных любителями, получили бы статус USB-совместимых.
Читать дальше →

Что такое MANET или почему WiFi не решение всех телекоммуникационных проблем

Reading time10 min
Views42K
Прочитав очередной пост на хабре на тему самоорганизующихся сетей автор понял, что в этой теме до сих пор нет ясности. В большинстве случаев о самоорганизующихся радиосетях говорят «mesh», «ad hoc», «mobile ad hoc» и т.д., подразумевая, что это одно и тоже. И это касается не только простого хабро-обывателя, пусть даже технически подкованного, но и большинства инженеров с PhD. К тому же, зачастую такие сети преподносятся как универсальное средство на все случаи жизни [1] или даже как чуть-ли не единственный вектор развития и эволюции телеком индустрии [2]. Смею уверить, что без четкого понимания места и роли этих сетей, такие утверждения, по крайней мере, преждевременны, хотя и недалеки от реальности.

Итак, начнем с определения, что же такое сети типа Mesh, Ad Hoc, mobile Ad Hoc и в чем разница между ними.

Mesh сети – радиосети ячеистой структуры, состоящие из беспроводных стационарных маршрутизаторов, которые создают беспроводную магистраль и зону обслуживания абонентов) и мобильных/стационарных абонентов, имеющих доступ (в пределах зоны радиосвязности) к одному из маршрутизаторов. Топология – звезда, со случайным соединением опорных узлов.
Ad hoc сети – радиосети со случайными стационарными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – фиксированная со случайным соединением узлов.
MANET (Mobile Ad hoc NETworks) сети – радиосети со случайными мобильными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – быстро меняющаяся со случайным соединением узлов.
К этому надо добавить WSN (Wireless Sensor Networks) — беспроводные сенсорные (телеметрические) сети, состоящие из малогабаритных сенсорных узлов с интегрированными функциями мониторинга определенных параметров окружающей среды, обработки и передачи данных по радиоканалам. Они могут, в зависимости от задачи, строиться как топологии mesh, ad hoc так и MANET; автомобильные сети VANET (Vehicle Ad hoc NETworks) – сети связи транспортных средств; и всевозможные гибриды вышеизложенного.

Почему именно MANET?

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

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

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

Таким образом, практическая польза от реализации таких сетей была бы действительно огромна. Начиная от бесплатных звонков внутри такой сети, до восстановления связи в разрушенных стихией районах.
Читать дальше →

Строим свой Gmail с куртизанками и преферансом

Reading time7 min
Views205K

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


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

Итак, в этой статье я расскажу о том, как я поднимал и настраивал на своем сервере почту, календарь, контакты, RSS-аггрегатор и, в качестве бонуса, хранилище файлов.

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

Модульное тестирование и непрерывная интеграция при помощи Jenkins для C++ проектов

Reading time12 min
Views59K
Думаю, что все знают, что такое модульные тесты, все знают или, по крайней мере, слышали, что такое непрерывная интеграция, и многие программируют на C++. Но я столкнулся с тем, что в интернете не так много информации о том, как же это все объединить и заставить работать вместе. Эта статья является попыткой дать новичками пошаговую инструкцию, которая позволит сделать первый шаг в создании модульных тестов для C++ проектов и организовать покоммитный прогон модульных тестов при помощи CI сервера.
Update: План:
  1. Напишем HelloWorld
  2. Настроим сборку HelloWorld на Jenkins
  3. Напишем модульный тест для HelloWorld
  4. Настроим прогон модульных тестов на Jenkins

Внимание: много букв и скриншотов, половина из которых избыточны. Особенно для тех кто уже в теме.

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

Как правильно приготовить HDD

Reading time4 min
Views221K
(Вы не любите Seagate? Вы просто не умеете их готовить!)
Для NAS пришлось купить HDD 3TB WD Caviar Green IntelliPower (других трёшек просто не было). Руки привычно взяли «напильник» и начали «снимать фаску», из глаз слёзы обиды — семь с половиной тысячи за ЭТО. Да «гарантия», да RAID5, но держать в уме предстоящий через 6-8 месяцев ребилд 6 террабайтного массива?! И тут новость о снижении вендорами сроков гарантии. Нет, я отлично понимаю, почему уменьшают гарантию,- ЭТО работать вообще не должно. Но почему не повышают качество изделий? Впрочем, и это понимаю,- надо чтобы продавалось много, а не работало долго. А то вот мои три 2ТБ Барракуды уже второй год под торрентом 7/24 работают и не бэдят, а Seagate голодает.
И так, если вас греет гарталон — этот топик вам будет не интересен. Если у вас RAID6 из Seagate 7200 Constellation ES — ваше время слишком дорого стоит, что бы читать такие мелочи. Если вы потратили свои кровные и хотите «что бы не было мучительно больно» — загляните под кат, может найдёте что-то полезное.
Читать дальше →

Разработка NFC приложений для Android

Reading time7 min
Views83K

NFC (near field communication) – стандартизированная технология обмена данными на короткие расстояния, позволяющая осуществлять взаимодействия между двумя электронными устройствами простым и интуитивно понятным способом. Например, с помощью оснащенного NFC смартфона вы можете делать покупки, раздавать визитные карты, скачивать купоны на скидки и так далее. Множество новых применений для NFC будет найдено в ближайшее время.
Эта статья описывает технологии, использующие NFC и способы их применения на сегодняшний день. Также показано, как использовать NFC в Android приложениях и, наконец, приведены два примера NFC приложений с исходными кодами.
Читать дальше →

Разбираем x.509 сертификат

Reading time11 min
Views232K

Привет, %username%!

Так уж вышло, что несмотря на относительно неплохое понимание инфраструктуры открытых ключей, содержимое *.crt файлов всегда оставалось для меня полнейшей загадкой.
Нет, не поймите неправильно. Я знаю, что x.509 сертификат содержит информацию о владельце, открытый ключ, сведения об удостоверяющем центре и электронную цифровую подпись. Но при установке очередного сертификата меня всегда мучило любопытство.
Чем отличается идентификатор ключа от отпечатка? Какие данные сертификата подписываются, а какие нет? И что за структура данных позволяет хранить всю эту информацию, сводя избыточность к минимуму.
Но вот наконец-то любопытство перебороло лень и в данном посте я постараюсь описать структуру x.509 сертификатов и ответить на эти и другие вопросы.
Читать дальше →

Я построю свой почтовый сервер с Postfix и Dovecot

Reading time20 min
Views309K
image

В рамках программы по унификации установленных серверных систем встала задача по переделке почтового сервера. Вдумчивое изучение мануалов и руководств показало довольно любопытный факт – нигде не было найдено однозначно достоверного руководства или подобия Best Practice по развёртыванию почтовика.

Мануал пошаговый, основывается на внутренней документации компании и затрагивает совершенно очевидные вопросы. Гуру могут не тратить время, ноу-хау здесь нет – руководство является сборной солянкой и публикуется только потому, что все найденные руководства по развёртыванию почтовика напоминали картинку о том, как рисовать сову.
Очень много текста

Про автоматизацию подбора аккордов

Reading time17 min
Views59K
Меня давно занимал вопрос: «а что, если попробовать прогнать цифровую запись песни через преобразование Фурье, посмотреть зависимость спектра от времени и попытаться вытащить из полученной информации аккорды песни?». Вот, наконец, нашел время попробовать…
Читать дальше →

OSSEC: Большой Брат наблюдает за тобой

Reading time12 min
Views46K
image

Пожалуй, не ошибусь, если скажу, что любому профессиональному системному администратору важно знать что и когда происходит с его серверами. Особенно остро этот вопрос встает в такой области, как информационная безопасность.
В этом посте я хочу познакомить вас, коллеги, с развертыванием host-based IDS под названием OSSEC. Прошу под кат…
Читать дальше →

Samsung представила новые устройства на IFA 2013

Reading time3 min
Views37K
Сегодня в Берлине на международной выставке IFA 2013, на которой многие производители показывают свои новинки и горячо ожидаемые девайсы. Samsung не обошла это мероприятия стороной и представила интересные устройства.



Постараюсь кратко ознакомить с аппаратами, которые были показаны на выставке.
Читать дальше →

Повесть о настоящем Интернете

Reading time13 min
Views176K
Abstract: Рассказ про устройство Интернета, как «сети сетей» в виде текста для чтения, без двоичной системы счисления и нюансов BGP. Большая часть расказа будет не про процесс общения ноутбука с точкой доступа, а о том, что происходит после того, как данные пройдут «шлюз по умолчанию». Предупреждаю, букв много.

Вступление


Маленький провокативный вброс: ни один из читателей этой статьи к Интернету не подключен. Все подключены к сети своего провайдера, и не более. Подключение к Интернету дорогое, его сложно делать, вам потребуется очень крутое оборудование, несколько договоров с несколькими операторами связи и квалифицированные сотрудники. Простому домашнему пользователю это никак и никогда не светит. Не говоря уже о том, что в Интернете может быть не больше 4 миллиардов подключившихся (а до недавнего времени было даже «не более 65536») [1]. Даже если весь Интернет перейдёт на ipv6, это число не поменяется.

Вот число подключившихся к Интернету [2]:

По оси Y — число в штуках. Штуках, штуках. И вас в этом числе не посчитали.

Почему?

Дело в том, что Internet — это, если переводить буквально, «межсетье». Сеть Сетей. И участниками Интернета являются не пользователи (их компьютеры, планшеты, микроволновки с wifi и т.д.), а сети. Сети и только сети участвуют в работе Интернета. Интернет — это то, что связывает разные сети между друг другом.
Читать дальше →

Алгоритм генерации судоку

Reading time9 min
Views142K
sudoku250title
Доброго времени суток!

Думаю, головоломка Судоку не нуждается в представлении. Многие из нас проводят за её решением достаточно много времени. Например, когда нужно убить время в дороге или просто поворочать мозги, чтобы не сохли. На хабре есть довольно много постов о решении головоломки. Но когда человек решает с десяток, а может и сотню головоломок, то найдётся пытливый ум, который задаст себе вопрос «А как же получается таблица Судоку, имеющая единственное решение? И как можно описать алгоритм для сетки 9x9?».

Приведённый алгоритм является вполне логичным. Но моей задачей было описание и реализация. Обо всём этом написано под катом.

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

Создание автономного робота Frank. Часть первая

Reading time5 min
Views75K
image

Уже второй месяц я собираю по вечерам автономного робота, которого зовут Frank. Почему? Не спрашивайте! Я знаю, что у каждого робота должно красиво расшифровываться имя, но я ничего еще не придумал. Если будут идеи — пишите в комментариях. Все началось достаточно давно. Мое увлечение нейронаукой, когнитивистикой, искусственными нейронными сетями и искусственным интеллектом привело меня к тому, что исследования алгоритмов в компьютере — это достаточно увлекательный процесс, но иногда хочется потрогать свое творение руками и посмотреть как оно ведет себя в реальной жизни.

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

Так как половину времени я живу в Лос Анджелесе, а половину в Москве, то возможно некоторые ссылки будут не очень актуальны. С другой стороны, мне пришлось найти магазины для покупки электроники и там и тут, так как мои постоянные разъезды никак не влияют на желание изучать робототехнику. Поэтому, по возможности, я опубликую ссылки и на наши и на западные ресурсы. Возможно, это поможет и русским читателям и тем, кто читает Хабр за рубежом.

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

LAN-тестер на AVR своими руками

Reading time7 min
Views298K
Проблема тестирования свежепроложенной локальной сети актуальна всегда. Когда-то мне в руки попала железка под названием «Rapport II», которая, вообще говоря, тестер для систем CCTV, но витую пару прозванивать умеет тоже. Железка та давно уже умерла, а вот впечатление осталось: при тестировании витой пары она показывала не просто переполюсовку и распарку, но точную схему обжима! Например, для кроссовера это выглядело 1 → 3, 2 → 6, 3 → 1, и так далее.
Но заплатить порядка 800 нерусских рублей за устройство, в котором я реально буду использовать всего одну функцию? Увольте! Как же это работает, может, проще сделать самому? Гугл в руки, и… сплошное разочарование. Вывод поиска состоит на 80% из мигалок светодиодами на сдвиговом регистре / AVR / PIC / свой вариант, и на 20% из глубокомысленных обсуждений форумных гуру на темы «купите %название_крутой_железки_за_100499.99_вечнозеленых% и не парьтесь». Посему, хочу предложить хабрасообществу свое решение данной проблемы в стиле DIY. Кого заинтересовало — прошу под кат (осторожно, некоторое количество фото!).
И что же там за велосипед?

Интерфейс JTAG? — Это очень просто

Reading time6 min
Views267K
Многие знакомы со словом «JTAG», но знакомство это скорее всего поверхностное. В этой статье я хочу перевести Вас на новый уровень, так сказать «во френдзону». Возможно, для многих я не открою ничего нового, но надеюсь тем, кто давно хотел ознакомиться, будет интересно почитать. Итак, от винта.
image

Запустить JTAG тестирование

Представление чисел суммой двух квадратов и эллиптические кривые

Reading time10 min
Views45K
Пусть p — нечётное простое число. Довольно широко известно, что p представимо в виде суммы двух квадратов целых чисел p=a2+b2 тогда и только тогда, когда p при делении на 4 даёт остаток 1: 5=12+22, 13=32+22, 17=12+42, ...; 3, 7, 11,… непредставимы. Куда менее известно, что a и b можно записать красивой формулой, имеющей непосредственное отношение к одной эллиптической кривой. Об этом результате 1907 года за авторством немца по фамилии Jacobsthal и о связанных вещах мы сегодня и поговорим.

Совсем легко понять, почему 3, 7, 11 и прочие числа, дающие при делении на 4 остаток 3, непредставимы в виде a2+b2: квадрат чётного числа всегда делится на 4, квадрат нечётного числа всегда даёт остаток 1 при делении на 4, сумма двух квадратов при делении на 4 может давать остатки 0, 1 или 2, но никак не 3. Представимость простых чисел вида 4k+1 неочевидна (особенно если заметить, что простота существенна: число 21 хотя и имеет нужный остаток, но суммой двух квадратов не представляется).

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

Генерируем цепочку сертификатов с эллиптическими кривыми при помощи OpenSSL

Reading time8 min
Views26K
график функции y^2 = x^3-x+1Думаю многие слышали о криптографии эллиптических кривых, о том
что работает она во много раз быстрее RSA и при несоизмеримо меньшей длине ключа обеспечивает несоизмеримо большую стойкость ко взлому. Если не слышали, то можно глянуть на wiki или почитать в книгах А.А. Болотова.
К сожалению, данный вид шифрования слабо распространен. Я постараюсь объяснить как им пользоваться и поможет мне в этом OpenSSL.

Чтобы не быть голословным приведу сравнение необходимых длин ключей для обеспечения сравнимой стойкости ко взлому для различных алгоритмов. Нам интересна правая часть.
Сравнение алгоритмов
Видно, что популярным сегодня ключам RSA длиной 1024-2048 бит соответствует всего навсего 160-224битный ключ ECC (Elliptic Curve Cryptography)

Ну а чтобы понять какой RSA тормоз достаточно попробовать сгенерировать самый длинный из предложенных в таблице ключей (и пойти вздремнуть):

openssl genrsa 15360

Желающих прикоснуться к «next gen» криптографии, придуманной аж в 1985 году, прошу под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Date of birth
Registered
Activity