vak: (Аристипп)
[personal profile] vak
Проект на Гитхабе: tsoding/good_training_language

Классический пример Hello World:
про главная() нч
печать(«Привет, Мир!\н»);
кц
Компилируем, запускаем.
$ хуяк комп примеры/01-привет.хуя
$ ./примеры/01-привет
Привет, Мир!
vak: (Знайка)
[personal profile] vak
Полезные примитивы управления путём PATH. Вставляются в ~/.bashrc. Правятся по вкусу.
append_path() {
    local dir="$1"
    if [[ -d "$dir" ]]; then
        if [[ -d "$dir" && ":$PATH:" != *":$dir:"* ]]; then
            export PATH="$PATH:$dir"
        fi
    fi
}
prepend_path() {
    local dir="$1"
    if [[ -d "$dir" ]]; then
        if [[ -d "$dir" && ":$PATH:" != *":$dir:"* ]]; then
            export PATH="$dir:$PATH"
        fi
    fi
}
remove_path() {
    local dir="$1"
    if [[ ":$PATH:" == *":$dir:"* ]]; then
        local new_path=":$PATH:"
        new_path="${new_path//:$dir:/:}"
        new_path="${new_path#:}"
        export PATH="${new_path%:}"
    fi
}
remove_path /usr/games
remove_path /usr/local/games
remove_path .
append_path /usr/sbin
append_path /usr/bin
append_path /snap/bin
prepend_path /usr/local/bin
prepend_path /usr/local/sbin
prepend_path $HOME/.local/bin

Про нас пишут

Apr. 22nd, 2025 02:38 pm
vak: (Робот 1)
[personal profile] vak
https://www.automotiveworld.com/articles/software-centric-chips-anticipate-the-ai-defined-vehicle/

"SiMa.ai is positioning its unique MLSoC platform as the gateway for unlocking next-generation ADAS/AV performance. Importantly, it has been conceived specifically for automotive applications."

"SiMa.ai’s MLSoC has an ML performance of 50 TOPS and a ResNet-50 (an image classifying architecture) performance of more than 300 FPS per watt. The company claims latency can be reduced by a factor of ten, with all compute in Level 2/3 systems achieved at less than 25W, or less than 100W at Level 4."

"SiMa.ai designed the chip according to three foundation pillars: to be compatible with any computer vision and generative AI application using ML at the edge, regardless of vehicle type; to offer best-in-class performance per watt; and to provide an interface usable by anyone instead of a small demographic of hardware experts."

"In December 2024, SiMa.ai combined its AI/ML capabilities with silicon design and verification firm Synopsys to maximise customisation for automotive-centric IP, subsystems, chiplets, and SoCs."
vak: (Робот 1)
[personal profile] vak
...Фирма делает чипы. Целенаправленно для искусственного интеллекта и машинного обучения. Но какие нейронные сетки на наших чипах можно гонять, и с какой эффективностью? А вот вам рисунок. По горизонтали количество обрабатываемых изображений в секунду. По вертикали точность распознавания. Точность получается повыше, если модель работает в плавающей точке FP32, и пониже, если она квантована в целые числа INT8.

Подробнее на сайте: https://sima.ai/model-browser/

vak: (бэсм-6)
[personal profile] vak
(Я послал этот текст в список рассылки БЭСМ-6, но сохраню и здесь для памяти.)

Раз уж у нас тут постепенно актуализировалась тема написания компиляторов, я тоже увлёкся и реализовал давнишнюю мечту: портонул Би с PDP-7 на БЭСМ-6.

Исходник компилятора: b-besm.b

Проект на Гитхабе: besm6/b-compiler

История вопроса следующая. В 1969 году Кен Томпсон создал язык Би для машины PDP-7. Компилятор порождал так называемый шитый код, который интерпретировался во время выполнения. Позже в 1971-м Деннис Ритчи портонул Би на машину Honeywell GE 645, но без всякого шитого кода, а уже с нормальной генерацией бинарного кода целевого процессора. А когда Ритчи взялся тащить Би на PDP-11, оказалось, что наличие байтовой адресации существенно меняет дело. Пришлось добавить в Би типы, и он быстро превратился в знакомый нам Си.

