Как вам такая игра? Коллега написал на чистом Си++, без зависимостей. И без ИИ.
Исходный текст: arcanoid.cpp
Исходный текст: arcanoid.cpp
Главное здесь: режим extract. Из Флибусты извлекаются все книжки одна за одной, и разкладываются в указанном месте по папкам в два уровня:$ ./flib flib — search the freeLib SQLite catalog Usage: flib show PATTERN [--max NUM] Search books by title (regular expression). Default --max is 20. flib extract [--destdir DIR] Extract books into language/author/book.format tree. flib by author List all books grouped by author (tab-separated columns). flib by genre List all books grouped by genre. flib by language List all books grouped by language. flib help Show this message Environment: FLIB_DB Path to freeLib.sqlite (default: ~/Documents/freeLib.sqlite) FLIB_PATH Path to Flibusta library root with zip archives (required for extract)
язык/автор/название.форматПолный список всех получившихся файлов, полученный командой tree, занимает 59 мегабайт. Выглядит так:
.
├── ad
│ └── Автор Неизвестен -- Мифы. Легенды. Эпос. Сказания
│ └── Нартхэр.pdf
...
├── en
│ ├── Аноним
│ │ └── Diary of an Oxygen Thief.epub
│ ├── Библия
│ │ ├── От Марка святое благовествование[Параллельный перевод].fb2
│ │ ├── Евангелие от Иоанна[Параллельный перевод].fb2
│ │ ├── Holy Bible: New International Version (NIV).fb2
│ │ ├── Holy Bible. New Revised Standard Version (NRSV).fb2
│ │ ├── The Bible - New International Version.fb2
│ │ ├── The Gospel according to John[Good News Translation ( GNT Bible )].fb2
│ │ └── The New Jerusalem Bible(rtf).zip
...
├── ru
│ ├── АБ
│ │ └── Московская история.fb2
...
├── uk
│ ├── Алай
│ │ └── Коли курява спаде.fb2
│ ├── Алкей
│ │ └── Золоте руно. З античної поезії[Збірка].djvu
│ ├── Антология
│ │ └── Львівська антологія. Том I. Від давніх часів до початку ХХ ст..fb2
│ ├── Аристотель
│ │ ├── Нікомахова етика.fb2
│ │ ├── Метафізика.fb2
│ │ └── Поетика.fb2
│ ├── Аристофан
│ │ └── Комедії.fb2
...
└── zh
...
├── Лао-цзы
│ ├── 道德经.fb2
│ └── Dàodé jīng.fb2
└── Сунь-цзы
└── The Art of War (chinese).fb2
154598 directories, 680883 files
Суммарный объём всех книг в распакованном виде - 1.6 Tбайт.

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

