⚙️ Technology. Программирую больше 10 лет. Опыт человека-оркестра в проекте с нуля до миллиона ежедневных пользователей. Учу детскую математику. By the way I use Linux.

⁂ ⁂ ⁂

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

Социальные сети могли бы показывать статистику постов для каждого канала. Тогда решая подписываться или нет можно было бы оценить насколько канал шумный, будет там в среднем 1 или 10 постов в день.

* * *

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

* * *

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

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

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

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

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

* * *

Учу математику на Khan Academy, начав с детского сада:
https://dmitryratty.gitlab.io/technology/kindergarten-math

* * *

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

* * *

#Trickery #Moloch https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://killedbygoogle.com https://gcemetery.co https://timesofindia.indiatimes.com/technology/tech-news/romance-writer-gets-locked-out-of-google-docs-heres-what-the-ban-message-said/articleshow/110054266.cms https://locusmag.com/2024/07/cory-doctorow-unpersoned/

* * *

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

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

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

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

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

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

❝ [??.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

* * *

https://news.ycombinator.com https://opennet.ru

* * *

🏠 https://dmitryratty.gitlab.io