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

Open source *

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

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

Rust 1.63.0: потоки области видимости, I/O безопасность, NLL во всех редакциях по умолчанию

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

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


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


rustup update stable

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


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


Что стабилизировано в 1.63.0


В стандартную библиотеку добавлены потоки, которые гарантировано завершаются в конце области видимости. Завершена миграция всех редакций языка на NLL. Добавлены новые типы для работы с дескриптерами файлов операционной системы.

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

LINSTOR — это как Kubernetes, но для блочных устройств (обзор и видео доклада)

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

В июне я выступил на объединенной конференции DevOpsConf & TechLead Conf 2022. Доклад был посвящен LINSTOR — Open Source-хранилищу от компании LINBIT (разработчики DRBD). Основной идеей выступления было показать [на примере Kubernetes], как работает и устроен LINSTOR, какие проблемы решает, как его правильно настроить и использовать. Эта статья — основная выжимка из доклада (его полное видео см. в конце).

Читать далее
Всего голосов 35: ↑33 и ↓2+37
Комментарии5

Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом

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

polkit – это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав a GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Раскрытие уязвимости было скоординировано с командой по поддержке polkit, а также с командой по обеспечению безопасности в компании Red Hat. О раскрытии этой уязвимости было объявлено публично, патч для нее был выпущен 3 июня 2021 года, и ей был присвоен код CVE-2021-3560.

Эта уязвимость позволяет непривилегированному пользователю, работающему на локальном ПК, получить root-доступ к командной оболочке системы. Такой эксплойт несложно осуществить при помощи нескольких стандартных инструментов командной строки, как показано в этом коротком видео. В данном посте будет объяснено, как устроен этот эксплойт, а также показано, где именно в исходном коде находится этот баг.

История уязвимости CVE-2021-3560 и какие дистрибутивы она затронула

Рассматриваемый баг достаточно старый. Он вкрался в код более восьми лет назад в коммите bfa5036 и впервые мог использоваться в версии 0.113 программы polkit. Однако, во многих популярных дистрибутивах Linux эта уязвимая версия не использовалась до относительно недавнего времени.

Немного специфической историей этот баг обладает в Debian и его производных (например, в Ubuntu), так как Debian использует форк polkit, в котором есть своя особенная схема нумерации версий. В форке Debian этот баг появился в коммите f81d021 и впервые попал в дистрибутив в версии 0.105-26. В стабильном релизе Debian 10 (“buster”) используется версия 0.105-25, таким образом, уязвимости в нем нет. Но некоторые производные Debian, в том числе, Ubuntu, основаны на нестабильной версии Debian, а она уязвима.

Читать далее
Всего голосов 17: ↑15 и ↓2+20
Комментарии3

Раскрашивание изображений с использованием нейронных сетей

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

Раскрашивание изображений с использованием нейронных сетей

DeOldify — это проект, основанный на глубоком обучении, для раскрашивания и восстановления изображений. Модель использует архитектуру NoGAN для обучения модели.

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

Читать далее
Всего голосов 9: ↑7 и ↓2+5
Комментарии23

История о том, как фронтендер YaLM 100B на одной RTX 3070 TI запускал

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

В июне Яндекс опубликовал нейросеть YaLM 100B. Нейросеть умеет генерировать тексты. А это очень мощная вещь, можно попробовать массу всего полезного (и не очень) создать с ее помощью, от сюжетов для книг, игр и приложений, заканчивая рерайтом статей или того хуже, дорвеями.

Эта штука имеет лицензию Apache 2.0. Но чтобы запустить нужно ~ 200GB GPU  видеопамяти!

И еще есть нюанс, проверить нейронку в работе, не так-то просто. Яндекс не предоставили ни демок, ни инструкций, как запустить бюджетно YaLM 100B. Пока все ждут урезанную или онлайн версию, я познакомился с ней поближе. Об этом и лонгрид. 

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

Поехали!
Всего голосов 25: ↑18 и ↓7+19
Комментарии17

Необычные проекты интернета вещей. Пёс-охранник на Raspberry Pi и умная видеоняня

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


