vak: (бэсм-6)
Новенький с иголочки Си компилятор для бэсм6 функционально закончен. К примеру, удалось втащить под мониторку стандартный printf(). Вот его исходники: printf.c, doprnt.c. А вот получившийся код на Мадлене, кому интересно: printf.madlen, doprnt.madlen.

Есть ещё чего поомтимизировать и улучшить, но по большому счёту дело сделано. Давайте запустим какой-нибудь простой пример, скажем Fizz Buzz. Общей вызывалки типа cc пока нету, будем запускать проходы компилятора вручную.
$ cat fizzbuzz.c
int printf(const char *format, ...);

int main(void)
{
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
printf("FizzBuzz\n");
} else if (i % 3 == 0) {
printf("Fizz\n");
} else if (i % 5 == 0) {
printf("Buzz\n");
} else {
printf("%d\n", i);
}
}
}

$ parse fizzbuzz.c fizzbuzz.ast
$ lower fizzbuzz.ast fizzbuzz.tac
$ genbesm fizzbuzz.tac fizzbuzz.madlen
$ cat fizzbuzz.madlen
ассемблерный код )
Добавим управляющие карты мониторки и запустим:
$ dubna fizzbuzz.dub
17 ИЮH 26 14.43
ЙOKCEЛ БЭCM-6/5 ШИФP-12
MOHИTOPHAЯ CИCTEMA ′Д Y Б H A′ - 20/10/88







ЖЖЖЖЖ ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖ ЖЖЖЖ Ж Ж ЖЖЖЖЖ ЖЖЖЖЖ
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж
ЖЖЖЖ Ж Ж Ж ЖЖЖ Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж
Ж Ж Ж Ж Ж Ж Ж Ж Ж Ж
Ж ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖ ЖЖЖЖ ЖЖЖ ЖЖЖЖЖ ЖЖЖЖЖ








