Как стать автором
Обновить
285.35

Open source *

Открытое программное обеспечение

Сначала показывать
Порог рейтинга
Уровень сложности

Добавляем список глав прямо в плеер YouTube

Время на прочтение1 мин
Количество просмотров2.1K

У YouTube уже давно есть такая фишка как главы (chapters) для быстрой навигации по частям видео. Огромный недостаток текущей реализации - просмотр списка глав осуществляется в стороннем блоке за пределами плеера, т.к. в театральном и полноэкранном режимах до него непросто добраться. Намного удобнее, кажется, отображать оглавление прямо в плеере. Поправим это с помощью расширения (Chrome, Firefox).

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии12

Сколько стоит облако? Оpen source инструменты, чтобы оценить расходы на виртуальную инфраструктуру

Время на прочтение4 мин
Количество просмотров2.9K
image

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

Предлагаем обратить внимание на open source решения, позволяющие найти «узкие места» и сократить чек в условиях уже развернутой инфраструктуры — например, Komiser, OpenCost, Koku.
Читать дальше →
Всего голосов 7: ↑5 и ↓2+5
Комментарии0

Найти и уничтожить: как Clickhouse удаляет собственный код из памяти и переключается на использование Huge Pages

Время на прочтение8 мин
Количество просмотров9.2K

В Clickhouse есть интересный код: при вызове одной функции происходит перевод области памяти исполняемого кода программы на использование Huge Pages. В процессе весь код программы копируется на новое место, память, использовавшаяся изначально для кода программы возвращается ОС, а потом запрашивается снова. Эта статья основана на соответствующей части доклада с Я.Субботника.

Сначала мы посмотрим, что такое виртуальная память и TLB, потом перейдём собственно к Clickhouse, посмотрим, почему там пришла идея делать такие махинации с бинарником в памяти, а в конце посмотрим, как это всё реализовано.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии31

Имя enum'a C++ в рантайме

Время на прочтение10 мин
Количество просмотров6.5K

Получение имени типа, не важно это структура или перечисление, в C++ — проблема. То, что тривиально известно компилятору на этапе парсинга исходников, не получится перевести в человеко-читаемый вид в рантайме. Можно использовать std::type_info::name, который не является переносимым решением, потому что зависит от реализации манглинга в компиляторе. Некоторые компиляторы (например, MSVC, IBM, Oracle) создают "удобное" имя типа, а вот gcc и clang, возвращают искаженное имя, котороe можно преобразовать в удобочитаемую форму с помощью дополнительных функций, например abi::__cxa_demangle. Чтобы вся эта магия работала нужно подключить RTTI, который тоже не всегда доступен, а иногда и вообще-то вреден, потому что сжирает драгоценную производительность, но можно сделать по другому.

follow the white rabbit
Всего голосов 7: ↑7 и ↓0+7
Комментарии11

Истории

Rust 1.65.0: GAT, let-else, break от помеченных блоков, отказ от RLS

Время на прочтение5 мин
Количество просмотров7.5K

Команда 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) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии7

Как аккуратно записать гифку с консоли

Время на прочтение7 мин
Количество просмотров3.5K



Помните, как вы пытались записать демонстрацию CLI-инструмента? К старту нашего курса по DevOps делимся материалом о том, как записывать гифки с консоли кодом, чтобы тестировать сборки ПО и показывать ваши консольные инструменты.

Читать дальше →
Всего голосов 11: ↑10 и ↓1+10
Комментарии1

Запуск сервера сборки Jenkins

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров15K

Итак в вашем репозитории накопилось количество сборок превысившее число 1. Настало время задуматься о DevOps(е). Как же уследить за всеми этими сборками?

Классическое решение это запустить сервер сборки. Есть готовая технология, называется Jenkins.

Идея проста. Сервер сборки это инфраструктурный прикладной процесс, который периодически запускает скрипты построения конкретных программных проектов и затем сохраняет *.bin(ари) в конкретную папку или архив. Обычно сервер сборки работает автономно 24/7 и собирает артефакты из репозитория с кодом.

