es
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Ir al canal en Telegram

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

Mostrar más

📈 Análisis del canal de Telegram Bash Days | Linux | DevOps

El canal Bash Days | Linux | DevOps (@bashdays) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 23 810 suscriptores, ocupando la posición 5 710 en la categoría Tecnologías y Aplicaciones y el puesto 28 118 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 23 810 suscriptores.

Según los últimos datos del 15 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -195, y en las últimas 24 horas de -10, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 23.79%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 11.52% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 5 664 visualizaciones. En el primer día suele acumular 2 744 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 25.
  • Intereses temáticos: El contenido se centra en temas clave como bashdays, linux, bash, docker, скрипт.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 16 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

23 810
Suscriptores
-1024 horas
-337 días
-19530 días
Archivo de publicaciones
Классическая виртуализация с её надёжностью или контейнеры с их гибкостью? Теперь не нужно выбирать — команда Deckhouse зарел
Классическая виртуализация с её надёжностью или контейнеры с их гибкостью? Теперь не нужно выбирать — команда Deckhouse зарелизила новую версию своей платформы виртуализации. Deckhouse Virtualization Platform 1.0 объединяет оба подхода в едином Kubernetes-окружении. За основу взят KubeVirt, который серьёзно доработали. Разработчики DVP реализовали сетевое взаимодействие, повысили производительность и добавили систему мониторинга, а всю сложность спрятали «под капот». DVP закрывает ключевые требования для реального продакшена. Здесь есть всё, к чему привыкли в enterprise-виртуализации: работа с VLAN, несколько сетевых интерфейсов, live-миграция и удобные бэкапы. Но с главным дополнением — современностью и единым управлением через API или интуитивный веб-интерфейс. Проверить, как это работает, можно в Open Source-платформе DKP CE. Community Edition платформы позволяет управлять через веб-интерфейс 1000 серверов и 50 000 виртуальных машин в кластере, а также поддерживает основные типы хранилищ (NFS, Ceph, sds-local-volume, sds-replicated-volume). Для решения enterprise-задач рекомендуем получить консультацию на сайте.

Как оказалось многие не знают, как нативным cron (без systemd timers) запускать скрипты с интервалом в 30 секунд, без модификации самого скрипта. Все довольно просто и очевидно. Нужно сделать бутерброд.
Cron исторически работает только с минутной точностью. В crontab нельзя написать «каждые 10 секунд» или «раз в 30 секунд». Для этого обычно использую systemd timers или отдельный демонический скрипт с while true; sleep ...
В crontab строка запускается раз в минуту. Но внутри можно поставить sleep — задержку перед запуском. Таким образом мы получим несколько запусков в рамках одной минуты.
* * * * * /usr/local/sbin/bashdays.sh
* * * * * sleep 30; /usr/local/sbin/bashdays.sh
1. Первая строка запускает скрипт в начале минуты (00:00, 00:01, 00:02…) 2. Вторая строка — ждёт 30 секунд и запускает скрипт (00:00:30, 00:01:30, 00:02:30…). Тут и получаем шаг в 30 секунд, именно через 2 вызова. Костыльно? Ага! Но порой не хочется ебаться с таймерами и сделать все по-быстрому. Как вариант, вполне годный. Аналогично можно городить и другие интервалы. Минусы подхода ⚪ Нет гарантии точности. Если первый запуск скрипта будет работать дольше, чем пауза (sleep), запуски могут наложиться. ⚪ Мусор в crontab. Для мелкого интервала надо плодить много строк. ⚪ Нет гибкой логики. Где это полезно ⚪ Лёгкие скрипты мониторинга (ping, проверка статуса). ⚪ Хаотизация нагрузки (например, sleep $((RANDOM % 60)) для рассинхрона). ⚪ Если systemd timers или другие планировщики недоступны (например, в ограниченных окружениях или старых системах). А как работать с таймерами ищи по тегу #systemd, много про это писал. 🛠 #linux #cron #systemd @bashdays @linuxfactory @blog

