vak: (Робот 1)
Робот выгружает постиранную одежду из стиральной машины.



+3 )

Подробная статья: bequiet-log.vercel.app/pi-review
vak: (Аристипп)
Редкая вещь: современная клавиатура, но сделанная по технологии оригинальной IBM Model M. Просят $179 плюс доставка. Вес полтора килограмма, как и положено.

vak: (бэсм-6)
Компилируем пустую функцию.
$ cat empty.c
void foo()
{
    // Empty
}

$ ./parse empty.c empty.ast

$ ./lower empty.ast empty.tac

$ backend/genbesm empty.tac empty.mad

$ cat empty.mad
c Module: foo
      foo:   ,name,
             ,its, 13
          13 ,vjm, c/save
             ,uj, c/ret
             ,end,
Исходник на Си превращается в AST, потом в TAC, и окончательно а автокод Мадлен.
vak: (Daemon)
По традиции с каждой новой версией OpenBSD выходит новая картинка и иногда стишок. Все их можно посмотреть на странице: openbsd.org/lyrics.htm

А почему бы не спеть это дело, подумалось мне, благо имеется suno.com. Вот что получилось для версии OpenBSD 7.3. Философская притча в стиле кантри.



Once there was a Wizard so old and wise
that he asked Mother Night for a new enterprise
falling asleep his wish was heard
and by Merlin's beard
what a strange world he entered
дальше )
vak: (Укр.музыка)

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

Эльса, Эльса...
клянусь тебе, что люблю тебя,
что без тебя я бы умер,
если бы мне не хватало твоей любви.. (повтор)

Эльса... ах, Эльса...
ах, Эльса...
снимай туфельку...
я уже больше не могу!..
(Пусть играет кумбия, чтобы танцевать
с Эльсой!)

Смотри, как красотка шла,
песок тебя зовёт, и
иди, иди-иди, иди... я уже не могу!
(Пусть играет кумбия, чтобы танцевать
с Эльсой!)

Говоряяят... иди, смотри, иди-иди!
Я уже не могу!!
(Пусть играет кумбия, чтобы танцевать
с Эльсой!)..
vak: (Бодхидхарма)
Народ часто обвиняет язык Си в примитивности. Типа подумаешь: высокоуровневый ассемблер. Пока не столкнётся с правилами приведения типов. Мне пришлось потратить изрядные усилия, чтобы залудить это дело в компиляторе. Вот краткий конспект.

Type_Coercion.md
vak: (Аристипп)
Это когда пишем код на Си++ и превращаем его в чип. Только не всякий Си++ годится. Вот пример реализации числа с плавающей точкой для Siemens Catapult:

github.com/sergev/floatnum
vak: (бэсм-6)
Вот план разработки кодогенератора для БЭСМ-6. Не хухры-мухры между прочим: длиной 38 попугаев шагов. Разбит на несколько фаз:
  • Phase A — Infrastructure
  • Phase B — Instruction Selection
  • Phase C — Static Data
  • Phase D — Runtime Support Library
  • Phase E — Addressing and Basing
  • Phase F — Integration and Testing

vak: (Знайка)
Навскидку надыбал несколько опенсорсных калахов. В основном минимакс с альфа-бета-отсечением, но есть и обучение с подкреплением.
vak: (бэсм-6)
Всю жизнь Анатолия Ивановича Волкова преследовали каверзным вопросом: кто такая Мадлен и что за роман между ними случился?

Madlen: The BESM-6 Autocode Assembler
vak: Generated by Bard: what if Unix was a person (Киборг)
(отсюда)

Пока руководители Google хвастаются тем, что 75% их кода генерируется ИИ, разработчики по всей Кремниевой долине тихо наблюдают, как их фундаментальные навыки программирования постепенно атрофируются. Разрыв между восторгом топ-менеджмента и раздражением «на земле» показывает тревожную картину того, как индустрия подходит к внедрению ИИ.

Цифры не показывают всей истории

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

Заявление Google о 75% кода, написанного ИИ, прозвучало одновременно с прогнозом Microsoft, что к 2030 году 95% их кода будет создаваться ИИ. Meta и Anthropic сообщают о схожих внутренних показателях использования — свыше 90%. Эти цифры удобно оправдывают недавние увольнения: Meta сократила 10% сотрудников, а Microsoft продвигала программы добровольного ухода, затронувшие тысячи работников.

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