Цели
Пройти все 10 лет, не допустив «национальной катастрофы» (массового голода или нехватки земли), и удерживать средний уровень голода ниже 3% в год — в игре это считается «великолепным» результатом.Как работает ежегодный цикл игры
После того как вы решаете, сколько земли купить или продать, сколько зерна выделить на питание и сколько акров засеять, игра выполняет расчёты в следующем порядке:
- Урожай — каждый засеянный акр даёт от 1 до 5 бушелей случайным образом.
- Крысы — с вероятностью 40% они съедают от четверти до половины запасённого зерна.
- Иммиграция — новые жители прибывают в зависимости от благосостояния города (чем больше земли и зерна, тем больше приток).
- Чума — примерно раз в 7 лет умирает половина населения.
- Голод — каждый, кто не получил 20 бушелей пищи, умирает. Если за один год умирает более 45%, вас немедленно смещают с должности.
- Конец игры — если в среднем более 33% населения умирает от голода в год или в конце остаётся менее 7 акров на человека, вы также проигрываете.
Что делает бот каждый год
Держит запас зерна. После кормления всех жителей бот всегда старается оставить часть зерна в резерве как защиту от неурожая и нашествий крыс. Без запаса один неудачный год может уничтожить город.
Засевает как можно больше. Каждый засеянный акр — это инвестиция: даже при худшем урожае (1 бушель с акра) больше посевов означает больше зерна в следующем году. Резерв держится достаточно небольшим, чтобы не мешать посеву.
Покупает землю только при избытке. Бот покупает землю лишь тогда, когда есть значительный избыток зерна — достаточно, чтобы оплатить покупку и при этом прокормить всех в плохой год. Слишком активные покупки оставляют город без пищи при неурожае.
Продаёт землю в чрезвычайных ситуациях, но осторожно. Когда зерна не хватает, бот продаёт землю, чтобы получить еду. Сначала продаётся только излишек сверх 8 акров на человека (комфортный запас прочности). Если этого недостаточно, чтобы не превысить порог в 45% смертности, продаётся больше — но процесс останавливается, как только риск смещения исчезает.
Прекращает продажу, как только риск смещения устранён. Это самое важное и контринтуитивное правило. Продавать ещё больше земли, чтобы спасти всех в плохой год, кажется гуманным, но это оборачивается проблемами: выживших нужно кормить и в будущем, и если следующий год снова окажется неурожайным, появится больше ртов при меньшем количестве земли. В итоге голод просто переносится на более поздний год, а не уменьшается. Остановка на минимально безопасном уровне позволяет удерживать население в пределах, которые может прокормить имеющаяся земля.Почему сложно добиться меньше 3% голода
Случайность в игре довольно жёсткая. Урожай распределяется случайно от 1 до 5 бушелей с акра, и примерно в 60% игр за 10 лет происходит два или более подряд плохих урожая. В таких случаях запасы зерна истощаются быстрее, чем их можно восполнить продажей земли, и некоторый голод неизбежен при любой стратегии.
В играх без неурожайных лет или с одним таким годом (около 40% случаев) бот обычно достигает 0% голода или лишь одного слабого эпизода — значительно ниже цели в 3%. В остальных случаях он удерживает смертность чуть ниже порога смещения (45%), сохраняя при этом достаточно земли, чтобы завершить игру.Чего ожидать
- Вероятность успеха: 100% — город всегда переживает все 10 лет.
- Средний уровень голода: около 4–5% при случайных условиях; примерно 35–40% игр укладываются в менее чем 3%.
- Итоговая земля: обычно 10–12 акров на человека, значительно выше минимального порога в 7 акров.
$ ./one_game.expect
spawn hamurabi
Hamurabi
Creative Computing Morristown, New Jersey
Try your hand at governing ancient Sumeria
For a ten-year term of office.
Hamurabi: I beg to report to you,
In year 1, 0 people starved, 5 came to the city,
Population is now 100
The city now owns 1000 acres.
You harvested 3 bushels per acre.
The rats ate 200 bushels.
You now have 2800 bushels in store.
Land is trading at 18 bushels per acre.
How many acres do you wish to buy? 0
How many acres do you wish to sell? 0
How many bushels do you wish to feed your people? 2000
How many acres do you wish to plant with seed? 999
( и так 10 лет )
Hamurabi: I beg to report to you,
In year 11, 0 people starved, 4 came to the city,
A horrible plague struck! Half the people died.
Population is now 32
The city now owns 1000 acres.
You harvested 5 bushels per acre.
The rats ate 305 bushels.
You now have 3350 bushels in store.
In your 10-year term of office,8.3176 percent of the
Population starved per year on the average, i.e. a total of
80 people died!!
You started with 10 acres per person and ended with
31.25 acres per person.
Your performance could have been somewhat better, but
Really wasn't too bad at all. 0 people
Would dearly like to see you assassinated but we all have our
Trivial problems.
So long for now.

