Как я полгода автоматизировал моргать, чтобы не вылететь с работы

ScriptStealer

New member
или История о том, как лень — двигатель прогресса, а жопа — двигатель лени

Привет. Меня зовут Алексей, я тимлид в одной IT-конторе. И я хочу рассказать вам историю моего позора. Настолько эпичного, что коллеги до сих пор, спустя три года, здороваются со мной фразой «ну чо, моргаешь?».

Всё началось с того, что я — конченый трудоголик. Не потому что люблю работать, а потому что боюсь начальства. У нас гендир — бывший военный, который считает, что настоящий программист должен сидеть за компом с 9 до 21 хотя бы, а если отводишь глаза от монитора — значит, нихера не делаешь.

И вот сижу я как-то на планерке в зуме. Начальник вещает про синергию и бэклог. Все серьезные, кивают. Я тоже киваю. Но мои глаза — предатели — начали слипаться. Потому что предыдущую ночь я допивал третью версию архитектуры, которую он же и заставил переписать.

Он смотрит на меня:

— Алексей, тебе скучно? Ты моргаешь слишком часто!

— Э-э-э, нет, я внимательно слушаю, — говорю и открываю глаза шире, как сова.

— Моргание — признак того, что мозг отключается! — отрезал он. — У настоящего айтишника глаз должен дергаться от кода, а не моргать от скуки.

Все заржали. А я покраснел, как помидор. И в этот момент родился самый тупой и самый гениальный план в моей жизни.


Глава 1. MVP на коленке​

Решил я — больше никакого моргания на людях. Буду контролировать процесс.

День 1. Просто пытаюсь не моргать. Это невозможно. Через 20 секунд глаза слезятся, через минуту — всё плывет. Я сижу перед монитором, таращусь, как баран на новые ворота, и чувствую, что сейчас лопну.

День 2. Ставлю напоминание в телефоне каждые 30 секунд: «Моргни!». Телефон вибрирует в кармане штанов. На планерке начальник слышит звук:

— Алексей, у тебя там... вибратор?

Коллеги падают со стульев. Я говорю, что это напоминалка принять витамины. Не сработало.

После планерки ко мне подходит Серега из соседнего отдела и шепчет:

— Слушай, а ты не пробовал скрипт на Python написать? Камера твоего ноута ловит лицо, OpenCV определяет моргание... Можешь простейший детектор собрать.

Я посмотрел на Серегу как на пророка. Мы обнялись. И я ушел в запойную разработку.


Глава 2. Рождение «Blink Blocker 3000»​

Неделя 1. Я пишу простенький детектор моргания на Python + OpenCV. Камера смотрит на меня. Когда Eye Aspect Ratio (серьезно, в OpenCV это называется так) падает ниже порога — значит, я моргнул. Программа пишет в лог: «Blink detected at 14:32:05». И всё.

Но лог — это не решение. Надо предотвращать.

Неделя 2. Добавляю функционал «антиморгание». Камера следит за веками. Как только датчики понимают, что я собираюсь моргнуть — программа автоматически нажимает скриншот. Громким системным «дзынь». И я от неожиданности открываю глаза обратно. Гениально? Наивный...

В понедельник на планерке мой ноутбук начал дзынькать каждые 10 секунд. Потому что я пытался моргать естественно. Коллеги оглядывались. Начальник остановил презентацию:

— Алексей, у тебя там телеграм стучит? Выключи уведомления.

— Это не телеграм, это... скрипт, — мямлю я.

— Скрипт? Для чего?

— Для... оптимизации рабочего процесса, — вру я.

— Молодец, что оптимизируешь. Продолжай.

Он что, купился? Не-а. Просто ему было похер на мои страдания. Главное, чтобы я не моргал.


Глава 3. Эскалация​

Неделя 3. Переключаю звук с «дзынь» на вибрацию. Ноут вибрирует. Недолго — на третьей планерке батарейка отпала. Нет, ноут упал со стола, когда я подпрыгнул от вибрации. Экран разбит. Локальный ремонт обошелся в 15 тысяч.

Неделя 4. Решаю: вместо звука — микро-стимуляция тока. Покупаю на Алиэкспрессе набор для ардуино, электроды (не спрашивайте как, просто поверьте — там есть всё), подключаю к руке через браслет. Как только детектор моргания срабатывает — ардуино выдает 5 вольт. Достаточно, чтобы рука дернулась, но не кричать.

В понедельник я сидел на планерке с каменным лицом. Ни разу не моргнул! Программа не сработала ни разу.

После планерки захожу в туалет, смотрю в зеркало — глаза красные, как у вампира, под глазами синяки, рука подергивается мелкой дрожью. Но я счастлив.

Вечером захожу в кухню — Марина из бухгалтерии:

— Ой, а что это у тебя рука дергается?

— Остаточные явления после... спортивной тренировки.

— А почему ты не моргаешь вообще?

— Я моргаю. Просто быстро.

Она посмотрела на меня как на пациента дурки. Справедливо.


Глава 4. Краш-тест​

Второй месяц. Я перестал моргать полностью. Вообще. Камера держит контроль. Скрипт бьет током при любой попытке. Глаза сохнут, я бегаю с каплями «искусственная слеза» и капаю их раз в 15 минут.

