#Техпоп
Закончил DevLog по редактору карт для Зомбицида, написал пост про опыт ведения D&D, #когнитивочка умерла, #техпоп даже проверять не буду, закреплённый пост «Зачем подписываться на этот блог» переименовал в «Архив». Осталось написать пост, как я попал в Remedy, и можно закрываться.
Medium — это помойка, где пишут статьи типа «5 вещей, которые нужно есть на завтрак, чтобы стать успешным программистом». Но не всё так плохо.
Поговорим о теории графов, гамильтоновых циклах и задаче коммивояжера. Пост может быть интересен как программистам, так и любопытным непрограммистам, которые хотят знать, какой хренью иногда занимаются разработчики.
Сегодня будем обфусцировать! Это продолжение моего прошлого поста про инкрементальные идентификаторы. Здесь я расскажу, как можно преобразовать обычные инкрементальные последовательности целых чисел в псевдослучайные последовательности с помощью модульного умножения и как преобразовать их обратно с помощью модульной мультипликативной инверсии.
На DTF более 250000 зарегистрированных пользователей. Из них 272 дерьмака, 32 пользователя с галочками, а у 6491 отрицательный рейтинг. А еще у одного из пользователей 36715 статей в закладках — удачи ему разобрать все это. Этот пост — моя версия шитпостинга с кучей бесполезных цифр, рейтингов и графиков.
На DTF в качестве идентификаторов пользователей используются последовательные числа (1, 2, 3…). А на Youtube используются более сложные строковые идентификаторы (8X2kIfS6fb8, qIcTM8WXFjk). Рассмотрим, зачем они нужны, как мне это пригодилось на практике и как я узнал, что на DTF 256134 зарегистрированных пользователя.
В блоге у себя особого смысла не вижу писать про другие блоги, т.к. подписчики плюс-минус те же самые. Поэтому, буду периодически про них писать тут. Сегодня речь про Евгения Приходько.
h̷̢̛̝̥̜̬̔̅͒͒̊͊̀̑̇̈̆͒̃̅͒̄̐͊́̃̎̋͂̒̒̌̒̃̒̾̆͐̇̉́͂͗͘͝͝é̵̛̛̛̳̟͕̥͉̹͓͕̙̹̬̮̱͖͔͖̳̳̌̋͗̋̈́͐͗̀͂́͛̆̎̊̊͊́͐̐̒͋̽̓̋̍̉̋̿̅́̋̔̌͑̓̒͛͛̇̒̑͋̑̔͂̀̄̑̅̔͊̀͊̾̚̚̕͘̕͘̕̚͜͜͜͝͝͠ͅc̵̡̛̟͇̳̟̠͚͉̭̭̜̫̞̝͚̠̻͇͓͙̻̰̘̩̬͖̑͂̈͑̇͊̅̃͆̂͂͒̎͌̃̏̇̆̓͆͌̌̉̋̃̈́͑̐͊̍̄̇̏͒͋̐̽̀̅̈́̌̈̋̌́̉̿́͊̾̃̃̋̕͘͠͠͝͠͠o̵̤̖̣̹͔͈̬̠̲͓̻̳̫̘̩͉͖̫̖͒̅̽͌̋͋̈́̏̕͜m̴̧̛̖̭͙̻͇̜̺͚̙͔͇̘̟̼̂̄̿̏͌̈́́̊̆̏̀́̄̾̅̃̊͆͛̓̏́̀͘̚͠͝͠͝͠ͅe̴̡̡̛̗͈̝̜̣͓͕͇̯̺͚̟͖͉̦̠̩͈̘̺͔͔͕̫̤̺̺̳͍͍̥͔͚̹͕̹̗͖̥̫̣̙̥̗̩̳̻̭͎̗͔͙̰̞͚̞̥̠͎͓̫̗̘͂̌̈̊̔̑̆͒̇̊͆̒͌̂͆̈́̿̓̐̅̔̄̋̇͋̌́̋͊̃̈̇͛̈́̑̽̋͒͒̆́͂́̉̈́͊̀͂̕̕̕̚͜͝͝͝͠͠͠͝͝s̴̨̧̧̧̢̧̢̨̥͈͙̭͎͕͔͎̲̝̹̺̜̬̫̙̳͎̜͍̻̻͔̦͍̗̹̫͇͉͔͙͓̗͖̜̞͖̼͎̱̣͖̦̰̣̦̈́͗̆̈́̇͐̃̎̀̽̅̀͊̿̉̂́͂̇̇̀̾̌͛͑̀̅̆͂̉̾̉͆̉̚͜͠ͅh̸̨̧̢̪̜͇̞̰̳͉͔͚͓̺̭̪̱̫̞̜̹̞̙̖̻̺̺́͋͒̈́̆͐̑̀́̄̋͊̀̓̍̆̎̑̌̔͛̓́͛͛̃̓̃̐͘̚̚͜͠ͅę̷̧̨̡̨̡̨̯̟̮̟̳̳̲̩̥͕̰̼̙͍͉̯̻̠͓̥͖̤̮̹̜̣̖͔̜̥̜̗̺͎̹̓̈̇͐̄̂͋̈̈́͘͠ͅc̴̢̛̛̦̭̫͉̝͓̻̳͓͕̯̠̲̺̟͙̝̙͕̻̳̈́̀̍́̅́͆̀͒̇͗̆̽͊̇̍̈̂͋̉̾̀̓̾̋̍̍͊̎̊̀̓͑͆̒̈́̍̆̄̽̍̄̈͘̚͘̚͜͜ớ̴̧̢̢̡̢̨̛̫͕̘̬̻̩̤͇͔͉̲̩̩̫̹̥̳̳̙̙̱̞̟͓̪̩̬͚̳̠̯͎̖̫̦͓̼̻̹͎̹̤̦̞̞͇͎͎͆́̄̀̽̅̈́͊͐̄͋̂̀̒̌͂͑͆͑̾̎̏̉̌̇̽̇̔̚͜͜͝ͅͅm̷̢̢̞͚̙̠͕͓͇̺͍͉̻̩͖̲̼̺̦̗̪̱͇̱̤̟̦̩̯͇̒̒̓̊̀̿̅̏̊́̒̿̈̉̿̽͆͒͛͐̋͛͒̋̃̈̍̽͂̂̇̂̕͘̚͜͝͝͝͝ͅẽ̷̢̨̡̡̡̢̛͈̘̙̝͖͙͔̱̯̹͍͎̲͙̺̭͓̲̩̰̱̜̟̖̲͇̻̝̩̤̪̰͉͍͒͐̊̇̏́̇̊́̽̃̎̈̓̓͌̈̊̎̚͜͝ͅͅş̴̧̢̻̲̩̞͔̮̻͕̹̖̞̤͖̭͖̙͖̝͖̤͐̓̈́̋͛̚h̸̢̛̛͔̥͈̥̱̖̦͚̳͎͔͈͚̝͙͇̣̝͔̼͖̻̖͕̫̩̱͙̗̻̤̭̙͖̘̼̟͓̥̲̻̙̻̱͋̍̒͑̃̑̂̌̒̌̈́͗̅̏̑̐̉̒̆̈́͒̀̈̓̅͐͛̒̄̈́̑̒͒́̕̕͘͜͝͝͝ͅͅe̵̛̮̥͕̱̳̼͈̘͉̠͉̞̤̦̲̘̝̲̹̝̬̅̆̿͐̉͊̚c̵̢̢̨̡̡̧̨̢̛̙̯̫̪͇͙̖̥̭͍̣̫̪͓̳̥̬̪͍̪̠̜̣͉̖̣̮͓̫͕̜̩̠̭͚͉̿̀͋͂̎̉́̓͒̃̋͑̈͑̈́̑̅̏̓̈́̂̀͊̎͂̋̿̐͘͘͝͝͠͠͠͝͝͝ͅő̶͈̉̅̋̅̊̇̈̏̃̾̽̀͒͛͒̊̉̅̆̈̂̓̒̒̈́̉͋̆̕̕͘͝͝͝m̶̨̡̧̛̛̛͇͈̙̲̳̤̖͔̼͉̦͓̙̮͔̬̦͖͇͈̜̼̘͚͉̤͖͚̟̹̲͓͓̮̱̩͙̯̖͉͍̗̦̩͈͇͓͎̠̎͂̏͌͐̉̇̂̈̇̔̓̐͐̈̄́̓̈́̈́̃̄̐̀́̆̐͆̌̂̄̆͂̒́̌̊̈́͗͑̔̾̂̉́͋͛̈́̈͛͂̅̐͋̂̀͘̕͘͜͜͠͝͝͠ͅͅͅë̵̢̡͇͖̩͔̟͙̮̝̫̦̙͈́̓̇̎͑͐ş̴̧̢̨̧̨̡̧͖͈̺͎̘̘͖̦͓̼͙̝̲͙̹̫̮͎͕͓̩̥̜͍̗̪̗̩̞̘͍̼̻̖̺̣̺̺̥̘̩͕͖̱͓̗̖̰͖̍̀͋̿͋͂̓͐̇̆̿̋̑̔̏̇́̋͊̀̇̈́͆̅̿̿͊̇͌̍͌͑̓̒͂̏̏͂̏̕̚̕̕̕͘͜͝͝͝ͅͅḩ̷̡̢̡̡̟̲̦̖̫̝͈̲͎̳̘̝̫̬̖͕͍̫͉̼̫͕͙̣̩͔̠͈͙͍̞̲̙̠͓͕̗̯͎̲̯̱̞͍̬̠̼͉̂̅ͅę̴̧̨̨̢̡̱͇̥̘̗͈̪̬̘͚͙̲͖͎̻̙̦͚͔̜͕̠̲̣̺̪͇̘̭͌́̓͐̌̑̽͛͌̊̀͗̿̂̋̓̍͌͊͒͛́͘̚ͅͅc̶̨̨̢̢̨̡̧̢̩̙̼̰̩͇͕̤͇̥̦͚̮͖̤̭͈̲̩͍̺̫̩͙͍͖̣͕͉̘̟͕̟̙͈̦̝̮͇̞̮̗͓̜̮͉̫̮̖̮̬̙͈̰̩͒͐͐͌̈́̔̉̽͆̀̓̎͆͊̀̄̃́̇̿͊͆̌͑̈́̽̒̐̎͜͝͝ǫ̷̛̲̞̩̪͂́͐̿̃̓̅̓̿̎́̓͋͛͌͋̏͂̊͗̅̊͛͗́̏̇̾̊̃̾́̌̈́́́̋͊̎̓̆́̀̄̄̄͐̀̕͜͝͠m̷̨̧̧̨̨̧̢̛͉̩̘̪̖̠̻͓͔̭̣̥̪̞̼͙͕̣̖̦͖̗͓̻̻̗̞̜̟̠͍͈̙̗͚̯̞͂́̏̓̓̌̂͐̆͑̈́́̂̆̋̐͑͊̔̅́̈̄͆̋͆̆̈̇̓̏̆͒͑́́̈́̈̎͊́̈́̈́̾̋̓̎̈́̍̓̕͘̕̚̚͜͜͝͠͝͝ë̵̛̺͔̫̦̣͓̗̯̘́̄̈͌͐͆̍̔͑͐̿͂͛͘͜͜͝͝ͅs̷̢̢̨̨̢̛̤̣͍̫̥̙͍͎̤̦͓̺̯̗̥͔̹̣̤̫̭̠̳͔͕̙͎̖̙̝͓̝̭̻̩̼̯̆̐̑̇̌͛͗̈̓̎͌̈͗̃̌́̃̅̔͆̊͐̓̃̏̈́̾̔̇́͆̅̈́̓͂̾̌̏̆͆͗͐̑̇̏̈́͘͘̕̕͘͝͝͝͝͠͝ͅͅh̵̡̨̢̼̻̟̩͚͖̘̬̺͉̜̰̭̳͇͔̣̪̍̄̐̍̽͊̆̒̊̉͗͒̂̏̄̾̎̿͛́̓̅̀̿͂́̎̒̄̽̀͑̍͗̊̊͑͘̕̚͜͜͜͠͠͝͠ͅę̸̧̧̨̧̻̼̬̤̹̰̲͉̗̘͈̳̣̝̘͖͍͈͈̤̙̰͓̱̲̩̖̺̰̗̯͓̱̳͎̻͆͆͜͠ͅč̴̢̢̢̨̭͎͈͉͔͇͍̹̯̻̲͍̯͓̦̬̼̬̼̥̫̩̤͋̇͜͜͜ő̶̢̧̧̧̩͔͕̗͓̳̩̥̦͕̱͔̲̪̫͓͙̝̭͉͙̹̤̩͉̜̯͚̝͚͇̬͕̮̫̖̤̼͔̫͇̲͈̠̺͙̬̝͈̫͈̞̜̜͖͕̼̬̬͍͉̺̬̩͐̔͌̐̇̽͊͐̒̐̍̀̀̃̀̈́̉͐̓͗̈́̌͂̈́͆͆̌̀͐̂̂̏̅̈́̈̃͌̊͂͛̂̑̉̽̇̓́́̈́̾̓̆͘̚͜͝͝͠͝m̴̢̢̨̡̨̢̡̡̢̩̙̙̺̖̖͍̜̦̺̫̟͔̻͎̲̦͉̪͔͇̘͎̝̝̞̫̭̺͚̹̠͖̠̤͕͇̼̮͕͎̦̲͙̖͎̮̻̽̂̊͗̐̾̓͘͜͜͜ͅȩ̸̡̨̛͇͔͎̰̞̭̤̼̗̩̺̖̪̮̥͚̄̑͌̈́͐̓̂̂͆̿͊̊͐̒̾̉͗͒̅̌̀͂̅̑͗̌̈̔̈́͊͗̋͂͐̅͂́̈̂͘͜͠͝͠s̵̡̢̡̢̨̨̧̤̖̻̹̜̙̘̥͓̙͖̹͖͕̠̮͇͎̤̜̯̮̺͓̜̞̹̙͖͎̠̦̩̦͔͕͎̭̟̫̞̺̫̩͚̦̦̠͈̐̔̌̎͛͜ͅh̵̡̨̡̧̢̛̩̹̙͉̠̩̬̭̰̩̟̞̺̼̙̘̱̩̝͇̬͍̬̱͍̩̹͎̪̘̬̦̹̺̫̲͎̫̻̫̗̤̟͚̹̱̣͖̺͇̪͙̣̝̬̮̼̗̐́̄͒̂̏̈́̊̔̈́̔̈́̓̉̊̀̓͗̊͐̂͋̈̏̅̋́̈́̉̒͘̕̚͜͜͜͝͠͠ḛ̷̢̢̡̢̖̤̠̮̱̙̯̘̹͙̱̘͍̤͕̯̤͓̺͉̘͉͍̺̖̪̳̮̖̪̥̯̗̘̪͍͍̮͕̬͖̩͔̤̣͍̙̮̓́͐̔͗̇͂͠͝c̴̢̛͔̳͔̗͔̦͈̥͈̙͎̖͕̳̫̻͎̞̙͓̳̓̀̿͒̔̃͐͑̌̽͐́̋̾͆͑͌͆̋̽̈͆̓̇̐͆̊̀͐̐̄̍̌͆͐́̅̈͂̚̚͜͝͝͝ͅͅơ̸̢̢̧̰͙͎̙̼̩̝̱̮͉̘͕̦͍̲̮̪̙̯͚̺̤̘̳͉͓̫͖̟̝͚̙͍͚̤̺̖͉̻̞̱̰͉͙̆̈̓͛̿̏̅̋͌̋̏̈͂́̿̔̈̐̔̑̍̔̀̇̀͐̉͊̀͆͒͛̈̉̌͐̐̐̂̈́͐̌̈́̽̓͂̒͆͌̒̍͐̆͂͑̀̏͘̚̚͘̚̕͜͝͝͠͝m̸̨̨̛̛̛̗̣̠̰̹̣̖̜̞͔̘̞̜̺͍͇̪͕̺̟̲͎̼̜̻͕̓͋̄̃̽̿̔̾͊̍͆̄̑͐̎͗̈́̿̂͛͑̿̈́̂̄̾̿̑͋̒̓̽̂͂̓̆̀̐̈́͆͑̃͑͗̍͌͆̈́̽͑̈̈́̓͑͋͘̚̕̕͝͠͝ę̷̝͖̥̳͙̟̲̠̂̈́̄̑̈̀̏̂͋́̒͗͊̄͋͂̃̔̎̅̈͐͑̒͗͋͘̕̚͜͝͝s̸̨̧̨̡̢̡̨̛̳̤̲̥̝͕͍̩͎̰̜̝̼̖̮̺̙̹͙̣̠̗̰̭̩̲̱̜̠̝̗̖͈̯͈̜͎̭̗̳̞̹̺̈́̏̿̊́̈́͐̔͌̔̇̊͗̈̍̃͒̓͗̀̽͐͂͌̇͒̓̅̀̈́̔̌̈́̄͆̉̎̇͐̋̑͘͜͜͝
Что это, зачем это и как я это использовал в реальном проекте.
На днях Beat Saber обновился до 1.8.0, а BSIPA (библиотека, которая добавляет моды в игру) — до 4.0.2. Вероломно. Без объявления войны. Сломали мои моды.