Сериал или что-то полезное? Пусть решает random.choice!
В течение дня я занимаюсь делами разной степени интенсивности. Самое классное — это, конечно, дипворк. Но бывают моменты, когда сильно устаешь и ничем активным вообще не хочется заниматься. Это время можно занять разными классными активностями, но сейчас предположим, что единственный возможный способ провести это время — уставиться в монитор и поглощать какой-то видеоконтент. Самое очевидное и притягательное решение — залипнуть на фильмы или сериалы. Но ведь на самом деле можно провести это время с пользой..
В интернете есть огромное количество курсов, которые я хочу посмотреть. Они покрывают самые разные темы и их очень интересно смотреть. Но есть проблема: курс — это не одно видео, а несколько, и обычно нужно выделить как минимум 5+ часов времени на его систематический просмотр. То есть нужно минимум 5 раз умудриться заставить себя включить курс вместо сериала. Обычно лекции смотрятся очень легко, почти как сериал, проблема обычно только в том, чтобы начать. Из книги “Атомные привычки” Джеймса Клира мне особенно запомнилась следующая мысль:
- “… Каждый день есть несколько коротких моментов, имеющих огромное влияние на нашу жизнь. Я называю их решающими моментами. Например, это момент, когда вы решаете: закажете еду или будете готовить ужин сами. Когда вы выбираете, на чем сегодня поедете – на автомобиле или велосипеде. Когда решаете, засесть ли вам за домашнюю работу или взять в руки игровую приставку. Все эти решения – словно развилка на вашей дороге.”
- “… Многие привычки происходят в решающие моменты, которые подобны развилкам на дороге, и от вашего выбора в решающий момент зависит, каким будет этот день – продуктивным или непродуктивным.”
- Тут ещё надо прибавить контекст книги в целом: привычки оооочень сильно влияют на нашу жизнь, и контролировать их = получать ультра профит, не применяя волевых усилий (потому что 60-90% нашей деятельности мы делаем на автомате)
Выбор “сериал или курс” вполне является таким решающим моментом — он влияет и на оставшуюся часть дня. А ещё, если хотя бы иногда (но регулярно) смотреть курсы вместо сериалов, это уже будет отличным результатом. В общем, у меня немного щёлкнуло в голове, и я понял, что можно сделать следующее:
В момент, когда я устал и хочу что-то просто посмотреть, я буду отдавать выбор рандому: смотреть мне сериал или какой-то курс.
И я решил написать такой скрипт. Естественно, я сразу подумал о балансе вероятностей: если сделать вероятности выпадения вариантов равными, то будет не очень весело. Всё-таки хочется сместить баланс в пользу чилла. Это поможет закрепить привычку: чем больше шанс выпадения просмотра сериала, тем охотнее я буду пользоваться этим скриптом, и тем меньше мне будет хотеться его ослушаться.
Ещё достаточно очевидная штука, что нужно добавлять в список нужно только те штуки, которые реально хочется смотреть, потому что это всё-таки должен быть чилловый контент.
Я продумал логику скрипта, формат хранения данных, запрогал это всё (параллельно узнав несколько интересных штук), написал ридми и выложил на гитхаб за 2.5 часа. Обожаю Python!
Собственно, вот репозиторий с исходным кодом и подробным описанием скрипта. Он ставится как pip-пакет и доступен откуда угодно из терминала как команда.
Программу надо настроить: дать ей список ссылок с видеоконтентом и веса, которые потом превратятся в вероятности выпадения конкретного варианта. Мой конфиг сейчас выглядит так:
{
"alternatives": [
{
"link": "https://hd.kinopoisk.ru",
"weight": 50,
"description": "Кинопоиск с сериалами"
},
{
"link": "https://www.youtube.com/playlist?list=PL6kSdcHYB3x7pUh4eRRzYV7_r75XWX9gx",
"weight": 15,
"description": "Лекции Курячего про Linux системы"
},
{
"link": "https://www.youtube.com/playlist?list=PLaRUeIuewv8BFD3UwCDBetM89c2uRPpcj",
"weight": 15,
"description": "Лекции Дьяконова про ML"
}
]
}
Получается, что шанс выпадения сериалов равен 50/(50+15+15)=62.5%, что достаточно привлекательно. Наверное, со временем я поменяю эти вероятности, причём пока сложно сказать, в какую сторону.
Ах, да, программа запускается из терминала одной командой:
decide
После её введения открывается браузер с одной из ссылок. Остаётся только наслаждаться контентом :)