Итоги 2020

А, что? Опять итоги?

Ну на этот раз хотя бы не забыл о блоге на год, уже хорошо! Кажется, даже достаточно постов было (хотя и меньше, чем хотелось бы).

Вообще это входит в своеобразную привычку — подводить итоги года, смотреть на "прошлогодние обещания" и строить новые планы. Интересно структурировать всё, что произошло за год (тем более что начало года было, кажется, вечность назад), чтобы упорядочить в своей голове, и не менее интересно эти мысли потом перечитывать год или два спустя.

А, да, был же ещё отдельный текст с Спектральными Итогами. Там я описал всё, что сделал в плане доты и связанных с ней проектов.

Ну, с чего бы начать в этот раз?

VTOOBA

Вообще при всех печалях и разочарованиях, подаренных 2020 годом, он оказался на удивление насыщенным на события. И первое, о чём наверное хотелось бы сказать — душевное спокойствие, которое пришло в этом году. Какие-то старые события, которые не давали спать по ночам, получили совершенно внезапное развитие, "закрывая хвосты" и подводя итог. С другой стороны, мне стало проще принимать себя и свои беды с башкой ментальные проблемы. Я не готов говорить о них публично, но по крайней мере начало положено.

А, да, почти в начале года мне наконец хватило сил и смелости отчислиться из магистратуры. Это может показаться достаточно странным решением, учитывая, что мне оставалось совсем немного, но честно говоря мне просто не хотелось заниматься диссертацией. Ну и главная проблема, которую я увидел во всём этом "обучении" — затраты времени. Я долго терпел и терялся в сомнениях, думая "ну ещё чуть-чуть и всё", но в какой-то момент пришло осознание, что нельзя давать волю этим самым "чуть-чуть", и ощутимой пользы я для себя в будущем от этой траты времени и сил не вижу.

Ну а освободившееся после отчисления время я пустил на ещё более активную работу над своими проектами, в том числе и Guame, над которым я работал в Winstrike, и предоставление статистики командам. Конечно, судя по всему, все мои усилия за прошедший год в итоге имели мало смысла, но как минимум полученный опыт был ценен. 

Вообще говоря не меньше сомнений на протяжении всего года у меня возникало касательно "работы" в киберспорте. Стоит ли на это всё тратить свои силы и время? Может стоит пойти заниматься чем-то ещё? Никаких подвижек нет, и продавать я себя не умею, так зачем это всё? Особенно сильно подобные мысли начали одолевать сейчас, на фоне подведения итогов года со всех сторон.

Да и в целом я в этом году дошёл до пика своих загонов на эту тему, свалившись в итоге от переработок и выпав из рабочего состояния на месяц. Полезный урок, который напомнил мне, что вообще-то говоря надо отдыхать.

Экспертное мнение о ситуации

Вообще говоря за этот год я успел много чего сделать в плане доты и своего сайта со статистикой и прочих сопряжённых вещей. Но об этом в отдельном посте, где только про доту!

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

Ещё из знакового, что было на протяжении года — хорошо обжился на новом месте и наконец воспользовался средствами на сбор ПК, отложенными ещё давно. Вот тут можно почитать, что у меня там собралось и почему именно такой выбор, ну и вот фотография моего текущего сетапа.

Вот такой вот получился сетап


Но, конечно, процесс переезда и обустройства на новом месте не прошёл совсем уж гладко: на фоне стресса у моего кота (Кузьма, молодчик), которому было под 13 лет, случилось резкое обострение болезни, после чего он остался без сил буквально за неделю. Хотелось ещё тогда мысли на этот счёт излить куда-нибудь, чтобы было проще, но в итоге получившийся текст так и остался в виде заметки.

Лучше вместо слезливого текста посмотреть на этого прекрасного молодчика.


Кстати к теме переезда и доты: мне же наконец дошёл Аегис прошлого года!


...и Steam Controller, который мне хотелось приобрести с самого его анонса, но постоянно не получалось это сделать.


А ещё, конечно же, я в очередной раз занял своё место в топе игроков на Спектре, получил свой 25-ый уровень героя и могу спать спокойно, показав не ясно кому и не ясно что.


Получил инвайт в бету Artifact 2.0 и насладился игрой. Не очень насладился наличием времени, чтобы в неё играть, но, надеюсь, в новом году хотя бы немного смогу уделять. Может даже со стримом!

Начал снова писать всякие большие тексты про доту. Вообще говоря начал их писать вместе с записью видео версий, и пока что мне ещё предстоит сильно поработать над дикцией и подачей контента. Такие статьи пришли на смену подкасту, который хоть и был первым подкастом про доту в СНГ, в конечном итоге созывать интересных гостей очень тяжело: за год у меня слились в последний момент (за час до анонса подкаста или за минуты до его начала) больше десятка интересных гостей, из-за чего либо приходилось выкручиваться, либо переносить. Это, конечно, обидно, но тексты-видео про статистику в доте всё равно и делать интересно, и перевариваются они намного легче со стороны. Так что, наверное, это и к лучшему.

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