Первоначальный энтузиазм сменился раздражением: pull request’ы на тысячу строк, сгенерированные ИИ, превращают ревью кода в кошмар, пожирающий целые вечера. Ограничения на количество токенов прерывают работу посреди задачи, а разбор «крысиных гнёзд» из ИИ-кода требует как раз той самой экспертизы, которую компании утверждают, будто ИИ способен заменить.

Скрытая цена когнитивной разгрузки

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

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

Младшие разработчики приходят на работу, умея писать запросы для ChatGPT, но не способны отладить простой цикл. Знаете это неприятное чувство, когда Netflix зависает посреди просмотра? Примерно так же чувствуют себя разработчики, сталкиваясь с ИИ-сгенерированным кодом, который ломается в продакшене — кодом, который они не могут починить, потому что уже передали своё мышление на аутсорс ИИ.

Поиск баланса

Индустрии нужна устойчивая интеграция ИИ, а не показательное его внедрение.

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

Индустрии нужен момент отрезвления. Пока компании не научатся отличать полезное усиление человеческих возможностей с помощью ИИ от полной замены человеческого мышления, разработчики будут продолжать наблюдать, как их ремесло деградирует, в то время как руководители празднуют показатели производительности, построенные на зыбучем песке.
vak: (бэсм-6)
Я сделал описание системы команд БЭСМ-6, хвала всевышнему ИИ. Покритикуйте пожалуйста.

BESM-6 Instruction Set Reference
vak: (Бодхидхарма)
In Claude, in your profile, "Settings -> Instructions for Claude",
Put this:

Follow these four rules:
1. Don’t make assumptions. Don’t hide confusion. Surface tradeoffs.
2. Minimum code that solves the problem. Nothing speculative.
3. Touch only what you must. Clean up only your own mess.
4. Define success criteria. Loop until verified.
vak: (бэсм-6)
Давненько я не брал в руки бэсмовского Си компилятора. Начал я его ровно год назад, в мае. Но в июне отвлёкся на другие дела и выпал из темы. Сейчас только нашёл время продолжить его пинать. Компилятор наконец выдал первый результат. Берём простой код на Си:
int f() 
{
int x = 10;
return x + 1;
}
Запускаем проходы компилятора. Преобразуем сначала в AST, а потом в TAC. Выводим TAC в виде YAML:
$ cast test.c test.ast
$ tacker --yaml test.ast test.yaml
$ cat test.yaml
- toplevel:
kind: function
name: f
global: true
body:
- instruction:
kind: copy
src:
kind: constant
const:
kind: int
value: 10
dst:
kind: var
name: x
- instruction:
kind: binary
op: add
src1:
kind: var
name: x
src2:
kind: constant
const:
kind: int
value: 1
dst:
kind: var
name: t.0
- instruction:
kind: return
src:
kind: var
name: t.0
Можно нарисовать картинку через Graphviz:
$ tacker --dot test.ast test.dot
$ dot -Tpdf test.dot -o test.pdf
Осталось закончить генерацию TAC для всех конструкций языка Си, а потом соорудить бэкенд. То есть преобразовалку команд абстрактной машины TAC в конкретные инструкции процессора БЭСМ-6.

vak: (Укр.музыка)
Филармонический оркестр Радио Франции исполняет "Atom Heart Mother" группы Пинк Флойд. Кто незнаком с музыкой Пинк Флойд - удачный момент приобщиться. Я с 12 лет их фанат.

vak: (Аристипп)
На одном FreePascal свет клином не сошёлся. Вот один крутой чувак пилит новый компилятор Паскаля, с чистого листа.

github.com/graemeg/blaise
vak: (бэсм-6)
Покажу вам пару симпатичных картинок, случившихся за эти выходные.

(1) Народ из МГУ выложил исходники эмулятора дисплея VT-340. Был такой в 70-е годы, венгерского производства. Делался ещё для БЭСМ-4. Эмулятор написан несколько лет назад Николаем Макаровым-Землянским, светлой памяти профессором МГУ и большим энтузиастом БЭСМ-6. Сделан эмулятор на Паскале для Windows. За выходные мне удалось, с помощью молотка (Cursor), зубила (Claude Code) и какой-то матери, упинать эти исходники под Линукс и макОС. Далеко не всё там работает, но хоть дышит кое-как. Уже не потеряно для истории.

Исходники: besm6/vt340



(2) Не так давно Лёня [personal profile] spamsink  восстановил исходники легендарной игры Калах. Тексты на Паскале, и разобраться в них было непросто. А надысь посредством ИИ Лёня перепёр их на Си++. Я добавил гуи, и теперь можно играть, в том числе на линуксном палмтопе.

Исходники: besm6/kalah-ui