Исходники компилятора Би считались потерянными. Но девять лет назад Robert Swierczek чудесным образом сумел восстановить тексты Би из обрывков распечаток в рамках проекта pdp7-unix.

Я взял эти исходники и вместо выдачи шитого кода для PDP-7 вставил генерацию машинных команд БЭСМ-6 для ассемблера Madlen. Добавил минимальную рантайм библиотеку и запихнул в мониторную систему Дубна. Компилятор пишет ассемблерный текст на барабан и, если не случилось ошибок, выполняет как бы команду *READ:1. Дальше обычным образом стартует Мадлен и формирует объектные модули. Компилятор Би и рантайм библиотеку я поместил на отдельную ленту, её можно подключать командой *TAPE:7/B. Покажу пример на симуляторе dubna.

Вот скрипт с исходным текстом классического примера Hello World. Компилятор запускается с ленты командой *TRANS.
*name B compiler
*tape:7/b,40
*library:40
*trans-main:40020
main() {
printf("Hello, B!*n");
}
*execute
*end file
Запускаем. Я не стал убирать таблицу загрузки, чтобы вам было видно размер кода:
$ dubna hello.dub
...
*NAME B COMPILER
*TAPE:7/*,40
*LIBRARY:40
*TRANS-MAIN:40020
OVERLAY OT 20/04/25
B COMPILER FOR BESM-6, VERSION 04/2025
COMPILED 3 LINES OF CODE, FOUND 0 ERRORS

*NO LIST
*CALL BLOCKERR
*MADLEN
MAIN CP 0.0, ST 0.0, RT 1.0*
*READ OLD
*EXECUTE
*LIBRA:40 = B/DIV B/EQ B/GT B/LT B/MUL B/NE B/RET B/SAVE0 B/SAVE
B/TOUT B/TRUE CHAR PRINTD PRINTO PRINTF WRITE WRITEB OUT*CNT OUT*SHFT
OUT*BUFF FLUSH FOUT

MAIN 01000 PRINTD 01413 B/MUL 01757 ISOTCOSY 06002
PROGRAM E 01000 PRINTO 01466 B/GT 01766 ISOTCOS1 E 06053
B/SAVE0 01011 WRITE 01517 FOUT 01771 DRUMTAP* 06073
B/RET 01016 B/TRUE 01622 WRCARD 01772 CHKWORD* C 06124
PRINTF 01023 OUT*CNT 01623 WRWORD E 02014 PRINT8 06125
B/SAVE 01256 OUT*SHFT 01624 WBEGIN E 02033 STOP* 06306
CHAR 01263 OUT*BUFF 01625 WRIEND E 02042 EXIT E 06307
B/NE 01301 FLUSH 01654 B/TOUT 02075 CBOБOДHO 06335
B/EQ 01304 B/LT 01744 WRWORD/ C 04000
WRITEB 01307 B/DIV 01747 XWRITE/ C 06000

HELLO, B!
Вот ещё несколько примеров для Би из разных мест. Все они работают под Дубной:Мандельброт выглядит забавно: mandelbrot.txt

Выводы из всей этой затеи:
  • Би вполне был возможен на БЭСМ-6 уже тогда, в середине 70-х. Увы, никто из аксакалов-бэсмачей про него не знал.
  • Если бы Би тогда состоялся, он мог бы стать важным средством системной разработки. Не судьба. Позже язык ЯРМО пытался занять нишу.
  • Результат примерно соответствует мечте Игоря Григорьевича Пасынкова, когда в 1986 году он позвал меня в курчатник заниматься Си для Эльбруса-Б. Ему хотелось видеть Си не только под юниксом, но и в мониторке.
vak: (Default)
[personal profile] vak
Вот такая програмулина:
main() {
auto cx, cy, x, y, x2, y2;
auto iter;
auto xmin, xmax, ymin, ymax, maxiter, dx, dy;

xmin = -8601;
xmax = 2867;
ymin = -4915;
ymax = 4915;

maxiter = 32;

dx = (xmax - xmin) / 79;
dy = (ymax - ymin) / 24;

cy = ymin;
while (cy <= ymax) {
cx = xmin;
while (cx <= xmax) {
x = 0;
y = 0;
x2 = 0;
y2 = 0;
iter = 0;
while (iter < maxiter) {
if (x2 + y2 > 16384)
goto next;

y = ((x * y) / 2048) + cy;
x = x2 - y2 + cx;
x2 = (x * x) / 4096;
y2 = (y * y) / 4096;
iter++;
}
next:
write(' ' + iter);
cx = cx + dx;
}
write('*n');
cy = cy + dy;
}
return(0);
}
Запускаем mandelbrot.dub, получаем mandelbrot.txt:
$ dubna mandelbrot.dub
...
!!!!!!!!!!!!!!!"""""""""""""####################################""""""""""""""""
!!!!!!!!!!!!!"""""""""#######################$$$$$$$%'+)%%%$$$$$#####"""""""""""
!!!!!!!!!!!"""""""#######################$$$$$$$$%%%&&(+,)++&%$$$$$$######""""""
!!!!!!!!!"""""#######################$$$$$$$$$$%%%%&')*5:/+('&%%$$$$$$#######"""
!!!!!!!!""""#####################$$$$$$$$$$%%%&&&''),@@@@@@@,'&%%%%%$$$$########
!!!!!!!"""####################$$$$$$$$%%%&'())((())*,@@@@@@/+))('&&&&)'%$$######
!!!!!!""###################$$$$$%%%%%%&&&'+.@@=/<@@@@@@@@@@@@@@@/++@..93%%$#####
!!!!!"################$$$%%%%%%%%%%&&&&'),+2@@@@@@@@@@@@@@@@@@@@@@@@@1(&&%$$####
!!!!"##########$$$$$%%&(-(''''''''''''(*,5@@@@@@@@@@@@@@@@@@@@@@@@@@@@+)-&%$$###
!!!!####$$$$$$$$%%%%%&'(*-@1.+.@-4+))**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4-(&%$$$##
!!!!#$$$$$$$$$%%%%%%'''++.6@@@@@@@@@8/0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3(%%$$$$#
!!!#$$$$$$$%&&&&''()/-5.5@@@@@@@@@@@@@>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?'&%%$$$$#
!!!(**+/+<523/80/46@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4+)'&&%%$$$$#
!!!#$$$$$$$%&&&&''().-2.@@@@@@@@@@@@@@?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'&%%$$$$#
!!!!#$$$$$$$$$%%%%%&'''/,.7@@@@@@@@@;/0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0'%%$$$$#
!!!!####$$$$$$$$%%%%%&'(*-:2.,/?-5+))**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4+(&%$$$##
!!!!"##########$$$$$%%&(-(''''(''''''((*,4@@@@@@@@@@@@@@@@@@@@@@@@@@@4+).&%$$###
!!!!!"################$$$%%%%%%%%%%&&&&')<,4@@@@@@@@@@@@@@@@@@@@@@@@@/('&%%$####
!!!!!!""##################$$$$$$%%%%%%&&&'*.@@@0@@@@@@@@@@@@@@@@1,,@//9)%%$#####
!!!!!!!"""####################$$$$$$$$%%%&(())((()**-@@@@@@/+)))'&&&')'%$$######
!!!!!!!!""""#####################$$$$$$$$$$%%%&&&''(,@@@@@@@+'&&%%%%%$$$########
!!!!!!!!!"""""#######################$$$$$$$$$$%%%%&')*7@0+('&%%%$$$$$#######"""
!!!!!!!!!!!"""""""######################$$$$$$$$$%%%&&(+-).*&%$$$$$$######""""""
!!!!!!!!!!!!!"""""""""#######################$$$$$$%%'3(%%%$$$$$######""""""""""
!!!!!!!!!!!!!!!""""""""""""#####################################""""""""""""""""

Angelo Papenhoff

Apr. 21st, 2025 12:01 am
vak: (Default)
[personal profile] vak
Много интересных подробностей про исторический компилятор Би для PDP-7 и про первый юникс.

vak: (Default)
[personal profile] vak
Я затащил компилятор Би под мониторную систему Дубна. Сделал отдельную ленточку 7/b, на которой лежит бинарник компилятора и рантайм библиотека. Вот классический пример Hello World:
*name B compiler
*tape:7/b,40
*library:40
*trans-main:40020
main() {
printf("Hello, B!*n");
}
*execute
*end file
Запускаем:
$ dubna b.dub
...
*NAME B COMPILER
*TAPE:7/*,40
*LIBRARY:40
*TRANS-MAIN:40020
OVERLAY OT 20/04/25
B COMPILER FOR BESM-6, VERSION 04/2025
COMPILED 3 LINES OF CODE, FOUND 0 ERRORS

*NO LIST
*CALL BLOCKERR
*MADLEN
MAIN CP 0.0, ST 0.0, RT 1.0*
*READ OLD
*EXECUTE
*LIBRA:40 = B/DIV B/EQ B/GT B/LT B/MUL B/NE B/RET B/SAVE0 B/SAVE
B/TOUT B/TRUE CHAR PRINTD PRINTO PRINTF WRITE WRITEB OUT*CNT OUT*SHFT
OUT*BUFF FLUSH FOUT

MAIN 01000 PRINTD 01413 B/MUL 01757 ISOTCOSY 06002
PROGRAM E 01000 PRINTO 01466 B/GT 01766 ISOTCOS1 E 06053
B/SAVE0 01011 WRITE 01517 FOUT 01771 DRUMTAP* 06073
B/RET 01016 B/TRUE 01622 WRCARD 01772 CHKWORD* C 06124
PRINTF 01023 OUT*CNT 01623 WRWORD E 02014 PRINT8 06125
B/SAVE 01256 OUT*SHFT 01624 WBEGIN E 02033 STOP* 06306
CHAR 01263 OUT*BUFF 01625 WRIEND E 02042 EXIT E 06307
B/NE 01301 FLUSH 01654 B/TOUT 02075 CBOБOДHO 06335
B/EQ 01304 B/LT 01744 WRWORD/ C 04000
WRITEB 01307 B/DIV 01747 XWRITE/ C 06000

HELLO, B!
Компилятор генерит ассемблерный код и пишет его на барабан, то есть временный файл фактически. И переключает мониторку на чтение этого барабана, как бы командой *READ:1. Вызывается Мадлен и превращает ассемблерный код в бинарные объектные модули.

Вибачальне

Apr. 19th, 2025 02:59 pm
kondybas: (Default)
[personal profile] kondybas
Я тут багато всякого нехорошого говорив про ШІ і про його переоціненість.

Щиро вибачаюся, був неправий, ніяковію від сорому, більше так не буду!


vak: (Знайка)
[personal profile] vak
Here is a more detailed elaboration.
  1. Make it work.
  2. Make it right (the code is readable [uses intention revealing names] and every idea is expressed once and only once).
  3. Make everything work.
  4. Make everything right.
  5. Use the system and find performance bottlenecks.
  6. Use a profiler in those bottlenecks to determine what needs to be optimized. See Profile Before Optimizing.
  7. Make it fast. You maintained unit tests, right? Then you can refactor the code mercilessly in order to improve the performance.
-- Guillermo Schwarz

Переходим на Би

Apr. 18th, 2025 10:57 am
vak: (бэсм-6)
[personal profile] vak
Переписал некоторые функции рантайм библиотеки с ассемблера на Би. К примеру, было:
    writeb: ,name,
         12 ,base,*
c
c Append one byte to output buffer.
c
 b/output:lc,block, w_count, b_shift, buffer(22)
c
    flush:  ,subp,
            ,aax, =377
            ,aex, =12       . compare to linefeed
            ,uza, flush
            ,aex, =12
c
            ,utc, w_count
            ,xts,
            ,aex, =26       . 22 words
            ,u1a, putchar
            ,ita, 13
            ,its,
            ,call, flush
            ,sti,
            ,ati, 13
c
 putchar:   ,bss,           . append byte to buffer
            ,sti,
         11 ,vtm, b/output
         11 ,wtc, 1         . b_shift
            ,asn, 64-40     . shift left
         11 ,wtc, 0         . w_count
         11 ,aox, 2         . read word from buffer
         11 ,wtc, 0         . w_count
         11 ,atx, 2         . write word to buffer
c
         11 ,xta, 1         . b_shift
            ,aex, =50
            ,uza, next_w
            ,aex, =50
            ,arx, =10       . increase shift
         11 ,atx, 1         . b_shift
         13 ,uj,
c
 next_w:    ,bss,           . advance to next word
         11 ,atx, 1         . clear b_shift
         11 ,xta, 0         . w_count
            ,arx, =1        . increment word count
         11 ,atx, 0         . w_count
         13 ,uj,
            ,end,
Стало:
/*
 * Append one byte to output buffer.
 */