Умный дом делает жизнь комфортнее и безопаснее. Безопасность никогда не бывает лишней. Одна из задач интернета вещей — защита человека и его жилища, поэтому мы ставим камеры видеонаблюдения с датчиками движения и уведомлениями через интернет. В любой момент можно достать телефон и проверить, что в дом не пробрались еноты.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Консольный UI и отказ от асинхронного кода в idewave-cli

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

С выходом версии 1.0.1 я решил осветить некоторые аспекты технической стороны моего проекта. В этой статье я расскажу про использование библиотеки tui-rs и про нюансы использования библиотеки tokio-rs, а так же постараюсь рассказать, что же было исправлено и почему так, как было раньше делать не надо. Добро пожаловать в статью - возможно, кому-то она поможет на тернистом пути погружения (или восхождения) в Rust.

Читать далее
Всего голосов 9: ↑7 и ↓2+6
Комментарии14

Как мы создали единый электронный архив документов MOEX Group на основе open source

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

ОPEN SOURCE + КОМАНДА = ХРАНИЛИЩЕ НА 7+ МЛН ДОКУМЕНТОВ

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

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

Новое, старое, улучшенное и поддержка китайских процессоров: что собой представляет ядро Linux 5.19

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

Прошло совсем немного времени со времени релиза 5.18, и Линус Торвальдс представил новый — 5.19. Как всегда, исправлений огромное количество — свыше 16 000 от 2190 разработчиков. В прошлом релизе было примерно столько же, так что в мире Linux, можно сказать стабильность.

Объем патча составил 90 МБ, при этом изменены в разной степени почти 14 000 файлов. Добавлено 1,14 млн строк кода, удалено при этом 349 177 тыс. Что касается фокуса изменений, то активнее всего велась работа с драйверами устройств, это около 39% всех изменений, еще около 21% — обновление кода, связанное с различными аппаратными архитектурами. Ну и уже меньше изменений, связанных с сетевым стеком, файловыми системами и внутренними подсистемами. Под катом подробности о главных новшествах и апдейтах.
Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии14

Написание ОС с нуля: Глава 2, Часть 3 — Терминал

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

В предыдущей статье мы написали простейший загрузчик, печатающий на экран "Hello, World!" и завершающийся по нажанию клавиши. Сегодня напишем терминал, у которого будет несколько комманд, обновим библиотеку и сделаем ещё пару вещей.

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

WebODM: Создаем карты и 3d модели с дрона

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

Развитие программного обеспечения с открытым исходным кодом, снижает барьер входа в нишевые технологии. Ранее подобные технологии были широко распространены в рамках геодезии, однако сейчас фотограмметрия используется в разработке игр, VR/AR, или для сохранения исторических памятников культурного наследия.

В данной статье, мы рассмотрим процесс установки и эксплуатации WEBODM - бесплатного, кросс-платформенного программного обеспечения для создания карт, и 3D-моделей из аэрофотоснимков.

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

Визуализация в IoT: или как самому развернуть систему сбора и отображения данных на MQTT+Telegraf+InfluxDB+Grafana

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров45K

В данной статье приведен скоуп информации о том, что взять за основу, чтобы развернуть свой домашний Linux-сервер и систему визуализации на нем, используя MQTT в качестве транспорта с оконечного оборудования. 

Многие статьи или инструкции, которые есть в интернете, в части работы с Influx и Telegraf – имеют отношения к довольно старым версиям рассматриваемого ПО, в виду чего у меня ушло какое-то время, чтобы со всем разобраться. Хотелось бы оставить небольшое обновление по инструкциям здесь, возможно, они помогут кому-то сэкономить время и нервы, так как информация агрегирована в виде summury моего погружения в реализацию данного решения. 

Кому интересно, welcome :)

Читать далее
Всего голосов 16: ↑14 и ↓2+13
Комментарии15

ОС с нуля: Глава 2, Часть 1 — Да зачем нам этот Legacy

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

