Pull to refresh
2
0
Губин Владимир Михайлович @vovagubin1987

User

Send message

Микроэлектроника для космоса и военных

Reading time13 min
Views305K
Возможное, многие из вас думали после ситуации с Фобос-Грунтом — что такого особенного в микросхемах для космоса и почему они столько стоят? Почему нельзя поставить защиту от космического излучения? Что там за история с арестом людей, которые микросхемы экспортировали из США в Россию? Где все полимеры?

На эти вопросы я и попробую ответить в этой статье.

Disclaimer: Сведения получены из открытых источников и могут быть не вполне точными. Я лично с военной электроникой не работаю, а кто работает — те статьи писать не могут. Буду рад дополнить и исправить статью.
Читать дальше →
Total votes 477: ↑469 and ↓8+461
Comments265

12 малоизвестных возможностей CSS

Reading time8 min
Views137K
CSS — не очень сложный язык. Но даже если вы пишете таблицы стилей в течении многих лет, наверняка бывают моменты, когда вы узнаете еще что-нибудь новенькое: свойства или значения, которые вам не доводилось использовать, детали спецификации, о которых вы не имели понятия.

В процессе работы с CSS я постоянно нахожу что-нибудь интересненькое, так что решил написать пост и поделиться своими знаниями с вами. Правда, учитывайте, что не всё, о чем будет рассказано, имеет непосредственное практическое значение, но, на всякий случай, в хозяйстве пригодится.
Читать дальше →
Total votes 115: ↑99 and ↓16+83
Comments55

Организация многозадачности в ядре ОС

Reading time22 min
Views78K
Волею судеб мне довелось разбираться с организацией многозадачности, точнее псевдо-многозадачности, поскольку задачи делят время на одном ядре процессора. Я уже несколько раз встречала на хабре статьи по данной теме, и мне показалось, что данная тема сообществу интересна, поэтому я позволю себе внести свою скромную лепту в освещение данного вопроса.
Сначала я попытаюсь рассказать о типах многозадачности (кооперативной и вытесняющей). Затем перейду к принципам планирования для вытесняющей многозадачности. Рассказ рассчитан скорее на начинающего читателя, который хочет разобраться, как работает многозадачность на уровне ядра ОС. Но поскольку все будет сопровождаться примерами, которые можно скомпилировать, запустить, и с которыми при желании можно поиграться, то, возможно, статья заинтересует и тех, кто уже знаком с теорией, но никогда не пробовал планировщик “на вкус”. Кому лень читать, может сразу перейти к изучению кода, поскольку код примеров будет взят из нашего проекта.
Ну, и многопоточные котики для привлечения внимания.

Читать дальше →
Total votes 92: ↑92 and ↓0+92
Comments19

Что нам стоит пофиксить баг, которого «нет»

Reading time11 min
Views62K
Итак, у нас есть задача: пофиксить баг, производитель от которого открещивается, клиенты не замечают, а жить хочется. Есть камера, поток от неё на UDP просто адово ломается, поток на TCP работает, но постоянно рвутся коннекты (и при каждом обрыве пропадает 3-5 сек видео). Виновны в проблеме все (и камера и софт), но обе стороны утверждают что у них всё зашибись, то есть ситуация обычная: ты баг видишь? нет. А он есть.
Читать дальше →
Total votes 126: ↑125 and ↓1+124
Comments49

Bacula: для тех кому надо по-быстрому и в картинках

Reading time13 min
Views139K
Доброго времени суток всем тем, кто собирается делать Backup'ы постоянно.

В этом посте я попытаюсь облегчить жизнь тем, кто пробует познакомится с этой системой. Ничего сверхъестественного я не расскажу, просто добавлю то, что мне бы самому пригодилось. За основу взят отменно написанный пост, так что переписывать и копировать нет смысла.
Читать дальше →
Total votes 36: ↑31 and ↓5+26
Comments46

Установка программного обеспечения из исходников под МГТС роутер ZTE F-660 в chroot окружении

Reading time11 min
Views60K

Привет всем! Во многом благодаря компании МГТС и ее оптической сети GPON, я познакомился с оптическим модемом-роутером ZTE f-660. Как только дома появился этот девайс, у меня сразу появилась мысль поставить туда какую-нибудь прошивку с софтом вроде dd-wrt или open-wrt.
Читать дальше →
Total votes 59: ↑51 and ↓8+43
Comments35

Зубочистка-детектив раскрывает секрет радиопротокола

Reading time17 min
Views54K
Это небольшая зарисовка к сюжету об "Удобном доме". Просто иллюстрация того, что даже с не слишком большими знаниями и опытом можно кое-чего добиться. Иными словами, достаточно настойчивый дятел задолбит любое дерево.

