У YouTube уже давно есть такая фишка как главы (chapters) для быстрой навигации по частям видео. Огромный недостаток текущей реализации - просмотр списка глав осуществляется в стороннем блоке за пределами плеера, т.к. в театральном и полноэкранном режимах до него непросто добраться. Намного удобнее, кажется, отображать оглавление прямо в плеере. Поправим это с помощью расширения (Chrome, Firefox).
Open source *
Открытое программное обеспечение
Сколько стоит облако? Оpen source инструменты, чтобы оценить расходы на виртуальную инфраструктуру
Облачные технологии позволяют экономить на собственном железе и его обслуживании. Но даже в этом случае необходимо своевременно отключать неиспользуемые серверы и виртуальные машины. Сегодня мы подготовили компактную подборку утилит для оптимизации стоимости вычислительных ресурсов.
Предлагаем обратить внимание на open source решения, позволяющие найти «узкие места» и сократить чек в условиях уже развернутой инфраструктуры — например, Komiser, OpenCost, Koku.
Найти и уничтожить: как Clickhouse удаляет собственный код из памяти и переключается на использование Huge Pages
В Clickhouse есть интересный код: при вызове одной функции происходит перевод области памяти исполняемого кода программы на использование Huge Pages. В процессе весь код программы копируется на новое место, память, использовавшаяся изначально для кода программы возвращается ОС, а потом запрашивается снова. Эта статья основана на соответствующей части доклада с Я.Субботника.
Сначала мы посмотрим, что такое виртуальная память и TLB, потом перейдём собственно к Clickhouse, посмотрим, почему там пришла идея делать такие махинации с бинарником в памяти, а в конце посмотрим, как это всё реализовано.
Имя enum'a C++ в рантайме
Получение имени типа, не важно это структура или перечисление, в C++ — проблема. То, что тривиально известно компилятору на этапе парсинга исходников, не получится перевести в человеко-читаемый вид в рантайме. Можно использовать std::type_info::name, который не является переносимым решением, потому что зависит от реализации манглинга в компиляторе. Некоторые компиляторы (например, MSVC, IBM, Oracle) создают "удобное" имя типа, а вот gcc и clang, возвращают искаженное имя, котороe можно преобразовать в удобочитаемую форму с помощью дополнительных функций, например abi::__cxa_demangle. Чтобы вся эта магия работала нужно подключить RTTI, который тоже не всегда доступен, а иногда и вообще-то вреден, потому что сжирает драгоценную производительность, но можно сделать по другому.
Истории
Rust 1.65.0: GAT, let-else, break от помеченных блоков, отказ от RLS
Команда Rust рада сообщить о новой версии языка — 1.65.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup
, то для обновления до версии 1.65.0 вам достаточно выполнить команду:
rustup update stable
Если у вас ещё нет rustup
, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.65.0 на GitHub.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta
) или nightly (rustup default nightly
) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.
Как аккуратно записать гифку с консоли
Помните, как вы пытались записать демонстрацию CLI-инструмента? К старту нашего курса по DevOps делимся материалом о том, как записывать гифки с консоли кодом, чтобы тестировать сборки ПО и показывать ваши консольные инструменты.
Запуск сервера сборки Jenkins
Итак в вашем репозитории накопилось количество сборок превысившее число 1. Настало время задуматься о DevOps(е). Как же уследить за всеми этими сборками?
Классическое решение это запустить сервер сборки. Есть готовая технология, называется Jenkins.
Идея проста. Сервер сборки это инфраструктурный прикладной процесс, который периодически запускает скрипты построения конкретных программных проектов и затем сохраняет *.bin(ари) в конкретную папку или архив. Обычно сервер сборки работает автономно 24/7 и собирает артефакты из репозитория с кодом.
В этом тексте я написал инструкцию-методичку для разворачивания Jenkins на Windows компьютере.
Что делать, если твой временной ряд растёт вширь
Привет, Хабр! Есть мнение, что прогнозирование временных рядов - сложная задача. Но не будем расстраиваться, ведь есть и плюсы - существует ещё большое количество задач, когда рядов сразу несколько, и такие задачи ещё сложнее! Когда начинаем сравнивать, понимаем, что прогнозировать одномерные временные ряды не так уж и сложно. А вот что делать с ситуацией, когда временной ряд обрастает параллельно идущими с ним последовательностями других параметров (многомерный ряд), какие методы и алгоритмы использовать, и что делать, если задача прогнозировать такие ряды есть, а опыта не очень много (спойлер - используйте AutoML, а пока он работает восполните пробел прочитав пару статей по теме), разбираем под катом.
Что такое временной ряд
Если начинать совсем издалека, то это последовательность значений, упорядоченная по времени. Во временных рядах есть закономерность: текущие значения ряда связаны с предыдущими. Если такого свойства у ряда нет, то поздравляем (или не поздравляем), вы имеете дело с процессом, который прогнозировать классическими (и не очень) моделями не выйдет, в таком случае стоит смотреть в сторону Марковских процессов.
Простенькая картинка ниже иллюстрирует описанное выше свойство, - этого бэкграунда для продолжения чтения поста достаточно (Рисунок 1).
Joomla 4: мощь CLI приложений
В Joomla 4 из коробки поставляется новый, улучшенный CLI (интерфейс командной строки), который входит в состав в ядра. Теперь вы можете выполнять задачи тех.обслуживания, даже не заходя на свой веб-сайт. Также в статье затрагивается вопрос постановки задач Планировщика задач Joomla 4.1 на серверный CRON. Есть список-шпаргалка CLI команд Joomla 4 и Akeeba Backup.
SWUpdate, Yoctо(ерный) театр и paperina
SWUpdate — это агент обновлений Linux, целью которого является эффективный и безопасный способ обновления встроенной системы. SWUpdate поддерживает локальные и удаленные обновления, включает несколько стратегий обновления, и его можно легко интегрировать в систему сборки Yocto, подключив слой meta-swupdate.
В статье описывается как можно настроить режим обновление в Yocto наиболее простым способом для платы Orange Pi R1, таким же образом вы можете настроить и обновление для самой распространенной платы Raspberry Pi.
Дистрибутив Yocto для которого будет подготовлено обновление наследуется от образа core-image-minimal и выполняет функцию простого маршрутизатора, используя DHCP и Shorewall.
Статья из серии: если хочешь что то обновить, сделай это сам.
Пастильда: Независимое Beta-Тестирование (16+)
Решил купить себе Pastild(у). Это аппаратный хранитель паролей и одновременно USB Flash(ка). Также понравилась возможность съёмной SD карты. Идея аппаратного менеджера паролей, который не требует отдельного USB просто великолепная!
Какие же впечатления от использования Пастильды (User experience)?
Нейросети на RISC-V с Movidius Neural Compute Stick
RISC-V — перспективная открытая архитектура, не требующая royalty от производителей железа на её основе. Нужно отметить, что интерес к архитектуре RISC-V растёт намного быстрее, чем закрепляется её спецификация и идёт процесс принятия новых фич комитетом, а также дальнейшая реализация в железе и софте. Например, сейчас сложно найти предложение по CPU и совместимое с ним Linux ядро с поддержкой векторизации, хотя RVV 0.7.1 уже существует, и RVV 1.0 вот-вот его заменит. В нашем эксперименте трудоемкие вычисления перекладываются на внешнее устройство, поэтому сгодится и самый простой центральный процессор.
В этой статье вы найдете подробные инструкции по использованию библиотек OpenVINO и OpenCV на RISC-V для запуска нейронных сетей с использованием акселератора. Цель материала — продемонстрировать гибкость решений на примере использования RISC-V CPU в качестве хоста для работы с нейросетевым ускорителем Intel Movidius Neural Compute Stick 2 (NCS2). Большая часть статьи состоит из инструкций по сборке под RISC-V. Конечно, это не самый творческий процесс, но мы верим, что со временем все они спрячутся под процессами CI/CD, как когда-то было с ARM-экосистемой.
9 продуктов для создания дашбордов
Семь Open Source и два low-code-продукта для визуализации BI-аналитики от AFFINAGE
Для решение клиентских задач мы постоянно ищем способы сделать лучше. И очень часто сделать лучше значит сменить продукт. Поэтому мы постоянно анализируем рынок различных nocode-решений. Мы решили поделиться накопленными знаниями о такой важной задаче как построение аналитических дашбордов.
Ближайшие события
Создание своего Live-образа Fedora
Рано или поздно любому системному администратору придёт в голову мысль о создании флешки с Linux с нужными ему программами, будь-то условным Ansible, так и инструментами для восстановления системы. Некоторым же необходим свой LiveCD, который можно будет установить на любой персональный, или не совсем, компьютер.
В этой статье я расскажу как с помощью livemedia-creator
создать свой Live-образ Fedora 37 с некоторыми дополнительными программами, который можно как использовать без установки, так и установить на желательный персональный компьютер. Данная статья подойдёт как начинающим пользователям Linux с небольшим опытом, так и ленивым сисадминам, которым лень искать и читать документацию.
Примеры ошибок, которые может обнаружить PVS-Studio в коде LLVM 15.0
Компиляторы развиваются и выдают всё больше предупреждений. Остаются ли преимущества от использования статических анализаторов кода, таких как PVS-Studio? Да, так как анализаторы тоже развиваются. Перед вами статья о том, как PVS-Studio находит баги даже в компиляторе.
Albumentations: Пожертвования
В прошлом посте я писал про то, какая ситуация сложилась с open source библиотекой Albumentations на лето 2022.
Проект разрабатывается в свободное время на энтузиазме Core Team (трое) и вкладе сторонних разработчиков (более сотни).
Библиотеку активно используют:
20-30 тысяч скачиваний в день. (20 октября по неизвестной причине, выстрелило до 121k)
7 миллионов скачиваний в сумме
11 тысяч звезд на GitHub (если вы свою не поставили - то самое время)
Open Source для MLOps: сравнение популярных решений
Здравствуй, Хабр! Меня зовут Александр Волынский, я занимаюсь разработкой ML Platform в VK Cloud. Наша ML-платформа стала доступна пользователям совсем недавно, некоторые из её компонентов сейчас находятся на этапе бета-тестирования. В этой статье я расскажу, как мы выбирали Open-Source-инструменты для MLOps-платформы, какие решения сравнивали, на каком варианте остановили выбор и почему.
Семь способов передачи телеметрии из Azure RTOS через интернет
Решаем задачу непрерывной передачи данных от встраиваемой системы c Azure RTOS на персональный компьютер. Рассмотрим проблему с точки зрения наиболее эффективных и доступных способов приёма телеметрии. Сопроводим все открытым демонстрационным проектом.
KataOS — новая операционная система от Google для приложений машинного обучения
Поскольку люди всё чаще оказываются в окружении интеллектуальных устройств, которые собирают и обрабатывают информацию, важно, чтобы была защита конфиденциальности этой самой информации. Если нельзя доказать, что окружающие устройства обеспечивают безопасность данных, то собираемые данные, позволяющие установить личность, например изображения людей и записи их голосов, могут быть украдены злоумышленниками.
Системная безопасность часто рассматривается как функция, которую можно добавить к существующим системам либо с помощью программного обеспечения, либо с помощью дополнительного чипа безопасности. Но в мире, где всё больше и больше личных данных утекают в Сеть, этого недостаточно, поэтому в Google разработали безопасную операционную систему KataOS с открытым исходным кодом, оптимизированную для встроенных устройств, на которых работают приложения машинного обучения.
ОС предназначена не для настольных компьютеров или смартфонов, а для Интернета вещей. Цель состоит в том, чтобы создать надёжно защищённые системы для встроенного оборудования или периферийных устройств, таких как подключённые к сети камеры, используемые для захвата изображений, которые обрабатываются на устройстве или в облаке для машинного обучения.
Из-за чего весь сыр-бор: про уязвимость Text4Shell
За последнюю неделю в сфере инфобеза стали появляться новости о втором пришествии уязвимости Log4Shell, получившей название Text4Shell. Первым об уязвимости сообщил Alvaro Muñoz, который рассказал о возможности удаленного выполнения произвольных скриптов в продуктах, использующих библиотеку Apache Commons Text.
Сама уязвимость была обнаружена еще в марте 2022 года, но команде Apache Commons потребовалось время на ее исправление и выпуск обновлений библиотеки. Уязвимости был присвоен идентификатор CVE-2022-42889 (CWE-94 — Code Injection) и достаточно высокий уровень риска CVSS 9.8.
Когда уязвимость была обнаружена, некоторые эксперты выразили сомнения в том, что она представляет серьезную опасность. Они ссылаются на то, что уязвимость невозможно эксплуатировать в версиях JDK 15+, а также на то, что попадание пользовательских данных в функцию интерполяции переменной маловероятно. Однако при дальнейшем изучении уязвимости были выявлены и другие векторы ее эксплуатации.
Наша команда PT Application Inspector решила определить уязвимые места в исходном тексте, оценить выпущенный патч от команды разработки и посоветовать шаги, которые помогут защититься от возможных атак.
Вклад авторов
alizar 12155.6Jeditobe 5045.8SvyatoslavMC 2206.0Andrey2008 2149.9Seleditor 1682.2m1rko 1437.2dalerank 1291.0ru_vds 1236.0shurup 1120.2Gim6626 1019.6