🔥 OPS Talk by Sber: агентизация сопровождения Разберемся, как AI-агенты меняют подход к поддержке и надёжности систем. Со спикерами из WB Tech, Яндекса и Сбера разберем всё: современные подходы к агентизации OPS, кейс создания цифрового помощника, а также автоматизацию инцидент менеджмента и других трудоёмких этапов сопровождения. 📌 Где и когда: 29 сентября, 18:30 Офис Сбера на Кутузовском 32 + онлайн Выбирайте удобный формат (очно/онлайн) и жмите на регистрацию 👈

Ща темку тебе интересную покажу… Представим ситуацию — Писал ты код, который агрегирует файлы, рассчитывает их хеш по алгоритму MD5 и сохраняет в базу. Смысл - не сохранять повторно файл, который уже есть в базе.
То есть для каждого нового файла, оно считает MD5 и ищет его в базе, если такого хеша нет, значит файл новый.
Звучит пиздец банально. Ну дак вот. В какой-то момент ты обнаруживаешь 2 файла, с разным содержимым, но с одним и тем же хешем. Да ёб твоб мать! А как такое возможно? Возможно!
MD5 ― это криптографическая хеш-функция, придуманная в 1991 году Рональдом Ривестом. Её задача — брать произвольные данные и сжимать их в 128-битное число (32 hex-символа).
Как эта поебота работает описывать не буду, если интересно погугли, там это уже на 100500 разжевали и в рот положили. Вернемся к баранам: Создаём пару текстовых файлов:
printf 'TEXTCOLLBYfGiJUETHQ4hAcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak' > a.txt

printf 'TEXTCOLLBYfGiJUETHQ4hEcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak' > b.txt
Содержимое отличается одним символом (22 символ): В a.txt это A (ASCII 65, 0x41), в b.txtE (ASCII 69, 0x45). Проверим, что так оно и есть:
xxd -g 1 a.txt | sed -n '1,2p'
xxd -g 1 b.txt | sed -n '1,2p'
xxd создаёт представление указанного файла или данных, прочитанных из потока стандартного ввода, в виде шестнадцатеричных кодов.
Либо сразу выводим различия:
cmp -l a.txt b.txt

22 101 105
- 22 → позиция (22-й байт в файле) - 101 (восьмеричное) → 0o101 = 65 (десятичное) = 0x41 = 'A' - 105 (восьмеричное) → 0o105 = 69 (десятичное) = 0x45 = 'E'
cmp — утилита, которая сравнивает два файла побайтово и сообщает о первом отличии, если оно есть.
Ага, видим разницу. Едем дальше, считаем MD5:
md5sum a.txt b.txt
И видим:
faad49866e9498fc1719f5289e7a0269  a.txt
faad49866e9498fc1719f5289e7a0269  b.txt
Вот это нихуясебе! Наверное md5sum гличнулся… Проверяем по другому:
openssl dgst -md5 a.txt b.txt
MD5(a.txt)= faad49866e9498fc1719f5289e7a0269
MD5(b.txt)= faad49866e9498fc1719f5289e7a0269
Да нет, все правильно… Хеш одинаковый для разных файлов. И что это всё значит? Это наглядная коллизия и практическая атака на MD5 алгоритм. На первый взгляд кажется, что «достаточно поменять один байт и можно случайно попасть в коллизию». Но на деле случайно это практически невозможно провернуть (вероятность ≈ 1 к 2^128). То, что я показал в примере с AE — это синтетическая пара, созданная криптографами специально с использованием дифференциального криптоанализа MD5. То есть кто-то заранее просчитал, какой именно байт нужно поменять, чтобы скомпенсировать все внутренние изменения в состояниях MD5. Практическая атака (2004–2008) - В 2004 году Ван Сяоюнь с коллегами показали первую реальную коллизию для MD5 за считанные часы. - В 2008 году был создан поддельный сертификат SSL с использованием MD5-коллизии (огромный скандал). Вот с тех пор MD5 окончательно считается небезопасным. Коллизии можно находить и создавать целенаправленно, поэтому не рекомендую использовать MD5 для проверки целостности, подписей, сертификатов и т.п. Для этих задач лучше бери проверенный SHA-256 или что-то посильнее. Вот такие пироги. Изучай! 🛠 #crypt #md5 #glitch @bashdays @linuxfactory @blog