Ну и ещё короткой сводкой, что там было интересного за год:

Отдельно про говнокод

Вот тут я даже отдельный раздел сделаю. Одной из целей себе в прошлом году я поставил написание различного кода, чтобы "держать себя в тонусе". Всякие несложные мини-проекты, чтобы было интересно сделать, и при этом изучить что-то в процессе. Ну и главное — это был своеобразный способ не только "набить руку" и узнать что-то новое, но ещё и побороть страх писать плохой код: я начал просто делать, чтобы сделать, и это привело к значительному росту продуктивности.

В процессе я даже сделал отдельный твиттер @GovnocodeBlog, чтобы записывать туда, что я там наговнокодил и узнал сегодня. Это по большей части дневник "для себя", но можете подписаться, там иногда интересные штуки проскакивают из опыта!

Из того, что я сделал за год:

Endless Nyan Cat. Эта идея у меня висела в бэклоге уже практически 7 лет. Суть простая: есть страничка, на которой бежит нян кот. Несколько разных устройств открывают эту страничку, подключаются к одной сессии, после чего самый первый, кто создал сессию, "запускает" кота. Кот бежит по экрану и перебегает с одного устройства на другое, координируя устройства между собой. Почитать можно тут: https://log.ileamare.ru/2020/04/endless-nyan.html

Бот-оповещалка. На самом деле всё немного сложнее, потому что помимо оповещений этот бот также может выполнять команды на сервере, но основная суть такая. Есть серверный скрипт, который слушает порт. Любое сообщение, которое прилетит на этот порт, будет переправлено мне в Telegram. Этот порт открыт только для внутренних коммуникаций между несколькими серверами, с которыми я работаю. Любое происходящее на сервере событие отправляется в приватный канал в телеге, а какие-то важные события (что-то крашнулось, слишком высокая нагрузка на сервер, или ещё какой важный алерт) переправляются мне напрямую в личку.

Также через бота можно смотреть логи некоторых команд, выполнять несложные команды напрямую на сервере и мониторить процессы. По крайней мере я его для этого использую сам. Сам по себе код не сложный, но за год этот бот меня очень много раз спасал. Почитать о нём можно вот здесь: https://log.ileamare.ru/2020/04/blog-post_26.html (ну а в этом посте можно почитать, как он мне помог как-то раз с одной смешной задачей)

Conway's Game of Life Experiment in D language (GOLED). Мне давно хотелось сделать свою реализацию игры в жизнь, и мне всегда нравился язык программирования D. Так что я совместил обе вещи и начал делать свою реализацию. Текущая версия более-менее рабочая, но мне не удалось распараллелить вычисления так, чтобы они значительно ускорили работу программы, и в целом в основе лежит sparse алгоритм. 

У меня в планах было переписать всё это с поддержкой алгоритма hashlife, но руки пока так и не дошли. Надеюсь, что в начале 2021 наконец займусь этим.

Вообще процесс написания сам по себе довольно забавный, потому что язык D не очень популярен, а потому каких-то лёгких ответов на условном stackoverflow не получится найти, нужно будет искать их самому, изучая документацию, а порой и код библиотек или даже компилятора.

О всяких интересных находках и мыслях я писал в GovnocodeBlog, вот один из последних тредов: https://twitter.com/GovnocodeBlog/status/1298368314650001410

File Dump. Изначально хотел сделать простенькое оформление для файлопомойки, чтобы можно было видеть все файлы в куче, лежащие в папке на сервере. Потом захотелось сделать красивую вложенность, предпросмотр текста, отображение формата, разграничение доступа, превьюшки для картинок (а где превьюшки, там сжатие и кэширование всего этого добра).

https://twitter.com/GovnocodeBlog/status/1298011103780384776

Spectral Resource Hub. Тут закономерное продолжение файлопомойки. Меня задолбало каждый раз собирать портреты героев из доты, оптимизировать для веба все картинки и всё это делать для каждого проекта отдельно. И мне хотелось иконки команд и турниров, а они раскиданы по сети, и собирать их в одном месте очень неудобно из Steam API. Так что я сделал свалку для ресурсов, которая сама всё обрабатывает, кэширует и ищет ресурсы по Steam API, заодно приводя все картинки к одному формату.

https://spectral.gg/?reshub

Sampletext Engine. Мне было нечего делать, и мне не очень нравились существующие решения, так что я взял свой старый код и текущие наработки, чтобы сделать под себя гибкий движок для управления контентом прочих плюшек. Сейчас где-то на стадии "ну технически оно конечно работает, но до альфы ещё далеко".