Пару месяцев назад я решил начать серию статей про написание своей ОС с нуля. Описал написание Legacy MBR загрузчика и переход в защищенный режим (без прерываний) и ещё пару мелочей. Сегодня я решил, что попытаюсь "перезапустить" эту серию (сохранив нумерацию частей). Суть в том, что теперь будут использоваться актуальные на август 2022 года материалы, и разработанное ПО можно будет легко протестировать на своей (U)EFI-машине.

Читать
Всего голосов 24: ↑22 и ↓2+28
Комментарии25

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

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

CVAT. Инструкция по разметке

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

Немногие знают, что популярный инструмент Computer Vision Annotation Tool разрабатывали наши ребята в Нижегородском офисе Intel.

Весной Intel приостановил все деловые операции в России. Таким образом ребятам вырубили все доступы, а open source инструмент перестал обновляться.

Но не все так плохо! Сейчас команда CVAT сделала трансформацию, отделилась от Intel и продолжила развивать уже новый CVAT.ai своими силами.

Подробнее о том, как CVAT.ai будет развиваться, вы можете узнать из

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

Примитивы Desbordante: Функциональные зависимости и их применение в эксплорации и очистке данных

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

Функциональные зависимости – концепция, которой уже много десятков лет, её преподают практически в каждом курсе баз данных. Их классическое применение – нормализация схемы данных. В последние годы у концепции появилось множество иных приложений в контексте data science, касающиеся эксплорации и очистки данных.

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

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

77+ примеров использования смарт-контрактов

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

77+ примеров использования смарт-контрактов

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

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

Чтобы преодолеть отсутствие такого связующего звена, гибридные смарт-контракты используют оракулы в качестве посредника для сбора информации из внешних источников данных, предоставления информации во внешние источники, и для вычислений off-chain. Оракулы обеспечивают не только двустороннюю связь между смарт-контрактами и внешним миром,  но и безопасную среду, которая защищает от любого риска единой точки отказа (single point of failure), например, от манипуляции данных или системного сбоя.

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

Все словно забыли, почему возникли GNOME 3 и Unity

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


Хорошо известно, откуда появился GNOME 3, а потом и Unity. Но такое впечатление, что многие забыли о главном — почему были созданы эти окружения. И почему экосистема Linux настолько фрагментирована и разобщена.

Что ж, напомним предысторию в двух словах. В 2006 году корпорация Microsoft пригрозила подать в суд на всех разработчиков Linux с интерфейсом, похожим на Windows 95. Сейчас Microsoft позиционирует себя как дружелюбную компанию, но тогда было иначе. Это была серьёзная угроза.
Читать дальше →
Всего голосов 28: ↑22 и ↓6+23
Комментарии81

Яндекс выложил в опенсорс бету фреймворка userver

Время на прочтение10 мин
Количество просмотров75K
Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на Гитхаб-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.



🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать дальше →
Всего голосов 141: ↑137 и ↓4+169
Комментарии142

«Вам будут писать: это отстой!»: Андрей Власовских о плюсах и минусах open source

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

Сделать вклад в развитие сообщества, прокачать скилы или сэкономить на разработке – у каждого есть свой мотив, чтобы участвовать в open source проектах. Мы поговорили с Андреем Власовских, участником программного комитета Pycon Russia и одним из фанатов открытого кода, как войти в open source и как добиться в нем успеха (и в чем этот успех можно измерить). Ну и немножко про Python, конечно. 

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

Несколько хостов FreeIPA за HTTP-proxy: настраиваем HAProxy 2+

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

Путь инженера в телекоме часто начинается со службы технической поддержки. Чтобы вырастить из новичков высококлассных специалистов, нужно дать им возможность работать над выходящими за рамки служебных обязанностей задачами. Мы стараемся помогать активным коллегам в развитии — это один из главных принципов HOSTKEY с момента основания компании. Публикуем заметку о реализации проксирования административной панели FreeIPA через HAProxy, написанную нашим инженером техподдержки Александром Тряпкиным.

(А здесь можно прочесть, как синхронизировать FreeIPA с Active Directory).

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

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