writeb(b) {
    extrn out_cnt, out_shft, out_buff;
    auto p;

    b = b & 0377;
    if (b == '*n') {
        flush();
        return;
    }

    if (out_cnt == 22) {
        flush();
    }

    p = &out_buff[out_cnt];
    *p = *p | (b << (40 - out_shft));

    if (out_shft == 40) {
        /* next word */
        out_shft = 0;
        ++out_cnt;
    } else {
        /* next byte */
        out_shft = out_shft + 8;
    }
}

out_cnt;
out_shft;
out_buff[22];
Так ведь понятнее выходит, правда?
vak: (Украина)
[personal profile] vak

Меморандум о намерениях между правительством США и правительством Украины по завершению официального соглашения об экономическом партнерстве и инвестиционном фонде для восстановления.
  • Учитывая, что Соединенные Штаты Америки оказали значительную финансовую и материальную поддержку Украине с момента полномасштабного вторжения России в Украину в феврале 2022 года; 
  • Учитывая, что американский народ желает инвестировать вместе с украинским народом в свободную, суверенную и безопасную Украину;
  • Учитывая, что Соединенные Штаты Америки и Украина стремятся к длительному миру в Украине и крепкому партнерству между их народами и правительствами;
  • Учитывая, что Соединенные Штаты Америки и Украина признают вклад Украины в укрепление международного мира и безопасности путем добровольного отказа от третьего по величине в мире ядерного арсенала;
  • Учитывая, что Соединенные Штаты Америки и Украина намерены создать инвестиционный фонд для восстановления как часть экономического партнерства между двумя народами и правительствами;
  • Учитывая, что Соединенные Штаты Америки и Украина провели продуктивные технические обсуждения в Вашингтоне, округ Колумбия, недавно, с 11 по 12 апреля 2025 года, чтобы завершить переговоры по соглашению о создании инвестиционного фонда для восстановления;
  • Учитывая, что Соединенные Штаты уважают намерение Украины избежать конфликтов в разработке соглашения с ее обязательствами в рамках вступления в Европейский Союз или соглашений с международными финансовыми учреждениями и другими официальными кредиторами;
  • Учитывая, что без ущерба для любых остаточных политических или юридических процедур, необходимых для завершения договоренностей, премьер-министр Украины Шмыгаль посетит Вашингтон, округ Колумбия, на неделе с 21 апреля 2025 года, чтобы встретиться с министром финансов США Бессент и оказать поддержку на самом высоком уровне для завершения технических обсуждений условий соглашения о создании инвестиционного фонда для восстановления. От переговорных команд ожидается отчет о прогрессе до 26 апреля 2025 года, с целью завершения обсуждений к этой дате и подписания соглашения как можно скорее;
