vak: (Аристипп)
Serge Vakulenko ([personal profile] vak) wrote2025-05-28 11:22 pm

Элвин Тоффлер про три основные потребности

Из книги «Третья волна» Элвина Тоффлера. Отрывок из главы №25 «Новая Психо-Сфера».

Атака на одиночество

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

длинно )
vak: (Аристипп)
Serge Vakulenko ([personal profile] vak) wrote2025-05-28 10:00 pm

Проблема невыразимости: о чем мы никогда не сможем говорить

(гуглоперевод фрагмента из книжки Томаса Метцингера "The Ego Tunnel: The Science of the Mind and the Myth of the Self")

Представьте, что я держу перед собой образцы цвета двух похожих оттенков зеленого. Между этими двумя оттенками есть разница, но она едва заметна. (Технический термин, который иногда используют специалисты по психофизике, — JND, или «едва заметная разница». JND — это статистическое различие, а не точная величина.) Два оттенка (я буду называть их Зеленый № 24 и Зеленый № 25) — ближайшие возможные соседи на цветовой шкале; между ними нет оттенка зеленого, который вы могли бы различить. Теперь я закладываю руки за спину, смешиваю образцы и держу один из них. Это Зеленый № 24 или Зеленый № 25? Интересное открытие заключается в том, что осознанное восприятие само по себе не позволяет вам заметить разницу. Это означает, что понимание сознания может также включать понимание тонкого и сверхтонкого, а не только целого.

Теперь нам нужно перейти от глобальных к более тонким аспектам сознания. Если это действительно правда, что некоторые аспекты содержания сознания невыразимы — а многие философы, включая меня, считают, что это так — как мы собираемся проводить серьезные научные исследования по ним? Как мы можем редуктивно объяснить то, о чем мы даже не можем говорить должным образом?

дальше )
vak: (Аристипп)
Serge Vakulenko ([personal profile] vak) wrote2025-05-28 10:56 am

Неназивне (Говард Лавкрафт)

(оригінал: hplovecraft.com/writings/texts/fiction/u.aspx)

Ближче до полудня осіннього дня ми сиділи на напівзруйнованій гробниці сімнадцятого століття на старому цвинтарі в Аркхемі та розмірковували про неназивне. Дивлячись на велетенську вербу посеред цвинтаря, стовбур якої майже поглинув стародавню, нерозбірливу плиту, я зробив фантастичне зауваження про примарне та незгадане живлення, яке колосальне коріння, мабуть, всмоктує з цієї сивої, склепової землі; коли мій друг дорікнув мені за таку нісенітницю та сказав, що оскільки там не було поховань понад століття, ніщо не може існувати, щоб живити дерево інакше, ніж звичайним способом. Крім того, додав він, мої постійні розмови про «неназивні» та «незгадані» речі були дуже дитячим прийомом, цілком відповідним моєму низькому становищу як автора. Я надто любив закінчувати свої оповідання видами чи звуками, які паралізували здібності моїх героїв і позбавляли їх сміливості, слів чи асоціацій, щоб розповісти про те, що вони пережили. Ми пізнаємо речі, казав він, лише через наші п'ять органів чуття або нашу релігійну інтуїцію; тому абсолютно неможливо посилатися на будь-який об'єкт чи видовище, які не можна чітко зобразити за допомогою твердих визначень фактів або правильних доктрин теології — бажано конгрегаціоналістів, з будь-якими модифікаціями, які можуть запропонувати традиція та сер Артур Конан Дойл.

З цим другом, Джоелом Ментоном, я часто мляво сперечався. далі... )
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-27 01:49 pm

Трёхадресный код

Я в раздумьях. Парсер отлично генерит AST. Пора превращать его в TAC, то есть так называемый трёхадресный код. Структуры для TAC я сгенерил (tac.h). Вот их визуализация.



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