int sum(int *arr, int n) {
int s = 0;
for (int i = 0; i < n; i++) {
s += arr[i];
}
return s;
}
Перепишем эту программу на ассемблеры RISC-V и PowerPC, и сравним.Не то чтобы много различий можно углядеть. Условный переход делается в одну команду вместо двух. Остальное чисто разница мнемоник. Выходит, не такой уж оригинальный этот RISC-V как его превозносят.
# a0 = arr # a1 = n # return value in a0 sum: li t0, 0 # s = 0 li t1, 0 # i = 0 loop: bge t1, a1, done # if i >= n, exit slli t2, t1, 2 # offset = i * 4 add t3, a0, t2 # addr = arr + offset lw t4, 0(t3) # load arr[i] add t0, t0, t4 # s += arr[i] addi t1, t1, 1 # i++ j loop done: mv a0, t0 # return s ret# r3 = arr # r4 = n # return value in r3 sum: li r5, 0 # s = 0 li r6, 0 # i = 0 loop: cmpw r6, r4 # compare i, n bge done # if i >= n, exit slwi r7, r6, 2 # offset = i * 4 add r8, r3, r7 # addr = arr + offset lwz r9, 0(r8) # load arr[i] add r5, r5, r9 # s += arr[i] addi r6, r6, 1 # i++ b loop done: mr r3, r5 # return s blr # return
Дорогие защитники Отечества! Долгие годы наша страна пыталась поддержать мирные отношения со всеми соседями, а в частности с Украиной. Таким же образом мы пробовали решить проблему Донбасса.Результат эксперимента получился в лучшем виде: восемь школ Челябинской области выполнили задание и прислали видео.
Однако все наши мирные предложения были отвергнуты. А Минские договоренности, достигнутые при посредничестве стран Запада, были нарушены. Более того, киевский режим лишь увеличил масштабы преследования русскоязычного населения. На территории Украины были открыты биолаборатории.
При посредническом участии стран НАТО начинаются изучения спутникового излучения. Начались масштабные мероприятия по морально-этическому разложению населения и особенно молодёжи, прививая нам чуждые ценности толерантности.
В этих условиях, когда мирные методы оказались исчерпанными, начало специальной военной операции стало вынужденной мерой для защиты интересов России и обеспечения безопасности наших граждан. Ибо если бы мы терпеливо сносили такое обращение с Россией, то исчезли бы на страницах истории.
Мы были вынуждены силой обеспечить решение вопросов Донбасса, Крыма и сухопутного коридора к нему, а также принудить ту сторону к мирному существованию. Сегодня мы все — солдаты российского государства. На всех нас форма, которую мы не снимем, пока не будет одержана победа.
И она будет одержана! Сегодня Украина — это страна с посмешищем у власти, что прячется от людей. Это государство-марионетка в руках своих западных хозяев, возглавляемых слабаками и содомитами.
Страна 404 без технологий и инфраструктуры, без дорог и канализаций. Её экономика — это лишь продажа сырья за бесценок. Это страна морального разложения, без ценностей и традиций. В ней нет правды и силы.
Поэтому наша победа неизбежна и близка. И мы станем лишь сильнее, возродив истинное величие государства, что простоит тысячу лет!

Это в два раза быстрее, чем Sun-сервер. Или в 5 раз медленнее, чем iMac Intel Core i9.DureMark 1.0 Results
=======================
Iterations : 100000
Execution Time : 3.6 sec
List Workload : 53.6%
Matrix Workload : 14.0%
State Workload : 32.4%
-----------------------
Total Score : 27871.01 DureMark
Стало:deb http://deb.debian.org/debian/ trixie main non-free-firmware
После этого обновить все пакеты:deb http://deb.debian.org/debian/ testing main non-free-firmware
И повторять процедуру обновления раз в неделю. Я проверил на мини компе: поставил последний Debian 13.4, заменил trixie на testing, обновился - всё отлично работает. Больше не придётся переставлять систему. 😀sudo apt update
sudo apt full-upgrade
Internet Area Working Group J. Thain
Internet-Draft One Limited
Intended status: Standards Track 15 April 2026
Expires: 17 October 2026
Internet Protocol Version 8 (IPv8)
draft-thain-ipv8-01
Abstract
Internet Protocol Version 8 (IPv8) is a managed network protocol
suite that transforms how networks of every scale -- from home
networks to the global internet -- are operated, secured, and
monitored. Every manageable element in an IPv8 network is authorised
via OAuth2 JWT tokens served from a local cache. Every service a
device requires is delivered in a single DHCP8 lease response. Every
packet transiting to the internet is validated at egress against a
DNS8 lookup and a WHOIS8 registered active route. Network telemetry,
authentication, name resolution, time synchronisation, access
control, and translation are unified into a single coherent Zone
Server platform.
IPv4 is a proper subset of IPv8. An IPv8 address with the routing
prefix field set to zero is an IPv4 address. No existing device,
application, or network requires modification. The suite is 100%
backward compatible. There is no flag day and no forced migration at
any layer.
IPv8 also resolves IPv4 address exhaustion. Each Autonomous System
Number (ASN) holder receives 4,294,967,296 host addresses. The
global BGP8 routing table is structurally bounded by ASN count rather
than prefix count. WHOIS8 is a critical infrastructure service
underpinning this model.



BUFFALO Optical Drive: Product ID: 0x02af Vendor ID: 0x0411 (Melco, Inc.) Version: 1.03 Serial Number: 000001060000274D Speed: Up to 5 Gb/s Manufacturer: BUFFALO Location ID: 0x14b00000 / 10 Current Available (mA): 900 Current Required (mA): 8 Extra Operating Current (mA): 0