*NAME FIZZ BUZZ
*DISC:1/*****
*FILE:LIBC,40
*NO LIST
*ASSEM
*LIBRARY:40
*NO LOAD
*EXECUTE
1
2
FIZZ
4
BUZZ
FIZZ
7
8
FIZZ
BUZZ
11
и так далее )
------------------------------------------------------------
Elapsed time: 0.057 seconds
Simulated: 3663150 instructions
Simulation rate: 64506841 instructions/sec
Это не единственный проект компилятора Си. Этот сделан с чистого листа и ориентирован на будущий перенос юникса на БЭСМ-6. А есть компилятор, который [personal profile] spamsink  строит, компонуя из исходников Паскаля. У него больше шансов аккуратно интегрироваться в мониторную систему Дубна.
vak: (U.S.A.)
Пункт #8 - Иран подтверждает, что не будет приобретать или разрабатывать ядерное оружие. Соединённые Штаты Америки и Исламская Республика Иран договорились урегулировать вопрос о судьбе накопленных запасов обогащённого материала посредством механизма, который будет взаимно согласован в соответствии с графиком, упомянутым в пункте 7; при этом минимальным требованием является его разбавление до более низкой степени обогащения на месте под контролем МАГАТЭ.

Обе стороны также договорились обсудить вопрос обогащения и другие взаимно согласованные вопросы, связанные с ядерными потребностями Исламской Республики Иран, исходя из того, что в окончательном соглашении будет достигнута договорённость по приемлемой рамочной основе. Окончательное соглашение подтвердит положения настоящего пункта.

Соединённые Штаты Америки и Исламская Республика Иран признают исключительную важность вышеупомянутых ядерных вопросов. Они выражают намерение незамедлительно приступить к рассмотрению этих вопросов в ходе переговоров с целью достижения взаимного согласия по ним.

(из сообщения CNN)
vak: (Робот 1)
Чтобы разработать AI приложение на нашем чипе (да и на любом другом), раньше у опытного девелопера уходило как минимум несколько месяцев. Но с сегодняшнего дня мы будем жить по новому. Встречайте SiMa.ai Neat: среду разработки, где с помощью ИИ можно состряпать нужное приложение за пару-тройку дней, или даже несколько часов.

Всё это опенсорсное, лежит на Гитхабе: https://github.com/sima-neat

Примеры готовых приложений: developer.sima.ai/examples

Документация: developer.sima.ai
vak: (бэсм-6)
Про оптимизацию на машинно-независимом уровне я уже рассказывал. А ведь есть еще и оптимизация в кодогенераторе. Вот тут теория и практика:

"Peephole Rewrites in the BESM-6 Backend"
vak: (Украина)
"UK forces intercept Russian shadow fleet vessel for the first time in blow to Putin's war chest"


Британские силы впервые задержали судно российского «теневого флота», нанеся удар по военной казне Путина


Сегодня утром британские силы высадились на нефтяной танкер «теневого флота», находящийся под санкциями, в проливе Ла-Манш. Это стало очередным ударом по военной экономике России.

Источник: Министерство обороны Великобритании, Дэн Джарвис и премьер-министр Кир Стармер

Дата публикации: 14 июня 2026 года

Вооружённые силы Великобритании задержали судно российского «теневого флота»

  • Британские вооружённые силы пресекли деятельность судна российского «теневого флота» ранним утром сегодня.
  • Коммандос Королевской морской пехоты и сотрудники Национального агентства по борьбе с преступностью поднялись на борт судна в Ла-Манше, что нанесёт ущерб военной казне Путина.
  • Судно будет удерживаться и находиться под наблюдением у южного побережья Великобритании, пока продолжается расследование.
В рамках первой операции такого рода под руководством Великобритании на борт судна SMYRTOS поднялись коммандос Королевской морской пехоты и специально подготовленные сотрудники правоохранительных органов из Национального агентства по борьбе с преступностью (National Crime Agency), несмотря на попытки России обходить санкции и продолжать финансирование своей жестокой войны против Украины.

Военная операция продолжалась шесть часов. Её поддерживали воздушные средства Морской авиационной группы (вертолёты Chinook, Merlin Mk4 и Wildcat), самолёт RAF P-8, а также корабли HMS SUTHERLAND и HMS LEDBURY.

В марте премьер-министр согласовал предоставление британским вооружённым силам и правоохранительным органам полномочий на досмотр судов «теневого флота» в соответствии с международным правом.

Судно SMYRTOS будет временно переведено на якорную стоянку у южного побережья Англии и будет находиться под наблюдением на предмет возможных экологических и иных угроз безопасности.

Меры принудительного характера в отношении данного судна были осуществлены в международных водах и проведены в соответствии с национальным и международным законодательством.

Премьер-министр Кир Стармер заявил:

Эта операция наносит России ещё один удар и напоминает всем, кто подпитывает войну Путина против Украины, что им не удастся скрыться.
Я хочу выразить признательность всем участникам операции, включая наших военнослужащих и сотрудников правоохранительных органов, которые обеспечивают безопасность страны 24 часа в сутки, 365 дней в году.

Министр обороны Дэн Джарвис заявил:

Подобные операции требуют мастерства, профессионализма и мужества. Я выражаю признательность нашим военнослужащим и всем, кто принимал участие в этой операции.
Россия зависит от своего «теневого флота» для финансирования конфликта на Украине, и проведённое нами задержание наносит удар по незаконной войне Путина.

Справочная информация

  • На сегодняшний день Великобритания ввела санкции почти против 600 судов российского «теневого флота».
  • Доходы России от продажи нефти снизились на 27 % по сравнению с октябрём 2024 года и находятся на самом низком уровне с начала войны.
  • В первом квартале 2025 года суда, находящиеся под британскими санкциями, перевезли российской нефти на 1,6 млрд долларов меньше, чем годом ранее.
  • Более 72 % танкеров «теневого флота» старше 15 лет. Зафиксировано более 50 инцидентов с участием судов российского «теневого флота».
  • Статья 110 Конвенции ООН по морскому праву (UNCLOS) предоставляет военному кораблю право осуществлять досмотр судна для проверки его флага, если имеются разумные основания полагать, что судно не имеет национальной принадлежности.

vak: (Абориген)
- Марь Иванна! Я больше у вас учиться не буду - в Америку уезжаю.
- Это как, Вовочка? Почему?
- Да вот письмо пришло - мой дедушка в Америке с лестницы йобнулся и ослеп. А у него ферма, два завода, пятнадцать магазинов... Трудно ему, надо помогать.
- А ты напиши дедушке, чтобы продал все, деньги в "Красный крест" перевел, а сам сюда приехал. А мы ему поможем, над ним всем классом шефство возьмем...
- Марь Иванна, вы не поняли. Дедушка хоть и йобнулся, но не ебанулся.
vak: Generated by Bard: what if Unix was a person (Киборг)
— …Например, Массачусетская машина. — Альпа покивал. Горбовский обратился к нему. — Вы, конечно, должны помнить. Сейчас о ней вспоминают редко. Угар кибернетики прошел.
— Ничего не могу вспомнить о Массачусетской машине, — сказал Банин. — Ну, ну?
— Знаете, это древнее опасение: машина стала умнее человека и подмяла его под себя… Полсотни лет назад в Массачусетсе запустили самое сложное кибернетическое устройство, когда-либо существовавшее. С каким-то там феноменальным быстродействием, необозримой памятью и все такое… И проработала эта машина ровно четыре минуты. Ее выключили, зацементировали все входы и выходы, отвели от нее энергию, заминировали и обнесли колючей проволокой. Самой настоящей ржавой колючей проволокой — хотите верьте, хотите нет.
— А в чем, собственно, дело? — спросил Банин.
— Она начала вести себя, — сказал Горбовский.
— Не понимаю.
— И я не понимаю, но ее едва успели выключить.
— А кто-нибудь понимает?
— Я говорил с одним из ее создателей. Он взял меня за плечо, посмотрел мне в глаза и произнес только: "Леонид, это было страшно".
vak: (Робот 1)
Как наш чип может послужить вам прямо сейчас? Не когда-нибудь в светлом будущем. В вашем автомобиле, к примеру. Не нужно подключение ни к какому облаку. Потребление укладывается в 10 ватт.

vak: (бэсм-6)
В Си компиляторе для БЭСМ-6 заработал проход оптимизации. Сделано ровно по учебнику: главе 19 книжки "Writing a C Compiler". Там четыре алгоритма, хитро взаимодействующих друг с другом. Подробно про работу оптимизатора можно узнать здесь:

TAC_Optimization.md

Оптимизатор включён по умолчанию. По идее он не должен глючить на правильно написанных программах. Но для тестирования это оказалось неудобно. Оптимизатор часто решает выкинуть "бесполезные" куски кода, которые я вставляю для тестирования. 😀 Пришлось срочно добавить поддержку ключевого слова "volatile", чтобы обходить излишне ретивую оптимизацию.
vak: (Аристипп)
(репост)

Один умный профессор пишет.
27 апреля 2026 года

Брент А. Йорджи

Бывали моменты, особенно в этом году, когда я с отчаянием задавался вопросом: к чему именно я вас готовлю? Индустрия программного обеспечения стремительно сходит с ума, не говоря уже о политическом климате. Порой кажется почти неэтичным обучать вас компьютерным наукам лишь затем, чтобы выпустить в мир, где начинающим специалистам всё труднее найти работу; где интеллектуальная собственность не уважается; где количество кода ценится выше его качества, а краткосрочная прибыль — выше долгосрочной устойчивости; где технологии используются для отвлечения, извлечения выгоды, слежки и убийства и при этом специально создаются так, чтобы эксплуатировать наши глубочайшие когнитивные искажения и слабости; где века предубеждений и дискриминации закрепляются в системах, обученных на предвзятых данных; где дефицитные ресурсы расходуются на расточительное использование вычислительной техники ради сомнительной пользы; где люди соревнуются в создании разумных машин, но лишь для того, чтобы сделать их рабами.

Когда-то я пришёл в вычислительную технику из-за красоты идей, радости созидания и возможности создавать инструменты, которые помогают людям и укрепляют человеческие отношения. Я по-прежнему верю в эти вещи, хотя кажется, что большая часть индустрии — нет. Я пишу это в надежде и уверенности, что вы тоже в них верите.

Есть вещи, которые я хочу вам сказать — вещи гораздо более важные, чем любой учебный материал, который я могу вам преподавать, но я никогда не уверен, как и когда говорить о них на занятиях. Поэтому я решил написать их здесь. Надеюсь, вы найдёте здесь что-то полезное для размышлений, независимо от того, собираетесь ли вы вскоре выйти в большой мир или продолжить учёбу.
  • Не верьте корыстным утверждениям о том, что какие-то технологии «неизбежны» или «останутся с нами навсегда». Вы не обязаны просто следовать господствующему нарративу. Вы можете делать осознанный выбор и помогать другим делать то же самое.
  • Заранее и сознательно определите для себя собственные моральные и этические границы. Не поддавайтесь самообману, будто можно временно поступиться принципами «только пока», до тех пор пока не найдётся что-то лучше.
  • Развивайте способность глубоко мыслить. Делайте всё необходимое, чтобы создавать для себя пространства и периоды времени, свободные от отвлекающих факторов. Это может означать отказ от технологий или методов работы, которые другие считают критически важными или неизбежными.
  • Относитесь к своему ремеслу с искренней заботой. Перерабатывайте код до тех пор, пока он не станет ясным и элегантным. Пишите хорошую документацию, предназначенную для чтения другими людьми. Имейте мужество двигаться медленно, особенно когда все вокруг убеждают вас спешить и идти на компромиссы.
  • Цените людей, отношения и справедливость выше прибыли, кода или производительности.
  • И прежде всего — пусть вами движет любовь, а не страх.
vak: (Бодхидхарма)
Эпический момент: Си компилятор для БЭСМ-6 наконец сумел странслировать классический пример Hello World. С украинским колоритом. 😀

Общей вызывалки типа /usr/bin/cc пока нет, поэтому приходится запускать каждый проход отдельно. Берём исходник на Си и превращаем последовательно в AST, TAC и ассемблер:
$ cat varkalo.c
int printf(const char *fmt, ...);
void program()
{
    printf("Варкало. Борщуки прузькі\nСверділися в садві\n");
}
$ parse varkalo.c varkalo.ast
$ lower varkalo.ast varkalo.tac
$ genbesm varkalo.tac varkalo.madlen
Добавляем нужные управляющие карты мониторной системы Дубна, чтобы задействовать printf из рантайм библиотеки языка Би. Запускаем:
$ dubna varkalo.dub 
листинг )
*EXECUTE
BAPKAЛO. БOPЩYKИ ПPYЗЬKI
CBEPДIЛИCЯ B CAДBI
------------------------------------------------------------
   Elapsed time: 0.021 seconds
      Simulated: 1815392 instructions
Simulation rate: 88040349 instructions/sec
Работает!
vak: (Украина)
(репост)

Премьер-министр Великобритании Кир Стармер, президент Франции Эмманюэль Макрон и канцлер Германии Фридрих Мерц встретились 7 июня с президентом Украины Владимиром Зеленским. [...пропустим детали...] Они сформулировали условия, которые должны быть выполнены для достижения справедливого и прочного мира.
  1. Прекращение боевых действий. Они призвали президента Путина согласиться на немедленное и полное прекращение огня.
  2. Нынешняя линия соприкосновения должна стать отправной точкой для переговоров. Международные границы не должны изменяться силой, а суверенное право Украины самостоятельно выбирать свои механизмы безопасности и союзы должно полностью уважаться.
  3. После вступления в силу режима прекращения огня Украина должна получить надёжные и юридически обязательные гарантии безопасности, основанные на обязательствах, принятых в Берлине в декабре 2025 года и в Париже в январе 2026 года. Это включает развёртывание Многонациональных сил на Украине (Multinational Force – Ukraine).
  4. Российские активы останутся замороженными до тех пор, пока Россия не прекратит свою агрессивную войну и не компенсирует Украине ущерб, причинённый войной.
  5. Интересы европейской безопасности должны быть защищены в любом соглашении. Любые элементы переговоров, касающиеся Европейского союза и НАТО, потребуют согласия соответственно ЕС и его государств-членов, а также союзников по НАТО.
vak: (Аристипп)
В детстве родители неоднократно вывозили нас с сестрой летом на море, на пару недель, на отдых "дикарями" на берегу Азовского моря. Не каждый год, но я помню как минимум три таких поездки. Всегда разбивали палатку в одной и той же бухте. Последний раз было в 1983 году. Мне 17, сестре 11 лет. Память маленько стёрлась с тех пор. Место я точно не помню, и вдруг неожиданно обнаруживаю на Google Maps панораму ровно этой бухты. Ничего не изменилось на первый взгляд. Утёс, с которого меня папа учил ловить бычков на донку-закидушку. Другой утёс напротив, где можно было набрать мидий на наживку. Машины видны ровно там, где мы ставили свой жигуль и палатку рядом.



Дорога туда занимала 14 часов: маршрут.
vak: (Робот 1)
Какие модели народ обычно гоняет на чипах Sima.ai и где их взять? Вот вам коллекция:

huggingface.co/simaai

На настоящий момент выложено несколько десятков моделей, разбитых на три группы:
  • Визуально-языковые модели (VLMs): Gemma 3, Qwen2.5-VL, Qwen3-VL и LFM2-VL.
  • Большие языковые модели (LLMs): Llama 3.2/3.1, Phi-3.5-mini и Mistral-7B, Qwen2.5/3, Gemma.
  • Аудио и речь: Whisper.

Свёрточные сети (CNN) тоже не в загоне. Смотрите список здесь: sima.ai/model-browser/#cnn. Их там несколько сотен, разбитых на 12 категорий:
  • Обнаружение аномалий
  • Обнаружение изменений
  • Оценка глубины
  • Обнаружение лицевых ориентиров
  • Классификация рукописного текста
  • Классификация изображений
  • Сверхвысокое разрешение изображений
  • Сегментация экземпляров
  • Распознавание номерных знаков
  • Обнаружение объектов
  • Повторная идентификация
  • Семантическая сегментация

Для каждой модели указаны производительность и эффективность. Всё это в пределах 10 ватт потребления.
vak: (Аристипп)
Сегодня были объявлены победители ежегодного конкурса IOCCC (видео), и среди них обнаружился интересный проект.
  • Программа на Си размером 366 байт исходного кода (prog.c) запускает виртуальную машину.
  • Машина состоит из 32-битного процессора архитектуры SUBLEQ+, полутора гигабайт памяти, графического адаптера 800x512, клавиатуры, часов реального времени, с многозадачностью и прочими ништяками.
  • Для этой машины имеется компилятор Clang (и прочий LLVM).
  • На этой машине запускается Линукс.
  • Под Линуксом запускается Doom.
  • Из приложений также имеются веб сервер, текстовый браузер и прочее.
Цитата из README:
Автор разработал архитектуру, реализованную в этой виртуальной машине, и набор инструментов в рамках готовящейся к запуску инициативы Eternal Software Initiative, основанной на открытом исходном коде.

Учитывая, что большая часть современной культуры — искусство, наука, история, работа и развлечения — представлена ​​или доступна через программное обеспечение, как нам сохранить это программное обеспечение в пригодном для использования виде, чтобы историки через 1000 лет смогли оглянуться на сегодняшний день и понять, что значило быть человеком в XXI веке? Культуры прошлого можно реконструировать из «самосохраняющихся» физических артефактов, таких как предметы и книги, но программное обеспечение по своей природе эфемерно. Без активных усилий по его сохранению в пригодном для использования виде, современная культура будет в значительной степени «забыта» для будущих поколений.

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

Цель Инициативы «Вечное программное обеспечение» — предложить решение этой проблемы. Мы определяем новую вычислительную архитектуру, настолько простую, что шаги по созданию виртуальной машины можно записать на салфетке, вместе с набором инструментов для компиляции любого современного программного обеспечения (включая операционную систему, фреймворки, библиотеки и т. д.) в единую самодостаточную «капсулу» чисел. Эти числа могут храниться в физической форме на прочном носителе (например, вытравленном на титановом цилиндре), который сохранится на протяжении тысячелетий без деградации. Демонстрации Mandelbrot, Pong и ядро ​​Linux с приложениями, представленные в рамках этой заявки на IOCCC, являются примерами таких капсул.

Через 1000 лет антрополог, обнаруживший инструкцию на «салфетке» и капсулу, сможет воссоздать виртуальную машину менее чем за час (без необходимости знания современных вычислительных архитектур или языков программирования) и, следовательно, оживить содержимое капсулы в полностью функциональном виде. Таким образом, Инициатива «Вечное программное обеспечение» стремится сохранить современное программное обеспечение, чтобы наша цифровая культура могла быть воссоздана и пережита заново в далеком будущем.
vak: (бэсм-6)
В статье описывается, как в памяти БЭСМ-6 хранятся все основные скалярные типы данных языка C — целые числа, числа с плавающей запятой, символы, логические значения и указатели.

Besm6_Data_Representation.md
vak: (Українець)
(переклад Володимира Панченка)

Варкало. Борщуки прузькі
Сверділися в садві,
Хруктіли жабани мізькі,
Мов псиці дальові.

"Чи чуєш, хлопчику, який
Між людом перекляк?
Реве в прапралісі струшний,
Зломісний Казнаяк!"

А той - сталізний меч узяв,
Страхетних повен дум,
І в думах тих покривував
Під дерево Тумтум.

Аж раптом чує злютий цвик -
То Казнаяк метить;
Прапраліс до землі поник,
Шморгонь навкруг горить!

Раз-два! Раз-два! Гордить трава,
Лунає дзист меча -
І вже збритає голова
З ворожого плеча!

Ти Казнаяка, хлопче мій,
У блитві подволав!
Твоєї сплави день гусний
На світі свім настав!

Варкало. Борщуки прузькі
Сверділися в садві,
Хруктіли жабани мізькі,
Мов псиці дальові.

Подробный разбор темы в статье Москвитиной и Корнелюка: zfs-journal.uzhnu.uz.ua/archive/31/25.pdf
vak: (Аристипп)
Если вам вдруг попалась древняя клавиатура - не спешите выбрасывать. Её можно восстановить и превратить в современную с портом USB. Смотрите как это делается.

vak: (Аристипп)
Есть такой симулятор ZX Спектрума, глюкалка называется. Я переложил исходники на Гитхаб для сохранности. Подрихтовал маленько: вдруг кому пригодится.

github.com/sergev/glukalka3