Итак, в результате этого, как подтверждается подписями ниже, правительство Соединенных Штатов Америки и правительство Украины подписывают этот меморандум о намерениях с целью скорейшего завершения подготовки необходимых документов для официального заключения соглашения об экономическом партнерстве между народами Америки и Украины и создания инвестиционного фонда для восстановления.

Макинтош тот ещё гуй

Apr. 16th, 2025 02:04 pm
vak: (Default)
[personal profile] vak
Один крутой чувак наваял для Линукса библиотеку GUI, выглядящую как древний MacOS 7. Ничо так, приятненько.

Проект на Гитхабе: buserror/libmui

vak: (Default)
[personal profile] vak
Компилятор Би, будучи запущенным на БЭСМ-6, успешно обработал собственный исходный текст и выдал разумный ассемблерный код. До этого я гонял его в кросс-режиме под Линуксом. Но теперь уже и на самой БЭСМ-6 можно. С перекодировкой пришлось помучиться.

Сравниваю ассемблерный код, полученный в кросс-режиме и на БЭСМ. Вижу расхождение в одной строке.
$ diff bbesm.madlen bbesm2.madlen 
5185c5185
< ,XTS,=37777777777777
---
> ,XTS,=50000000000001
Это код функции negate().
negate(n) {
return (-n & 037777777777777);
}
Почему-то на БЭСМ получилась неправильная целочисленная константа. Надо искать багу в арифметике.