Выиграйте грант DevSecOps Bootcamp Скидки до 100% на новый поток интенсива «DevSecOps Bootcamp: безопасность для бизнеса». На
Выиграйте грант DevSecOps Bootcamp Скидки до 100% на новый поток интенсива «DevSecOps Bootcamp: безопасность для бизнеса». Научитесь встраивать безопасность в процессы — от кода до CI/CD — чтобы ускорить релизы и снизить риски. При выполнении условий гранта вы сможете получить 1 из 3 вариантов: ⭐️ скидка 100% (1 место); ⭐️ скидка 50% (2 места); ⭐️ скидка 30% (2 места). Что сделать, чтобы принять участие: 1️⃣ Быть подписанным на канал 2️⃣ Заполнить заявку Срок выполнения условий — до 26 сентября включительно. У вас будет всего одна попытка! Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты! Итоги опубликуем в канале 29 сентября в 19:00 мск. Реклама ООО «Слёрм» ИНН 3652901451

Довольно часто нужно быстро загрузить файл построчно в массив. Как делает мальчик:
lines=()
while IFS= read -r line; do
  lines+=("$line")
done < file.txt

echo "Первая строка: ${lines[0]}"
echo "Всего строк: ${#lines[@]}"
Как делает мужчина:
mapfile -t lines < file.txt

echo "Первая строка: ${lines[0]}"
echo "Всего строк: ${#lines[@]}"
В первом варианте много кода, НО, работает везде. Во втором варианте, работает только в bash ≥4.0, но кода в разы меньше и не жрет CPU.
Совет: если пишешь скрипт под bash — всегда используй mapfile. Если нужен кросс-шелл (sh,dash,ash) — оставайся на цикле.
Либо расширь второй вариант и укажи:
#!/usr/bin/env bash
Это гарантирует, что твой скрипт выполнится именно через bash, а не через системный sh (который может быть dash, ash, ksh и т.п.). env ищет bash в $PATH, так что это более переносимо, чем жёстко указывать #!/bin/bash Ну и прицепом можешь добавить: set -euo pipefail Это включение «строгого режима» в баше: -e — выход из скрипта при любой ошибке (не игнорировать exit code ≠ 0). -u — ошибка при обращении к неинициализированной переменной (не будет пустых значений «по-тихому»). -o pipefail — пайплайны возвращают код ошибки первой упавшей команды, а не последней. По итогу: - Скрипт точно запустится под bash - Ошибки не будут замалчиваться - Сразу ловишь косяки Удобно в CI/CD, где всё должно падать быстро и без хуйни.
grep foo file.txt | wc -l
echo $?   # 0, даже если grep ничего не нашёл
set -o pipefail
grep foo file.txt | wc -l
echo $?   # 1, потому что grep ушел по пизде
Такие дела, изучай. 🛠 #bash @bashdays @linuxfactory @blog

🔥Даем свой ответ в холиваре про коробочные решения – рассказываем и показываем все, что под капотом: — как заводится все вну
🔥Даем свой ответ в холиваре про коробочные решения – рассказываем и показываем все, что под капотом: — как заводится все внутри платформы контейнеризации — как работает принцип нулевого доверия в CI/CD — как автоматизировать доставку стендов в Hyperdrive А еще обсудим последние фейлы и спорные практики без цензуры на ток-шоу КУБЕР РЕБРОМ — живом митапе с честным «мясом» о Kubernetes. 🗓25 сентября, Москва, на Orion Digital Day. 📌Регистрация

