Show newer

Соласта стала надоедать, не уверен, но раньше в этом же месте. Хорошо, что в стиме сохранки будут лежать вечно и когда захочу, продолжу.

Чего-то к грибам не хватает, чесноку что ли, шампиньоны слишком никакие

Show thread

Кароче. 0.5кг шампиньонов, 0.5кг куриной грудки, луковица, вода и специи, засыпать греческим йогуртом без жира одна упаковка. В аэрогриле это готовится час. 1200ккал примерно и много, и вкусно.

Когда ИИ обсуждают говорят "вот они не могут, и тут бах могут и это не предсказуемо", так эти штуки находят скрытые закономерности, дорастают до порога сложности и бах могут. Только это не сильный ИИ. Сильный ИИ может дообучаться и менять свои найденные закономерности. Так что пока что чатгопота это очень крутая книга с внутренними ссылками, которые работают автоматически. Не более.

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

Если кто не знал, есть очень толковый парень и у него канал. Среди вообще всех кого я видел в ютубе он наиболее разумен.

youtu.be/3mgVZkziswE?si=bdupPZ

Потащил иконку приложения по экрану случайно, она навечно зависла на экране поверх всего. После маркетинга эпла кажется, что это неприемлемо :)

Причем это сейчас реально запилить. В винде считалки фреймрейта встраиваются, так и картинку можно обработать.

Show thread

Ну и для всего остального тоже конечно. Читаешь на английском, неясно, кнопень нажал он тебе весь текст на экране перевел. Пока так, а потом и в рантайме хочу.

Show thread

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

Играю в соласту и кажется я в нее играл, ощущение такое, что забыл. Либо в очень похожую. Впервые такое ощущение.

Roman boosted

К вопросу использования #epoll вместо хорошо знакомых и «традиционных» select & poll. Т.е. асинхронной работы с чем-либо посредством polling’а и мультиплексирования.

Недавно пришлось заниматься реализацией очереди событий для AMQP-CPP. В одном из продуктов решено сделать связь агентских частей с основным «контроллером» через #AMQP, в качестве брокера #RabbitMQ (всё стандартно, обычный кластер и TLS-соединения).

Вот только агенты продукта активно используют асинхронно-реактивное программирование с хорошей «горизонтальной масштабируемостью». Когда достигнуто полноценное sharing nothing, не просто горизонтальная масштабируемость через lock-free или wait-free и закон Амдала. Исключается много всего и сразу, как старый-добрый cache ping-pong, так и печаль с false sharing.

Отсюда внутри агентов и своё управление потоками с выделениями памяти. Не только в плане heap (динамической памяти, со своими аллокаторами а-ля #jemalloc от #Facebook), но и приколы вокруг узлов #NUMA и даже huge pages (снижающих «давление» на #TLB, меньше промахов).

Первая же проблема выплыла почти сразу — не реально использовать библиотеку AMQP-CPP с уже предоставляющейся поддержкой #libev, #libuv, #libevent. Несовместимы эти очереди сообщений с имеющейся моделью управления потоками и организации задач на агентах.

Почему был взят epoll

Подход используемый в #epoll выглядит более современно, меньше копирований памяти между user space и kernel space. А при появлении данных в отслеживаемом файловом дескрипторе можно напрямую перейти по указателю на объект класса или структуру данных. Тем самым обходиться без поиска дескриптора по индексным массивам/контейнерам. Сразу же работать с экземплярами объектов оборачивающих нужное #tcp -соединение, того самого, в которое и пришли данные.

И тут обозначилась вторая проблема, что используема AMQP-библиотека не вычитывает данные целиком из потока сокета. Например, забирает данные лишь до тех пор, пока не насытится автомат состояний (finite-state machine), выполняющий парсинг сущностей AMQP-протокола.

Используя #epoll приходится выбирать на какой вариант обработки событий ориентироваться:

срабатывание оповещений «по уровню» (level-triggered),
выбрасывания событий «по фронту» (edge-triggered).

И беда с библиотекой в очередной раз показала, что нельзя использовать работу «по фронту» (edge-triggered) не изучив досконально работу подсистемы отвечающей за вычитывание данных из файловых дескрипторов. И появление флага EPOLLET в коде является маркером, о том, чтобы проводить аудит использовавшихся решений.

Про Edge Triggered Vs Level Triggered interrupts можно почитать в https://venkateshabbarapu.blogspot.com/2013/03/edge-triggered-vs-level-triggered.html)

#programming #linux #трудовыебудни

Path of exaile 2 выглядит отлично, но играть в экшен рпг я не люблю, нужно жать кнопки со скоростью пулемета.

Roman boosted

Рики (19.08): Объявление в газете : "При покупке 500 мб оперативной памяти вы получмете 12 мб бесплатно, при покупке 1000 мб - 24 мб бесплатно!". Капаццо!!11!адин

Судя по всему следующий ноут будет от msi. Дорожный превосходен. Начну собираться текущий продать таки и когда выйдут ноуты на 5080 5090 куплю новый. На этот раз может даже проверю что бы был более совместим с линуксом :)

В общем все, что я прекрутил так и не помогло, перегружается. Так что полдня играл в винде, крутить надоело :) Судя по всему судьба ноута быть игровой приставкой.

Но зато кажется я понял еще вариант причины перезагрузок, попробую. Раньше убунта не перегружалась так часто, это дай бог раз в год было.

Show thread

Инсталляция попос. Выбрал язык системы русский, поставилась. ввести пароль на английском никак, гуглил переключение языков, а английского просто нет. Переставил, глючил инсталлятор, но поставилось. Сделал пароль 111 на время. Секур бот не работает. Но зато дрова для нвидии сразу есть. В целом норм вроде, мелкие огрехи, но убунта лучше, нет огрехов.

Поставил pop os, первый рестарт наступил через минуту. Видать не катит.

Show older
MustUdon

I like Twitter, but, Mastodon it is so excited! Feel free to register it is server just for fun! Usefull links https://instances.social https://www.reddit.com/r/Mastodon/comments/yugh2o/some_useful_mastodon_lists/?utm_source=share&utm_medium=web2x&context=3