Все потоки
Поиск
Написать публикацию
Обновить
374.59

Open source *

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

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

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

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

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

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

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

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



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

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

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

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

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

Читать далее

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

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

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

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

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

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


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

Запуск ML скриптов в облаке с помощью dstack. Бонус – про запуск open-source проектов

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

Привет! На прошлой неделе мы выложили на GitHub утилиту для запуска ML скриптов в AWS. 

В этом посте я бы хотел рассказать, об этой утилите, а также с какими трудностями мы столкнулись при ее разработке. Во второй части статьи, я бы хотел поделиться нашим опытом запуска open-source проекта, и чему этот опыт научил.

Статья может быть интересна тем, кто имеет отношение к машинному обучению, тем кто разрабатывает собственные утилиты для разработчиков, и, наконец, тем, кто занимается разработкой open-source проектов.

Читать далее

Высокоэффективная генерация изображений на KerasCV с помощью Stable Diffusion

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


Сегодня покажем, как генерировать новые изображения по текстовому описанию при помощи KerasCV, stability.ai и Stable Diffusion. Материал подготовлен к старту нашего флагманского курса по Data Science.

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

Как перестать велосипедить или 4 self-hosted сервиса для начинающего СТО

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

Я знаю многое о велосипедах в Enterprise-разработке. Видел издали, катался на них, собирал сам, но наступают моменты, когда типичные задачи пора перевести на типичные решения. В статье расскажу о 4 self-hosted сервисах, которые освобождают уйму времени на действительно важные вещи.

Слезть с велосипеда

Отправляем спамеров в парольное чистилище

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

Как лучше всего наказывать спамеров? Я очень долго думал над этой темой, потому что потратил кучу времени на фильтрацию бесконечного хлама, который они мне присылали. И тут меня озарило: наказание должно соответствовать преступлению — краже моего времени. То есть я, в свою очередь, должен красть их время. Разумеется, с минимальными затратами моего времени. Поэтому в начале этого года я создал Password Purgatory («Парольное чистилище») с единственной целью — провести спамеров через всего круги ада выбора пароля, удовлетворяющего ужасно сложным критериям. И когда я говорю "ужасно сложные критерии", это значит, что они гораздо хуже, чем то, что вы когда-либо видели. Я выложил проект в открытый доступ, принял несколько PR, создал API, задающий всё более сложные требования к паролям, и на этом остановился. Пока, наконец, не выпустил готовый проект. Он жив, работает и при этом дьявольски прекрасен.
Читать дальше →

Кручу, верчу, imgui loader нарисовать хочу…

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

В одном из сайд-проектов с использованием imgui понадобилась "вертячка" (loader, spinner, анимация загрузки). Из коробки этот ui-фреймворк таких виджетов не предоставляет, поэтому решил сделать свой: код простой, математики почти нет. Показал ocornut-y, ему тоже понравилось, теперь базовый виджет на очереди интеграции в imgui. Поискал интересные спинеры на разных сайтах для веб-интерфейсов - десятки видов на любой вкус и цвет, есть и 3д, но все в основном или пререндеры в виде (gif) или векторные анимации, которые для отрисовки требует отдельного фреймворка вроде cairo, а алгоритмов или описания как это работает, почти нет. Все спинеры сделаны в стиле "что вижу, то и пою", немного математики синусы/косинусы для координат, и тестировать пока не будет похоже на решение от UI дизайнера. Да-да, я понимаю, что когда космические корабли бороздят просторы большого театра DALL·E 2 рисует "улыбку мадонны", писать что-то на плюсах, да еще для UI...

Много анимаций, мало кода

Цветные функции: ищем плохие архитектурные паттерны

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

Когда у языка нет цветовой дифференциации функций… то у языка нет цели?

Я уже много лет занимаюсь компиляторами и языками в целом. Хочу поделиться интересной мыслью, которая когда-то пришла мне в голову. Почему-то такого я нигде не видел.

Если немного расширить понятие функции (ввести атрибут «цвет»), можно описывать паттерны вида «вызывать логгер из performance-critical мест — это плохо» или «ходить в базу при рендеринге шаблонов запрещено».

Идея абсолютно не зависит от языка и применима к любому: хоть JS, хоть Go. Разберу её подробно в статье, и это будет интересно больше с теоретической точки зрения. Хотя мы даже сделали практическую реализацию для PHP, чтобы использовать у себя. Ссылки на GitHub и видео приложу в конце, а пока обо всём по порядку.

Читать далее