Интровертизм в голове. Сегодня подкормленный HR поделился формулой успеха. Формула: На собесе хотят услышать, а на работе хотят увидеть. Не стоит забивать на софт-скилы, хоть ты там ебать 100500 овердохуя умный лоб. Учись пиздеть (разговаривать). Даже если ты там прожженный интроверт — учись пиздеть, даже если тебе это не нравится. Без пиздежа, ничего не получится. Ладно, получится, но ты сразу упрешься в потолок без перспектив. Пиздёж в данном контексте — не ложь, а способ поддержать беседу, задать вопросы, поинтересоваться, прогнать какуюнить лютую дичь. Тут самое главное — сделать это уверенно, без ссанья в штанину и сранья на стену. Прошел стадию с пиздежом, дальше у тебя будет — та самая, единственная задача на испытательном сроке. Которую никто не хочет делать. Которую не знают как сделать. А тебе придется это сделать! А как её сделать? А ты придумай! Это твоя киллер-фича! Это твоё наследие (легаси). Если не можешь придумать — значит рановато пришел к этому боссу, откатись и качни свою жопку еще посильнее, откопай аммулет, высри бусину. Короче как бы ты не хотел избегать людей, с ними придется общаться. Хотя бы для того, чтобы пройти HRа и задобрить его своим пиздежом. Лично я терпеть не могу лично общаться, для меня целое испытание поехать поменять летнюю резину на зимнюю, либо кому-то позвонить и что-то узнать. Со звонками ладно, делегировал, но есть вещи и дела где без тебя вопрос не решится. А если решится, то обязательно наебут. Так что бери себя в руки, учись пиздеть (разговаривать), а если тебе это не нравится — терпи, улыбайся и разговаривай. Интровертизм это в голове. 🛠 #рабочиебудни @bashdays @linuxfactory @blog

🎥 Вебинар по Kubernetes: «От временного к вечному: где Kubernetes хранит ваши данные» ☝️ На вебинаре вы узнаете: - Разница м
🎥 Вебинар по Kubernetes: «От временного к вечному: где Kubernetes хранит ваши данные» ☝️ На вебинаре вы узнаете: - Разница между эфемерным и постоянным хранилищем в Kubernetes. - Обзор Volumes, Persistent Volumes (PV) и Persistent Volume Claims (PVC). - StorageClass и динамическое выделение хранилища. - Практические кейсы: базы данных, кэш, логирование. - Как избежать распространённых ошибок при работе с данными в Kubernetes. 💪 В результате вебинара вы: - Узнаете, как Kubernetes работает с данными и чем отличаются типы хранилищ. - Научитесь правильно подключать и настраивать PV, PVC и StorageClass. - Поймёте, какие паттерны использовать для баз данных и stateful-сервисов. - Сможете строить более надёжные и предсказуемые системы в Kubernetes. 🎁 Все участники вебинара получат специальные условия на полное обучение курса «Инфраструктурная платформа на основе Kubernetes» 👉 Для участия зарегистрируйтесь: https://vk.cc/cPC1n7 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Ищем баги с помощью strace Предположим, крутится у тебя в проде какое-то приложение, это приложение было разработано криворукими обезьянами — на отъебись. По итогу продакшен начинает троить и выжирать процессорное время. Хуита! Явно требуется профилирование, но мыж с тобой не обезьяны, поэтому изучать код не будем. А сразу вооружимся strace и посмотрим где-же узкое горлышко. Запускаем:
strace -c python3 app.py
Через несколько секунд жмём Ctrl-C и получаем статистику:
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ------
99.82    0.413251           8     49431            write
 0.07    0.000291          32         9            mmap
 0.05    0.000207          25         8            mprotect
 0.03    0.000129          21         6            openat
 0.02    0.000090          30         3            close
......
Хм… эта падла активно пользуется системным вызовом write(). time — процент процессорного времени, потраченного на вызов. usecs/call — среднее время на один вызов (в микросекундах). calls — сколько раз вызов был сделан. Виновника определили. То есть приложение постоянно что-то куда-то пишет, тем самым забивая 99% процессорного времени. Важно понимать: strace показывает только то время, которое ядро тратит на обработку системных вызовов. Поэтому значения могут отличаться от того, что покажет команда time:
$ time python3 app.py