В пятёрке однако

Apr. 15th, 2025 03:07 pm
vak: (Робот 1)
[personal profile] vak
"5 semiconductor startups seeking to challenge Nvidia’s AI computing dominance"

SiMa.ai

SiMa.ai, based in San Jose, delivers a software first machine learning system-on-chip (MLSoC) platform designed specifically for edge AI. Its Modalix chip family supports everything from computer vision to large multimodal models—all with 10x performance-per-watt improvements over existing solutions. With $270 million in total funding and recent partnerships with Lanner, Arrow, Supermicro, and Cvedia, SiMa.ai has positioned itself as the go-to solution for efficient, scalable AI at the edge.
vak: (Default)
[personal profile] vak
Я решил выяснить, действительно ли Трамп прищемил китайских торговцев, или туфту гонит со своими тарифами. Пошёл на Алиэкспресс и заказал пяток SD-карточек. Давно я там ничего не покупаю, но надо ж проверить. Заказ пришёл через шесть дней, бесплатная доставка из Китая.

Пять карточек марки якобы Lenovo ёмкости якобы 64, 128, 256, 512 гигабайт, и пятая аж 1 терабайт. Специально взял разной ёмкости, протестировать. Цена от $2.30 до $2.58 за штуку, и ещё дали скидку полтора доллара.

