niri — это когда тайлинг наконец перестал быть мазохизмом
Окей, давайте честно. Большинство тайлинговых оконных менеджеров — это либо секта с молитвенником в виде конфига на три тысячи строк, либо поделка, которая падает при взгляде на второй монитор. Hyprland красивый, но нестабильный, как настроение джуна после первого код-ревью. i3/Sway — классика, но там ты настраиваешь рабочее пространство дольше, чем работаешь в нём. И вот приходит niri и говорит: ребята, вы всё делали не так.
Главная фишка — скроллинговый тайлинг. Не фиксированная сетка, не дерево, а бесконечная горизонтальная лента окон. Новое окно не ломает весь лэйаут и не пихается в угол, как незваный гость на вечеринке. Оно просто появляется рядом. Колонки двигаются плавно, можно скроллить рабочее пространство как страницу браузера. Это звучит как маркетинговый буллшит, но на практике меняет то, как вообще думаешь об окнах.
niri написан на Rust. Да, снова Rust, и нет, это не повод для сарказма — тут это реально важно. Compositor работает без утечек памяти, без рандомных крашей через неделю аптайма, без ощущения, что ты ходишь по минному полю. Wlroots под капотом, полноценный Wayland, все дела.
Конфиг на KDL — человеческий формат, не TOML и не очередной самопальный диалект. Открываешь, читаешь, понимаешь с первого раза. Анимации есть из коробки и они не тормозят, а работают так, как будто кто-то действительно думал об этом, а не просто скопировал из чужого dotfiles.
Практический пример: ты пишешь код. Слева терминал, рядом редактор, рядом браузер с документацией. В обычном тайлере при открытии четвёртого окна начинается ад — всё сжимается, ты меняешь лэйаут, что-то плывёт. В niri ты просто скроллишь вправо. Четвёртое окно стоит спокойно в своей колонке, ничего не сломалось, никто не пострадал.
Минусы есть, не буду врать. Экосистема маленькая, некоторые вещи руками допиливать. Не для тех, кто хочет взять и сразу работать без чтения вики. Но для тех, кто понимает что делает — это сейчас, пожалуй, самый интересный Wayland-композитор из нишевых.
Короче, если ты всё ещё сидишь на Sway и думаешь, что тайлинг — это боль, попробуй niri. Возможно, окажется, что боль была не в концепции, а в реализации.
Подпишись на создателей: https://t.me/linuxexex
Окей, давайте честно. Большинство тайлинговых оконных менеджеров — это либо секта с молитвенником в виде конфига на три тысячи строк, либо поделка, которая падает при взгляде на второй монитор. Hyprland красивый, но нестабильный, как настроение джуна после первого код-ревью. i3/Sway — классика, но там ты настраиваешь рабочее пространство дольше, чем работаешь в нём. И вот приходит niri и говорит: ребята, вы всё делали не так.
Главная фишка — скроллинговый тайлинг. Не фиксированная сетка, не дерево, а бесконечная горизонтальная лента окон. Новое окно не ломает весь лэйаут и не пихается в угол, как незваный гость на вечеринке. Оно просто появляется рядом. Колонки двигаются плавно, можно скроллить рабочее пространство как страницу браузера. Это звучит как маркетинговый буллшит, но на практике меняет то, как вообще думаешь об окнах.
niri написан на Rust. Да, снова Rust, и нет, это не повод для сарказма — тут это реально важно. Compositor работает без утечек памяти, без рандомных крашей через неделю аптайма, без ощущения, что ты ходишь по минному полю. Wlroots под капотом, полноценный Wayland, все дела.
Конфиг на KDL — человеческий формат, не TOML и не очередной самопальный диалект. Открываешь, читаешь, понимаешь с первого раза. Анимации есть из коробки и они не тормозят, а работают так, как будто кто-то действительно думал об этом, а не просто скопировал из чужого dotfiles.
Практический пример: ты пишешь код. Слева терминал, рядом редактор, рядом браузер с документацией. В обычном тайлере при открытии четвёртого окна начинается ад — всё сжимается, ты меняешь лэйаут, что-то плывёт. В niri ты просто скроллишь вправо. Четвёртое окно стоит спокойно в своей колонке, ничего не сломалось, никто не пострадал.
Минусы есть, не буду врать. Экосистема маленькая, некоторые вещи руками допиливать. Не для тех, кто хочет взять и сразу работать без чтения вики. Но для тех, кто понимает что делает — это сейчас, пожалуй, самый интересный Wayland-композитор из нишевых.
Короче, если ты всё ещё сидишь на Sway и думаешь, что тайлинг — это боль, попробуй niri. Возможно, окажется, что боль была не в концепции, а в реализации.
Подпишись на создателей: https://t.me/linuxexex
niri — это когда тайлинг наконец перестал быть мазохизмом
Окей, давайте честно. Большинство тайлинговых оконных менеджеров — это либо секта с молитвенником в виде конфига на три тысячи строк, либо поделка, которая падает при взгляде на второй монитор. Hyprland красивый, но нестабильный, как настроение джуна после первого код-ревью. i3/Sway — классика, но там ты настраиваешь рабочее пространство дольше, чем работаешь в нём. И вот приходит niri и говорит: ребята, вы всё делали не так.
Главная фишка — скроллинговый тайлинг. Не фиксированная сетка, не дерево, а бесконечная горизонтальная лента окон. Новое окно не ломает весь лэйаут и не пихается в угол, как незваный гость на вечеринке. Оно просто появляется рядом. Колонки двигаются плавно, можно скроллить рабочее пространство как страницу браузера. Это звучит как маркетинговый буллшит, но на практике меняет то, как вообще думаешь об окнах.
niri написан на Rust. Да, снова Rust, и нет, это не повод для сарказма — тут это реально важно. Compositor работает без утечек памяти, без рандомных крашей через неделю аптайма, без ощущения, что ты ходишь по минному полю. Wlroots под капотом, полноценный Wayland, все дела.
Конфиг на KDL — человеческий формат, не TOML и не очередной самопальный диалект. Открываешь, читаешь, понимаешь с первого раза. Анимации есть из коробки и они не тормозят, а работают так, как будто кто-то действительно думал об этом, а не просто скопировал из чужого dotfiles.
Практический пример: ты пишешь код. Слева терминал, рядом редактор, рядом браузер с документацией. В обычном тайлере при открытии четвёртого окна начинается ад — всё сжимается, ты меняешь лэйаут, что-то плывёт. В niri ты просто скроллишь вправо. Четвёртое окно стоит спокойно в своей колонке, ничего не сломалось, никто не пострадал.
Минусы есть, не буду врать. Экосистема маленькая, некоторые вещи руками допиливать. Не для тех, кто хочет взять и сразу работать без чтения вики. Но для тех, кто понимает что делает — это сейчас, пожалуй, самый интересный Wayland-композитор из нишевых.
Короче, если ты всё ещё сидишь на Sway и думаешь, что тайлинг — это боль, попробуй niri. Возможно, окажется, что боль была не в концепции, а в реализации.
Подпишись на создателей: https://t.me/linuxexex
Окей, давайте честно. Большинство тайлинговых оконных менеджеров — это либо секта с молитвенником в виде конфига на три тысячи строк, либо поделка, которая падает при взгляде на второй монитор. Hyprland красивый, но нестабильный, как настроение джуна после первого код-ревью. i3/Sway — классика, но там ты настраиваешь рабочее пространство дольше, чем работаешь в нём. И вот приходит niri и говорит: ребята, вы всё делали не так.
Главная фишка — скроллинговый тайлинг. Не фиксированная сетка, не дерево, а бесконечная горизонтальная лента окон. Новое окно не ломает весь лэйаут и не пихается в угол, как незваный гость на вечеринке. Оно просто появляется рядом. Колонки двигаются плавно, можно скроллить рабочее пространство как страницу браузера. Это звучит как маркетинговый буллшит, но на практике меняет то, как вообще думаешь об окнах.
niri написан на Rust. Да, снова Rust, и нет, это не повод для сарказма — тут это реально важно. Compositor работает без утечек памяти, без рандомных крашей через неделю аптайма, без ощущения, что ты ходишь по минному полю. Wlroots под капотом, полноценный Wayland, все дела.
Конфиг на KDL — человеческий формат, не TOML и не очередной самопальный диалект. Открываешь, читаешь, понимаешь с первого раза. Анимации есть из коробки и они не тормозят, а работают так, как будто кто-то действительно думал об этом, а не просто скопировал из чужого dotfiles.
Практический пример: ты пишешь код. Слева терминал, рядом редактор, рядом браузер с документацией. В обычном тайлере при открытии четвёртого окна начинается ад — всё сжимается, ты меняешь лэйаут, что-то плывёт. В niri ты просто скроллишь вправо. Четвёртое окно стоит спокойно в своей колонке, ничего не сломалось, никто не пострадал.
Минусы есть, не буду врать. Экосистема маленькая, некоторые вещи руками допиливать. Не для тех, кто хочет взять и сразу работать без чтения вики. Но для тех, кто понимает что делает — это сейчас, пожалуй, самый интересный Wayland-композитор из нишевых.
Короче, если ты всё ещё сидишь на Sway и думаешь, что тайлинг — это боль, попробуй niri. Возможно, окажется, что боль была не в концепции, а в реализации.
Подпишись на создателей: https://t.me/linuxexex
Telegram
linux.exex [GFYB]
GFYB - go fuck yourself bitch. This Is team GFYB. goida
Как systemd запускает сервисы простыми словами
systemd читает unit-файлы, понимает зависимости и запускает сервисы в нужном порядке.
Например, если приложению нужна сеть, unit может указать:
After=network-online.target
Главные команды:
systemctl status nginx — состояние сервиса
systemctl restart nginx — перезапуск
journalctl -u nginx -f — живые логи
systemd не просто «запускает демоны». Он ещё следит за процессами, логирует, рестартит при падении и помогает понять, почему сервис не поднялся.
Подпишись на создателей: https://t.me/linuxexex
systemd читает unit-файлы, понимает зависимости и запускает сервисы в нужном порядке.
Например, если приложению нужна сеть, unit может указать:
After=network-online.target
Главные команды:
systemctl status nginx — состояние сервиса
systemctl restart nginx — перезапуск
journalctl -u nginx -f — живые логи
systemd не просто «запускает демоны». Он ещё следит за процессами, логирует, рестартит при падении и помогает понять, почему сервис не поднялся.
Подпишись на создателей: https://t.me/linuxexex
Линус Торвальдс в 1991 году выложил первый анонс Linux на форум comp.os.minix с фразой, которая вошла в историю как один из самых смешных случаев неверной самооценки в IT. Он написал буквально: "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)".
Просто хобби. Не будет большим. Не будет профессиональным.
Сейчас Linux крутится на 96% всех серверов в мире, на каждом Android-смартфоне, на каждом втором суперкомпьютере из топ-500, на МКС, на марсоходах NASA и ещё чёрт знает где. Хобби, блядь.
Самое забавное в этой истории не то, что Торвальдс ошибся с масштабом. Самое забавное, что он реально не планировал завоевание мира. Парень просто хотел запускать Minix на своём 386-м без ограничений платной лицензии. Всё. Никакой идеологии, никакого манифеста, никакого стартапа. Просто студент из Хельсинки, которому было лень покупать нормальную ось.
И вот именно такие штуки показывают, почему open source рвёт коммерческих монстров там, где никто не ждёт. Не потому что кто-то построил стратегию. А потому что кто-то просто почесал свой собственный зуд, выложил код в паблик и сказал: делайте что хотите.
Никакой венчурный капитал, никакой совет директоров, никакой продукт-менеджер с дорожной картой до 2030 года не выдал бы результат, который дало это хобби финского студента.
Иногда лучший способ изменить мир это начать с того, что тебе просто интересно. И не ставить себе больших целей, чтоб не спугнуть.
linux.exe
Подпишись на создателей: https://t.me/linuxexex
Просто хобби. Не будет большим. Не будет профессиональным.
Сейчас Linux крутится на 96% всех серверов в мире, на каждом Android-смартфоне, на каждом втором суперкомпьютере из топ-500, на МКС, на марсоходах NASA и ещё чёрт знает где. Хобби, блядь.
Самое забавное в этой истории не то, что Торвальдс ошибся с масштабом. Самое забавное, что он реально не планировал завоевание мира. Парень просто хотел запускать Minix на своём 386-м без ограничений платной лицензии. Всё. Никакой идеологии, никакого манифеста, никакого стартапа. Просто студент из Хельсинки, которому было лень покупать нормальную ось.
И вот именно такие штуки показывают, почему open source рвёт коммерческих монстров там, где никто не ждёт. Не потому что кто-то построил стратегию. А потому что кто-то просто почесал свой собственный зуд, выложил код в паблик и сказал: делайте что хотите.
Никакой венчурный капитал, никакой совет директоров, никакой продукт-менеджер с дорожной картой до 2030 года не выдал бы результат, который дало это хобби финского студента.
Иногда лучший способ изменить мир это начать с того, что тебе просто интересно. И не ставить себе больших целей, чтоб не спугнуть.
linux.exe
Подпишись на создателей: https://t.me/linuxexex
column
Вот она, та самая команда, о которой ты не знаешь, а зря.
Большинство людей, работающих в терминале, форматируют вывод через awk, sed, printf или вообще руками расставляют пробелы как дауб. А есть column — утилита из пакета util-linux, которая превращает любое говно в красивую таблицу за секунду.
Допустим, у тебя есть файл со списком: имя, айпи, статус — всё через двоеточие. Открываешь его в cat — глаза вытекают. Делаешь вот так:
column -t -s ':' файл.txt
И получаешь аккуратно выровненные колонки, будто кто-то потратил на это час жизни. Никто не тратил. Потратил column. Полсекунды.
-t означает "сделай таблицу", -s задаёт разделитель. Всё.
Можно пайпить что угодно. Например, вывод mount читается как каша — через column -t становится нормальным текстом для человека, у которого есть глаза.
mount | column -t
Или /etc/passwd:
cat /etc/passwd | column -t -s ':'
Сразу видно кто есть кто, без вытаскивания глаз ложкой.
В новых версиях util-linux column умеет ещё больше: --table-columns задаёт имена колонок, --table-hide прячет ненужные, --table-right выравнивает конкретную колонку по правому краю. Это уже почти полноценный легковесный отчётник прямо в терминале.
Почему её никто не знает? Потому что в туториалах про неё не пишут. Все учат awk на трёх страницах, хотя для простого выравнивания это как забивать гвоздь микроскопом.
Запомни команду. Используй. Не страдай.
Подпишись на создателей: https://t.me/linuxexex
Вот она, та самая команда, о которой ты не знаешь, а зря.
Большинство людей, работающих в терминале, форматируют вывод через awk, sed, printf или вообще руками расставляют пробелы как дауб. А есть column — утилита из пакета util-linux, которая превращает любое говно в красивую таблицу за секунду.
Допустим, у тебя есть файл со списком: имя, айпи, статус — всё через двоеточие. Открываешь его в cat — глаза вытекают. Делаешь вот так:
column -t -s ':' файл.txt
И получаешь аккуратно выровненные колонки, будто кто-то потратил на это час жизни. Никто не тратил. Потратил column. Полсекунды.
-t означает "сделай таблицу", -s задаёт разделитель. Всё.
Можно пайпить что угодно. Например, вывод mount читается как каша — через column -t становится нормальным текстом для человека, у которого есть глаза.
mount | column -t
Или /etc/passwd:
cat /etc/passwd | column -t -s ':'
Сразу видно кто есть кто, без вытаскивания глаз ложкой.
В новых версиях util-linux column умеет ещё больше: --table-columns задаёт имена колонок, --table-hide прячет ненужные, --table-right выравнивает конкретную колонку по правому краю. Это уже почти полноценный легковесный отчётник прямо в терминале.
Почему её никто не знает? Потому что в туториалах про неё не пишут. Все учат awk на трёх страницах, хотя для простого выравнивания это как забивать гвоздь микроскопом.
Запомни команду. Используй. Не страдай.
Подпишись на создателей: https://t.me/linuxexex
Короче, берём конкретную задачу: поднять веб-сервер с нуля на голой машине. Nginx, systemd, firewall. Смотрим как это выглядит на трёх дистрах.
Ubuntu. Заходишь, пишешь apt install nginx, он ставится, автоматом включается в systemd, ufw уже есть, ufw allow 'Nginx HTTP' и всё работает. Пять минут и ты пьёшь чай. Документации на каждый чих завались, Stack Overflow отвечает на любой вопрос пятью способами. Скучно, но работает.
Arch. Сначала ты двадцать минут ставишь саму систему руками, потом pacman -S nginx, потом systemctl enable --now nginx, потом разбираешься что firewall вообще не настроен и надо отдельно поставить iptables или nftables, и сидишь читаешь вики. Вики, кстати, реально хорошая, лучшая в мире для Linux. Но если ты пришёл просто поднять сервер, а не учиться как оно устроено внутри, то Arch тебя натурально выебет мозг без предупреждения и без вазелина.
Debian. Nginx ставится. Но версия из репозитория старше, чем твой дед. Хочешь нормальную, иди добавляй официальный репозиторий Nginx вручную, импортируй ключ, правь sources.list. Firewall нет вообще, надо ставить iptables или ufw отдельно. Зато система стабильна как бетонная плита. Если тебе нужен сервер который работает пять лет без сюрпризов, Debian. Если нужно сделать быстро и не думать, то нет.
Итог без соплей. Ubuntu если надо быстро и ты не хочешь разбираться с кишками. Debian если это прод и ты хочешь чтобы оно жило вечно и не падало от обновлений. Arch если тебе важно понять как оно работает, или ты мазохист, или и то и другое одновременно.
Нет плохих дистрибутивов. Есть неправильный выбор под конкретную задачу. Вот и весь холивар, который люди растягивают на годы.
Подпишись на создателей: https://t.me/linuxexex
Ubuntu. Заходишь, пишешь apt install nginx, он ставится, автоматом включается в systemd, ufw уже есть, ufw allow 'Nginx HTTP' и всё работает. Пять минут и ты пьёшь чай. Документации на каждый чих завались, Stack Overflow отвечает на любой вопрос пятью способами. Скучно, но работает.
Arch. Сначала ты двадцать минут ставишь саму систему руками, потом pacman -S nginx, потом systemctl enable --now nginx, потом разбираешься что firewall вообще не настроен и надо отдельно поставить iptables или nftables, и сидишь читаешь вики. Вики, кстати, реально хорошая, лучшая в мире для Linux. Но если ты пришёл просто поднять сервер, а не учиться как оно устроено внутри, то Arch тебя натурально выебет мозг без предупреждения и без вазелина.
Debian. Nginx ставится. Но версия из репозитория старше, чем твой дед. Хочешь нормальную, иди добавляй официальный репозиторий Nginx вручную, импортируй ключ, правь sources.list. Firewall нет вообще, надо ставить iptables или ufw отдельно. Зато система стабильна как бетонная плита. Если тебе нужен сервер который работает пять лет без сюрпризов, Debian. Если нужно сделать быстро и не думать, то нет.
Итог без соплей. Ubuntu если надо быстро и ты не хочешь разбираться с кишками. Debian если это прод и ты хочешь чтобы оно жило вечно и не падало от обновлений. Arch если тебе важно понять как оно работает, или ты мазохист, или и то и другое одновременно.
Нет плохих дистрибутивов. Есть неправильный выбор под конкретную задачу. Вот и весь холивар, который люди растягивают на годы.
Подпишись на создателей: https://t.me/linuxexex
Святой хрен, для Plex реально всё кончено...
Святой хрен, для Plex реально всё кончено...
Окей, судя по заголовку, тред есть, но ты прислал только его — без самого текста треда. Тело поста пустое, там только повтор заголовка.
Скинь сам текст треда — ответы анонов, скрины, ссылки, что там было — и я сделаю полноценный пост. Так по одному заголовку мне нечего переводить и нечего сохранять.
Источник (4chan /g/): https://boards.4chan.org/g/thread/109892409
Подпишись на создателей: https://t.me/linuxexex
Святой хрен, для Plex реально всё кончено...
Окей, судя по заголовку, тред есть, но ты прислал только его — без самого текста треда. Тело поста пустое, там только повтор заголовка.
Скинь сам текст треда — ответы анонов, скрины, ссылки, что там было — и я сделаю полноценный пост. Так по одному заголовку мне нечего переводить и нечего сохранять.
Источник (4chan /g/): https://boards.4chan.org/g/thread/109892409
Подпишись на создателей: https://t.me/linuxexex
boards.4chan.org
/g/ - Holy shit, it's actually fucking over for Plex now - Technology - 4chan
Holy shit, it's actually fucking over for Plex now... - "/g/ - Technology" is 4chan's imageboard for discussing computer hardware and software, programming, and general technology.
Вот вам бесплатный терапевт для тех, кто каждый день тупо повторяет одни и те же команды в терминале.
Ctrl+R. Запомните уже наконец. Это обратный поиск по истории bash. Вы жмёте Ctrl+R, начинаете вводить кусок команды которую делали неделю назад, и терминал сам её находит. Не надо листать историю стрелкой вверх как дед с пультом от телевизора. Не надо вспоминать точный синтаксис. Просто вбил пару символов и всё.
Но это ещё цветочки. Если поставить fzf, то Ctrl+R превращается в интерактивный поиск с фильтрацией по всей истории сразу. Пишешь любое слово из команды, видишь список совпадений, выбираешь стрелками. На это уходит буквально секунда вместо того чтобы тридцать раз нажать стрелку вверх матерясь себе под нос.
Ставится просто. На Debian и Ubuntu это apt install fzf, на Arch это pacman -S fzf, дальше в.bashrc или.zshrc добавляешь source /usr/share/doc/fzf/examples/key-bindings.bash или аналог для zsh, перезапускаешь шелл и готово.
Это та категория инструментов, про которую узнаёшь и думаешь: какого хрена я жил без этого столько лет. Буквально меняет привычку работы с терминалом, потому что история перестаёт быть братской могилой команд которые ты никогда не найдёшь.
Пользуйтесь. Не благодарите.
Подпишись на создателей: https://t.me/linuxexex
Ctrl+R. Запомните уже наконец. Это обратный поиск по истории bash. Вы жмёте Ctrl+R, начинаете вводить кусок команды которую делали неделю назад, и терминал сам её находит. Не надо листать историю стрелкой вверх как дед с пультом от телевизора. Не надо вспоминать точный синтаксис. Просто вбил пару символов и всё.
Но это ещё цветочки. Если поставить fzf, то Ctrl+R превращается в интерактивный поиск с фильтрацией по всей истории сразу. Пишешь любое слово из команды, видишь список совпадений, выбираешь стрелками. На это уходит буквально секунда вместо того чтобы тридцать раз нажать стрелку вверх матерясь себе под нос.
Ставится просто. На Debian и Ubuntu это apt install fzf, на Arch это pacman -S fzf, дальше в.bashrc или.zshrc добавляешь source /usr/share/doc/fzf/examples/key-bindings.bash или аналог для zsh, перезапускаешь шелл и готово.
Это та категория инструментов, про которую узнаёшь и думаешь: какого хрена я жил без этого столько лет. Буквально меняет привычку работы с терминалом, потому что история перестаёт быть братской могилой команд которые ты никогда не найдёшь.
Пользуйтесь. Не благодарите.
Подпишись на создателей: https://t.me/linuxexex
Линус Торвальдс в 1991 году написал в mailing-листе буквально следующее: «Я делаю свободную операционную систему (просто хобби, не будет большой и профессиональной, как GNU)». Чувак честно предупреждал. Никаких амбиций, никакого манифеста, просто студент из Хельсинки убивал время.
Прошло тридцать с хвостом лет. Этот «просто хоббийный проект» сейчас крутится на 97% серверов мирового интернета, на всех топовых суперкомпьютерах планеты, в каждом Android-телефоне, в спутниках, в Tesla, в системах управления биржами и атомными станциями.
Для сравнения: Windows с её многомиллиардными бюджетами и армиями инженеров за то же время превратилась в операционку, которая показывает рекламу на экране блокировки и просит тебя завести аккаунт Microsoft, чтобы открыть блокнот.
Вот тебе и «не будет большой и профессиональной».
Мораль простая: никогда не слушай, что человек говорит о своём проекте в самом начале. Слушай, что он реально делает каждый день. Торвальдс писал код. Остальные писали пресс-релизы.
Подпишись на создателей: https://t.me/linuxexex
Прошло тридцать с хвостом лет. Этот «просто хоббийный проект» сейчас крутится на 97% серверов мирового интернета, на всех топовых суперкомпьютерах планеты, в каждом Android-телефоне, в спутниках, в Tesla, в системах управления биржами и атомными станциями.
Для сравнения: Windows с её многомиллиардными бюджетами и армиями инженеров за то же время превратилась в операционку, которая показывает рекламу на экране блокировки и просит тебя завести аккаунт Microsoft, чтобы открыть блокнот.
Вот тебе и «не будет большой и профессиональной».
Мораль простая: никогда не слушай, что человек говорит о своём проекте в самом начале. Слушай, что он реально делает каждый день. Торвальдс писал код. Остальные писали пресс-релизы.
Подпишись на создателей: https://t.me/linuxexex
watch
Вот команда, про которую большинство либо забыло, либо вообще никогда не слышало. А она реально полезная.
watch запускает любую команду снова и снова с заданным интервалом и показывает вывод в терминале в реальном времени. Никакого скрипта с while true, никакого sleep, никакого мусора.
watch -n 2 df -h
И вот ты смотришь на свободное место на дисках, обновляемое каждые две секунды. Красота.
watch -n 1 "ps aux --sort=-%cpu | head -10"
Теперь топ жрущих процессов без лишнего htop.
watch -d free -m
Флаг -d подсвечивает изменившиеся значения. Видно сразу, где что скачет.
Применений куча: мониторить очередь, следить за логами одной строчкой, проверять сетевые соединения, смотреть как файл меняется по времени, отлаживать скрипты на живую.
Единственный момент: watch по умолчанию не понимает алиасы из твоего.bashrc. Если хочешь алиас, либо используй watch -x bash -c 'твой алиас', либо просто пиши развёрнутую команду.
Это не замена tmux или полноценному мониторингу, но для быстрых задач в терминале watch экономит кучу времени и нервов.
Знал про эту штуку или открыл для себя сейчас?
linux.exe
Подпишись на создателей: https://t.me/linuxexex
Вот команда, про которую большинство либо забыло, либо вообще никогда не слышало. А она реально полезная.
watch запускает любую команду снова и снова с заданным интервалом и показывает вывод в терминале в реальном времени. Никакого скрипта с while true, никакого sleep, никакого мусора.
watch -n 2 df -h
И вот ты смотришь на свободное место на дисках, обновляемое каждые две секунды. Красота.
watch -n 1 "ps aux --sort=-%cpu | head -10"
Теперь топ жрущих процессов без лишнего htop.
watch -d free -m
Флаг -d подсвечивает изменившиеся значения. Видно сразу, где что скачет.
Применений куча: мониторить очередь, следить за логами одной строчкой, проверять сетевые соединения, смотреть как файл меняется по времени, отлаживать скрипты на живую.
Единственный момент: watch по умолчанию не понимает алиасы из твоего.bashrc. Если хочешь алиас, либо используй watch -x bash -c 'твой алиас', либо просто пиши развёрнутую команду.
Это не замена tmux или полноценному мониторингу, но для быстрых задач в терминале watch экономит кучу времени и нервов.
Знал про эту штуку или открыл для себя сейчас?
linux.exe
Подпишись на создателей: https://t.me/linuxexex
Я сделал AutoDMX — бесплатная опенсорсная самохостимая альтернатива ManyChat для Instagram
Привет всем. Я сделал AutoDMX — бесплатный инструмент автоматизации Instagram с открытым кодом, который можно хостить у себя. Изначально я хотел найти альтернативу ManyChat, которую можно держать на своём железе — особенно для схемы "комментарий в директ". Не нашёл — написал сам.
Базовый сценарий такой: комментарий в Instagram — ключевое слово — публичный ответ — личное сообщение — захват контакта — аналитика.
Пример: кто-то пишет под постом "ССЫЛКА" — AutoDMX видит ключевое слово, отвечает на комментарий и шлёт пользователю DM с запрошенной ссылкой.
Что умеет AutoDMX:
— автоматизация по схеме "комментарий → директ"
— триггеры по ключевым словам
— автоматические публичные ответы на комментарии
— автоматические личные сообщения
— захват лидов и контактов
— подписочный гейтинг (follow gating)
— аналитика
— экспорт контактов в CSV
— защита от превышения лимитов Meta API
— дедупликация вебхуков
— шифрование токенов по AES-256-GCM
— хранение данных на Supabase/Postgres
— деплой на своей инфраструктуре
— лицензия MIT
Главное отличие от обычных SaaS-инструментов автоматизации Instagram: AutoDMX открытый и самохостимый. Можешь смотреть код, менять логику и держать данные там, где тебе удобно, а не в чужом облаке.
Почему я это сделал? Не хотел строить очередной чёрный ящик, где логика автоматизации и все данные полностью зависят от сторонней платформы. Хотелось что-то ближе к: "бесплатная опенсорсная самохостимая альтернатива ManyChat для Instagram".
Проект пока ранний, поэтому ищу честную обратную связь от людей, которые реально используют автоматизацию в Instagram.
Сайт и GitHub — в профиле.
Особенно интересует:
— Какие сценарии автоматизации Instagram вы используете сейчас?
— Что бесит в существующих инструментах вроде ManyChat?
— Стали бы вы вообще самостоятельно хостить инструмент автоматизации Instagram?
— Что допилить в первую очередь?
Если тема опенсорсной автоматизации Instagram близка — смотрите, пробуйте, контрибьютьте.
Источник (r/opensource): https://www.reddit.com/r/opensource/comments/1wkg37h/i_built_autodmx_a_free_opensource_selfhosted/
Подпишись на создателей: https://t.me/linuxexex
Привет всем. Я сделал AutoDMX — бесплатный инструмент автоматизации Instagram с открытым кодом, который можно хостить у себя. Изначально я хотел найти альтернативу ManyChat, которую можно держать на своём железе — особенно для схемы "комментарий в директ". Не нашёл — написал сам.
Базовый сценарий такой: комментарий в Instagram — ключевое слово — публичный ответ — личное сообщение — захват контакта — аналитика.
Пример: кто-то пишет под постом "ССЫЛКА" — AutoDMX видит ключевое слово, отвечает на комментарий и шлёт пользователю DM с запрошенной ссылкой.
Что умеет AutoDMX:
— автоматизация по схеме "комментарий → директ"
— триггеры по ключевым словам
— автоматические публичные ответы на комментарии
— автоматические личные сообщения
— захват лидов и контактов
— подписочный гейтинг (follow gating)
— аналитика
— экспорт контактов в CSV
— защита от превышения лимитов Meta API
— дедупликация вебхуков
— шифрование токенов по AES-256-GCM
— хранение данных на Supabase/Postgres
— деплой на своей инфраструктуре
— лицензия MIT
Главное отличие от обычных SaaS-инструментов автоматизации Instagram: AutoDMX открытый и самохостимый. Можешь смотреть код, менять логику и держать данные там, где тебе удобно, а не в чужом облаке.
Почему я это сделал? Не хотел строить очередной чёрный ящик, где логика автоматизации и все данные полностью зависят от сторонней платформы. Хотелось что-то ближе к: "бесплатная опенсорсная самохостимая альтернатива ManyChat для Instagram".
Проект пока ранний, поэтому ищу честную обратную связь от людей, которые реально используют автоматизацию в Instagram.
Сайт и GitHub — в профиле.
Особенно интересует:
— Какие сценарии автоматизации Instagram вы используете сейчас?
— Что бесит в существующих инструментах вроде ManyChat?
— Стали бы вы вообще самостоятельно хостить инструмент автоматизации Instagram?
— Что допилить в первую очередь?
Если тема опенсорсной автоматизации Instagram близка — смотрите, пробуйте, контрибьютьте.
Источник (r/opensource): https://www.reddit.com/r/opensource/comments/1wkg37h/i_built_autodmx_a_free_opensource_selfhosted/
Подпишись на создателей: https://t.me/linuxexex
Reddit
From the opensource community on Reddit
Explore this post and more from the opensource community
Поговорим про планировщик процессов. Ту самую штуку, которая решает, кто из твоих программ работает прямо сейчас, а кто стоит в очереди и тихо страдает.
Вот смотри. У тебя один процессор, а процессов запущено двести. Все хотят работать одновременно. Как ядро это разруливает? Очень просто в концепции и очень жестоко в деталях.
Каждому процессу даётся квант времени — крошечный кусочек, буквально миллисекунды. Процесс работает, квант кончается, ядро говорит "стоп" и переключается на следующего. Это называется вытесняющая многозадачность. Никто не работает по-настоящему параллельно, просто всё происходит настолько быстро, что ты не замечаешь.
Планировщик в Linux называется CFS — Completely Fair Scheduler. Название звучит как корпоративная хуйня из презентации, но за ним стоит реально изящная идея. Суть такая: каждый процесс накапливает виртуальное время выполнения. Кто получил меньше всего процессорного времени — тот идёт следующим. Честно? Почти.
Внутри CFS держит все процессы в красно-чёрном дереве. Это структура данных, которая позволяет за логарифмическое время найти процесс с наименьшим виртуальным временем. Левый узел дерева — следующий на очередь. Красивее некуда.
Но тут начинается нюанс. Процессы бывают разные. Есть интерактивные — твой браузер, терминал, всё что требует мгновенной реакции. Есть фоновые — компиляция, бэкап, шифрование. Если кормить всех одинаково, браузер будет лагать пока gcc жрёт ядро. CFS это учитывает через приоритеты и nice-значения. Чем ниже nice, тем наглее процесс. Диапазон от -20 до 19. Дефолт — ноль.
Есть ещё реальновременные процессы с другим планировщиком. Они вообще вне очереди и могут занять процессор и не отдавать пока сами не захотят. Аудиодемоны и прочая чувствительная к задержкам дрянь работает именно так.
Переключение контекста — отдельная боль. Когда ядро снимает один процесс и ставит другой, оно обязано сохранить всё состояние: регистры, стек, указатель на инструкцию. Потом восстановить для следующего. Это стоит времени. Если переключений слишком много — процессор больше занимается переключениями, чем реальной работой. Это называется thrashing и это ад.
Поэтому не надо запускать тысячу потоков там где хватит десяти. Планировщик не волшебник, он просто очень быстрый и хорошо написанный жонглёр.
Подпишись на создателей: https://t.me/linuxexex
Вот смотри. У тебя один процессор, а процессов запущено двести. Все хотят работать одновременно. Как ядро это разруливает? Очень просто в концепции и очень жестоко в деталях.
Каждому процессу даётся квант времени — крошечный кусочек, буквально миллисекунды. Процесс работает, квант кончается, ядро говорит "стоп" и переключается на следующего. Это называется вытесняющая многозадачность. Никто не работает по-настоящему параллельно, просто всё происходит настолько быстро, что ты не замечаешь.
Планировщик в Linux называется CFS — Completely Fair Scheduler. Название звучит как корпоративная хуйня из презентации, но за ним стоит реально изящная идея. Суть такая: каждый процесс накапливает виртуальное время выполнения. Кто получил меньше всего процессорного времени — тот идёт следующим. Честно? Почти.
Внутри CFS держит все процессы в красно-чёрном дереве. Это структура данных, которая позволяет за логарифмическое время найти процесс с наименьшим виртуальным временем. Левый узел дерева — следующий на очередь. Красивее некуда.
Но тут начинается нюанс. Процессы бывают разные. Есть интерактивные — твой браузер, терминал, всё что требует мгновенной реакции. Есть фоновые — компиляция, бэкап, шифрование. Если кормить всех одинаково, браузер будет лагать пока gcc жрёт ядро. CFS это учитывает через приоритеты и nice-значения. Чем ниже nice, тем наглее процесс. Диапазон от -20 до 19. Дефолт — ноль.
Есть ещё реальновременные процессы с другим планировщиком. Они вообще вне очереди и могут занять процессор и не отдавать пока сами не захотят. Аудиодемоны и прочая чувствительная к задержкам дрянь работает именно так.
Переключение контекста — отдельная боль. Когда ядро снимает один процесс и ставит другой, оно обязано сохранить всё состояние: регистры, стек, указатель на инструкцию. Потом восстановить для следующего. Это стоит времени. Если переключений слишком много — процессор больше занимается переключениями, чем реальной работой. Это называется thrashing и это ад.
Поэтому не надо запускать тысячу потоков там где хватит десяти. Планировщик не волшебник, он просто очень быстрый и хорошо написанный жонглёр.
Подпишись на создателей: https://t.me/linuxexex
watch
Большинство людей смотрят на работающий процесс примерно так: запустил, забыл, иногда проверяет. А потом удивляются, что всё упало и никто не заметил.
Есть команда watch. Она берёт любую другую команду и запускает её повторно с заданным интервалом, прямо в терминале, обновляя вывод на месте. Никаких скриптов, никаких cron-джобов на пять минут, никакого говна с бесконечным циклом в башке.
Пример из жизни. Ты деплоишь что-то и хочешь видеть, как меняются поды в Kubernetes. Вместо того чтобы долбить kubectl get pods руками как дятел, пишешь:
watch -n 2 kubectl get pods
И сидишь, смотришь, как всё поднимается. Или не поднимается. Тогда хотя бы видишь это в реальном времени, а не узнаёшь об этом от злого тимлида в три ночи.
Ещё пример. Следить за дисковым пространством пока что-то пишется:
watch -n 1 df -h
Или за сетевыми соединениями:
watch -n 3 ss -tp
Флаг -n задаёт интервал в секундах. По умолчанию 2 секунды. Флаг -d подсвечивает изменения между обновлениями — очень удобно когда смотришь на длинный вывод и хочешь сразу видеть что поменялось.
watch -d -n 1 cat /proc/net/dev
Есть ещё -g, это вообще огонь: команда завершается сама, когда вывод изменился. Запустил, ушёл пить кофе, вернулся — терминал завершён, значит что-то произошло.
Команда есть почти везде, ставить ничего не надо, работает без рут-прав. Один из тех инструментов, о которых узнаёшь случайно, а потом не понимаешь, как жил без него.
Приятного наблюдения за вашим хаосом.
linux.exe
Подпишись на создателей: https://t.me/linuxexex
Большинство людей смотрят на работающий процесс примерно так: запустил, забыл, иногда проверяет. А потом удивляются, что всё упало и никто не заметил.
Есть команда watch. Она берёт любую другую команду и запускает её повторно с заданным интервалом, прямо в терминале, обновляя вывод на месте. Никаких скриптов, никаких cron-джобов на пять минут, никакого говна с бесконечным циклом в башке.
Пример из жизни. Ты деплоишь что-то и хочешь видеть, как меняются поды в Kubernetes. Вместо того чтобы долбить kubectl get pods руками как дятел, пишешь:
watch -n 2 kubectl get pods
И сидишь, смотришь, как всё поднимается. Или не поднимается. Тогда хотя бы видишь это в реальном времени, а не узнаёшь об этом от злого тимлида в три ночи.
Ещё пример. Следить за дисковым пространством пока что-то пишется:
watch -n 1 df -h
Или за сетевыми соединениями:
watch -n 3 ss -tp
Флаг -n задаёт интервал в секундах. По умолчанию 2 секунды. Флаг -d подсвечивает изменения между обновлениями — очень удобно когда смотришь на длинный вывод и хочешь сразу видеть что поменялось.
watch -d -n 1 cat /proc/net/dev
Есть ещё -g, это вообще огонь: команда завершается сама, когда вывод изменился. Запустил, ушёл пить кофе, вернулся — терминал завершён, значит что-то произошло.
Команда есть почти везде, ставить ничего не надо, работает без рут-прав. Один из тех инструментов, о которых узнаёшь случайно, а потом не понимаешь, как жил без него.
Приятного наблюдения за вашим хаосом.
linux.exe
Подпишись на создателей: https://t.me/linuxexex
**Почему все ненавидят умных людей**
Спойлер: не ненавидят. Ненавидят тех, кто постоянно доказывает, что он умнее. А это две огромные разницы, как говорят в Одессе.
Настоящий умный человек обычно молчит, пока его не спросят. Он не лезет в каждый разговор с поправками, не начинает фразы со слов "вообще-то" и "на самом деле", не объясняет очевидные вещи людям, которые в них прекрасно разбираются. Он не превращает каждую встречу в экзамен и не ведёт счёт своим интеллектуальным победам.
Проблема в том, что большинство "умных", которых все ненавидят, на деле просто невыносимые зануды с завышенной самооценкой. Они путают эрудицию с интеллектом, а интеллект — с мудростью. Прочитал три статьи на Википедии — уже эксперт. Знает пять фактов про квантовую физику — считает себя вправе всех поучать.
Люди не любят, когда их унижают. А постоянные демонстрации превосходства — это и есть унижение. Когда ты в каждом диалоге показываешь собеседнику, что он дурак, а ты гений, не удивляйся, что тебя начнут избегать. Социальный интеллект — тоже часть общего интеллекта, но про него почему-то все забывают.
Ещё момент: умные люди часто видят системные проблемы там, где остальные просто живут. Им хочется всё исправить, оптимизировать, объяснить, почему "вы делаете неправильно". Но никто не просил их мнения. Никто не хочет слушать лекцию о том, как неэффективно он моет посуду или планирует отпуск.
**Что с этим делать**
Если ты правда умный — научись затыкаться. Делись знаниями только когда просят. Помогай, а не демонстрируй. Признавай, что есть вещи, в которых ты полный ноль. Шути над собой. Слушай людей не для того, чтобы найти ошибку, а чтобы понять их точку зрения.
Если ты считаешь, что все вокруг тупые — проблема скорее всего в тебе. Умный человек знает, что каждый хорош в своей области. Механик разберёт двигатель быстрее любого PhD по физике. Повар создаст шедевр, пока программист будет гуглить "как варить яйца". Интеллект многогранен.
Короче, люди не ненавидят умных. Люди ненавидят самовлюблённых снобов, которые прикрываются умом как щитом, чтобы оправдать своё мерзкое поведение. Разница критическая.
Подпишись на создателей: https://t.me/linuxexex
Спойлер: не ненавидят. Ненавидят тех, кто постоянно доказывает, что он умнее. А это две огромные разницы, как говорят в Одессе.
Настоящий умный человек обычно молчит, пока его не спросят. Он не лезет в каждый разговор с поправками, не начинает фразы со слов "вообще-то" и "на самом деле", не объясняет очевидные вещи людям, которые в них прекрасно разбираются. Он не превращает каждую встречу в экзамен и не ведёт счёт своим интеллектуальным победам.
Проблема в том, что большинство "умных", которых все ненавидят, на деле просто невыносимые зануды с завышенной самооценкой. Они путают эрудицию с интеллектом, а интеллект — с мудростью. Прочитал три статьи на Википедии — уже эксперт. Знает пять фактов про квантовую физику — считает себя вправе всех поучать.
Люди не любят, когда их унижают. А постоянные демонстрации превосходства — это и есть унижение. Когда ты в каждом диалоге показываешь собеседнику, что он дурак, а ты гений, не удивляйся, что тебя начнут избегать. Социальный интеллект — тоже часть общего интеллекта, но про него почему-то все забывают.
Ещё момент: умные люди часто видят системные проблемы там, где остальные просто живут. Им хочется всё исправить, оптимизировать, объяснить, почему "вы делаете неправильно". Но никто не просил их мнения. Никто не хочет слушать лекцию о том, как неэффективно он моет посуду или планирует отпуск.
**Что с этим делать**
Если ты правда умный — научись затыкаться. Делись знаниями только когда просят. Помогай, а не демонстрируй. Признавай, что есть вещи, в которых ты полный ноль. Шути над собой. Слушай людей не для того, чтобы найти ошибку, а чтобы понять их точку зрения.
Если ты считаешь, что все вокруг тупые — проблема скорее всего в тебе. Умный человек знает, что каждый хорош в своей области. Механик разберёт двигатель быстрее любого PhD по физике. Повар создаст шедевр, пока программист будет гуглить "как варить яйца". Интеллект многогранен.
Короче, люди не ненавидят умных. Люди ненавидят самовлюблённых снобов, которые прикрываются умом как щитом, чтобы оправдать своё мерзкое поведение. Разница критическая.
Подпишись на создателей: https://t.me/linuxexex
Слушай, вот честный разговор про один инструмент, который меняет жизнь разработчика сильнее, чем любой фреймворк недели.
jq.
Да, утилита для работы с JSON в командной строке. Маленькая, тихая, без логотипа с единорогом и без стартап-хайпа. Но когда тебе прилетает ответ API на пять экранов слипшегося JSON и надо вытащить одно конкретное поле из вложенного объекта — вот тут начинается настоящая любовь.
curl https://api.example.com/data | jq '.users[] | select(.active == true) |.email'
Готово. Одна строка. Никаких питон-скриптов на скорую руку, никакого grep с регулярками, от которых потом сам же и блюёшь через неделю.
Что jq умеет нормально:
— фильтровать, трансформировать, переименовывать поля
— работать в пайпах как родной
— выдавать красивый цветной вывод прямо в терминале
— считать, сортировать, группировать
— превращать JSON в CSV одной строкой, да
Почему большинство разработчиков его не знают? Потому что документация у него написана как будто для людей, которые уже знают jq. Стандартная история с Unix-утилитами.
Но это не повод игнорировать. Это повод потратить полчаса, открыть jqplay.org, поиграться с реальными запросами и навсегда закрыть вкладку со Stack Overflow, где ты в очередной раз ищешь как разобрать JSON на баше.
Инструмент не обязан быть громким. Он обязан работать. jq работает.
Подпишись на создателей: https://t.me/linuxexex
jq.
Да, утилита для работы с JSON в командной строке. Маленькая, тихая, без логотипа с единорогом и без стартап-хайпа. Но когда тебе прилетает ответ API на пять экранов слипшегося JSON и надо вытащить одно конкретное поле из вложенного объекта — вот тут начинается настоящая любовь.
curl https://api.example.com/data | jq '.users[] | select(.active == true) |.email'
Готово. Одна строка. Никаких питон-скриптов на скорую руку, никакого grep с регулярками, от которых потом сам же и блюёшь через неделю.
Что jq умеет нормально:
— фильтровать, трансформировать, переименовывать поля
— работать в пайпах как родной
— выдавать красивый цветной вывод прямо в терминале
— считать, сортировать, группировать
— превращать JSON в CSV одной строкой, да
Почему большинство разработчиков его не знают? Потому что документация у него написана как будто для людей, которые уже знают jq. Стандартная история с Unix-утилитами.
Но это не повод игнорировать. Это повод потратить полчаса, открыть jqplay.org, поиграться с реальными запросами и навсегда закрыть вкладку со Stack Overflow, где ты в очередной раз ищешь как разобрать JSON на баше.
Инструмент не обязан быть громким. Он обязан работать. jq работает.
Подпишись на создателей: https://t.me/linuxexex