real    0m7.412s
user    0m1.102s
sys     0m6.184s
Здесь sys совпадёт с тем, что мы видели через strace -c.
Ну и теперь даже без доступа к исходникам можно быстро понять, где «утекают» ресурсы.
Исходники у нас есть, давай посмотрим:
with open("tmp.txt", "w") as f:
    while True:
        f.write("Привет супчики! Привет от BashDays!")
        f.flush()
Что тут не так: Из-за flush() Python гонит строку сразу в файловую систему, без буферизации. Как пофиксить:
# fixed.py
with open("tmp.txt", "w", buffering=1024*1024) as f:
    while True:
        f.write("Привет супчики! Привет от BashDays!\n")
Теперь данные будут сбрасывать пачками, так как мы указали буферизацию, которая равна 1MB. Проверяем до фикса:
$ strace -c python3 app.py
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ------
99.8      0.413251           8     49431           write
Проверяем после фикса:
$ strace -c python3 app-fixed.py
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ------
98.9     0.072111         450        160           write
Количество вызовов write() резко сократилось, нагрузка на ядро упала. Как костыль и быстрофикс — сойдёт! Повторюсь — мы с тобой не обезьяны, чтобы вникать в код разработчиков и что-то в нем «правильно» править. В большинстве случаев, ты просто находишь проблемы и уже с этими данными создаешь задачу на разработчика. Сам в код не лезь, целее будешь. Ну и на закуску фикс, который сделали разработчики:
import io

buffer = io.StringIO()

with open("tmp.txt", "w") as f:
    while True:
        buffer.write("Привет супчики! Привет от BashDays\n")
        if buffer.tell() > 1024 * 1024:
            f.write(buffer.getvalue())
            f.flush()
            buffer.seek(0)
            buffer.truncate(0)
Как это работает: 1. StringIO хранит текст в оперативной памяти. 2. Цикл гонит туда строки. 3. Когда накопится, например, 1 MB, содержимое сбрасывается в файл одной большой порцией (write + flush). 4. Буфер очищается и цикл продолжается. Хуй знает на сколько это всё правильно, ну раз сделали через внутреннию буферизацию StringIO, значит так правильно. Такие дела. Изучай. 🛠 #debug @bashdays @linuxfactory @blog

Стань участником МТС True Tech Champ 2025 — масштабного ИТ-чемпионата по программированию с призовым фондом 10 250 000 рублей
Стань участником МТС True Tech Champ 2025 — масштабного ИТ-чемпионата по программированию с призовым фондом 10 250 000 рублей. Соревнования пройдут в двух треках: 1. Алгоритмические задачи Покажи индивидуальное мастерство в работе со структурами данных и написании алгоритмов. Чтобы успешно справиться с заданиями, пригодится опыт решения олимпиад. 2. Программирование роботов Оживи робота с помощью кода, чтобы он прошел лабиринт быстрее всех. Трек будет интересен разработчикам: С++, Go, Python, JS, Java, C# и не только. Участвовать могут школьники, студенты, начинающие ИТ-специалисты и опытные разработчики. Отборочные этапы пройдут онлайн, шоу-финал — 21 ноября в МТС Live Холл в Москве. Ты можешь выйти на арену как участник или наблюдать за чемпионатом как зритель. Регистрируйся до 20 октября по ссылке.

Всегда делай хорошо, плохо само получится! Сегодня я припёр тебе Vim Master. Херабора для тех, кто хочет приручить Vim. Это н
Всегда делай хорошо, плохо само получится! Сегодня я припёр тебе Vim Master. Херабора для тех, кто хочет приручить Vim. Это не скучный тутор, а что-то вроде игрульки. 16 уровней, челледжи на скорость, бейджики, всё по красоте. Устанавливать ничего не нужно, работает прям в браузере. Но если очень хочется, то оно с открытым исходным кодом, можно и себе воткнуть при желании… Есть два режима: Cheat Mode для новичков и Challenge Mode для тех, у кого писька уже подросла. Потыкай на досуге, освежи мышечную память. 🛠 #games #vim @bashdays @linuxfactory @blog