Ожидаемо всё оказалось туфта. Я протестировал с помощью известного тула F3. Реальная ёмкость 8 гигабайт. К примеру, на карточке якобы 64 гига:
  Data OK: 7.97 GB (16722999 sectors)
Data LOST: 54.51 GB (114320874 sectors)
           Corrupted: 54.51 GB (114320874 sectors)
    Slightly changed: 0.00 Byte (0 sectors)
         Overwritten: 0.00 Byte (0 sectors)
Average reading speed: 16.38 MB/s
Так что не верьте ни китайцам, ни Трампу. Их главное стремление - впарить. Судя по маркировке на нижней стороне, взяли самые дешёвые тайваньские карточки и перешили идентификатор, чтобы завысить ёмкость.

vak: (Default)
[personal profile] vak
(законспектирую для истории)

"What Were Trump Administration's Demands"
Among the important proposals is the demand of a merit-based hiring system. Some other key demands are as follows:
  • Adopt merit-based hiring policies; end preferences based on race, religion, or other characteristics.
  • Review all faculty for plagiarism and ensure consistent enforcement.
  • Share hiring data with the federal government for audit.
  • Implement merit-based admissions without race-based preferences.
  • Provide admissions data for public and government review.
  • Deans of admissions must certify compliance after each admissions cycle.
  • Screen international students to prevent those hostile to US values from being admitted.
  • Prevent admitting students hostile to the American values and institutions inscribed in the US Constitution and Declaration of Independence, including students supportive of terrorism or antisemitism
  • Report any violations of conduct by foreign students to federal authorities.
  • Commission an audit of faculty, staff, and students for viewpoint diversity.
  • Hire or admit a diverse range of viewpoints where needed, making changes to achieve diversity in each department.
  • Audit programs that fuel antisemitic harassment or show ideological bias.
  • Programs like the Divinity School, Harvard Law, and the School of Public Health are a focus.
  • Identify faculty who incite violations and enforce sanctions where necessary.
  • End all diversity, equity, and inclusion (DEI) programs and policies.
  • Demonstrate to the federal government that these reforms are permanent and effective.
  • Enforce discipline policies consistently, without bias.
  • Ban and discipline student groups endorsing criminal activities or promoting violence.
  • Institute a comprehensive mask ban with penalties for violations.
  • Whistleblower Reporting and Protections:
  • Establish a system for affiliates to report non-compliance with reforms.
  • Ensure whistleblowers are protected from retaliation.

