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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Получаются косяки вроде такого. Это просто пример, я не разрабатывал Tyranny. <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fsteamcommunity.com%2Fsharedfiles%2Ffiledetails%2F%3Fid%3D1335669433&postId=123135" rel="nofollow noreferrer noopener" target="_blank">Steam Community</a>
1111

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

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

Котик просто так <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fwww.instagram.com%2Fp%2FB-WL6U0Da_j%2F%3Figshid%3Di9rb6lhu62bg&postId=119528" rel="nofollow noreferrer noopener" target="_blank">https://www.instagram.com/p/B-WL6U0Da_j/?igshid=i9rb6lhu62bg</a>
88

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

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

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

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

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

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