Фишинг — самый простой, но один из самых опасных способов начать кибератаку. Почтовое письмо или поддельная страница могут ст
Фишинг — самый простой, но один из самых опасных способов начать кибератаку. Почтовое письмо или поддельная страница могут стать первым шагом к масштабному инциденту. Именно с таких сигналов SOC-аналитик начинает свою работу: он распознаёт признаки атаки, классифицирует угрозу и запускает процесс реагирования. Это основа кибербезопасности, без которой не обходится ни одна современная компания. На открытом уроке разберём жизненный цикл фишингового инцидента, посмотрим на работу SOC глазами эксперта, узнаем, какие инструменты реально используют аналитики — от SIEM до Threat Intelligence. Вебинар пройдёт 22 сентября в 20:00 МСК. Все участники получат скидку на курс «Компьютерная криминалистика». Регистрация открыта: https://vk.cc/cPx6LH Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Смотри какая лялька: ExplainShell ㅤ Сервис помогает понять, что делает shell команда и все её параметры и ключи. Вставляешь н
Смотри какая лялька: ExplainShell Сервис помогает понять, что делает shell команда и все её параметры и ключи. Вставляешь например команду из прошлого поста:
strace -s 200 -f -e trace=network,recvfrom task sync
И получаешь по ней полный разбор. Работает достаточно просто, под капотом овер-дохуя ≈30к-man страниц. Штука оупенсорцная и лежит тут. Логика работы: 1. Ман-страницы (разделы 1 и 8) загружаются и преобразуются в HTML. 2. Параграфы классифицируются – разделяются те, где описаны опции/флаги, и те, где нет. 3. Из отобранных параграфов извлекаются конкретные параметры и их описания. 4. Когда ты вводишь команду, она разбирается на синтаксическое дерево (AST) с помощью библиотеки bashlex. 5. Компоненты команды («узлы» AST) сопоставляются с параметрами, найденными в ман-страницах. 6. Отображаем на фронте. Вообще штука довольно бесполезная, но в образовательных целях очень даже вменяемая. Как раз для персонажей которые нихуя не понимают как ориентироваться в man страницах.
Хотя, кого я обманываю, сейчас каждый первый загоняет непонятную команду в GPT и оно тебе всё по полочкам раскладывает. Да еще и на русском языке.
Ладно, глядишь сгодиться в хозяйстве. 🛠 #services #bash @bashdays @linuxfactory @blog

Вчера пишу сотруднику — Алёша, у нас прод какого-то хера 500ку каждые 3 минуты выплёвывает, чё у вас там происходит? В ответ я получаю — даже не «нихуя», а реакцию (эмоджи) на мой вопрос, тупо ебать большой палец вверх. Типа — заебись! А че заебись? Вы взяли это в работу, или заебись и вы очень рады, или что нахуй вообще происходит? Как это блядь интерпретировать? Немного охуев от такого, я понимаю что я делаю так же, даже не задумываясь. А делаю я по причине — нахуя ты мне 40 сообщений написал подряд? Ты думаешь я это читать буду? Нет! Я просто поставлю тебе сука лайк и дальше пойду делами своими заниматься. 😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 😞😔😟😕🙁☹️😣😖 😫😩🥺😢😭😤😠😡
Ну и еще ставлю «лайки», когда не хочу продолжать диалог, потому, что если напишешь текстом, то там ебанина начинается, про погоду, про проблемы в семье и т.п.
⚪ Выдели главное и напиши в 140 символов.
Про «приветы» уже много раз обсуждалось, для них отдельный котел.
Давай разберемся когда «лайк» уместен. Короткий ответ без флуда. Если человек пишет: «Встреча завтра в 11», и ты ставишь 👍 — это знак, что ты прочитал и согласен. Эмоциональный отклик. «Спасибо, что помог!» — сердечко или смайлик даёт обратную связь, но не перегружает чат. Командная культура. В некоторых компаниях реакциями заменяют лишние «ок», «понял», «согласен», и это экономит время. Когда не уместен: Личное обращение. Если коллега задаёт вопрос «Можешь помочь с этим?» и получает только реакцию, это может восприниматься как уход от диалога (послали нахуй). Неясный контекст. Если сообщение неоднозначное («Нужно срочно переделать отчёт»), то реакция в виде 👍 может вызвать вопросы: «Это согласие? Или сарказм?» Разные ожидания. Для кого-то реакция = полноценный ответ, а для кого-то — «отписался, лишь бы ничего не сказать» (это мой случай). Ну так вот: Если реакция однозначно отвечает на запрос (например, подтверждение), то это вполне корректно. Если у собеседника может остаться неопределённость, то реакция без слов выглядит как недоответ. Важно учитывать корпоративные нормы: где-то реакциями активно пользуются и это часть культуры, а где-то люди ждут хотя бы короткого текста. Можно сформулировать простое правило: - Если сообщение требует только «понял/согласен/спасибо» — реакция окей; - Если есть риск недопонимания или человек вложил усилие — лучше ответить словами. Ну и повторюсь — не пиши 10-20-30 сообщений подряд, никто их читать не будет, сформулируй мысль одним коротким предложением и напиши.
А если хочется попиздеть, могу тебе желтую утку отправить. Поставишь ее напротив себя и пизди с ней сколько влезет.
Ладно, теперь твои мысли давай в комменты. Как ты относишься к таким лайкам? 🛠 #рабочебудни @bashdays @linuxfactory @blog

