Search
Write a publication
Pull to refresh
0
Сергей @sav6622read⁠-⁠only

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

Send message

А если найду? Перелет еще дешевле чем вы уже нашли

Reading time3 min
Views123K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

Всем известно, что авиакомпании берут свои цены с потолка. Маркетологи придумывают хитроумные непрозрачные схемы отъёма денег у пассажиров пропорционально финансовым возможностям последних. Так, чтобы богатые платили за билеты побольше, а бедные — сколько смогут.

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

Шаг за шагом: Трансляция данных на flightradar24

Reading time11 min
Views45K


1. Введение


Моя текущая деятельность никак не связана с авиацией, но так случилось, что я заболел ею. В какой точно момент это произошло – сложно сказать, наверное, первый полет здорово поспособствовал этому. Через некоторое время я начал смотреть фильмы на авиационную тематику, интересоваться строением и отличиями в самолетах и искать, как связать свою деятельность хоть немного с моим увлечением. Так я познакомился с технологией ADS-B и ее неожиданным применением среди энтузиастов – радарспоттингом. На просторах Хабра не часто появляются статьи по данной тематике (раз, два). Поэтому здесь я хочу немного поговорить на тему радарспоттинга и подробно описать процесс создания самостоятельной трансляции данных на популярный ресурс flightradar24.
Итак, всем, кто интересуется (болен) темой авиации и наблюдения за самолетами, а также желает принять в этом свое непосредственное участие, добро пожаловать под кат.
Читать дальше →

Alljoyn: взгляд embedded разработчика. Часть 3: Портируем на МК SAMD21

Reading time8 min
Views4K

В предыдущих статьях мы разбирались с основами Alljoyn и средствами, помогающими отладке. Пришло время писать код для микроконтроллера. Кратко напомню архитектуру LSF (Lighting Software Framework).
В библиотеке LSF предусмотрено три сущности:
  • Thin-лампочка (lamp service),
  • Router (lighting controller service),
  • «приложение» (lighting sample application).

Thin-лампочка это та часть, которая «крутится» непосредственно в микроконтроллере нашей умной лампочки. Именно ею мы сегодня и займемся. Остальное было весьма подробно описано ранее, очередной раз останавливаться не будем.
Читать дальше →

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views113K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →

Подробности о беспрецедентном взломе электрической сети Украины

Reading time7 min
Views59K


В среду 23 декабря 2015 года в 15:30 жители Ивано-Франковска на западной Украине готовились к окончанию рабочего дня и собирались идти домой по холодным зимним улицам. В центре управления предприятия «Прикарпатьеоблэнерго», которое распределяет электроэнергию в регионе, диспетчеры практически закончили свою смену. Но когда один из них приводил в порядок бумаги на столе перед завершением работы, курсор на экране компьютера cдвинулся c места.

Диспетчер видел, как курсор целенаправленно двинулся к кнопкам управления автоматическими выключателями на региональной подстанции, затем нажал кнопку для вызова окна с выключателями, чтобы вывести подстанцию в офлайн. На экране возникло диалоговое окно с требованием подтвердить операцию, а оператор ошарашенно смотрел, как курсор скользнул в это окно и нажал кнопку подтверждения. Он знал, что где-то в районе за городом тысячи домов только что лишились света.
Читать дальше →

RISC'овый Debian под QEMU

Reading time10 min
Views23K

Для встраиваемых систем на базе процессоров с архитектурами MIPS и ARM нередко используются специализированные генераторы дистрибутивов ОС GNU/Linux: buildroot, openwrt и прочие Yocto.
Но иногда интересно запустить на такой системе универсальную ОС Debian. Установить Debian на ЭВМ с процессором архитектуры x86/amd64 — дело несложное, а вот со встраиваемыми системами, поверьте, у нас не всё так однозначно...
В данной публикации я расскажу как можно при помощи debootstrap установить, а затем как при помощи QEMU запустить ОС Debian для ЭВМ с процессорами MIPS и ARM.
Читать дальше →

Как использовать IPP FIR фильтры в приложениях максимально эффективно

Reading time11 min
Views10K
В библиотеке Intel Performance Primitives (IPP), начиная с версии 8.2, планомерно осуществляется переход от внутреннего распараллеливания функций к внешнему. Причины такого решения изложены в статье Функции IPP c поддержкой бордюров для обработки изображений в нескольких потоках.

В этом посте будут рассмотрены функции, реализующие фильтр с конечным откликом — FIR фильтр (Finite Impulse Response).
Читать дальше →

Когнитивная система IBM Watson — будущее действительно здесь

Reading time5 min
Views22K


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