MVI и State Machine — объединяем концепции. Визуализация и анализ диаграммы состояний в Android и KMM проектах

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


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


В итоге мы получаем конечный автомат.


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


Мы написали и выложили в опенсорс MVI-библиотеку на Kotlin — VisualFSM, которая умеет по исходному коду строить визуализацию вашей системы, что позволит быстрее понимать сложные бизнес-процессы, упрощать поиск ошибок, добавлять новую функциональность и проводить рефакторинг.


Под катом я расскажу подробнее о нашем подходе, о том, как устроена библиотека, и как начать ее использовать.

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

Октябрь — лучший «понедельник» для Open Source

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

Октябрь — время фестивалей. Один из них — Hacktoberfest, который приглашает любого участника внести вклад в Open Source. Кому это подходит? Давайте вместе разберемся, чем полезен Open Source начинающим и опытным разработчикам.

Happy Hacktoberfest!

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

Обзор лучших бесплатных приложений для исследований в рамках форензики

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

На сегодняшний день у ряда специалистов по форензике в РФ возникают трудности в проведении исследования цифровых свидетельств с помощью платного коммерческого ПО, поскольку не всегда есть возможность продлить лицензионную подписку или срок действия аппаратного ключа. Приходится искать альтернативные пути, которые позволят, пусть и с некоторыми потерями во времени, выполнять расследования с сохранением достаточного уровня качества. Мы в “Информзащите” изучили довольно большой ряд бесплатных опенсорсных инструментов, которые применяем в наших расследованиях и хотим поделиться с вами нашими впечатлениями и опытом применения такого ПО.

Читать далее

TorchOk — представляем open-source пайплайн для обучения нейросетей в компьютерном зрении

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

Иннополис — место, где формируются идеи, которые затем вырываются в большой мир, чтобы сделать его немного лучше, удобнее и технологичнее. Так произошло и с разработками компании EORA, которая опубликовала пайплайн для машинного обучения, заточенный под работу с компьютерным зрением.

Все необходимое для работы с ним опубликовано на GitHub под лицензией Apache 2.0, но если хотите подробностей из первых уст — добро пожаловать под кат. Передаем слово руководителю отдела компьютерного зрения EORA Data Lab Владу Виноградову.

Мы много лет разрабатывали TorchOk, и чувствуем, что настало время для презентации: нам есть, что показать и о чем рассказать.

Читать далее

Торопиться не надо… (Про спинлоки)

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

После небольшой статьи про особенности при работе с кэшем (https://habr.com/ru/post/687146/) мне в личку прилетело несколько замечаний про работу спинлоков и приглашение на собес от пчелайнов, приятно, что технические статьи читают не только технари... лирика. Возвращаясь к обсуждению спинлоков, вышедших за рамки хабра, если это вызвало интерес, почему бы не написать про работу с этими примитивами синхронизации. Тема действительно интересная, да и разработчики придумали более десятка разновидностей спинлоков под разные вкусы и нужды. Все опять будет с тестами и примерами работы. @tbl Линус действительно прав, в юзерспейсе спинлоки "зло злющее", но как обычно есть нюансы...

Читать далее

Динамическая маршрутизация на основе FRRouting

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

Приветствую, дорогой читатель!

Меня зовут Евгений, я занимаюсь развитием сетевой инфраструктуры в Домклик. Сегодняшняя статья будет охватывать только применение динамической маршрутизации на основе FRRouting (FRR), но, возможно, в будущем я напишу продолжение о том, как конфигурировать другое оборудование, которое вы встретите в тексте.

Читать далее

Сравнение операционных Unix-подобных систем, наиболее перспективных для импортозамещения с точки зрения ИБ

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

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

В этой статье в блоге ЛАНИТ я пытаюсь частично ответить на данный вопрос для тех, кто готов будет изменить и, возможно, перестроить свою информационную инфраструктуру. Пост поможет ИБ-специалистам определиться с заменой операционных систем и значительно сэкономит их время по поиску нужной информации.

Читать далее

Перевод документации React Redux и проблемы переводчиков

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

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

Ссылка на перевод

Кратко: поговорили с авторами библиотеки, развернули перевод на github-pages, получили домен, получаем обновления через свой сервер и хотим внимания)

Читать далее

Rust 1.64.0: rust-analyzer в rustup, IntoFuture, ffi-типы в core и alloc, улучшения в Cargo

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

Команда Rust рада сообщить о новой версии языка — 1.64.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.64.0 вам достаточно выполнить команду:


rustup update stable

Если у вас ещё нет rustup, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.64.0 на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

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

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