есть свои недостатки в любом ИИ, но нужно смотреть на достоинства. на редакции текста было сэкономлено несколько часов и все мои мысли и идеи были сохранены без искажения 😎
да, есть нюансы с проигрыванием лога в таких случаях. но назначение atch больше для сохранения текстового вывода при дисконнекте или ребуте. цветные и оконные программы живут по другим правилам 😅
Я не объяснил, почему моя утилита написана именно на C.
Более 10 лет назад, когда я начал использовать Go в работе, я сразу подумал, что это современная замена C.
Но прошло время, и я начал возвращаться к C, переписывая небольшие утилиты на нём. Причин несколько.
Asm и C были созданы в эпоху малых хранилищ данных (или их отсутствия), поэтому бинарники были максимально оптимизированы. В наше время несколько лишних мегабайт почти ничего не значит. Но когда утилит становится много и нужно быстро развернуть десяток, это может вылиться в сотни мегабайт, и установка займёт минуты вместо секунд.
Когда каждый день работаешь с десятками недолгоживущих Linux-систем, всё это создаёт бесполезный трафик в несколько гигабайт.
как я сейчас использую atch, это очень нестандартно. я использую кастомный ssh, который инжектит на хост atch, если он там не установлен, и дальше создается atch сессия если в логине пользователя был префикс % – это у меня флаг для персистентной сессии. моя ssh команда выглядит как ssh %user@host.com и я попадаю в сессию atch.
иными словами – утилита разоработана под мои собственные нужды для ssh соединений.
atch -C 4m new mysession # 4 MB cap
atch -C 128k start daemon # 128 KB cap
atch -C 0 start daemon # no log at all
-C <size>Set the on-disk log cap for the session being created. Accepts a bare number (bytes), or a number with k/K (KiB) or m/M (MiB) suffix. 0 disables the log entirely. Default: 1m.
👍 спасибо вам за фидбек!
добавил команду для удобства
на такие сессии нет встроенной команды, но можно удалить сокет stale сессии:
rm ~/.cache/atch/hf-downloadпо сути stale сессия - это неактивная сессия у которой остался файл сокета на диске, потому что он не был закрыт
согласен! 😅
☝️ добавил в версии 0.4
есть свои недостатки в любом ИИ, но нужно смотреть на достоинства. на редакции текста было сэкономлено несколько часов и все мои мысли и идеи были сохранены без искажения 😎
👍 думаю ваша идея имеет смысл. могу добавить на днях.
я вот вижу что можно сделать подобие
tail:что думаете?
да, есть нюансы с проигрыванием лога в таких случаях. но назначение atch больше для сохранения текстового вывода при дисконнекте или ребуте. цветные и оконные программы живут по другим правилам 😅
посмотрел, выглядит интересно 👍 есть над чем подумать
zig это круто, я не спорю. но у меня пока нет достаточно времени поработать с ним плотно. попробую в ближайшем будущем. спасибо!
так да, дефолт стоит 1М
Я не объяснил, почему моя утилита написана именно на C.
Более 10 лет назад, когда я начал использовать Go в работе, я сразу подумал, что это современная замена C.
Но прошло время, и я начал возвращаться к C, переписывая небольшие утилиты на нём. Причин несколько.
Asm и C были созданы в эпоху малых хранилищ данных (или их отсутствия), поэтому бинарники были максимально оптимизированы. В наше время несколько лишних мегабайт почти ничего не значит. Но когда утилит становится много и нужно быстро развернуть десяток, это может вылиться в сотни мегабайт, и установка займёт минуты вместо секунд.
Когда каждый день работаешь с десятками недолгоживущих Linux-систем, всё это создаёт бесполезный трафик в несколько гигабайт.
Я бы даже atch переписал на Asm, если бы мог. 😅
да, видели. проблема в том, что он весит 10MB, написан на zig.
atch и dtach это чистый C и размер бинарника в килобайтиках 😎
как я сейчас использую atch, это очень нестандартно.
я использую кастомный ssh, который инжектит на хост atch, если он там не установлен, и дальше создается atch сессия если в логине пользователя был префикс
%– это у меня флаг для персистентной сессии. моя ssh команда выглядит какssh %user@host.comи я попадаю в сессию atch.иными словами – утилита разоработана под мои собственные нужды для ssh соединений.
но использовать atch можно по-разному 😎
конечно, у меня нет достаточного опыта с Rust )
готово!
добавил! 😎 вот пример:
-C <size>Set the on-disk log cap for the session being created. Accepts a bare number (bytes), or a number withk/K(KiB) orm/M(MiB) suffix.0disables the log entirely. Default:1m.да, старый дедовский метод иногда тоже неплохо помогает 😅
потому что не всем это подходит. часто нужна интерактивность, а не только голый лог.