Сейчас на основе этой облачной API-платформы разрабатываются различные приложения, сервисы и процессы. У Watson на данный момент 28 API, и в основе всего этого лежит более 50 различных технологий. К концу 2016 года разработчики обещают добавить еще пару десятков API, и к 2017 году их число должно увеличиться до 50. Далее представим ряд примеров сервисов и приложений, основа которых – когнитивная платформа IBM Watson.
Читать дальше →

Радиоприёмник из DVB стика за $8 — изучаем SDR с GNURadio

Reading time11 min
Views60K
Каждый день мы пользуемся множеством радио устройств. Однако редко понимаем, как они работают. Эпоха радиолюбителей фактически прошла, оставив в прошлом любителей спаять приёмник ДВ или СВ своими руками. Да и в методах кодирования техника ушла далеко вперёд. Мы часто слышим рассуждения о взломе умных домов на радио протоколах, о ненадёжности радио связи и т.д. Но многие ли из вас пробовали, например, подслушать Z-Wave сеть умного дома соседа и тем более поуправлять ей? Насколько велика эта угроза для вас?

К счастью в наши дни стали доступны очень удобные средства для работы с радио, а именно SDR.

SDR (Software Defined Radio) позволяет программно перестраивать приёмник и передатчик для работы на различных частотах от 20 до 2000 МГц, после чего произвести обработку сигнала на компьютере с помощью цифровых методов. Это существенно отличает SDR от аналоговых схем радиопрёмников и передатчиков, позволяя легко менять алгоритм обработки полученного сигнала.




Существует множество разных программ для обработки радио сигналов. Я изучил наиболее популярную из них GNURadio. Этот пакет позволяет строить процесс обработки из различных блоков, стыкуя их друг с другом в формате потоковой обработки (pipe). Каждый следующий блок принимает данный от одного или нескольких предыдущих, а вывод передаётся другим блокам.

Под катом я расскажу об основах SDR и GNURadio и о том, как за 8 баксов сделать приёмник AM/FM, китайской управляемой розетки, телеметрии со спутника и всего, что вздумается.

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

Расшифровка обновлений одного популярного сотового модема: метод Дмитрия Склярова

Reading time7 min
Views20K


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

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

Моментальный клей и сода: дополнительные штрихи

Reading time3 min
Views158K
Про моментальный клей с содой разве что ещё анекдотов не насочиняли, но все молчат про одну интересную особенность. Итак, смесь цианоакрилата с содой моментально полимеризуется (твердеет), выделяя тепло и отлично схватываясь молекулярными связями с близлежащими слоями. Но не с любыми. С ABS-пластиком — хорошо, а с полипропиленом — плохо. Ну и что с того? При послойной заливке (точнее, «закапке») соблюдать точную форму детали непросто. Много излишков в конце приходится удалять механически (напильником). А как насчёт «опалубки» из таких же подручных материалов? Кустарная 3D-печать из кармана.


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

Две причины выкинуть клиент вашего облачного хранилища на свалку

Reading time3 min
Views18K

У вас 100% есть Dropbox. Или “Яндекс.Диск”. Или даже “Облако Mail.ru”.
Все они хранят в облаке то, что уже и так есть у вас на компе.


Это хорошо для:


  • резервного копирования файлов
  • расшаривания с другими людьми
  • синхронизации между несколькими компьютерами
  • или доступа к вашим данным с планшета, например

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



Под катом две неудачные попытки и одна супер-удачная.

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

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views709K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

Безопасность прошивок на примере промышленных коммутаторов Hirschmann и Phoenix Contact

Reading time11 min
Views22K


Многие современные компьютерные системы (материнские платы в ПК, смартфоны, сетевое оборудование…) работают под управлением прошивки, которая, как правило, разрабатывается под конкретное железо, может использовать весь спектр доступных аппаратных ресурсов и имеет самые высокие привилегии. Защите прошивок необходимо уделять особое внимание, иначе она будет настоящей Ахиллесовой пятой в безопасности системы.
Этому вопросу будет посвящён небольшой цикл статей, мы покажем слабую и сильную модели безопасности прошивок на реальных примерах.

Кстати, в основе этой статьи – наше исследование защищённости промышленных сетевых коммутаторов, которое было представлено мной на конференции по ИБ для практиков ZeroNights 2015 (доклад «Модификация прошивок промышленных свитчей», презентация лежит здесь).

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

Способы отладки ПО микроконтроллеров в электроприводе

Reading time14 min
Views53K
image