Перевод: "Каковы были требования администрации Трампа"
Среди важных предложений — требование системы найма на основе заслуг. Вот некоторые другие ключевые требования:
  • Принять политику найма на основе заслуг; положить конец предпочтениям, основанным на расе, религии или других характеристиках.
  • Проверить всех преподавателей на плагиат и обеспечить последовательное исполнение.
  • Предоставить данные о найме федеральному правительству для аудита.
  • Внедрить прием на основе заслуг без предпочтений, основанных на расе.
  • Предоставить данные о приеме для проверки общественностью и правительством.
  • Деканы приемных комиссий должны подтверждать соблюдение требований после каждого цикла приема.
  • Проверять иностранных студентов, чтобы не допустить приема тех, кто враждебно относится к ценностям США.
  • Не допускать приема студентов, враждебно относящихся к американским ценностям и институтам, прописанным в Конституции США и Декларации независимости, включая студентов, поддерживающих терроризм или антисемитизм
  • Сообщать о любых нарушениях поведения иностранными студентами федеральным органам власти.
  • Заказать проверку преподавателей, сотрудников и студентов на предмет разнообразия точек зрения.
  • При необходимости нанимайте или допускайте широкий спектр точек зрения, внося изменения для достижения разнообразия в каждом отделе.
  • Аудит программ, которые подпитывают антисемитские преследования или демонстрируют идеологическую предвзятость.
  • Такие программы, как Школа богословия, Гарвардский юридический факультет и Школа общественного здравоохранения, находятся в центре внимания.
  • Выявляйте преподавателей, которые подстрекают к нарушениям, и применяйте санкции, когда это необходимо.
  • Прекращайте все программы и политику разнообразия, равенства и инклюзивности (DEI).
  • Демонстрируйте федеральному правительству, что эти реформы являются постоянными и эффективными.
  • Последовательно и беспристрастно применяйте дисциплинарную политику.
  • Запрещать и наказывать студенческие группы, поддерживающие преступную деятельность или пропагандирующие насилие.
  • Вводите всеобъемлющий запрет на ношение масок со штрафами за нарушения.
  • Сообщения о нарушениях и защита осведомителей:
  • Создайте систему, позволяющую филиалам сообщать о несоблюдении реформ.
  • Обеспечьте защиту осведомителей от преследований.
vak: (Знайка)
[personal profile] vak
iopscience.iop.org/article/10.1088/1742-6596/2987/1/012001/pdf

"В этой исследовательской статье выводится нелинейное обобщение уравнений Максвелла из вариационного подхода, когда действие измеряет изменчивость метрического тензора. Собственное пространство — это пространство Вейля, где ковариантная производная метрического тензора не обязательно должна обращаться в нуль. Закон силы Лоренца выводится из тех же метрик, что и уравнение геодезических. Показано, что плотность заряда подчиняется ковариантному волновому уравнению, что указывает на то, что плотность заряда — это поле, распространяющееся со скоростью света. Эта точка зрения способствует волновой картине электрона. Результаты показывают, что уравнение Дирака также является геометрическим уравнением. Поскольку электродинамическая сила, т. е. сила Лоренца, может быть напрямую связана с метрической структурой пространства-времени, это напрямую приводит к объяснению явления Zitterbewegung и квантово-механических волн."

Электромагнетизм сводится к геометрии пространства-времени, Карл!

Напишем /bin/cat на Би