В этом тексте я написал инструкцию-методичку для разворачивания Jenkins на Windows компьютере.

Читать далее
Всего голосов 10: ↑3 и ↓7-3
Комментарии23

Что делать, если твой временной ряд растёт вширь

Время на прочтение10 мин
Количество просмотров7.3K

Привет, Хабр! Есть мнение, что прогнозирование временных рядов - сложная задача. Но не будем расстраиваться, ведь есть и плюсы - существует ещё большое количество задач, когда рядов сразу несколько, и такие задачи ещё сложнее! Когда начинаем сравнивать, понимаем, что прогнозировать одномерные временные ряды не так уж и сложно. А вот что делать с ситуацией, когда временной ряд обрастает параллельно идущими с ним последовательностями других параметров (многомерный ряд), какие методы и алгоритмы использовать, и что делать, если задача прогнозировать такие ряды есть, а опыта не очень много (спойлер - используйте AutoML, а пока он работает восполните пробел прочитав пару статей по теме), разбираем под катом.

Что такое временной ряд 

Если начинать совсем издалека, то это последовательность значений, упорядоченная по времени. Во временных рядах есть закономерность: текущие значения ряда связаны с предыдущими. Если такого свойства у ряда нет, то поздравляем (или не поздравляем), вы имеете дело с процессом, который прогнозировать классическими (и не очень) моделями не выйдет, в таком случае стоит смотреть в сторону Марковских процессов.

Простенькая картинка ниже иллюстрирует описанное выше свойство, - этого бэкграунда для продолжения чтения поста достаточно (Рисунок 1).

Ну и что же делать
Всего голосов 5: ↑5 и ↓0+5
Комментарии7

Joomla 4: мощь CLI приложений

Время на прочтение17 мин
Количество просмотров2.6K

В Joomla 4 из коробки поставляется новый, улучшенный CLI (интерфейс командной строки), который входит в состав в ядра. Теперь вы можете выполнять задачи тех.обслуживания, даже не заходя на свой веб-сайт. Также в статье затрагивается вопрос постановки задач Планировщика задач Joomla 4.1 на серверный CRON. Есть список-шпаргалка CLI команд Joomla 4 и Akeeba Backup.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

SWUpdate, Yoctо(ерный) театр и paperina

Время на прочтение15 мин
Количество просмотров4.1K

SWUpdate — это агент обновлений Linux, целью которого является эффективный и безопасный способ обновления встроенной системы. SWUpdate поддерживает локальные и удаленные обновления, включает несколько стратегий обновления, и его можно легко интегрировать в систему сборки Yocto, подключив слой meta-swupdate.

В статье описывается как можно настроить режим обновление в Yocto наиболее простым способом для платы Orange Pi R1, таким же образом вы можете настроить и обновление для самой распространенной платы Raspberry Pi.

Дистрибутив Yocto для которого будет подготовлено обновление наследуется от образа core-image-minimal и выполняет функцию простого маршрутизатора, используя DHCP и Shorewall.

Статья из серии: если хочешь что то обновить, сделай это сам.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Пастильда: Независимое Beta-Тестирование (16+)

Время на прочтение6 мин
Количество просмотров4.3K

Решил купить себе Pastild(у). Это аппаратный хранитель паролей и одновременно USB Flash(ка). Также понравилась возможность съёмной SD карты. Идея аппаратного менеджера паролей, который не требует отдельного USB просто великолепная!

Какие же впечатления от использования Пастильды (User experience)?

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии15

Нейросети на RISC-V с Movidius Neural Compute Stick

Время на прочтение6 мин
Количество просмотров5.2K

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-экосистемой.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии2

9 продуктов для создания дашбордов

Время на прочтение8 мин
Количество просмотров37K

Семь Open Source и два low-code-продукта для визуализации BI-аналитики от AFFINAGE

Для решение клиентских задач мы постоянно ищем способы сделать лучше. И очень часто сделать лучше значит сменить продукт. Поэтому мы постоянно анализируем рынок различных nocode-решений. Мы решили поделиться накопленными знаниями о такой важной задаче как построение аналитических дашбордов.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии20

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Создание своего Live-образа Fedora

Время на прочтение4 мин
Количество просмотров6.5K

Рано или поздно любому системному администратору придёт в голову мысль о создании флешки с Linux с нужными ему программами, будь-то условным Ansible, так и инструментами для восстановления системы. Некоторым же необходим свой LiveCD, который можно будет установить на любой персональный, или не совсем, компьютер.

В этой статье я расскажу как с помощью livemedia-creator создать свой Live-образ Fedora 37 с некоторыми дополнительными программами, который можно как использовать без установки, так и установить на желательный персональный компьютер. Данная статья подойдёт как начинающим пользователям Linux с небольшим опытом, так и ленивым сисадминам, которым лень искать и читать документацию.

Читать далее→
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Примеры ошибок, которые может обнаружить PVS-Studio в коде LLVM 15.0

Время на прочтение20 мин
Количество просмотров3.6K

PVS-Studio: потому, что могу
Компиляторы развиваются и выдают всё больше предупреждений. Остаются ли преимущества от использования статических анализаторов кода, таких как PVS-Studio? Да, так как анализаторы тоже развиваются. Перед вами статья о том, как PVS-Studio находит баги даже в компиляторе.

Читать дальше →
Всего голосов 21: ↑19 и ↓2+23
Комментарии8

Albumentations: Пожертвования

Время на прочтение4 мин
Количество просмотров1.8K

В прошлом посте я писал про то, какая ситуация сложилась с open source библиотекой Albumentations на лето 2022.

Проект разрабатывается в свободное время на энтузиазме Core Team (трое) и вкладе сторонних разработчиков (более сотни).

Библиотеку активно используют:

20-30 тысяч скачиваний в день. (20 октября по неизвестной причине, выстрелило до 121k)

7 миллионов скачиваний в сумме

11 тысяч звезд на GitHub (если вы свою не поставили - то самое время)

Читать далее
Всего голосов 12: ↑9 и ↓3+7
Комментарии10

Open Source для MLOps: сравнение популярных решений

Время на прочтение6 мин
Количество просмотров4.6K


Здравствуй, Хабр! Меня зовут Александр Волынский, я занимаюсь разработкой ML Platform в VK Cloud. Наша ML-платформа стала доступна пользователям совсем недавно, некоторые из её компонентов сейчас находятся на этапе бета-тестирования. В этой статье я расскажу, как мы выбирали Open-Source-инструменты для MLOps-платформы, какие решения сравнивали, на каком варианте остановили выбор и почему. 
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии0

Семь способов передачи телеметрии из Azure RTOS через интернет

Время на прочтение13 мин
Количество просмотров3.4K

Решаем задачу  непрерывной передачи данных от встраиваемой системы c Azure RTOS на персональный компьютер. Рассмотрим проблему с точки зрения наиболее эффективных и доступных способов приёма телеметрии. Сопроводим все открытым демонстрационным проектом.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии4

KataOS — новая операционная система от Google для приложений машинного обучения

Время на прочтение4 мин
Количество просмотров9.5K

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

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

ОС предназначена не для настольных компьютеров или смартфонов, а для Интернета вещей. Цель состоит в том, чтобы создать надёжно защищённые системы для встроенного оборудования или периферийных устройств, таких как подключённые к сети камеры, используемые для захвата изображений, которые обрабатываются на устройстве или в облаке для машинного обучения.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

Из-за чего весь сыр-бор: про уязвимость Text4Shell

Время на прочтение7 мин
Количество просмотров7.9K

За последнюю неделю в сфере инфобеза стали появляться новости о втором пришествии уязвимости 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 решила определить уязвимые места в исходном тексте, оценить выпущенный патч от команды разработки и посоветовать шаги, которые помогут защититься от возможных атак.

Читать
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Вклад авторов