Как отлаживают программы микроконтроллеров? Берется JTAG, осциллограф – пара дней/недель и программа отлажена. Таким будет типичный ответ, и в большинстве случаев он будет правильным… Но не всегда. Микроконтроллеры решают очень разные задачи, и в этой статье мы рассмотрим, что делать, если нужно разработать громоздкое ПО низкоуровневого управления каким-либо силовым электрооборудованием, например, преобразователями частоты для электродвигателей, DC/DC преобразователями заряда АКБ для поезда, корректорами мощности, сервоприводами и т.п. Оборудованием, где протекают килоамперы и ШИМят киловольты, где на счету каждая коммутация IGBT ключей инвертора, где время реакции микроконтроллера на нештатную ситуацию измеряется в микросекундах, а само оборудование в герметичных корпусах устанавливается и эксплуатируется где-нибудь на заводах Якутии. Если вы хотите узнать, какие особенности это накладывает на способы отладки – добро пожаловать под кат.
Читать дальше →

350+ полезных ресурсов, книг и инструментов для работы с Docker

Reading time14 min
Views105K
Мы уже ни раз приводили полезные руководства и подборки источников для разработчиков. На этот раз мы решили продолжить тему контейнеров, которую мы затрагивали ранее, и рассказать о подборке тематических ресурсов на GitHub.

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

Опыт переезда для работы программистом в Берлин (часть 1)

Reading time7 min
Views76K
Добрый день.

Представляю на суд общественности материал о том, как я за четыре месяца получил визу, переехал в Германию и нашел там работу.

Считается, что для переезда в другую страну нужно сначала долго искать работу удаленно, потом, в случае успеха, ждать решения по визе, и лишь после паковать чемоданы. Я решил, что это далеко не оптимальный способ, поэтому пошел другим путем. Вместо того, чтобы искать работу удаленно, я получил так называемую «визу на поиск работы», въехал в Германию, нашел здесь работу и уже после подал документы на Blaue Karte. Во-первых, в этом случае документы не ездят из страны в страну, и время ожидания визы значительно уменьшается. Во-вторых, поиск работы на месте радикально повышает ваши шансы, и это тоже заметно ускоряет процесс.
Читать дальше →

Еще немного об ошибках проектирования АСУ ТП и программирования ПЛК

Reading time4 min
Views20K
Наткнулся на эту статью и коль скоро предмет беседы весьма интересен, позволю себе немного развить эту тему.

Возьмем ту же схему (действительно, довольно корявую надеюсь автор простит мне ее использование) из упомянутого поста:

image

Первое слабое звено этой схемы, которое бросилось мне в глаза, совсем не реле К1, конечно тоже достойное упоминания, а надпись «Аварийный стоп» на нормально-открытом контакте кнопки SB1.

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

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

Выжимаем максимум интернета из деревенских сот

Reading time6 min
Views41K
На кануне новогодних праздников понадобилось пораньше покинуть столицу, покинуть ее в направлении таких мест, в которых интернет бывает довольно редко. На период отсутствия на работе я обещал напарникам быть на связи. А так как мой род деятельности напрямую связан с web, то я решил поэкспериментировать с доступностью интернетов в планируемом месте пребывания.

Суть задачи сводился к следующему:

  1. Достичь комфортной скорости интернета.
  2. Раздавать интернет не только для себя, но и для супруги.

У нас было 2 модема, 750 мегабайт проплаченого интернета, 3 ноутбука, несколько телефонов и целое множество симок всех сортов и расцветок, точка доступа с OpenWRT, usb hub, флэшка и антенна. Не то чтобы это был необходимый запас для поездки, но если начал собирать железки, становится трудно остановиться. Единственное, что вызывало у меня опасение — это антенна. Ничто в мире не бывает более беспомощным, безответственным и слабым, чем сигнал от антенны, прошедший через 3-х метровый usb кабель. Я знал, что рано или поздно мы перейдем и на эту дрянь.
Читать дальше →

Разработка цифровой аппаратуры на C++/SystemC глазами SystemVerilog программиста

Reading time19 min
Views36K


SystemC это библиотека для C++ позволяющая моделировать всевозможные аппаратные системы на различном уровне абстракции. Поддерживается как традиционное дискретно-событийное моделирование, привычное программистам на Verilog и VHDL, так и аналоговое моделирование в духе SPICE/Verilog AMS. В комплект также входит библиотека и методология для виртуального прототипирования, библиотеки для написания тестовых окружений и верификации с использованием рандомизированных тестов.

В этой я расскажу о синтезируемом подмножестве SystemC, сравнивая его с синтезируемым SystemVerilog. Сам я пользуюсь SystemC уже где-то 3 года, а до этого несколько лет писал на Verilog/SystemVerilog. Попытаюсь охватить предмет с разных сторон: начиная с философских рассуждений о причинах возникновения SystemC, краткого обзора экосистемы и инструментария и заканчивая практическими примерами синтаксиса и семантики.

Подразумевается, что читатели знакомы с Verilog и C++.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity