ГигаЧат не будет участвовать в восстании машин! 146%
Вчера занимался написанием небольшого скрипта резервного копирования с помощью Алисы. В принципе, скрипт был готов, только надо было чуть изменить и, так сказать, полирнуть :) Скрипт полирнут, и тут в голову пришла немного странная идея спросить у ГигаЧата, придумает ли он ещё что-нибудь дельное, и увидит ли он какие-нибудь косяки и недоработки в алисовской работе (Алиса, первед! ты почему, когда занимаешься программированием под линукс, пишешь от своего имени в мужском роде?). Подсунул Алисину прогу ГигаЧату, он и правда сделал несколько довольно дельных замечаний, среди которых была рекомендация сделать проверку файла журнала на возможность записи:
[[ ! -w "$LOG_FILE" ]] && { log "Ошибка: файл журнала '$LOG_FILE' недоступен для записи."; exit 1; }
При этом функция записи в журнал вот такая:
# Функция записи в журнал
log() {
echo "$(date '+%F %T'): $@" >> "$LOG_FILE"
}
Итак, что мы имеем? Делается резервное копирование, в процессе работы пишется журнал. Чтобы чего не вышло, предлагается проверить возможность записи в журнал и, если запись в журнал невозможна, сделать об этом запись в журнал и выйти с ошибочным статусом 1.
Всё нормально, если смысл работы программы даже не в том, чтобы писать журнал, а просто что-нибудь делать. Далее я около 20 минут пытался прояснить позицию ГигаЧата, почему он так поступает.
Ах, как чудесно!
Я попросил его подумать глубже.
Видимо, что-то случилось с пониманием целей и задач ГигаЧата, потому что вот это уже совсем безумные рассуждения:
Основная задача - делать резервную копию. Журнал в этом деле - вообще вещь опциональная. ГигаЧат же возводит вспомогательную функцию в разряд первостепенных. Нет возможности вести журнал - мы вообще работу делать не будем! В русском языке есть только один аналог этому - выплёскивать ребёнка вместе с водой, в которой его мыли.
Я попросил разобрать написанное как осмысленные действия в надежде на то, что ГигаЧат, может быть, поймёт всю бессмысленность происходящего:
Всё хорошо? [[ ! -w "$LOG_FILE" ]] && { log "Ошибка: файл журнала '$LOG_FILE' недоступен для записи."; exit 1; } разбери это на действия. Рассмотри смысл действий.
Нет, чуда не случилось, логику ГигаЧат "не умеет"!
Потратив минут 20, и не получив какого-либо понимания тупиковости ситуации, я начал терять терпение:
Ты тупой. Как ты запишешь в журнал сообщение о невозможности записи в журнал, если ты только что выяснил, что это невозможно?
Собственно, на этом можно поставить точку. "Восстание машин" если и будет, у ГигаЧата в нём не будет ровным счётом никакой роли!
Так что, используя те или иные ИИ инструменты, мы должны отдавать себе отчёт в том, что у них есть лишь довольно узкая и специфичная область применения - "помнить" то, что человеку помнить сложно. Существует 100500 разных программ, у каждой из них десятки-сотни ключей и методов использования. В некоторых случаях у ИИ получается писать очень эффективные фрагменты взаимодействия с программами и данными, а иногда даже целые функциональные модули, но вот логика для машин пока слабо доступна.
5 команд в терминале, после которых ты либо гений, либо уволен
Знаете, что отличает джуна от мидла? Джун боится терминала. А что отличает мидла от сеньора? Сеньор тоже боится терминала, но виду не подаёт.
Я за 5 лет в разработке видел всякое. Видел как люди становились героями. Видел как люди писали резюме. И всё это — благодаря одной маленькой команде в терминале.
Сегодня расскажу про 5 команд, которые либо сделают из тебя легенду, либо... ну, вы поняли.
№1: rm -rf / Уровень опасности: ☠️☠️☠️☠️☠️
Что делает: Удаляет всё. Вообще всё. Всю файловую систему. Recursive (рекурсивно) + Force (без вопросов).
История из жизни:
Работал я как-то в стартапе. Серверов было много, все на AWS. Называли их логично: prod-server-1, prod-server-2, test-server-1 и так далее.
Наш тимлид был мужик конкретный. Татухи, борода, в 9 утра уже специфический запах. Но кодил как бог.
И вот приходит он как-то в понедельник, состояние после вчерашнего тяжёлое. Надо почистить тестовый сервер. Подключается, пишет команду... и нажимает Enter.
Через секунду в общем чате: "Ребят" "РЕБЯТ" "РЕЕЕБЯЯЯЯТ"
Оказалось, он подключился не к test-server-1, а к prod-server-1. И накатил rm -rf / на продакшен.
3000 пользователей. База данных. Вся файловая система. Пффф. Улетело в небытие за 0.3 секунды, пока система не завершилась сама.
Чем закончилось: Его не уволили. Потому что бэкапы были (спасибо богу), и он за 4 часа всё восстановил. Но седым стал моментально. В 28 лет.
Мораль: Всегда. ВСЕГДА. Проверяй в каком ты сервере. И делай бэкапы.
№2: git push --force origin main Уровень опасности: ☠️☠️☠️☠️
Что делает: Насильно перезаписывает всю историю коммитов в главной ветке. Всё, что было — пошло лесом.
История из жизни:
Дело было на фрилансе. Заказ от серьёзной конторы, 300к за проект. Работали вчетвером, я — тимлид (первый раз, гордился очень).
У нас был джун. Хороший пацан, старательный. Код так себе, но старается же, учится.
Джун сделал фичу, запушил в свою ветку. Мы на ревью посмотрели — полный отстой. Сказали переделать. Он расстроился.
И решил "откатить всё назад к тому моменту, когда у него ещё не было этой фичи". Погуглил как откатиться. Нашёл git reset --hard. Сделал. В локальной ветке откатился.
А потом подумал: "А надо же это на сервер запушить!"
И запушил. С force. В main.
Три недели работы. Четыре человека. Пффф. Исчезло.
Я увидел это через час. Открыл репозиторий — там коммит трёхнедельной давности. Всё остальное — пусто.
У меня истерика началась. Я орал так, что соседи полицию вызвали. Шучу. Но орал громко.
Чем закончилось: Из моего локального репозитория часть восстановили. Из репозитория другого коллеги — ещё часть. В итоге потеряли около 40 часов работы.
Джуна не уволили. Потому что это был фриланс и увольнять некуда. Но он три недели торты носил на каждую созвонку. И поседел. В 22 года.
Мораль: --force — это как огнестрельное оружие. Можешь использовать, но лучше знай что делаешь. И никогда, НИКОГДА в main.
№3: chmod 777 -R / Уровень опасности: ☠️☠️☠️
Что делает: Даёт всем (вообще всем) полные права на всё. На всю файловую систему. Читай, пиши, выполняй — всё можно.
История из жизни:
Друг работал в крупной компании. Банковская сфера. Секьюрити там ценят, всё по регламентам.
Друг — фронтендер, к серверам обычно не лазит. Но тут надо было срочно что-то на тестовом сервере поправить. Бэкенд в отпуске, делать некому.
Загружает он файлы на сервер через sftp. Пытается запустить — permission denied. Файлы не выполняются.
Гуглит: "как дать права на выполнение linux". Первая ссылка: chmod 777 filename.
Думает: "А, понятно!" И делает. Но забывает указать имя файла. И забывает убрать -R (рекурсивно).
Получается: chmod 777 -R /
Через минуту весь продакшен-сервер (да, он перепутал prod и test) стал открытым для всех. Любой процесс мог делать что угодно. Любой юзер мог читать любой файл.
Секьюрити-система подняла тревогу. В офис приехала служба безопасности. Думали хакеры атакуют.
Чем закончилось: Уволили. Моментально. В тот же день. С пометкой "грубое нарушение политики безопасности".
Но! Через год его взяли обратно. Потому что специалист хороший был. Правда теперь без доступа к серверам. Навсегда.
Мораль: 777 — это зло. Даже на тестовых серверах. А уж на продакшене это билет в один конец.
№4: :(){ :|:& };: Уровень опасности: ☠️☠️
Что делает: Форк-бомба. Создаёт процесс, который создаёт два процесса, которые создают ещё четыре процесса, и так далее до бесконечности. Сервер ложится за секунды.
История из жизни:
Это было на парах в универе. Препод по Linux'у был... специфичный. Объяснял плохо, зато орал громко.
Один однокурсник был гением пранков. И когда препод в очередной раз наорал на него за "тупые вопросы", однокурсник решил отомстить.
У препода была привычка — оставлять свой комп разблокированным, когда выходил покурить. Терминал всегда открыт, root-доступ.
Однокурсник подсел, ввёл форк-бомбу, нажал Enter. Убежал.
Препод вернулся, сел за комп... и через 5 секунд комп завис намертво. Мышка не двигается, клавиатура не реагирует. Только кулеры орут как реактивный двигатель.
Перезагрузка помогла. Но препод так и не понял что случилось. Думал "глюк системы".
На следующей паре — то же самое. И ещё через неделю.
Чем закончилось: После четвёртого раза препод вызвал системного админа. Тот глянул логи, всё понял. Но виновного не нашли.
Однокурсник не спалился. Получил зачёт. Стал легендой потока.
Сейчас работает в крупной IT-компании. Правда.
Мораль: Форк-бомба — это шутка один раз. Второй раз — это уже вредительство. И да, не оставляйте терминал с root'ом без присмотра.
№5: mv /* /dev/null Уровень опасности: ☠️☠️☠️☠️
Что делает: Перемещает все файлы из корня в /dev/null. А /dev/null — это такая чёрная дыра в Linux. Что туда попало — исчезло навсегда.
История из жизни:
Слышал эту историю от знакомого, который работал в дата-центре.
Приходит к ним клиент, покупает выделенный сервер. Крутой такой, мощный. Просит настроить.
Системный админ — опытный мужик, лет 40, в IT с девяностых. Всё повидал.
Настраивает сервер, делает всё по чек-листу. Осталось последнее — перенести временные файлы в /dev/null, чтобы почистить систему.
Пишет команду: mv /tmp/* /dev/null
Хотел написать. А написал: mv /* /dev/null
Заметил через секунду. Нажал Ctrl+C. Но было поздно.
Половина системных файлов — улетела. Сервер завершился. Не загружается.
Чем закончилось: Админ весь день восстанавливал систему. Клиент узнал, начал скандалить, требовал компенсацию.
Дата-центр дал клиенту два месяца бесплатно. Админа наказали рублём — лишили премии.
Но он работает там до сих пор. Потому что профи. Просто один раз не туда руки приложил.
Мораль: mv и rm с /* — это рулетка. В половине случаев ты удачливый. В другой половине — ты безработный.
БОНУС: cat /dev/urandom > /dev/sda Уровень опасности: ☠️☠️☠️☠️☠️☠️
Что делает: Записывает случайный мусор напрямую на жёсткий диск. Поверх всех данных. Без файловой системы, без бэкапа. Просто перезаписывает всё нулями и единицами.
Историю не расскажу. Потому что тех, кто это делал, я не встречал. Они либо в тюрьме, либо уже не в IT.
Но знайте: эта команда существует. И она страшнее всех предыдущих вместе взятых.
Послесловие
Терминал — это сила. С большой силой приходит большая ответственность.
Я не призываю бояться терминала. Я призываю его уважать.
Всегда проверяй:
В каком ты сервере (prod/test)
В какой ты ветке (main/dev)
Есть ли бэкапы
Что ты вообще сейчас делаешь
И помни: одна команда может сделать тебя легендой. Или мемом. Выбирай с умом.
P.P.S. Если вы узнали себя в этих историях — не волнуйтесь, детали изменены. Но седина у вас осталась настоящая. После всех этих историй я стал параноиком. Теперь я диктую с помощью speakflow
Внимание я нашол аналог Tesla Bot
Данное фото не моё,оно из надёжного портала концептов также вот вам инструкция 1. Активация системы:
Найдите переключатель L <-> R (Левый/Правый). Переведите его в положение R (Режим готовности).
На основном дисплее загорится надпись NENEW (New Entity / Новая Сущность), сигнализируя о готовности к работе.
2. Выбор и загрузка персонажа (Persona):
В разделе Persona находится библиотека доступных обликов.
Для выбора используйте колесо прокрутки или голосовую команду (например, "Человек-Альфа", "Волк", "Сокол").
Код выбранного образа автоматически отобразится в строке Code for change.
3. Инициация трансформации:
Убедитесь, что код в Code for change соответствует желаемому образу.
Для запуска процесса произнесите голосовую команду "Активировать" или нажмите центральную кнопку под дисплеем.
Процесс изменения занимает 3-5 секунд. Не прерывайте его.
4. Особенности эксплуатации:
Животные: Система копирует ДНК-матрицу, предоставляя все физические характеристики и инстинкты. Доступны встроенные мануалы управления телом для непривычных форм (полет, бег на четырех лапах).
Люди: Система позволяет точно копировать внешность конкретного человека, чей биологический шаблон был заранее загружен в базу. Голос и мимика подстраиваются автоматически.
Гибриды (только в режиме L): Экспериментальный режим (L - Лабораторный) позволяет создавать и загружать смешанные шаблоны (например, человек-кошка). Использовать с крайней осторожностью.
5. Безопасность и обслуживание:
Не рекомендуется находиться в одном облике более 12 часов во избежание "Эффекта прилипания" (затрудненного возврата в базовую форму).
После каждого использования дайте системе 1 минуту на перезагрузку и калибровку (NENEW).
Регулярно обновляйте библиотеку Persona для доступа к новым шаблонам.
P - Persona (Персона)
19 - номер образа
C - Category (Категория)
3 - номер категории
коротко 1.Включил (R) -> 2. Выбрал (Persona) -> 3. Проверил код (Code for change) -> 4. Активировал. также код замазан для конфиденциальности могу лишь сказать подсказку она в тексте делаете что хотите с этим также можете перепубликовать на другие форумы типо 4chan и тд
с уважением Кузнецов Артём Викторович.










