Как я делал сайт для проведения Тайного Санты и зачем для этого нужны математика и алгоритмы

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

Картинка для вывода в ленту
59

Архив материалов в блоге

Контент о разработке игр, аналитике постов и пользователей DTF, когнитивных искажениях, видеоиграх, Dungeons & Dragons, Финляндии и многом другом.

Архив материалов в блоге
43

[Техпоп] Как преобразовать числовые идентификаторы в строковые с произвольным алфавитом

И как сделать так, чтобы не получились ГАВНО и ЖЁПА.

Примеры для первых 5 идентификаторов
17

[Техпоп] Обфускация инкрементальных идентификаторов с помощью модульного умножения

Сегодня будем обфусцировать! Это продолжение моего прошлого поста про инкрементальные идентификаторы. Здесь я расскажу, как можно преобразовать обычные инкрементальные последовательности целых чисел в псевдослучайные последовательности с помощью модульного умножения и как преобразовать их обратно с помощью модульной мультипликативной инверсии.<…

[Техпоп] Обфускация инкрементальных идентификаторов с помощью модульного умножения
25

[Техпоп] Инкрементальные и строковые идентификаторы

На DTF в качестве идентификаторов пользователей используются последовательные числа (1, 2, 3…). А на Youtube используются более сложные строковые идентификаторы (8X2kIfS6fb8, qIcTM8WXFjk). Рассмотрим, зачем они нужны, как мне это пригодилось на практике и как я узнал, что на DTF 256134 зарегистрированных пользователя.

Пользователь, которого тяжело найти по имени, но зато легко найти по идентификатору в углу.
38

[Техпоп] Расстояние Левенштейна для работы с текстом — как найти, насколько похожи две строки

Что это, зачем это и как я это использовал в реальном проекте.

Получаются косяки вроде такого. Это просто пример, я не разрабатывал Tyranny. <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=1335669433" rel="nofollow noreferrer noopener" target="_blank">Steam Community</a>
11

[Техпоп] Что такое «Семантическое Версионирование» или почему с обновлением BSIPA до 4.0.2 сломались моды для Beat Saber

На днях Beat Saber обновился до 1.8.0, а BSIPA (библиотека, которая добавляет моды в игру) — до 4.0.2. Вероломно. Без объявления войны. Сломали мои моды.

Котик просто так <a href="https://www.instagram.com/p/B-WL6U0Da_j/?igshid=i9rb6lhu62bg" rel="nofollow noreferrer noopener" target="_blank">https://www.instagram.com/p/B-WL6U0Da_j/?igshid=i9rb6lhu62bg</a>
8

[Техпоп] Главное, чему я научился в магистратуре, — это испытывать боль, когда говорят «самый оптимальный»

Почему говорить «самый оптимальный» или «более оптимальный» — это неправильно, и почему вы можете говорить как хотите.

[Техпоп] Главное, чему я научился в магистратуре, — это испытывать боль, когда говорят «самый оптимальный»
6

[Техпоп] Что такое copyleft или небольшой рассказ про подводные камни свободных лицензий

Все знают, что такое copyright, но не все знают, что еще есть и copyleft.

Неофициальный логотип copyleft — перевернутый логотип copyright (не имеет юридической силы)
7