Писатели-фантасты на протяжении многих лет регулярно обращаются к сюжетам про «восстания машин», но по актуальности они, кажется, сейчас отходят на второй план. Зато можно рассмотреть другую интересную сторону этой медали: историю о том, как люди сами отдают контроль над своими жизнями в руки искусственных интеллектов и алгоритмов. Просто потому что они точнее, надежнее и не думают о собственной выгоде. Если мы уже можем читать реальные новости про цифрового прокурора в Шанхае и выпускников, которые готовы доверить искусственным интеллектам выбор своей профессии, то почему бы фантастам не рассмотреть возможные изъяны и риски? И они действительно уже делали это не раз! Вот несколько ярких примеров от классики и до наших дней.
Software engineer
Стартуем RISCV Sipeed LicheeRV — Nezha CM C906 без официального SDK
Получив свой экземпляр (заказал еще до того как вышел LicheeRV Dock), я конечно же полез за официальной инструкцией к производителю...
В принципе, я никогда не интересовался продуктами вроде Banana Pi или Orange Pi от Allwinner, взглянув на официальное чудо, я понял почему от этих продуктов все так воротят нос:
— Прошивки для не китайцев "заботливо" лежат на MEGA (хочешь качать - плати деньги...)
— Для прошивки карт используется "замечательный" инструмент под названием PhoenixCard (судя по китайским форумам он не слушается даже китайцев), который работает под Windows (что всегда хорошо!)
— Официальный "SDK" обернут вместе c rootfs и разбит на архивы общей суммой >10 Gb (да-да и лежит на MEGA - то есть все равно заплатишь)
— И изюминка - все образы в комплекте расчитаны на карты ёмкостью больше 16 Gib (у наших друзей написано 16 GB - card_needs_≥16GB.txt)
Квест про реверс (он в конечном счете не понадобился) и печальное ковыряние палкой данного продукта жизнедеятельности (то что я собрал с помощью SDK, так и не заработало...) мы опустим, так как, я наконец наткнулся на гайд для Sipeed Nezha от дяди Samuel'a Holland'a спасибо ему за это огромное...
FIFO для самых маленьких (вместе с вопросами на интервью)
"Напишите на доске код на верилоге для FIFO" - это популярный вопрос во время интервью в компании типа Apple и AMD, причем у него есть вариации для всех уровней инженеров, так как существуют десятки типа реализаций FIFO: на D-триггерах, встроенной SRAM памяти или на массиве D-защелок; с одном или двумя тактовыми сигналами; с одним, двумя или N вталкиваниями / выталкиваниями в одном такте; с разделяемой несколькими FIFO общей памятью; с парой указателей для записи/чтения и с хранением элементов в виде связанного списка; FIFO позволяющее undo; FIFO позволяющие потери данных; всякая экзотика типа FIFO шириной ноль итд.
Если человек не в теме или не понял вопроса, он может начать "запускаем GUI от Xilinx, вносим параметры и инстанциируем сгенерированный код". Это вызывает реакцию, как если бы школьная учительница геометрии спросила "найдите гипотенузу" и школьник бы ткнул пальцем в гипотенузу и с улыбкой ответил "вот она!"
Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности
В этой статье, не претендующей на полное руководство к разделу, мы рассмотрим одну из интересных и важных рубрик «скриптинга», а именно — функции.
Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Python в металлургической промышленности
Когда речь заходит о тяжелой промышленности и технологиях в ней, в большинстве случаев мы ожидаем услышать Java, а может быть и Java EE, или наоборот что-то очень низкоуровневое. Именно такие предположения я чаще всего слышу от друзей, когда рассказываю, где работаю. Однако, в реальности всё немного иначе и на практике мои коллеги используют множество технологий.
В этой статье я расскажу о том, зачем на металлургическом комбинате Python и с какими проблемами я столкнулся при работе над задачами.
Архитектура первой PlayStation: центральный процессор
Краткое введение
Sony знала, что разработка для 3D-оборудования может становиться очень сложной. Поэтому в дизайне своей первой консоли она стремилась к простоте и практичности… Однако всё имеет свою цену!
CPU
В этом разделе мы проанализируем Sony CXD8530BQ — один из двух больших чипов, содержащихся в консоли. Сегодня мы бы назвали его «System-on-Chip».
Происхождение
Сюжет о создании процессора в виде «X спроектирован компанией Y на основе Z при поддержке W» сложно будет рассказать в нескольких предложениях, поэтому почему бы начать с исторического контекста?
Изучаем протоколы со Scapy
Статья расскажет, как можно использовать Scapy для создания пакетов UDP и TCP протокола, так же попробуем реализовать взаимодействие по сети, отправив короткое сообщение с использованием каждого из протоколов.
Matrix Resurrections. Воскрешение франшизы?
Вокруг этого фильма создалось неоднозначное мнение. Нет это точно не провал, как последний «терминатор». Вопросов тут теперь больше чем ответов, а теорий еще больше.
Одну из теорий логики машин и возможного теоретического продолжения я бы и хотел описать. Идея этой теории возникла именно после просмотра последней части.
Но начать стоит с… «Аниматрицы», а точнее ее лжи (явных странностей сюжета).
По сюжету все истории в аниматрице рассказывает электронная библиотека зиона (а как мы помним по второй части матрицы архитектор говорил что создали зион именно роботы).
Поэтому верить в описанные причины и следствия можно с определенной долей сомнения.
Статическое константное дерево на шаблонах C++
Поиск можно считать одной из наиболее нужных и часто используемых операций при разработке программного обеспечения. На сегодняшний день известно большое количество алгоритмов и структур данных, обеспечивающих высокую скорость поиска. Пусть и в меньшей степени, но подобные задачи возникают и в сфере разработки ПО для встраиваемых систем, одной из главных особенностей которой является существенная ограниченность системных ресурсов.
В статье предлагается рассмотреть особенности реализации элементарной структуры данных и способы оптимизации в условиях малого объема доступной памяти.
Мой новый домашний сервер, часть 2: выбор софта
Картинка же повествует о том, что любое облако — это чужой компьютер. Это к вопросу о том, что «не нужны никакие домашние сервера, давайте всё хранить в облаках».
Было
Стоял простой Windows Server. В целом, не было ничего такого, для чего нужен был бы конкретно сервер — вполне подошла бы и десктопная Windows. Но у меня была свободная лицензия сперва на 2008, потом на 2012 обломилась — так что грех было не использовать. Потом, правда, поставил 2019 потестировать — и до сих пор тестировал. Хотя вполне мог бы и обратно на 2012 откатиться, ничего не потерял бы. А новые возможности 2019 можно было бы и в виртуалке смотреть. Ну или вообще на работе, благо он есть в продакшне.
Аллокаторы внутри
После прошлого поста про базовые концепции аллокаторов хотелось бы всё-таки посмотреть на что-то настоящее, из жизни и заодно доказать, что ни Андрей Александреску, ни я не врём, и что-то из рассказанного и правда используется в продакшене. Потому посмотрим на несколько популярных аллокаторов и попытаемся что-нибудь в них понять.
А все ли врут? Продолжаем издеваться над NVME
А пока мои коллеги пытаются разобраться с проблемами серверных NVME Raid массивов, я решил посмотреть на проблему с другого ракурса. Ведь NVME — это не только жёсткий диск, но и три-четыре протокола быстропередаваемых данных.
Для многих из нас nvme означает, что мы купили новый компьютер или ультрабук. Жёсткий диск, подключённый напрямую к шине PCIE, позволяет существенно снизить задержки передачи данных и ускорить любую систему. NVME — это ключ к загрузке любой системы за 3 секунды.
Но, на самом деле сам по себе NVME — это не стандарт для жёстких дисков. NVME расшифровывается как NVM Express. NVM, в свою очередь, означает Non-volatile memory, И в первую очередь — это спецификация протокола, который позволяет производить эффективный доступ к данным, хранящимся в энергонезависимой памяти.
А как мы хорошо знаем, протоколы можно запускать на разных носителях. В этой статье мы будем издеваться над моим лэптопом с Ubuntu Linux 21 на борту, подключая его жёсткий диск к разным серверам. Вы можете посетовать, что всё это игрушки, но хороший администратор со свитчем, позволяющим поддерживать скорости более 10 гигабит в секунду, должен взять это на заметку. Вы можете получить удалённый доступ к вашим nvme жёстким дискам через tcp/ip без уловок и мошенства.
Поехали.
Кунг-фу стиля Linux: делиться — это плохо
На самом деле мы, работая в Linux, постоянно пользуемся этой концепцией. Каждый запускаемый нами процесс существует в среде, описываемой неким набором пространств имён. Почему я говорю тут о «наборе» пространств имён? Дело в том, что существуют пространства имён, используемые для управления различными ресурсами. Например, можно настроить особое сетевое пространство имён, которое позволит предоставить процессу его собственный набор сетевых ресурсов — таких, например, как таблицы маршрутизации и правила файрвола.
Поговорим о том, как в Linux организована работа с пространствами имён, и о том, что они скрывают.
Как простой баг повреждения памяти ядра Linux может привести к полной компрометации системы
Введение
В этом посте описывается простой в реализации баг блокировки ядра Linux и то, как я использовал его против ядра Debian Buster 4.19.0-13-amd64. В посте рассматриваются варианты устранения бага, препятствующие или усложняющие использование подобных проблем злоумышленниками.
Я надеюсь, что подробный разбор такого эксплойта и его публикация помогут при определении относительной полезности различных подходов к его устранению.
Многие описанные здесь отдельные техники эксплойтов и варианты их устранения не новы. Однако я считаю, что стоит объединить их в одну статью, чтобы показать, как различные способы устранения взаимодействуют друг с другом на примере достаточно стандартного эксплойта с использованием освобождённой памяти.
Сборка объектов в IBM i: от ручного набора команд до инкрементной системы TMKMAKE
Всем привет! Вот уже почти 3 года я занимаюсь разработкой и поддержкой программ для такой платформы как IBM i (краткое описание что это такое есть, например, тут и здесь). Как вы понимаете, данный вид деятельности неразрывно связан с тем, что тексты исходного кода надо преобразовывать в исполняемые файлы или, как будет правильнее для IBM i, в объекты системы. И вот тут начинается самое интересное...
Самые громкие кибервзломы и утечки 2021 года
2021 год стремительно подходит к концу. Мы решили не обходить стороной новогоднюю традицию и подвести его итоги. Для нас 2021 год прошел еще насыщеннее, чем предыдущий: мы выпустили новые продукты (PT XDR, MaxPatrol O2, MaxPatrol VM), засекли активность парочки новых для России АРТ-группировок и не пропустили ни одной известной, нашли и помогли устранить несколько десятков уязвимостей, мало того — под конец года мы еще и вышли на биржу в режиме прямого листинга…?
Но наша сегодняшняя статья о другом: ведь за последние дни вы, наверное, уже устали читать о достижениях и успехах, про которые компании сейчас рапортуют в своих блогах.
Мы же решили рассказать о самых громких и беспрецедентных событиях кибербезопасности уходящего года, которые войдут в историю. Атаки и утечки обрушились как на правительственные организации и государственные структуры, так и на частный бизнес и головы простых граждан — словом, никого не обошли стороной.
SPDK: ускорение работы с NVMe-дисками
Предиктивная аналитика: нефтегазовая промышленность, энергетика, далее – везде
Привет, Хабр! Сегодня хотелось бы обсудить такую интересную тему, как предиктивная аналитика. За последние несколько лет предиктивная аналитика стала весьма востребованным направлением в промышленности. Это вполне логично, ведь она дает возможность предсказать выход из строя оборудования или элементов этого оборудования задолго до самой поломки.
Все это тесно связано с устойчивым развитием – одним из определяющим фактором конкурентоспособности компаний, причем не только промышленных. Устойчивость важна для любого бизнеса, будь то добыча и переработка, энергетика или машиностроение. Технологии развиваются и дают возможность компаниям просчитывать риски, планировать ремонты, улучшать логистику. Но как это работает?
Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС
В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегодня мы подключимся к VGA-монитору и поуправляем изображением, которое выдаёт модуль gpu, описанный в файле gpu.v, то есть, реализованный на языке Verilog. Управлять мы им будем через регистр команд, расположенный в блоке CSR, спроецированном на шину Wishbone. Все эти сущности, в свою очередь относятся к среде Litex. Инструменты для опытов мы тоже будем использовать штатные, Litex-овские. Приступаем!
Хакаем CAN шину авто. VAG диагностический бортовой компьютер
С огромным увлечением исследую протоколы CAN шины и разрабатываю устройства взаимодействующие с автомобилем. У меня уже есть голосовое управление центральным замком, виртуальная панель приборов и даже мобильное приложение для моей Skoda Octavia A5.
Теперь я решил разработать диагностический бортовой компьютер для автомобилей группы VAG (VW, Audi, Skoda, Seat). Моими техническими требованиями было: OLED дисплей, лёгкая установка и подключение, множество диагностических параметров. В качестве компонентной базы выбрал:
Информация
- В рейтинге
- Не участвует
- Откуда
- Харьков, Харьковская обл., Украина
- Дата рождения
- Зарегистрирован
- Активность