Началось все с простого желания управлять светом в доме с помощью Arduino. В том числе — выключателями Livolo, купленными еще до этой безумной затеи с домашней автоматикой. Но, в отличие от радиорозеток, «щелкать» ими с помощью моей любимой библиотеки RC-Switch не получилось, а поиск других готовых решений показал их полное отсутствие.

Да и китайцы производители-продавцы на вопрос о протоколе отвечали, что эта штука работает на частоте 433 МГц. Не слишком полезная информация. Впрочем, не буду изображать святую невинность. Я ведь вместе с Arduino купил и пару блоков по четыре реле, чтобы, если что, банально замыкать избранные кнопки пультов. И это, кстати, довольно популярное решение, потому что быстро, относительно дешево и очень сердито.

Но в душе я стремился к прекрасному. Как ни странно, помогла обычная зубочистка, два резистора и один конденсатор.
Читать дальше →
Total votes 52: ↑48 and ↓4+44
Comments29

USB-«свисток» на 2.4Ггц своими руками

Reading time3 min
Views92K

Пока первые посылки с нашими модулями едут к своим покупателям, мы подготовили статью, которая поможет им их собрать (если приобретался набор для самостоятельной сборки) или же снять вопросы по схемотехнике (если приобретены модули в сборе). На фото — наш USB-адаптер, который можно приобрести как в виде конструктора, так и полностью собранным и готовым к работе.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments22

Управление устройством USB HID на Windows 7

Reading time9 min
Views92K
В статье сделана попытка предоставить пошаговую инструкцию — как соединить самодельное устройство USB HID на микроконтроллере AVR и компьютер с операционной системой Windows 7 x64, чтобы обмениваться данными и управлять портами микроконтроллера. Пример приложения управляет через USB ножкой порта микроконтроллера (к ней подключен индикационный светодиод). Есть возможность также прочитать состояние состояние светодиода — потушен он или горит. Топик предназначен для новичков, поэтому большая просьба к знатокам программирования — приберегите тухлые яйца и гнилые помидоры иронические комментарии для более удобного случая.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments20

Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux

Reading time11 min
Views80K


Почти все персональные компьютеры, выпущенные за последние несколько лет, обладают как минимум двухъядерным процессором. Если у тебя, читатель, не очень старый комп или не какой-нибудь бюджетный ноутбук, то, вероятнее всего, ты обладатель многопроцессорной системы. А если еще любишь играть в игры, то тебе доступно около сотни GPU-ядер. Однако львиную долю времени вся эта мощь пылится без дела. Попробуем это исправить.
Подробности
Total votes 85: ↑69 and ↓16+53
Comments20

Через тернии к Haskell. 1/2

Reading time25 min
Views225K


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга
Total votes 137: ↑133 and ↓4+129
Comments52

Пространственно-временная обработка изображений на GPU

Reading time9 min
Views28K
Не так уж и давно стало популярным использовать видеокарты для вычислений. В один прекрасный день, несколько лет назад и я взглянул на новую, тогда, технологию CUDA. В руках была хорошая карточка по тем временам GTX8800, да и задачки для распараллеливания тоже были.
Кто работал с GPU, знает про объединение запросов, конфликт банков и как с этим бороться, а если не работал, то можно найти несколько полезных статей по основам программирования на CUDA[1]. Карта GTX8800, в некотором смысле, была хороша тем, что была одной из первых и поддерживала только первые версии CUDA, поэтому на ней было четко заметно, когда есть конфликты банков или запросы в глобальную память не объединяются, потому что время в этом случае увеличивалось в разы. Все это помогало лучше понять все правила работы с картой и писать нормальный код.
В новые модели добавляют все больше и больше функциональности, что облегчает и ускорят разработку. Появились атомарные операции, кеш, динамический параллелизм и т.д.
В посте я расскажу про пространственно-временную фильтрацию изображений и реализацию для compute capability = 1.0, и как можно ускорить получившийся результат за счет новых возможностей.
Временная фильтрация может пригодиться при наблюдении за спутниками или в прочих ситуациях фильтрации, когда требуется точное подавление фона.

Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments6

IPv6 теория и практика: виды пакетов и автоконфигурация

Reading time5 min
Views62K
Эта вторая статья, продолжающая цикл, посвященный IPv6. В первой вводной статье речь шла о структуре IPv6 пакета, записи адресов, префиксе. Сегодня мы поговорим о том, какие виды пакетов бывают в IPv6, о важности мультикастов, а также, о видах автоматической конфигурации хоста в IPv6.
Примечание: в этой и других статьях под словом «маршрутизатор» я подразумеваю «маршрутизатор cisco».
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments13

Вычисление пересекающихся интервалов в линейных и замкнутых числовых полях

Reading time5 min
Views49K
Здравствуйте! И сразу прошу прощение, за слишком мудрёное название, но оно наиболее полно отражает излагаемый ниже материал.

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