Ещё я очень много всего сделал для своих проектов, связанных с дотой. Более подробно есть тут: https://vk.com/@spectraldota-spectral-wrapped-2020-chto-ya-sdelal-chto-hochu-sdelat-i-poc

...но конечно же перечислю здесь коротко самое важное:

  • Сделал оценку состояния линий и статистику лайнингов
  • И ещё статистику предметов
  • И много оптимизаций на сервере
  • Много новых отчётов по разным турнирам
  • Чуть причесал оформление и сделал много мелких улучшений юзабилити
  • Улучшенный мониторинг, спектральный бот-оповещалка, хаб ресурсов и всё такое

Традиционные картинки с активностью

Ну да, куда же без них. Мне нравятся прикольные картиночки-графики!

Правда на самом деле их тут и не будет особо.

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

График сериалов, пожалуй, тоже не такой интересный: прокрастинировать тоже времени особо не было за год.

Зато есть гитхаб!


Но, конечно, активность уступает прошлому году на графике, но на самом деле тут отсутствует где-то ещё 300-400 коммитов, которые находятся в dev-ветке. Мне изначально хотелось закончить до конца года изменения, которые были в той ветке (точнее говоря, до ноября вообще), но планы немного изменились. Но мне всё же хотелось бы ту ветку довести до ума в скором времени, да.

График статистики своего сайта я тоже не приведу, но из интересного:
  • В целом количество запросов уменьшилось ко второй половине года (потому что меньше интереса к турнирам и нет официальных мероприятий от Valve)
  • Зато количество уникальных посетителей в месяц (и за день) в среднем поднялось в 1.5-3 раза, как и количество запросов

Цели прошлого года

По традиции, беру цели, которые ставил себе в прошлом году, и смотрю, что из этого вышло.

Ну в этот раз точно 1000 подписчиков в вк Spectral
Ну в этот раз опять не получилось, но осталось меньше 150
Сделать обновлённый и более мощный монитор матчей (и заодно улучшить систему мониторинга матчей для отчётов по ранкедам)
Не дошли руки, некогда было заняться. Но чертежи есть, и есть ранняя версия, которая уже используется.
Не забыть об этом блоге на будущий год (а ещё обновить оформление уже, а то шаблон есть готовый почти, а руки не дойдут никак) - а может и вовсе перевезти весь блог на свою самописную платформу и писать все записи на двух языках, было бы прикольно
Не забыл! Оформление менять не стал (но думал об этом). Также у меня в мыслях доделать сайтодвижок, на котором всё это добро поднять и сделать ссылки-алиасы и RSS ленту по идентичным линкам + двуязычность. Можно было бы взять конечно что-то готовое, но это не так интересно.
Глобальное обновление Spectral.gg
Не дошли руки, во многом из-за того, что не хватило времени допилить SampleText. Хотел вообще сделать это к поездке на TI2020, но что поделать. Хотя в каком-то смысле я и так уже довольно много глобальных изменений сделал.
Рассказики ещё писать
За год ничего и не написал из рассказов, но начал писать тексты по доте. Ну и один крупный "рассказ" в работе, так что тоже ничего!
Сделать уже все 200+ сборок в проекте Nerds Hero Builds
Нет, но сделал статистику предметов у себя, так что будет проще в дальнейшем.
D2-Simon!
Увы, нет :(
Геймплейные прототипы для своих старых задумок
Не дошли руки. У меня есть план по разным проектам, над которыми я хочу поработать, но всё пока в процессе. Стараюсь не браться за больше чем один сайд проект в этом направлении одновременно, и текущий пока "завис" от нехватки времени (GOLED).
Портал для Underlords (возможно, но не факт; у меня уже есть готовая структура, но пока не знаю, буду ли точно что-то такое делать и будет ли вообще API человеческий)
API нет до сих пор, так что пока нет
The International 2020
Не случился :( Очень надеюсь, что всё как-нибудь образуется, и в 2021 я доеду в Стокгольм. И, к тому же, я очень надеюсь, что смогу поехать туда не просто как зритель, но это совсем уж мечты.
Повторить круглый год коммитов на GitHub!
Ну тут всё без проблем, хотя немного меньше получилось, чем год назад, потому что часть коммитов не в основной ветке
А ещё хотелось бы какие-то видео на YouTube попиливать, начать стримить, да изучением языков побаловаться, но тут уже не стоит загадывать слишком далеко. Я и так слишком много хочу сделать. Начал изучать шведский, а ещё погружаюсь в различные статьи по языкам.
Ну и видео на YT начал заливать, пока только по доте. Работаю над дикцией, монтажом и текстом.

Цели на 2021

  • The International 2021. Надеюсь, что как-нибудь смогу туда попасть.
  • LRG-Simon.
  • Закончить два крупных рассказа.
  • Больше отдыхать, общаться и разгрести ирл-проблемы.
  • Продолжить эксперименты с пет прожектами и постепенно перейти к геймдеву.