Начальник доволен — на планерках я сижу с открытыми глазами, не двигаясь, и он думает, что я в глубоком трансе вникания в задачу. А я просто боюсь моргнуть, потому что за это током бьет.

Однажды на важной встрече с заказчиком я перестал дышать. Не специально. Просто скрипт также напоминал дышать? Нет, это уже паранойя. Но я глубоко вздохнул, моргнуть побоялся, ничего — заказчик не заметил.

После встречи подходит HR-менеджер Оксана:

— Леша, с тобой всё в порядке? Ты в последнее время... ну... она сделала пальцем у виска... странный.

— Всё отлично, — говорю, глядя прямо в её душу немигающим взглядом маньяка.

Она ушла. И, кажется, написала заявление.


Глава 5. Обратка​

Третий месяц. Мой организм начал мстить за подавление естественных рефлексов.

Во-первых, научился моргать... без закрывания век. Это страшно. Я умею вращать глазными яблоками так, что слеза смачивает роговицу без моргания. Техника "roll & slide", я назвал её.

Во-вторых, у меня начались судороги лица. Тики. Я сижу, не моргаю, но щека дергается, бровь прыгает, губа оттопыривается. На планерке выглядит как человек, у которого инсульт.

Начальник:

— Алексей, ты в порядке?

— Да, просто... нервный тик. Наверное, слишком много работаю.

— Отлично, так и держать! — он хлопает по столу. — У нас проект горит, надо больше!

Мать его.

Четвертый месяц. Случайно ударился головой о косяк. На секунду вырубился. Скрипт, который висел в фоне, продолжил работать и в моем отключенном состоянии насчитал 532 моргания за 5 секунд. Записал в лог. Я пришел в себя — рука онемела от тока.

Удалил ардуину к чертям собачьим.


Глава 6. Инновационный прорыв​

Пятый месяц. Решил: нельзя подавлять моргание. Надо его маскировать.

Гениальная идея #541: подмена видео в Zoom. Пишу фильтр на FFMpeg, который в реальном времени дорисовывает мои глаза открытыми, даже если я их закрыл на моргание. В зуме начальник видит мои идеально распахнутые глаза 24/7.

Проблема: фильтр немного тормозит. На планерке я закрыл глаза, видео-фильтр их открыл, но с задержкой в 2 секунды. Получилось, что после моего закрытия глаз на 0.3 секунды (моргание), в трансляции мои глаза открылись только через 2 секунды. В итоге начальник увидел: мои глаза закрыты целых 2 секунды, я безжизненно смотрю в одну точку, потом внезапно открываю «нормальный взгляд».

Он:

— Алексей, ты уснул на 2 секунды? Это новый рекорд! Напиши статью в корпоративный блог!

Коллеги поверили, что это техника скоростного сна. Меня чуть не отправили на конференцию TEDx.


Глава 7. Полный крах​

Шестой месяц. Всё пошло по пизде. Я уже не знаю, моргаю я или нет. Я потерял контроль над веками. Они живут своей жизнью: моргают хаотично, иногда с частотой 5 раз в секунду — мой личный рекорд на планерке.

Начальник наконец заметил:

— Алексей, ты что, эпилептик? У тебя лицо дёргается!

— Нет, это... новый метод agile-планирования. Каждое моргание — это принятие user story, — выдал я с отчаяния.

Он задумался:

— Интересно... пиши методичку.

Я написал. Мне дали премию. А паралич лица остался.

Через неделю я пошел к врачу-неврологу. Тот, узнав, что я полгода подавлял моргание, заплакал (врач), сказал, что я идиот, выписал успокоительное и курс физиотерапии.


Глава 8. Финал​

Сейчас, три года спустя, я почти пришел в норму. Моргаю естественно, примерно раз в 5-7 секунд.

Начальник до сих пор на планерках комментирует:

— Алексей, сегодня ты моргаешь подозрительно редко. Что, расслабился? Верни тот скрипт, который бил током, он эффективнее!

Коллеги зовут меня «Терминатор» и «Мигающий тимлид». Я научился смеяться с этим.

А недавно я наткнулся в своих архивах на blink_detector_final_FIXED_REALLY_FINAL_v14.py и полтора гигабайта логов с отметками каждого моего моргания за полгода.

Построил график. Частота моргания упала с 20 в минуту до 0.8 к концу эксперимента. И резко взлетела до 50 после удаления ардуины.

Знаете, что это доказывает?

Что разработка софта — это всегда про поиск баланса между автоматизацией и здравым смыслом. И иногда лучше просто выпить кофе и сходить размять глаза, чем создавать систему, которая будет бить тебя током за естественные рефлексы.

А начальник мой всё так же верит в то, что айтишник не должен моргать. И знаете... Я, кажется, написал ему скрипт, который теперь следит за его морганием на планерках. Бьет током через кресло.

Месть — это блюдо, которое подают с вибрацией и высоким напряжением.

Конец.

P.S. Ардуину использую теперь только для умной лампочки в коридоре. Она моргает чаще меня.
 
Верх