Всех с пятницей! Меня частенько и «косвенно» связывали с компанией Selectel, я молча читал, слушал... И однажды подумал — а х
Всех с пятницей! Меня частенько и «косвенно» связывали с компанией Selectel, я молча читал, слушал... И однажды подумал — а хули нет? Мало мне 3х работ, возьму еще одну. И теперь я их официальный амбассадор. Неспешно пишу статейки и интеграции. Предыдущий пост, как раз моих рук дело, пиздато же получилось! Наверное эта информация для тебя будет бесполезной, просто держу в курсе, чтобы вопросов меньше возникало. Еще раз всех с пятницей, береги себя и своих близких. Ну и хороших тебе предстоящих выходных! Ура блядь, дождались! 🍻🍻🍻🍻🍻

Инфра без боли, реально ли в 2026? 8 октября в Москве пройдёт конфа — Selectel Tech Day. Рекомендую посетить и послушать спик
Инфра без боли, реально ли в 2026? 8 октября в Москве пройдёт конфа — Selectel Tech Day. Рекомендую посетить и послушать спикеров, которые поделятся своим опытом и как они «собаку съели». Короче бест-практики in da house. Тебе расскажут, как правильно: ⚪ разогнать хранилище данных ⚪ защитить инфраструктуру от злодеев ⚪ снизить затраты с помощью куба ⚪ развернуть сервера под AI Ну а если любишь тактильность, на конференции будет 16 технологических стендов и интерактивных зон. Тебе разрешат всё потрогать руками и потыкать палкой. Может еще и значком/вымпелом фирменным разживешься. Киллер-фича — мероприятие бесплатное. Иногда полезно вылезти из норы, выйти в свет и узнать что-то новое + при желании, пообщаешься с настоящими, живыми людьми.
Место встречи — 08 октября, Москва, Цифровое деловое пространство.
Регистрируйся тут → https://slc.tl/n8hbp

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️ У девопса нет стейджа, только прод! Продолжаем тему с taskwarrior, сегодня настраиваем единый сервер синхронизации на движке Taskchampion. Будем компилировать бинарники, прикручивать nginx, хуячить напильником авторизацию, испытаем полный спектр эмоций и постараемся избежать сгоревших жоп. Сюда не поместилось, поэтому по классике публикую в блоге 👇 ➡️https://two.su/b9wmx 🛠 #рабочиебудни #gtd @bashdays @linuxfactory @blog

