Хочу в социальных взаимодействиях функцию контроля объема потоков входящей информации. Например я подписан на 100 каналов. Для каждого из 80 я хотел бы получать не более 1 поста в месяц. Для 15 из них я хотел бы получать не более 1 поста в неделю. Для 5 из них я хотел бы получать не более 1 поста в день. </> При кооперации канал, от которого я хочу получать один пост в месяц, сам выбирает какой пост я получу. </> При конкуренции я устанавливаю фильтр, пропускающий только один пост в месяц. Фильтр использует алгоритм выбора ежемесячного поста, например выбирает пост с наибольшим количеством реакций подписчиков канала. [TAG-25.03.2024]

* * *

Слово это указатель на смысл. На разные смыслы мы указываем с разной частотой. Для смыслов используемых в экстренных ситуациях важна скорость и удобство их передачи указанием. </> Чем чаще мы хотим указывать на какой-то смысл и чем чаще указание на этот смысл может требоваться в экстренных ситуациях — тем более короткий и удобный указатель на этот смысл хотелось бы, то есть более короткое и удобное слово. [TAG-29.03.2024]

* * *

Дискуссия об интеллектуальной собственности и свободном коде. Фундаментальная и прикладная наука, использование теорий математиков, физиков… [TAG-12.04.2024]

* * *

Изучал аналитику от приложения и увидел редкое дублирование одного события. В его нормальном названии была буква «i»: «event_item_buy». Но кроме него иногда приходило событие в названии которого вместо «i» была какая-то «ı»: «event_ıtem_buy». Аналитика показывала, что все эти странные события приходят из Турции.

Оказалось, что в английском есть только «I» и «i», а в турецком есть две разные буквы. Одна буква это «I» и «ı» без точек, а другая буква это «İ» и «i» с точками.

В моём случае, для формирования названия события, я переводил слово с английской «I» в нижний регистр, используя локаль по умолчанию. В большинстве случаев это работало нормально, ибо в большинстве локалей «I» уменьшается в «i». Но в турецкой локали «I» уменьшается в «ı» и на устройствах где по умолчанию бралась турецкая локаль я получал «event_ıtem_buy». Для меня проблема решилась явным указанием английской локали при изменении регистра строк.

Когда я всё это гуглил, то нашёл грустную историю связанную с подобными ошибками, типичными для софта в Турции.

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

Парень сумел вытащить из себя нож и смертельно ранил девушку, которая истекла кровью до приезда скорой. Через несколько дней, находясь в тюрьме, парень совершил самоубийство.

[TAG-??.03.2018] </> https://en.wikipedia.org/w/index.php?title=Dotted_and_dotless_I&direction=prev&oldid=1050027008 </> https://gizmodo.com/a-cellphones-missing-dot-kills-two-people-puts-three-m-382026 </> https://web.archive.org/web/20100102064618/http://www.theinquirer.net/inquirer/news/1017243/cellphone-localisation-glitch

* * *

Больше всего я писал на Java, нормально понимаю C, иногда что-то делал на C++, сейчас переползаю на Kotlin. Пару раз в жизни тыкал в реверс-инжиниринг с машинным кодом и ассемблерами. Иногда играюсь с высокоуровневыми штуками. Рекомендую: Эндрю Таненбаум, "Современные операционные системы".

* * *

Выучил программирование где-то в 2011, потому что мне не нравился стандартный интерфейс World of Warcraft и я написал свой. Примерно тогда же я получил все интересовавшие меня достижения в игре, забрался наверх соревновательных рейтингов, мне стали скучны некоторые игровые механики и захотелось их автоматизировать.

Для автоматизации я сделал бота, состоящего из двух частей. Первая часть это мой внутриигровой интерфейс, который отображал в определённом месте экрана внутриигровую информацию, закодированную цветом пикселей. Вторая часть это отдельная программа, которая постоянно следила за содержимым экрана, формально никак не влезая в процесс World of Warcraft, считывала ту закодированную цветом пикселей внутриигровую информацию и исходя из неё генерировала нажатия клавиатуры, которые получала запущенная игра. Эта идея не оригинальна, видел статьи на Хабре с подобными ботами.

Позже, проходя курс ассемблера на первом курсе универа, я сделал другой вариант бота. Это была программа, которая находила запущенный процесс World of Warcraft, получала доступ к его памяти, находила там одну ассемблерную инструкцию и перезаписывала её, после чего я получал возможность управлять персонажем из своего внутриигрового интерфейса напрямую. Этот вариант бота тоже не являлся моей оригинальной идеей, основу для программы и базу данных реверс-инжиниринга World of Warcraft через IDA Pro я нашёл в сети.

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

* * *

Intel Management Engine, AMD Secure Technology. "Zammit stresses that the ME has full access to memory, without the owner-controlled CPU cores having any knowledge, and has full access to the TCP/IP stack and can send and receive network packets independently of the operating system, thus bypassing its firewall".
https://en.wikipedia.org/wiki/Intel_Management_Engine
https://mjg59.dreamwidth.org/48429.html

* * *

https://en.wikipedia.org/wiki/Exploration-exploitation_dilemma
https://effectiviology.com/premature-optimization

* * *

Планируется добавление сюда разного по мере разбирания архива. Однажды я перейду с Ubuntu на NixOS, начну использовать Fediverse, Matrix…

* * *

В начало.