Вычисление пересекающихся интервалов в линейном пространстве имен


Если у вас уже есть представление о пересечении интервалов, то пройдите сразу сюда.

Вычисление пересечений временных интервалов (отрезков времени) на прямой линии времени не составляет особого труда. Мы можем условно иметь пять видов временных пересечений.
Обозначим один отрезок времени как "\ \", а другой "/ /"

  1. Смещение вперед по оси времени "/ \ / \"
  2. Смещение назад по оси времени "\ / \ /"
  3. Вхождение " / \ \ / "
  4. Поглощение "\ / / \ "
  5. Совпадение «X X»

Подробности
Total votes 24: ↑22 and ↓2+20
Comments15

О стабильном увлажнении ЦОДа

Reading time4 min
Views9.4K

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

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

В прецизионных кондиционерах предусмотрена функция увлажнения: небольшой увлажнитель встроен в сам кондиционер. Связано это с тем, что кондиционирование воздуха приводит к его осушению в помещениях дата-центра. Причина тому — конденсация влаги из воздуха при охлаждении теплопередающей поверхности ниже точки росы.
Продолжение под катом
Total votes 6: ↑6 and ↓0+6
Comments2

Результаты исследования методов аутентификации и некоторых механизмов защиты от WEB-атак на примере Google, VK и других

Reading time5 min
Views46K

О чем топик?


В этой статье я расскажу о реализациях разного функционала (преимущественно, на веб-сервисах) для обеспечения безопасности пользователей на примере «гигантов» современной IT индустрии. Данный материал будет полезен разработчикам, архитекторам, тим-лидам и менеджерам при постановке задач схожего функционала. Реализации в статье разработаны командами профессионалов, проверены временем и сотнями миллионами пользователей (а также большим количеством хакеров), хоть и никаких гарантий, что именно данный вариант реализации — абсолютно правильный и 100% безопасный, конечно же нет. Информация основана на личном анализе этих ресурсов.
Читать дальше →
Total votes 83: ↑71 and ↓12+59
Comments30

Программируем Raspberry Pi на голом железе

Reading time2 min
Views100K
До сих пор Raspberry Pi остается одним из самых популярных технологических гаджетов.На эту плату Вы можете установить практически любую операционную систему. Но сегодня мы поговорим о том, как писать программы для этой платы без операционной системе, пользуясь лишь аппаратными средствами.

В чем подвох?


На первый взгляд задача кажется тривиальной: скачиваем keil, создаем проект… Но все не так просто. Все среды программирования(keil, IAR, Atolic) поддерживают максимум ARM9.У нас же ARM11. Это связано с негласным правилом, что на голом железе пишут до ARM9, а после на Линуксе. Но все-таки есть одна лазейка: arm-none-eabi-gcc поддерживает любой ARM.
Вторая проблема заключается в том, что под данный процессор(BCM2835) нет никаких конфигурационных файлов, header'ов и т.д. Здесь нам на помощь придет загрузчик Raspberry Pi. И ничего, что он пропритетарный. Он выполняет две функции: инициализирует процессор и его периферию, а также передает управление ядру kernel.img. Мы просто замаскируем свою программу под ядро и загрузчик её запустит.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments62

Метод Монте-Карло в физике элементарных частиц

Reading time4 min
Views26K
Данная статья посвящена широко известному методу Монте-Карло, который основан на теории вероятностей и математической статистике, в физике элементарных частиц. Так же, я расскажу, как можно разыгрывать дискретные и непрерывные случайные величины методом Неймана, а на закуску посмотрим, как применять ММК в ФЭЧ.

Сразу замечу, что моделирование будет производится в САВ WM, которую я применял (не так давно) в своей первой статье.
Читать дальше →
Total votes 39: ↑32 and ↓7+25
Comments27

CBOR — новый бинарный формат представления данных

Reading time9 min
Views61K
Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments39

Особенности пирингового вещания

Reading time4 min
Views13K
Каждый сегодня понимает, что за последние тридцать лет телевидение кардинально изменилось и обычное телевидение уже не значит так много, как значило раньше. Большую популярность набирает IPTV в силу своих уже не раз пропиаренных, как нами, так и другими компаниями, преимуществ. Наиболее ярким преимуществом IP-телевидения для конечного пользователя является высокое качество трансляции видео. Высокое качество здесь достигается за счет использования технологий разного рода, одни из них – технологии адаптивного вещания, передача контента по закрытым управляемым сетям и, конечно же, технология пирингового вещания. Об адаптивном вещании речь уже шла в первых наших статьях, поэтому поговорим теперь о пиринге.

image

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments5

Information

Rating
Does not participate
Location
Карелия, Россия
Registered
Activity