После TAC следующим этапом Си-компилятора будет кодогенератор. То есть превращение в реальный ассемблерный код целевой машины. Но сначала имеет смысл отладить TAC сам по себе. Добиться получения правильного TAC из AST. Как его проверять? Неужели строить симулятор абстрактной TAC-машины. И ассемблер к ней понадобится. Чтобы писать программы на TAC непосредственно, без помощи компилятора.
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-25 09:58 pm

Мотоцикл не заводится

Ситуация как в старом анекдоте. Собранный компилятором Clang, парсер отлично работает, что с оптимизацией, что с отладкой. Собранный GCC в режиме отладки тоже работает. Но если GCC с оптимизацией - большинство тестов падает. Пробовал на Линуксе и на маке - одинаково. Не могу понять почему.
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-24 11:58 am

Про мониторную систему "Дубна"

А вот вам документация на симулятор dubna. Тоже неплохо.

https://deepwiki.com/besm6/dubna
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-24 12:53 am

Про Алгол X1

ИИ научился создавать качественную техническую документацию. Вот вам к примеру про наш со [personal profile] spamsink  проект Алгола-60 для машины Electrologica X1.

deepwiki.com/sergev/x1-algol-compiler
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-23 12:49 pm

Синтаксическое дерево языка Си

Попросил Грока нарисовать взаимосвязь структур (ast.h), представляющих абстрактное синтаксическое дерево языка Си. Ничо так, наглядненько.

vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2025-05-23 10:20 am

IBM Selectric

https://photos.app.goo.gl/DNCnJzSRXYbQGtCp9

Прекрасные фотки IBM Selectric I/O (Model 73). Обратите внимание на печатающую головку, знаменитый "golf ball".

vak: (Daemon)
Serge Vakulenko ([personal profile] vak) wrote2025-05-21 12:38 pm

Ритчи и сложность

Хотите глянуть, чем занимался молодой Деннис Ритчи до того, как Кен Томпсон увлёк его игрой в Space Travel на PDP-7?

Статья Альберта Мейера и Денниса Ритчи "The complexity of loop programs" (PDF)

А сама игра вот тут: github.com/mohd-akram/st
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-21 02:32 am

Парсер из командной строки

Парсер теперь можно вызывать из командной строки. Фактически это первый проход будущего компилятора. Сейчас он умеет выгружать синтаксическое дерево AST в форматах YAML или Grapviz DOT.

Соберём:
$ git clone https://github.com/besm6/c-compiler.git
$ cd c-compiler
$ make
$ cd build
$ ./cast
Usage:
    cast [options] input-filename [output-filename]
Options:
    --ast            Emit AST in binary format (default)
    --yaml           Emit YAML format
    --dot            Emit Graphviz DOT script
    -v, --verbose    Enable verbose mode
    -D, --debug      Print debug information
    -h, --help       Show this help message
Возьмём классический Hello World и перепрём в YAML:
$ cat hello.c
int main()
{
    printf("Hello, World!\n");
}
$ ./cast --yaml hello.c -
program:
  - external_decl:
    kind: function
    type:
      kind: function
      return_type:
        kind: int
        signedness: signed
      variadic: false
    name: main
    body:
      kind: compound
      body:
        - stmt:
          kind: expr
          expr:
            - expr:
              kind: call
              func:
                - expr:
                  kind: var
                  name: printf
              args:
                - expr:
                  kind: literal
                  kind: string
                  value: "Hello, World!\n"
Нарисуем картинку:
$ ./cast --dot hello.c hello.dot
$ dot hello.dot -Tpdf -ohello.pdf
Смотрим hello.pdf:
vak: (Робот 1)
Serge Vakulenko ([personal profile] vak) wrote2025-05-20 11:43 am
Entry tags:

Теперь и Debian

businesswire.com/news/home/20250520907355/en/SiMa.ai-and-Wind-River-Collaborate-to-Enable-Seamless-AIML-for-Intelligent-Edge-Applications

