Рубрика «open source» - 138

Возьми баг

Изучая предупреждения анализатора PVS-Studio в процессе проверки различных открытых проектов, мы вновь и вновь убеждаемся, сколь полезен может быть этот инструмент. Анализатор кода невероятно внимателен и никогда не устаёт. Он указывает на ошибки, которые ускользают даже при внимательном обзоре кода. Рассмотрим очередной такой случай.
Читать полностью »

Вступление

Начнем с терминов:

  • MSI — штатный формат для распространения ПО в MS Windows.
  • WiX — сокращенное название от WiX Toolset (Windows Installer XML).

На данный момент, WiX стал де-факто стандартным инструментом для создания MSI пакетов. К нему существует масса вспомогательных инструментов-оберток, решающих те или иные задачи (python-wix, go-msi, electron-wix-msi и пр.). Иными словами, изготовление MSI пакетов оформилось в небольшую отдельную отрасль со своими гуру, сертификациями и прочими сопутствующими атрибутами. И у Windows-программистов под руками широкий выбор инструментария для создания инсталляторов ПО. На Хабре уже не раз были статьи, посвященные WiX: 1, 2, 3, 4.

Но существующий подход WiX страдает двумя серьезными недостатками:

  1. Необходимые для создания MSI пакета WXS файлы чудовищно громоздки и весьма низкоуровневые — их написание требует специфических знаний Windows Registry, внутренней базы MSI пакета и прочих нюансов. Для крупных проектов и корпораций держать отдельных специалистов по изготовлению инсталляторов не проблема. Для средних и мелких проектов это становится достаточно высоким порогом вхождения.
  2. Сборка MSI пакетов с использованием WiX требует обязательно Windows сервер. Для разработчиков под MS Windows этот пункт покажется странным, но для тех, кто участвует в кросс-платформенных проектах, дополнительный "железный" Windows-сервер или Windows-инстанс в облаке, как пятое колесо в телеге: и в плане затрат и в плане интеграции.Читать полностью »

В воскресенье лидер проекта Linux ядра сделал заявление, которое будет иметь долгосрочные последствия для всего сообщество сторонников открытого кода. По своему обыкновению, он не стал обращаться через социальные сети и делать громкие заявления для прессы. В письме содержащем комментарии к версии 4.19-rc4 он принес извинения за все те инциденты, когда из-за резкого тона в переписке мог задеть чувства младших коллег по цеху. Также он рассказал о своем решении временно отойти от руководства проектом для того, чтобы произвести ревизию своего инструментария, стиля и затем вернуться в строй после работы над ошибками.

Линус и Грег

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

Читать полностью »

Создание пакетов для Kubernetes с Helm: структура чарта и шаблонизация - 1

Про Helm и работу с ним «в общем» мы рассказали в прошлой статье. Теперь подойдём к практике с другой стороны — с точки зрения создателя чартов (т.е. пакетов для Helm). И хотя эта статья пришла из мира эксплуатации, она получилась больше похожей на материалы о языках программирования — такова уж участь авторов чартов. Итак, чарт — это набор файлов… Читать полностью »

Привет друзья!

Меня зовут Николай, читателем Хабра являюсь давно, а вот с написанием статей как-то не сложилось. Пора исправлять эту ситуацию, тем более что как раз имеется повод — только что я запустил компанию на Kickstarter для реализации устройства с открытым исходным кодом.
DevBoy — как я создал проект устройства с открытым исходным кодом и запустил проект на Kickstarter - 1
Кому интересно — прошу под кат.
Читать полностью »

Mozilla старается защитить свои репозитории на GitHub от вредоносных изменений. Как показал недавний инцидент с Gentoo, такие атаки реальны.

Первоначально Mozilla использовала GitHub как запасной хостинг. Подобно Gentoo, оригинальные репозитории хранились на собственной инфраструктуре. И хотя большая часть кода Firefox по-прежнему распространяется с собственной инфраструктуры, но многие проекты существуют только на GitHub. Некоторые — просто эксперименты, а другие используются в продакшне (например, Firefox Accounts). Такие «чувствительные» репозитории нужно защищать от вредоносных правок, при этом не усложняя коммиты для нормальных людей.
Читать полностью »

Здравствуйте.
Хочу показать простой USB-логический анализатор, который можно собрать на любой отладочной плате с микроконтроллером STM32F042 например NUCLEO-F042K6 от ST. А впрочем, по ссылкам найдёте исходники и легко переделаете на любой другой из этого семейства.
В этой конструкции 8 каналов. Под них в микроконтроллере задействованы порты PA0-PA7. Максимальная частота выборки – 8 МГц. Максимальная частота входного сигнала – 2 МГц. Максимальное количество выборок на канал – 4096.
Вот здесь нужно отметить, что логический анализатор это железо & ПО для захвата сигнала и его последующего исследования, измерения, анализа интерфейсов.
Присосаться к I2C. Сделай простой логический анализатор - 1
Оболочка для ПК позволяет после захвата проанализировать сигналы на всех 8 каналах, а также Читать полностью »

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.29.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust с помощью Rustup, то для обновления Rust до версии 1.29.0 вам достаточно выполнить:

$ rustup update stable

Если у вас еще не установлен Rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.29.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.29.0

1.29 привносит не очень много изменений. Ожидается что Rust 1.30 и 1.31 будут очень значительными, так что большая часть 1.29 итерации ушла на подготовку к будущим изменениям. Два самых заметных нововведения этого выпуска даже не касаются самого языка: это две новые возможности Cargo и обе они касаются предупреждений.

  • cargo fix автоматически исправляет предупреждения в коде
  • cargo clippy — статический анализатор Rust кода, помогающий поймать распространенные ошибки и просто улучшить код

cargo fix

С выпуском Rust 1.29 у Cargo появляется новая подкоманда: cargo fix. Если вы когда-либо писали на Rust, то скорее всего уже сталкивались с предупреждениями компилятора. Например, рассмотрим такой код:

fn do_something() {}

fn main() {
    for i in 0..100 {
        do_something();
    }
}

В нем мы вызываем do_something сто раз, но никогда не используем переменную i. Rust предупреждает нас об этом:

Читать полностью »

Как и многие другие страны, Россия для официального электронного документооборота использует x509 сертификаты, выпускаемые уполномоченными Российскими Удостоверяющими Центрами (УЦ). И в отличие от многих других стран, использует свои собственные шифры.

Я давно хотел автоматизировать проверку подписей ответов органов власти (я много переписываюсь) и проверку «выгрузок» Роскомнадзора на подлинность (по роду общественной деятельности). Самой большой проблемой было достать промежуточные сертификаты из цепочки. Потому что существовал невнятный Excel-файл корневых УЦ на сайте Минсвязи и всё. А промежуточные надо было искать по сайтам соответствующих УЦ. Жизнь — боль.
Читать полностью »

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

leak

Как говорится: «никогда такого не было, и вот опять». Напомню, 9 лет назад точно такая же история была с российским сегментом интернета пораженным синдромом открытой .svn. Далее представлены результаты кропотливой работы чешского исследователя, инструментарий и методы.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js