CI/CD
(Continuous Integration) Непрерывная интеграция - постоянное слияние рабочих копий в общую основую ветвь разработки и выполнение частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов.
(Continuous delivery) Непрерывная поставка - частые выпуски RC, такой подход позволяет уменьшить стоимость, время и риски внесения изменений путем более частных мелких обновлений в продакшн-приложение. Гарантия того, что ПО стабильно и может быть передано в эксплуатацию в любое время. Целью является сборка, тестирование и релиз программного обеспечения с большей скоростью и частотой.
* Pipelines:
Последовательность шагов, которые нужно выполнить для того, чтобы код прошел через все стадии проверки, тестирования и развертывания. Процесс преобразования кода из "только что написанного" в "готово к использованию".
* Jobs:
Это отдельные задания или задачи внутри Pipeline. Например, одна работа может быть связана с компиляцией кода, другая — с запуском тестов, третья — с развертыванием.
* Artifacts:
Это файлы, которые создаются и сохраняются в ходе выполнения Jobs. Например, если есть шаг сборки, который компилирует код, то результат этой сборки (например, исполняемый файл или архив) будет артефактом. Артефакты могут быть использованы в последующих шагах или сохранены для будущего использования.
#misc #build
(Continuous Integration) Непрерывная интеграция - постоянное слияние рабочих копий в общую основую ветвь разработки и выполнение частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов.
(Continuous delivery) Непрерывная поставка - частые выпуски RC, такой подход позволяет уменьшить стоимость, время и риски внесения изменений путем более частных мелких обновлений в продакшн-приложение. Гарантия того, что ПО стабильно и может быть передано в эксплуатацию в любое время. Целью является сборка, тестирование и релиз программного обеспечения с большей скоростью и частотой.
* Pipelines:
Последовательность шагов, которые нужно выполнить для того, чтобы код прошел через все стадии проверки, тестирования и развертывания. Процесс преобразования кода из "только что написанного" в "готово к использованию".
* Jobs:
Это отдельные задания или задачи внутри Pipeline. Например, одна работа может быть связана с компиляцией кода, другая — с запуском тестов, третья — с развертыванием.
* Artifacts:
Это файлы, которые создаются и сохраняются в ходе выполнения Jobs. Например, если есть шаг сборки, который компилирует код, то результат этой сборки (например, исполняемый файл или архив) будет артефактом. Артефакты могут быть использованы в последующих шагах или сохранены для будущего использования.
#misc #build
Что замедляет загрузку системы?
Можно использовать команду:
Она покажет службы systemd и время, которое потребовалось на их запуск.
Например:
Чем больше время — тем сильнее служба влияет на запуск системы. Но не спешите отключать всё подряд: некоторые сервисы запускаются параллельно, поэтому их время не всегда напрямую увеличивает время загрузки.
#misc #utils
Можно использовать команду:
$ systemd-analyze blame
Она покажет службы systemd и время, которое потребовалось на их запуск.
Например:
8.421s NetworkManager-wait-online.service
3.105s docker.service
1.842s plymouth-quit-wait.service
Чем больше время — тем сильнее служба влияет на запуск системы. Но не спешите отключать всё подряд: некоторые сервисы запускаются параллельно, поэтому их время не всегда напрямую увеличивает время загрузки.
#misc #utils
Основные термины из мира безопасности
- Уязвимость - ошибка или слабое место в программе, через которое можно нарушить её работу, получить доступ к данным или системе.
- CVE (Common Vulnerabilities and Exposures) - уникальный идентификатор публично известной уязвимости. Например:
- Эксплойт - код, программа или набор действий, использующий уязвимость для конкретной цели: выполнить код, повысить права, украсть данные и т.д.
- Эксплуатировать уязвимость - использовать её на практике. Например: "Злоумышленник эксплуатировал уязвимость в веб-сервере".
Ещё важные понятия:
- Патч - обновление, исправляющее ошибку или уязвимость.
- Zero-day / 0-day - уязвимость, для которой ещё нет исправления либо о которой разработчик узнал недавно.
- PoC (Proof of Concept) - демонстрационный код, подтверждающий, что уязвимость действительно работает. Не всегда является полноценным эксплойтом.
- CVSS - оценка критичности уязвимости по шкале от 0 до 10. Чем выше число, тем потенциально опаснее проблема.
#theory #security
- Уязвимость - ошибка или слабое место в программе, через которое можно нарушить её работу, получить доступ к данным или системе.
- CVE (Common Vulnerabilities and Exposures) - уникальный идентификатор публично известной уязвимости. Например:
CVE-2024-3094. CVE - это не сама уязвимость, а её номер в общей базе.- Эксплойт - код, программа или набор действий, использующий уязвимость для конкретной цели: выполнить код, повысить права, украсть данные и т.д.
- Эксплуатировать уязвимость - использовать её на практике. Например: "Злоумышленник эксплуатировал уязвимость в веб-сервере".
Ещё важные понятия:
- Патч - обновление, исправляющее ошибку или уязвимость.
- Zero-day / 0-day - уязвимость, для которой ещё нет исправления либо о которой разработчик узнал недавно.
- PoC (Proof of Concept) - демонстрационный код, подтверждающий, что уязвимость действительно работает. Не всегда является полноценным эксплойтом.
- CVSS - оценка критичности уязвимости по шкале от 0 до 10. Чем выше число, тем потенциально опаснее проблема.
#theory #security
rtorrent
Это консольный BitTorrent-клиент для Linux: через него можно добавлять и скачивать .torrent-файлы или magnet-ссылки, следить за скоростью и раздачами прямо в терминале.
Установка:
Как выйти из rtorrent? Ctrl+Q
> GitHub
#software #opensource #utils
Это консольный BitTorrent-клиент для Linux: через него можно добавлять и скачивать .torrent-файлы или magnet-ссылки, следить за скоростью и раздачами прямо в терминале.
Установка:
apt-get install rtorrent
Как выйти из rtorrent? Ctrl+Q
> GitHub
#software #opensource #utils
- SUID — программа запускается с правами её владельца. Может использоваться для повышения привилегий, если настроена небезопасно. Эскалация прав. Пример:
Как найти все файлы с SUID-битом?
- SGID — программа запускается с правами группы-владельца; у директории новые файлы наследуют её группу. Эскалация прав. Пример:
Как найти все файлы с SGID-битом?
Эскалация прав — получение пользователем или программой более высоких прав доступа, чем были изначально. Например, от обычного пользователя до
- Sticky Bit — применяется к директориям, например
#theory #security
/usr/bin/passwdКак найти все файлы с SUID-битом?
$ find / -type f -perm -4000 2>/dev/null
- SGID — программа запускается с правами группы-владельца; у директории новые файлы наследуют её группу. Эскалация прав. Пример:
/usr/bin/crontabКак найти все файлы с SGID-битом?
$ find / -type f -perm -2000 2>/dev/null
Эскалация прав — получение пользователем или программой более высоких прав доступа, чем были изначально. Например, от обычного пользователя до
root.- Sticky Bit — применяется к директориям, например
/tmp: удалять или переименовывать чужие файлы может только их владелец, владелец директории или root.#theory #security
libcap2-bin
#security #misc #utils
$ dpkg -L libcap2-bin
/.
/usr
/usr/sbin
/usr/sbin/capsh
/usr/sbin/getcap
/usr/sbin/getpcaps
/usr/sbin/setcap
/usr/share
/usr/share/doc
/usr/share/doc/libcap2-bin
/usr/share/doc/libcap2-bin/README.Debian
/usr/share/doc/libcap2-bin/changelog.Debian.amd64.gz
/usr/share/doc/libcap2-bin/changelog.Debian.gz
/usr/share/doc/libcap2-bin/changelog.gz
/usr/share/doc/libcap2-bin/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libcap2-bin
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/capsh.1.gz
/usr/share/man/man8
/usr/share/man/man8/getcap.8.gz
/usr/share/man/man8/getpcaps.8.gz
/usr/share/man/man8/setcap.8.gz
libcap2-bin — пакет с утилитами для Linux capabilities: getcap смотрит capabilities файлов, setcap назначает их, getpcaps показывает capabilities процесса, capsh позволяет просматривать и изменять capabilities shell/процесса.#security #misc #utils
Упрощённая схема жизненного цикла ПО
* Сбор и обработка требований
* Получение технических заданий, планы работ
* Разработка
- Дизайн
- Кодирование
- Тестирование
- Документирование
* Поддержка
- Внедрение (Установка ПО, обучение пользователей)
- Сопровождение (Исправление выявленных ошибок, поддержка пользователей)
#theory #misc
* Сбор и обработка требований
* Получение технических заданий, планы работ
* Разработка
- Дизайн
- Кодирование
- Тестирование
- Документирование
* Поддержка
- Внедрение (Установка ПО, обучение пользователей)
- Сопровождение (Исправление выявленных ошибок, поддержка пользователей)
#theory #misc
Если нужно, чтобы Git нормально отображал кириллицу в
или выполните команду:
Эта настройка отключает экранирование не-ASCII-символов.
#git
git status / git log, именах файлов и похожих местах, добавьте в .git/config репозитория:[core]
quotepath = false
или выполните команду:
$ git config core.quotepath false
Эта настройка отключает экранирование не-ASCII-символов.
#git
Полезные ссылки (или неполезные)
https://tracker.debian.org/ - отслеживание пакетов Debian: версии, баги, изменения, сопровождение.
https://www.codewars.com/ - задачи по программированию и практика кода.
https://chatgpt.com/ - чат с ИИ ChatGPT.
https://chat.mistral.ai/ - чат с ИИ Mistral.
https://distrowatch.com/ - новости, рейтинги и информация о Linux-дистрибутивах.
https://goodfirstissues.com/ - поиск простых задач для первого вклада в open source.
https://goodfirstissue.dev/ - подборка beginner-friendly задач в open-source проектах.
https://www.linux.org.ru/ - русскоязычное сообщество и новости о Linux.
https://www.opennet.ru/ - новости, статьи и документация по Linux/Unix и ПО.
https://micronews.debian.org/ - короткие новости из жизни Debian.
https://www.debian.org/News/ - официальные новости проекта Debian.
https://www.debian.org/ - официальный сайт Debian.
https://salsa.debian.org/ - GitLab-платформа Debian с исходным кодом пакетов и проектов.
https://contributors.debian.org/ - участники проекта Debian.
https://keyserver.ubuntu.com/ - сервер поиска и публикации OpenPGP/GPG-ключей.
https://wiki.debian.org/Teams - список команд и рабочих групп Debian.
https://wiki.debian.org/LTS, https://www.debian.org/releases/ - информация о
долгосрочной поддержке Debian (LTS), релизы Debian.
https://www.debian.org/intro/help.en.html - как можно помочь Debian и с чего начать?
https://web.telegram.org/ - веб-версия Telegram.
https://tgstat.ru/ - статистика и аналитика Telegram-каналов.
https://tgstat.ru/tag/linux - подборка Telegram-каналов по теме Linux.
https://tgstat.ru/tag/devops - подборка Telegram-каналов по DevOps.
https://tgstat.ru/tag/it-books - подборка Telegram-каналов с IT-книгами.
https://online-timer.ru/ - онлайн-таймеры, секундомеры и будильники.
https://downsub.com/ - скачивание субтитров из видео по ссылке (например, YouTube).
https://ipcalc.co/ - калькулятор IP-подсетей, масок и диапазонов адресов.
https://2ip.io/ru/ - проверка IP-адреса, сети, DNS и других параметров подключения.
https://crontab.guru/ - удобная проверка и расшифровка cron-выражений.
https://wintelguy.com/umask-calc.pl - калькулятор прав доступа Unix/Linux и umask.
https://www.nerdfonts.com/ - шрифты с иконками для терминала, редакторов и status bar.
https://openbuildservice.org/ - система сборки и публикации пакетов для разных Linux-дистрибутивов.
https://www.profileme.dev/ - создание и оформление README-профиля GitHub (Demo).
https://ftp.ubuntu.com/ - сервер с пакетами, ISO-образами и файлами Ubuntu.
https://archive.debian.org/ - архив старых, неподдерживаемых релизов и пакетов Debian.
https://ftp.debian.org/debian/ - основной зеркальный сервер репозиториев Debian: пакеты, обновления и метаданные.
https://shields.io/badges - создание бейджей для оформления README.md и проектов.
#misc
https://tracker.debian.org/ - отслеживание пакетов Debian: версии, баги, изменения, сопровождение.
https://www.codewars.com/ - задачи по программированию и практика кода.
https://chatgpt.com/ - чат с ИИ ChatGPT.
https://chat.mistral.ai/ - чат с ИИ Mistral.
https://distrowatch.com/ - новости, рейтинги и информация о Linux-дистрибутивах.
https://goodfirstissues.com/ - поиск простых задач для первого вклада в open source.
https://goodfirstissue.dev/ - подборка beginner-friendly задач в open-source проектах.
https://www.linux.org.ru/ - русскоязычное сообщество и новости о Linux.
https://www.opennet.ru/ - новости, статьи и документация по Linux/Unix и ПО.
https://micronews.debian.org/ - короткие новости из жизни Debian.
https://www.debian.org/News/ - официальные новости проекта Debian.
https://www.debian.org/ - официальный сайт Debian.
https://salsa.debian.org/ - GitLab-платформа Debian с исходным кодом пакетов и проектов.
https://contributors.debian.org/ - участники проекта Debian.
https://keyserver.ubuntu.com/ - сервер поиска и публикации OpenPGP/GPG-ключей.
https://wiki.debian.org/Teams - список команд и рабочих групп Debian.
https://wiki.debian.org/LTS, https://www.debian.org/releases/ - информация о
долгосрочной поддержке Debian (LTS), релизы Debian.
https://www.debian.org/intro/help.en.html - как можно помочь Debian и с чего начать?
https://web.telegram.org/ - веб-версия Telegram.
https://tgstat.ru/ - статистика и аналитика Telegram-каналов.
https://tgstat.ru/tag/linux - подборка Telegram-каналов по теме Linux.
https://tgstat.ru/tag/devops - подборка Telegram-каналов по DevOps.
https://tgstat.ru/tag/it-books - подборка Telegram-каналов с IT-книгами.
https://online-timer.ru/ - онлайн-таймеры, секундомеры и будильники.
https://downsub.com/ - скачивание субтитров из видео по ссылке (например, YouTube).
https://ipcalc.co/ - калькулятор IP-подсетей, масок и диапазонов адресов.
https://2ip.io/ru/ - проверка IP-адреса, сети, DNS и других параметров подключения.
https://crontab.guru/ - удобная проверка и расшифровка cron-выражений.
https://wintelguy.com/umask-calc.pl - калькулятор прав доступа Unix/Linux и umask.
https://www.nerdfonts.com/ - шрифты с иконками для терминала, редакторов и status bar.
https://openbuildservice.org/ - система сборки и публикации пакетов для разных Linux-дистрибутивов.
https://www.profileme.dev/ - создание и оформление README-профиля GitHub (Demo).
https://ftp.ubuntu.com/ - сервер с пакетами, ISO-образами и файлами Ubuntu.
https://archive.debian.org/ - архив старых, неподдерживаемых релизов и пакетов Debian.
https://ftp.debian.org/debian/ - основной зеркальный сервер репозиториев Debian: пакеты, обновления и метаданные.
https://shields.io/badges - создание бейджей для оформления README.md и проектов.
#misc
Warning: Debian 11 Long Term Support reaches end-of-life
Новость: https://www.debian.org/News/2026/20260831
Короче говоря, с 31 августа 2026 года Debian 11 (Bullseye) больше не получает официальные обновления безопасности и исправления. Если у вас есть серверы или машины на этом релизе, лучше обновиться хотя бы до Bookworm или выше.
#news #debian
Новость: https://www.debian.org/News/2026/20260831
Короче говоря, с 31 августа 2026 года Debian 11 (Bullseye) больше не получает официальные обновления безопасности и исправления. Если у вас есть серверы или машины на этом релизе, лучше обновиться хотя бы до Bookworm или выше.
#news #debian
ИИ-токены - это условные "кусочки текста", которыми ChatGPT измеряет объём диалога. Токен - не обязательно слово: короткое слово может быть одним токеном, а длинное слово, число, ссылка или знак препинания - несколькими.
Например, надпись "Использовано токенов: 115 665 из 325 000" означает, что в чате уже обработано примерно 115 тысяч таких кусочков текста, а общий лимит - 325 тысяч. В токены входят сообщения пользователя и ответы ChatGPT. Это не валюта, но в API токены также используют для расчёта стоимости работы ИИ.
Чем длиннее сообщения и ответы ChatGPT, тем больше расходуется токенов. В счётчик входят текст диалога, цитаты, код, ссылки и другие данные.
#ai
Например, надпись "Использовано токенов: 115 665 из 325 000" означает, что в чате уже обработано примерно 115 тысяч таких кусочков текста, а общий лимит - 325 тысяч. В токены входят сообщения пользователя и ответы ChatGPT. Это не валюта, но в API токены также используют для расчёта стоимости работы ИИ.
Чем длиннее сообщения и ответы ChatGPT, тем больше расходуется токенов. В счётчик входят текст диалога, цитаты, код, ссылки и другие данные.
#ai
Chroot и Docker: в чём разница
Chroot и Docker-контейнеры позволяют запускать программы в изолированной среде, но работают по-разному.
Chroot меняет для процесса корневую папку файловой системы. Программа «видит» указанную директорию как
Плюсы chroot: минимальный расход ресурсов, простота, быстрый запуск, полный контроль над файловой структурой. Минус — слабая изоляция: chroot не предназначен для защиты от вредоносных процессов. При наличии root-доступа из такого окружения часто можно выбраться в основную систему. Также chroot не изолирует сеть, процессы и другие системные ресурсы сам по себе.
Docker использует возможности ядра Linux: namespaces изолируют процессы, сеть, пользователей и точки монтирования, а cgroups ограничивают потребление ресурсов. Контейнер Docker обычно запускается из готового образа и включает приложение со всеми зависимостями.
Плюсы Docker: удобная упаковка и переносимость приложений, воспроизводимый запуск, управление сетью и томами, более сильная изоляция, развитая экосистема. Минусы: больше служебных компонентов, сложнее настройка, крупнее образы и выше расход ресурсов по сравнению с простым chroot.
Итог: chroot подходит для лёгких локальных окружений, сборки пакетов и экспериментов, где важны простота и минимализм. Docker удобнее для развёртывания сервисов, командной разработки и проектов, которым нужна переносимость и изоляция.
———
Если хотите работать с chroot удобно и быстро, советую использовать
Если же хотите Docker, можно использовать официальный репозиторий
#build #utils #misc
Chroot и Docker-контейнеры позволяют запускать программы в изолированной среде, но работают по-разному.
Chroot меняет для процесса корневую папку файловой системы. Программа «видит» указанную директорию как
/ и работает с файлами внутри неё. Это простой и очень лёгкий механизм: почти нет дополнительной инфраструктуры, можно быстро собрать минимальную среду с нужными библиотеками и программами.Плюсы chroot: минимальный расход ресурсов, простота, быстрый запуск, полный контроль над файловой структурой. Минус — слабая изоляция: chroot не предназначен для защиты от вредоносных процессов. При наличии root-доступа из такого окружения часто можно выбраться в основную систему. Также chroot не изолирует сеть, процессы и другие системные ресурсы сам по себе.
Docker использует возможности ядра Linux: namespaces изолируют процессы, сеть, пользователей и точки монтирования, а cgroups ограничивают потребление ресурсов. Контейнер Docker обычно запускается из готового образа и включает приложение со всеми зависимостями.
Плюсы Docker: удобная упаковка и переносимость приложений, воспроизводимый запуск, управление сетью и томами, более сильная изоляция, развитая экосистема. Минусы: больше служебных компонентов, сложнее настройка, крупнее образы и выше расход ресурсов по сравнению с простым chroot.
Итог: chroot подходит для лёгких локальных окружений, сборки пакетов и экспериментов, где важны простота и минимализм. Docker удобнее для развёртывания сервисов, командной разработки и проектов, которым нужна переносимость и изоляция.
———
Если хотите работать с chroot удобно и быстро, советую использовать
pbuilder или sbuild в Debian. А ещё можно написать свой велосипед с использованием утилиты chroot — так будет проще понять, как это всё работает.Если же хотите Docker, можно использовать официальный репозиторий
download.docker.com. Например, вот скрипт, который скачивает актуальные пакеты для Bookworm (если используется Trixie — просто поменяйте dist в скрипте).#build #utils #misc
hedgewars
Пошаговая тактическая игра в стиле Worms: игроки управляют командами забавных ежей, перемещаются по разрушаемым картам и используют большой набор оружия и необычных предметов, чтобы победить соперников. Можно играть одному, по локальной сети или онлайн, настраивать команды, уровни и правила боя. Это полностью свободная игра с открытым исходным кодом, распространяемая по лицензии GPL-2.0-or-later.
Установка:
> GitHub
> Salsa
> Сайт
#games #opensource
Пошаговая тактическая игра в стиле Worms: игроки управляют командами забавных ежей, перемещаются по разрушаемым картам и используют большой набор оружия и необычных предметов, чтобы победить соперников. Можно играть одному, по локальной сети или онлайн, настраивать команды, уровни и правила боя. Это полностью свободная игра с открытым исходным кодом, распространяемая по лицензии GPL-2.0-or-later.
Установка:
$ apt-get install -y hedgewars
> GitHub
> Salsa
> Сайт
#games #opensource
В 2025 году я встречался с разработчиками Debian — Debian Developers (DD). Это инженеры, которые кучу лет вносят вклад в Debian, поддерживают пакеты, инфраструктуру, исправляют баги, ну и так далее. Я отношусь к ним с большим уважением.
Мне особенно запомнилась процедура подтверждения GPG-ключа. Она была нужна мне на пути к статусу Debian Maintainer (DM): чтобы публиковать и сопровождать пакеты в Debian, важно не только уметь делать это технически, но и быть известным сообществу как реальный и ответственный человек.
GPG-ключ — это криптографический ключ, который позволяет подтверждать вашу цифровую личность и авторство подписанных действий. В Open Source с его помощью можно подписывать коммиты, теги, пакеты и загрузки в репозитории, связывая эти действия с владельцем ключа.
Новый GPG-ключ сам по себе ничего не говорит окружающим. Он может принадлежать кому угодно: реальному разработчику, случайному человеку или тому, кто просто указал чужое имя и почту. Поэтому важна подпись ключа кем-то другим, более известным и проверенным в сообществе. Так и образуется цепочка доверия между реальными людьми в сообществе.
Когда опытный участник Debian подписывает мой публичный ключ, он не «ручается за меня во всём» и не выдаёт мне особые права одной подписью. Смысл подписи более конкретный: этот человек подтверждает, что лично проверил, что данный отпечаток ключа действительно принадлежит мне с указанными именем и адресом электронной почты. При встрече желательно показать друг другу документы, например паспорт или водительское удостоверение.
Отпечаток, или fingerprint, — это короткий уникальный идентификатор GPG-ключа. Его можно вывести так:
На встрече мы обменялись бумажками с отпечатками наших GPG-ключей и сверили их друг с другом. После проверки личности и совпадения отпечатка разработчик мог подписать мой публичный ключ уже дома, а я - его (взаимная подпись). Технически я уже не помню, как именно мы это делали и какие команды использовали, но суть не в этом, а в том, как выстраивается цепочка инженеров, которым можно доверять.
Именно в этом для меня ценность личной встречи. В интернете аккаунт, никнейм и даже фотография, которую можно сгенерировать, почти ничего не гарантируют. То же самое с голосовыми сообщениями, которые тоже можно подделать или сгенерировать: за профилем может быть бот, фейк, мошенник или человек, выдающий себя за другого. А когда ты лично встретился с человеком, показал документы, вместе сверил отпечаток ключа — уровень доверия становится совсем другим.
Конечно, GPG не делает человека автоматически надёжным и не заменяет репутацию, код-ревью или правила проекта. Но он помогает криптографически связать цифровой ключ с реальным человеком. Для больших свободных проектов, где участники живут в разных странах и работают через интернет, это очень полезная вещь.
Вывод: будьте осторожнее, общаясь со всякими ноунеймами в сети. Особенно — с аккаунтами противоположного пола :D
#thoughts #security #debian
Мне особенно запомнилась процедура подтверждения GPG-ключа. Она была нужна мне на пути к статусу Debian Maintainer (DM): чтобы публиковать и сопровождать пакеты в Debian, важно не только уметь делать это технически, но и быть известным сообществу как реальный и ответственный человек.
GPG-ключ — это криптографический ключ, который позволяет подтверждать вашу цифровую личность и авторство подписанных действий. В Open Source с его помощью можно подписывать коммиты, теги, пакеты и загрузки в репозитории, связывая эти действия с владельцем ключа.
Новый GPG-ключ сам по себе ничего не говорит окружающим. Он может принадлежать кому угодно: реальному разработчику, случайному человеку или тому, кто просто указал чужое имя и почту. Поэтому важна подпись ключа кем-то другим, более известным и проверенным в сообществе. Так и образуется цепочка доверия между реальными людьми в сообществе.
Когда опытный участник Debian подписывает мой публичный ключ, он не «ручается за меня во всём» и не выдаёт мне особые права одной подписью. Смысл подписи более конкретный: этот человек подтверждает, что лично проверил, что данный отпечаток ключа действительно принадлежит мне с указанными именем и адресом электронной почты. При встрече желательно показать друг другу документы, например паспорт или водительское удостоверение.
Отпечаток, или fingerprint, — это короткий уникальный идентификатор GPG-ключа. Его можно вывести так:
$ gpg --fingerprint email@example.org
На встрече мы обменялись бумажками с отпечатками наших GPG-ключей и сверили их друг с другом. После проверки личности и совпадения отпечатка разработчик мог подписать мой публичный ключ уже дома, а я - его (взаимная подпись). Технически я уже не помню, как именно мы это делали и какие команды использовали, но суть не в этом, а в том, как выстраивается цепочка инженеров, которым можно доверять.
Именно в этом для меня ценность личной встречи. В интернете аккаунт, никнейм и даже фотография, которую можно сгенерировать, почти ничего не гарантируют. То же самое с голосовыми сообщениями, которые тоже можно подделать или сгенерировать: за профилем может быть бот, фейк, мошенник или человек, выдающий себя за другого. А когда ты лично встретился с человеком, показал документы, вместе сверил отпечаток ключа — уровень доверия становится совсем другим.
Конечно, GPG не делает человека автоматически надёжным и не заменяет репутацию, код-ревью или правила проекта. Но он помогает криптографически связать цифровой ключ с реальным человеком. Для больших свободных проектов, где участники живут в разных странах и работают через интернет, это очень полезная вещь.
Вывод: будьте осторожнее, общаясь со всякими ноунеймами в сети. Особенно — с аккаунтами противоположного пола :D
#thoughts #security #debian
Я увлёкся мангой и комиксами в целом — это хорошо отвлекает от думскроллинга. Мне нравится что-то домашнее, уютное, приключенческое и с лёгкой комедийной ноткой, чтобы можно было расслабиться. Манга — это японские комиксы, которые читаются справа налево.
#thoughts
#thoughts
Недавно я мельком увидел на Хабре интересный термин — Fastfood IT. Нет, это не разработка платформ для фастфуд-индустрии (хотя и такое тоже есть), а кое-что более тревожное.
Так вот:
Fastfood IT — неофициальный термин для быстрого, дешёвого и шаблонного создания IT-продуктов: сайтов, приложений, кода или MVP.
С развитием AI это понятие стало особенно актуальным: нейросети позволяют за минуты генерировать код, дизайн и контент. Но у такой скорости есть обратная сторона.
Как и фастфуд, результат может быть удобным и доступным «здесь и сейчас», но впоследствии привести к техническому долгу, ошибкам, проблемам с безопасностью, сложностям в поддержке и, в конечном итоге, к забрасыванию проекта.
Поэтому я и перестал «писать» новые пет-проекты: ИИ очень помогает, но демотивирует. Проект быстро превращается в типичную ИИ-пустышку. Пока что я не смог разрешить этот внутренний конфликт для себя.
#thoughts #ai
Так вот:
Fastfood IT — неофициальный термин для быстрого, дешёвого и шаблонного создания IT-продуктов: сайтов, приложений, кода или MVP.
С развитием AI это понятие стало особенно актуальным: нейросети позволяют за минуты генерировать код, дизайн и контент. Но у такой скорости есть обратная сторона.
Как и фастфуд, результат может быть удобным и доступным «здесь и сейчас», но впоследствии привести к техническому долгу, ошибкам, проблемам с безопасностью, сложностям в поддержке и, в конечном итоге, к забрасыванию проекта.
Поэтому я и перестал «писать» новые пет-проекты: ИИ очень помогает, но демотивирует. Проект быстро превращается в типичную ИИ-пустышку. Пока что я не смог разрешить этот внутренний конфликт для себя.
#thoughts #ai
Vital Synth (Виталя)
Это виртуальный wavetable-синтезатор для создания басов, лидов, падов, арпеджио и других звуков. У него понятный интерфейс, много визуализации и удобная система модуляций, поэтому он хорошо подходит новичкам.
Vital можно скачать для Windows, macOS и Linux. Сейчас доступна версия 1.6.4 (Early Access). Я успешно установил его на Debian. И да, для скачивания необходимо зарегистрироваться на сайте.
> Сайт
> GitHub
#software #music
Это виртуальный wavetable-синтезатор для создания басов, лидов, падов, арпеджио и других звуков. У него понятный интерфейс, много визуализации и удобная система модуляций, поэтому он хорошо подходит новичкам.
Vital можно скачать для Windows, macOS и Linux. Сейчас доступна версия 1.6.4 (Early Access). Я успешно установил его на Debian. И да, для скачивания необходимо зарегистрироваться на сайте.
> Сайт
> GitHub
#software #music
Музыкальные пресеты — это заранее сохраненные наборы настроек и параметров для виртуальных синтезаторов, аудиоэффектов или программ для создания музыки, которые позволяют получить готовый звук в один клик.
Большинство виртуальных синтезаторов идут с заводской библиотекой пресетов: например, Surge XT, Vital, Serum, Pigments, Massive и другие. Обычно там есть басы, лиды, пады, плаки, арпы, клавиши, эффекты и экспериментальные звуки. Помимо встроенных банков, для многих популярных синтезаторов выпускают сторонние пресет-паки — бесплатные и платные.
При этом пресеты не универсальны: патч, созданный для Vital, нельзя просто открыть в Surge XT или Serum. У каждого синтезатора свой формат и своя архитектура звука — осцилляторы, фильтры, модуляции и эффекты работают по-разному. Иногда можно повторить похожий звук вручную, но перенести настройки одним файлом не получится.
Пресеты удобны не только как «готовый звук», но и как материал для обучения. Можно открыть понравившийся патч, посмотреть, как настроены волны, огибающие, фильтры и эффекты, а затем изменить его под свой трек. Часто лучший результат — не использовать пресет как есть, а взять его за основу и доработать под аранжировку.
#music
Большинство виртуальных синтезаторов идут с заводской библиотекой пресетов: например, Surge XT, Vital, Serum, Pigments, Massive и другие. Обычно там есть басы, лиды, пады, плаки, арпы, клавиши, эффекты и экспериментальные звуки. Помимо встроенных банков, для многих популярных синтезаторов выпускают сторонние пресет-паки — бесплатные и платные.
При этом пресеты не универсальны: патч, созданный для Vital, нельзя просто открыть в Surge XT или Serum. У каждого синтезатора свой формат и своя архитектура звука — осцилляторы, фильтры, модуляции и эффекты работают по-разному. Иногда можно повторить похожий звук вручную, но перенести настройки одним файлом не получится.
Пресеты удобны не только как «готовый звук», но и как материал для обучения. Можно открыть понравившийся патч, посмотреть, как настроены волны, огибающие, фильтры и эффекты, а затем изменить его под свой трек. Часто лучший результат — не использовать пресет как есть, а взять его за основу и доработать под аранжировку.
#music