Королева котдалов
Как котики рушат деплои: история про Баксика и потерянные часы разработчиков
Как котики захватили IT-инфраструктуру
Disclaimer: ни один кот не пострадал при написании этой статьи. А вот клавиатур пострадало много.
История одного деплоя
Было это в прошлую пятницу. Сижу, значит, пилю фичу, всё идёт по плану. Котик мой, Баксик, дрыхнет на подоконнике, солнышко светит — идиллия.
И тут — БАМ!
Баксик решает, что подоконник — это скучно, а вот клавиатура — самое интересное место на планете. Прыжок. Приземление. И мой :wq превращается в :wq!!!!!!!11111 с последующим :!rm -rf /.
Хорошо, что я успел нажать Ctrl+C. Но локальный сервер всё же упал.
С тех пор я задумался: а сколько времени мы теряем из-за котиков? И главное — как с этим бороться?
Статистика (с потолка, но правдивая)
После опроса 42 коллег-разработчиков из трёх чатов в телеграме я выяснил:
78% котиков хотя бы раз наступали на клавиатуру в самый ответственный момент
34% котов выключали сервер, нажав на кнопку питания
12% (самые одарённые) умудрялись отправить пул-реквест с рандомными символами
Мой Баксик гордо входит во все три категории.
Топ-5 кото-катастроф в IT
1. Кот vs Клавиатура (классика)
Самый частый кейс. Кот садится на клаву, потому что:
Она тёплая
Она пахнет вашими пальцами
Вы смотрите на неё, а значит, она важная
Решение: Купить механическую клавиатуру с тяжёлыми свитчами. Кот продавит, но не так быстро. Или поставить горячие клавиши на что-то безобидное. У меня Ctrl+Shift+K теперь открывает мемасы с котами — Баксик смотрит и успокаивается.
2. Кот vs Монитор
Кот сидит перед монитором и смотрит на курсор. Вы не видите код. Кот не двигается.
хом. Или, как я, купить беспроводную периферию и надеяться, что кот не начнёт грызть зарядку от макбука (спойлер: начнёт).
4. Кот vs Коллеги на созвоне
Кот запрыгивает на стол, садится перед веб-камерой и начинает умываться. Весь созвон смотрит на кота, а не на ваш доклад.
Решение: Смириться. Это повышает карму. Серьёзно, после того как Баксик появился в кадре, меня перестали дёргать на утренние стендапы. Спойлер: коту плевать на вашу карму.
5. Кот vs Терминал
Кот наступает на Ctrl+C в самый неподходящий момент. Или, что хуже, на Enter.
Решение: Использовать screen/tmux. Сессия переживёт случайное закрытие терминала. А если кот уронит ноутбук — молитесь, чтобы был ssd.
Что делать? (рабочие советы)
Для разработчиков:
Запретить коту заходить в комнату во время деплоя. Звучит смешно, но работает. Закрываю дверь на 10 минут — и мир.
Поставить коту лежанку рядом с ноутбуком. Он будет сидеть рядом, а не на клавиатуре. Проверено.
Купить игрушку-лазер. Когда кот начинает охоту на курсор, отвлекаем лазером на стену. Минута игры — час спокойной работы.
Для сисадминов:
Автоматизируйте всё. Если котик может случайно нажать на кнопку — значит, она не должна ничего критичного делать без подтверждения.
Делайте бекапы. Кот не спросит разрешения, прежде чем уронить сервер.
Держите запасной ноутбук. Поверьте, когда кот прольёт чай на основной, вы скажете спасибо.
Заключение
Котики и IT — вечная история. Они не злые, они просто любят тепло, внимание и хаос. Мы, разработчики, любим порядок, контроль и дедлайны.
Но знаете что? Иногда кот, сидящий на клавиатуре, напоминает нам, что мир не рухнет от одного неудачного пуша. Что можно выдохнуть, погладить пушистого диверсанта и заварить чай.
А код подождёт. Сервер перезагрузится. Баксик — вечен.
P.S. Пока я писал этот абзац, Баксик успел:
Наступить на Enter — отправил черновик в публикацию
Лечь на мышку — я случайно закрыл вкладку
Мурлыкнуть — и я простил ему всё
Котики — лучшие тестировщики. Они тестируют ваши нервы на прочность.
Битва с коварным пакетом
Кот тихо лежал после сытного обеда. Вдруг кот покой нарушил коварный хруст. Кто-то явно готовился к чему-то. Кот решил принять превентивные меры, и сдержать агрессию врага, пока он не бросился.
Палку бы сейчас кинуть
(честно, больше всего понравился кот)
Курортный роман
Дама кокетливо посмотрела на кавалера.
Тот сделал вид, что занят.
"Ах, ты так!", - подумала дама и спрыгнула с балкона второго этажа.
- Виола!!! Ты куда? – немедленно донеслось вслед, и на балкон выскочила женщина. – Витя! Догоняй!!!
Кавалер посмотрел на балкон, на мужчину, который выбежал из домика и скрылся. Одним ловким движением.
Виола обернулась с досадой. Вот надо же ему!!!
- Стой! – мужчина навис над ней.
Виола обиделась и в свою очередь метнулась прочь.
- Витя! Ты кошку поймал??? – неслось сверху.
Витя в это время продирался через колючий куст, чертыхаясь на все лады. Женщина спустилась, не услышав ответа от мужа, и заломила руки.
- Она пропала! Моя девочка пропала!!!
Муж с женой искали кошку до вечера. Собственно, как они могли искать? Осмотрели участок, на территории которого стоял домик, где жили "дикари". А потом они бегали вдоль улицы. Заглядывали через забор в чужие дворы, где могли. Но найти так кошку – нереально.
Вечером вернулась хозяйка домика. Она обнаружила рыдавшую женщину и сумрачного мужчину. Ни на пляж, ни в кафе, они явно не уходили.
- Что случилось? – поинтересовалась хозяйка.
Мужчина только рукой махнул, а женщина, рыдая, поведала про свою потерю.
- Виола! Домашняя девочка. Она от меня никуда никогда не уходила! Мы и в санаторий поэтому не поехали. Деть ее некуда, а с ней нас не принимали нигде.
Хозяйка обещала сказать соседям про кошку.
- Придет. Не волнуйтесь. Проголодается и придет.
Она отправила приезжих прогуляться.
- Идите к морю. В темноте вы ее все равно не найдете.
Женщина всхлипнула. Но муж, в конце концов, уговорил ее пойти поискать кошку в парке.
Старая Айше проводила людей взглядом и покачала головой. Вот что за люди? Вроде взрослые, а не понимают, что кошка не всегда будет играть по их правилам. Захотела и сбежала. Хозяйка покосилась на соседний участок. На заборе сидел большой кот.
Ну, вот и понятно. Кошка увидела кавалера…, и все равно ей стало, что она домашняя. И стерилизованная, наверняка.
- Мурат! – позвала Айше.
Кот повернулся к ней. Глаза блеснули в темноте.
- Кошку ты увел?
Кот почесался. Не уводил. Ни разу не уводил. Просто прошел мимо, а то, что она сама побежала... А он-то тут при чем?
- Злодей, - показала головой хозяйка, - вон как убиваются ее люди.
Мурат фыркнул. Поубиваются – перестанут. Он замурлыкал и спрыгнул на свой участок, где под кустом сидела приезжая кошка.
- Мррр….
А ничего так. Мурат уже познакомился с ней. И очень плотно. Кошка сначала нервничала, шипела, но потом увлеклась. Они оба видели, как женщина с мужчиной бегают по улице, но желания кошка выйти к людям не проявила. Ну и ладно.
Потом она заснула, а когда проснулась, то подумала: надо бы перекусить и направилась туда, откуда удрала. Но люди как раз ушли.
Айше покивала головой. Все понятно. Она услышала, как Мурат фыркает и по новой обхаживает даму и улыбнулась. Потом налила воды в миску и поставила около дыры в заборе. Вообще-то вода и в арыке была. Недавно дожди шли, но вдруг городская не найдет, а миска, это привычно.
Рядом она поставила тарелку и положила мелкой рыбешки, которой подкармливала Мурата. Кот немедленно зашуршал поблизости.
- Сам все не ешь. Даму-то накорми! – укоризненно сказала ему Айше.
- Муррр…
Айше прислушалась: хрустели бычками явно двое. Значит, все хорошо. Сама она беглянку все равно не поймает, а вот соседа завтра предупредит. Тот помоложе будет.
Приезжие вернулись.
- Кис-кис-кис…, - продолжила звать женщина.
Виола наверняка ее слышала! Но – кошка же... Своенравное существо. Она и не подумала подойти.
- Завтра снова будем искать, - сказала женщина.
Расстроенные люди улеглись спать.
Айше улыбнулась. Приезжие остановились у нее на неделю. Прошло три дня, теперь уже четыре. Придет кошка. Погуляет немного и придет. А люди, может, поймут, что не стоит ее возить так далеко от дома. Кошка, это не собака!
На следующий день приезжие снова искали Виолу. Айше кошку видела. Виола сидела на дереве, наблюдала за поисками и снова не выражала желание вернуться.
- Бессовестная ты! – сказала хозяйка домика, когда мужчина увел женщину поесть и расклеить написанные от руки объявления о пропаже. – Видишь же. Волнуются. Любят они тебя!
В этом Виола не сомневалась. Она вернется. Вот завтра и вернется! К середине дня ей стало скучно. Мурат куда-то исчез. Кошка забралась на забор и посмотрела на улицу. Пойти погулять? В это время мимо проехала диковинная повозка с неизвестным зверем. Городская кошка никогда не видела тележку, запряженную осликом.
Виола отпрянула. Ну его. Она позвала Мурата, но кот все еще где-то гулял.
"Ему хорошо. Он тут все знает", - обиделась кошка на своего кавалера, - "Вот у нас на даче я тоже все знаю. А тут и деревья странные.
Виола поточила когти об бамбук. Высокое, тонкое и без веток. Странное дерево! На такое и не залезешь. Кошке захотелось есть. Она обнюхала тарелку на которой вчера была рыба. Пусто. Тогда Виола вспомнила про корм.
Дверь в домик оказалась закрытой, но она же кошка! Виола забралась на балкон, с которого вчера удрала и проникла в приоткрытую форточку.
Где-то здесь был пакет. Кошке пришлось постараться, чтобы разодрать плотную упаковку. Но зря что ли она когти точила! Хорошо хоть вода есть.
Когда мужчина и женщина вернулись, беглянка спокойно спала рядом с ополовиненным пакетом.
Женщина зажала рукой рот и показала пальцем на спавшую Виолу. Мужчина увидел и на цыпочках пробрался к форточке. Захлопнул ее и с торжеством посмотрел на жену: попалась!
- Пускай спит, - женщина говорила с облегчением.
- Пойдем хоть искупаемся теперь! Закроем дверь, окна и на море.
Люди так и сделали. Виола проснулась, погрызла еще корм. Она запрыгнула на окно. Проверила: форточка заперта плотно. Обидно немного. Но, в принципе, она уже нагулялась.
Виола снова легла спать.
Следующие два дня люди не выпускали кошку на улицу, а потом они уехали домой.
Зимой Виола иногда вспоминала свой короткий роман с котом. Вздыхала. Но потом думала, что дома тоже хорошо.