Apr. 14th, 2025 06:06 pm
vak: (Default)
[personal profile] vak
Простая программа: копирует входные байты на выход.
main() {
auto ch;

while (ch = read()) {
write(ch);
}
}
Пропускаем через Би компилятор, получаем ассемблерный код.
$ bbesm < cat.b > cat.madlen
$ cat cat.madlen
main:8,name,
program:,entry,
main:,bss,
b/save0:,subp,
b/ret:,subp,
,its,13
,call,b/save0
15,utm,1
/0:,bss,
7,utc,0
14,vtm,
,ita,14
read:,subp,
14,vtm,read
,its,14
,ati,14
14,utc,
13,vjm,
15,wtc,
,atx,
,uza,/1
write:,subp,
14,vtm,write
,ita,14
7,utc,0
14,vtm,
,its,14
,ati,14
14,xta,
14,vtm,-1
15,wtc,
13,vjm,
,uj,/0
/1:,bss,
,uj, b/ret
,end,
Компилируем в бинарник для БЭСМ-6. Линкуем с рантайм библиотекой Би.
$ besmc cat.madlen libb.obj
Запустим и подадим на вход собственный исходный код:
$ ./cat.exe < cat.b 
MAIN() [
AUTO CH;

WHILE (CH = READ()) [
WRITE(CH);
]
]
Всё перекодировалось в КОИ-7 по ходу. Это специфика мониторной системы Дубна, никуда не денешься. Ведь мы используем её механизм формирования входного потока программы.
vak: (Default)
[personal profile] vak
Компилятор Би успешно скомпилировал сам себя и загрузился в память БЭСМ-6. Занимает 5270 слов памяти, то есть примерно 31 килобайт.

Вот таблица загрузки:
         MAIN       01000                B/SAVE     06222
PROGRAM E 01000 NAME 06226
B/SAVE0 01022 GEN*SUBP 06266
B/RET 01026 GEN*RVAL 06313
SYMTAB 01032 WRITEB 06350
EOF 02163 PRINTN 06376
NS 02164 NERROR 06432
B/NOT 02165 PRINTF 06433
EXTDEF 02170 ACC*ACTI 06702
BLKEND 02760 EXPR 06703
B/TRUE 02771 GEN*GOTO 10373
PEEKSYM 02772 PEXPR 10430
CSYM 02773 JUMPC 10466
CVAL 02774 JUMP 10511
NAUTO 02775 LABEL 10534
NPARAM 02776 READ* 10557
RETFLAG 02777 MAPCH 10605
SYMBOL 03000 IS*LVALU 10764
B/EQ 03632 B/OUTPUT C 10765
B/NE 03635 FLUSH 11015
GEN*PROL 03640 B/DIV 11031
GEN*ENTR 03700 B/MOD 11041
DECLARE 04013 CHAR 11054
GEN*BSAV 04215 PRINTD 11072
B/LT 04331 GEN*CONS 11144
B/GT 04334 GEN*STRI 11206
GEN*STAC 04337 GEN*AUTO 11264
STMTLIST 04362 GEN*PARA 11351
GEN*BRET 04422 GEN*EXTR 11436
GEN*EPIL 04443 GEN*INTE 11515
NEGATE 04461 GEN*HELP 11573
WRITE 04470 ASSERT*L 11622
PRINTO 04503 GEN*ASSI 11654
NUMBER 04532 GEN*LSHI 11676
ERROR 04561 GEN*LSHA 11727
STMT 04620 GEN*RSHI 11774
ISN 05340 GEN*RSHA 12025
SYMBUF 05341 GEN*MCAL 12057
CTAB 05354 GEN*CALL 12123
PEEKC 05555 MONREAD* 12240
LINE 05556 READ*ERR E 12320
B/GE 05557 PRINT8 12344
READ 05562 STOP* 12525
SUBSEQ 05567 GETSTR 12554
B/LE 05620 DRUMTAP* 13120
B/MUL 05623 COSYTISO 13151
GETCC 05632 CHKWORD* C 13225
LOOKUP 06007 CBOБOДHO 13226
Page generated Apr. 23rd, 2025 01:19 pm
Powered by Dreamwidth Studios