Приглашаем на конференцию по защите и монетизации софта GuardConf 2025 📆 2 октября, Москва, LOFT #2 Встречаемся с ведущими э
Приглашаем на конференцию по защите и монетизации софта GuardConf 2025 📆 2 октября, Москва, LOFT #2 Встречаемся с ведущими экспертами отрасли, чтобы обсудить практики, которые реально помогают создавать и развивать российское ПО. Что в программе: 🔵Разбор аналитики рынка ИТ и мер государственной поддержки отрасли 🔵Обсуждение технологий, которые реально помогают в разработке продукта, а также ландшафта ИТ-экосистем на российском рынке 🔵Кейсы по защите софта и борьбе с пиратством 🔵Лучшие практики по разработке безопасного ПО без уязвимостей 🔵Рекомендации по выбору бизнес-модели для грамотного лицензирования 🔵Стратегии вывода продукта на новый уровень 💡 Вас ждут демонстрации решений в интерактивной зоне и живой нетворкинг с теми, кто создаёт и развивает российское ПО. На конференции соберутся CTO, директора по продукту, разработчики, тимлиды, специалисты по ИБ и AppSec, а также эксперты из разных ИТ- и B2B-компаний. ⏩ Программа и регистрация на сайте Заявки проходят модерацию Сообщество конференции GuardConf

Я тут порой пишу для одного интернет журнала (не для хабра, в пизду его). Ну и встал вопрос, как передавать материалы заказчи
Я тут порой пишу для одного интернет журнала (не для хабра, в пизду его). Ну и встал вопрос, как передавать материалы заказчику, чтобы не в голом markdown, а уже сверстано, стили, картинки и т.п. Вариантов было много, hugo, mkdocs и т.п. По итогу выбрал Writefreely, оно отлично подошло. Оупенсорц, написан на GO, ставится на свои сервера, работает шустро. Аналог Телеграфа и Телетайпа, но на стероидах. Можно делать разные блоги под разные задачи. Есть черновики, доступ по паролю и т.п. Короче доволен, базовые потребности закрыты, поднимается так:
services:
  write-freely:
    image: nephatrine/write-freely:latest
    container_name: write-freely
    environment:
      TZ: America/New_York
      PUID: 1000
      PGID: 1000
    ports:
      - "127.0.0.1:8085:8080/tcp"
    volumes:
      - ./write-freely:/mnt/config
Способ не официальный. Потому что если делать, как в официальной документации, то как обычно — нихуя не работает из коробки. Классика! Следующая проблема — картинки по ctrl+c/ctrl+v в writefreely не вставляются. Их нужно предварительно закончать и потом через ссылку вставлять. Дела… По FTP я ебал это делать, поэтому был поднят Picsur. Отличнейшее решение для любителей self-hosting. Аналог Imgur, но свой! Запускается так:
services:
  picsur:
    image: ghcr.io/caramelfur/picsur:latest
    container_name: picsur
    ports:
      - '127.0.0.1:8080:8080'
    environment:
      PICSUR_DB_HOST: picsur_postgres
    volumes:
      - ./storage:/picsur/storage
    restart: unless-stopped
  picsur_postgres:
    image: postgres:17-alpine
    container_name: picsur_postgres
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: picsur
      POSTGRES_USER: picsur
    restart: unless-stopped
    volumes:
      - picsur-data:/var/lib/postgresql/data
volumes:
  picsur-data:
Тем более эта хератень отлично дружит со скриншотилкой ShareX которую я совсем недавно начал использовать. Рекомендую, там ебать комбайн под все задачи, хранилища и хотелки.
В настройках Picsur генеришь json и двойным кликом интегрируешь с ShareX, ничего руками прописывать не нужно.
Как работает связка: Делаешь скриншот, оно автоматически заливается в Picsur и в буфере обмена у тебя уже готовая ссылка для вставки в markdown. Удобно просто пиздец! Такие дела. Вот и еще один полезный сервис в моей домашней лаборатории. Потыкай, глядишь найдешь применение в своих задачках.
Кстати нашел ShareX под Linux, если кому надо.
🛠 #services #selfhosting #workflow @bashdays @linuxfactory @blog