"Delivering a convenient and seamless experience for developers, SiMa.ai’s MLSoC platform integrated with enterprise-grade Debian derivative eLxr project with commercial support provided by Wind River’s eLxr Pro, allows developers to easily customize and accelerate time to production. This integrated solution combines the freedom of open source with enterprise grade security, stability and compliance."

"The combined solution will be demonstrated at the Embedded Vision Summit in Santa Clara during May 20-22th at the SiMa.ai booth #603. In the demonstration, the SiMa.ai platform uses eLxr, a stable Debian derivative, which is the foundation for Wind River's eLxr Pro commercial Debian support."

Кто работает в embedded - знают компанию Wind River Systems и их знаменитую RTOS VxWorks. А нынче они ещё и embedded Linux поставляют, вкупе с нашим чипом.
vak: (Путиномедвед)
Serge Vakulenko ([personal profile] vak) wrote2025-05-20 09:23 am
Entry tags:

Russian nuclear weapons, 2025

Статья про текущее состояния российского ядерного оружия.

https://www.tandfonline.com/doi/epdf/10.1080/00963402.2025.2494386
vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-19 03:10 pm

AVL trees

Состряпал реализацию map<string, int> на скорую руку на Си, не без помощи ИИ. Грок неленивый программист, если ему прямо говорить что делать.Выбрано представление в виде AVL деревьев. Они компактнее по памяти и вроде эффективнее красно-чёрных деревьев на всех операциях. Хэш был бы неплох, но вычисление хэш функций на словном процессоре типа БЭСМ-6 неэффективно.

Заодно узнал, что AVL деревья представляют собой наследие советской науки. Изобретены в 1962 году Адельсон-Вельским и Ландисом, на десять лет раньше красно-чёрных деревьев.

Георгий Максимович Адельсон-Вельский стоял у истоков шахматной программы Каисса. В 1992 году эмигрировал в Израиль.

Евгений Михайлович Ландис родом из Харькова. В 1968 году подписал нашумевшее письмо в защиту А. С. Есенина-Вольпина.
vak: (Знайка)
Serge Vakulenko ([personal profile] vak) wrote2025-05-19 02:10 pm

edit.com переписали на Rust

Микрософт выложил в открытый доступ исходники текстового редактора edit. Свободная опенсорсная лицензия MIT. Реализация на языке Rust наследует не букву, но дух древнего редактора edit.com из MS-DOS 5.0. Работает под Линуксом и Windows. На маке скомпилировать мне пока не удалось.

Было тридцать пять лет назад:



Стало:

vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-05-18 08:00 pm

Таблица имён в парсере Си

Грамматика языка Си хитро устроена: её невозможно однозначно распознать, не строя таблицу имён. Объясню на примере. Рассмотрим конструкцию:
foo bar : qux;
Как её должен интерпретировать парсер? Выглядит полной бессмыслицей. Однако же представим, что перед этим имелось:
typedef int foo;
enum { qux = 1 };
Тогда конструкция превращается в:
int bar : 1;
Честное определение поля структуры размером один бит.

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

Я уже почти добил самопальный парсер Си, осталось добавить тайпдефы.
vak: (Кризис так себе)
Serge Vakulenko ([personal profile] vak) wrote2025-05-18 11:43 am
Entry tags:

Нет мира без депортации?

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

Получается, для долгосрочного устойчивого мира всем странам следует депортировать товарищей, “считающих русский язык родным языком и считающих Россию своей родиной”. Во избежание безопасности их интересов.

Гебешники надеются всякого русского использовать как подрывного агента.
vak: (Робот 1)
Serge Vakulenko ([personal profile] vak) wrote2025-05-17 12:02 pm

Модуль от SiMa.ai

Теперь наш чип доступен и в виде стандартного модуля SO-DIMM 260. Можете вынуть свой NVidia Jetson Orin NX/Nano, вставить на его место SiMa Modalix, и получить систему на порядок более эффективную по потреблению.

Документация: SoM-Product-Brief.pdf