[personal profile] vak
Взял исходники игры 15 puzzle game на языке Scheme с rosettacode и перепёр на Gisp. Вроде ясный и понятный код получается. Всё в 200 строчек уложилось
func playGame() {
var board = createStartPosition()
var movesTaken = 0
while true {
if finished(board) {
newline()
display("COMPLETED PUZZLE in ")
display(movesTaken)
display(" moves\n")
return
}
displayBoard(board)
var moves = findMoves(board)
display("Enter a move: ")
display(moves)
newline()
var move = read()
if moveAllowed(moves, move) {
makeMove(board, move)
movesTaken = movesTaken + 1
} else {
display("Invalid move - try again\n")
}
}
}
Весь текст: puzzle15.gisp

Поиграем. В качестве хода надо вводить слова up/down/left/right.
$ gisp puzzle15.gisp 

7 3 4
2 11 8 12
1 13 6 15
5 9 14 10
Enter a move: (down right)
down

2 7 3 4
11 8 12
1 13 6 15
5 9 14 10
Enter a move: (up down right)
down

2 7 3 4
1 11 8 12
13 6 15
5 9 14 10
Enter a move: (up down right)
right

...

1 2 3 4
5 6 7 8
9 10 11
13 14 15 12
Enter a move: (up down left)
down

COMPLETED PUZZLE in 50 moves
Полный протокол здесь: gist.github.com/sergev/2f8a65b7a11ea23a1693346a68a065d0

Мне с молодости импонировал Лисп (и Scheme) своим изяществом. Когда-то я даже стряпал эспериментальные реализации. Но глядеть на код со скобочками мало удовольствия. С удобным синтаксисом получается совсем другая песня.

"WOW!"

Nov. 9th, 2025 10:09 pm
[personal profile] yakov_a_jerkov
Трамп сегодня утром:

trump.png

Обама получал по два с половиной миллиона в год "за Obamacare", но DOGE этот грабеж американских налогоплательщиков остановил. Звучит это как горячечный бред, и, естественно, таковым и является.

Президент США, тем не менее, трусит этот бред своим миллионам подписчиков в TruthSocial. Это реальный трамповский трус, не фейк.

Откуда Трамп взял эту "новость" установить вряд ли удасться, но изначально она была опубликована 9 месяцев назад на сайте The Dunning-Kruger Times, вот ссылка на статью на этом сайте.

В разделе "About Us" сайта говорится следующее: "Everything on this website is fiction. It is not a lie and it is not fake news because it is not real. If you believe that it is real, you should have your head examined."

Сам Трамп сообщил нам недавно, что он did have his head examined, и результаты анализа поразили специалистов.

Трамп хвастается, что он жирафа от слона что ли может отличить, засыпает на публичном мероприятии и еженочно ретрусит подобную чушь. Был бы это обычный 79-летний пенсионер... жирафа от слона отличает — и черт с ним. Но данный товарищ принимает решения от которых совершенно буквально зависят жизни миллионов.

Телеграм: https://t.me/yakov_a_jerkov

Shutdown

Nov. 9th, 2025 08:24 pm
[personal profile] chasovschik
Говорят, у демократов образовалась группа ренегатов, готовых на сделку по бюджету. В количестве примерно восьми человек. Почему она образовалась, ясности нет: справа пишут, что республиканцы ничем не пожертвовали, Politico подает будущую сделку так, как будто демократы получили все, что хотели. Из того, что я видел, следует, что республиканцы согласились поставить на голосование субсидии по Obamacare. В Сенате. А в Палате вроде бы не обещали, и голосовать за них тоже не обещали. Но это не точно. Politico еще упоминает обещание восстановить всех уволенных правительственных работников и выплатить им деньги за этот месяц. Справа про это ничего не говорят - там считают, например, что сенаторов-демократов подкосила угроза остановки воздушного сообщения. Мол, ни сами они, ни их спонсоры фудстемпами не пользуются, зато летают еще как, и неудобства им не нужны. Судя по злобному заголовку в NYT ("Senate Moves to Vote as Democratic Defectors Relent on Shutdown"), правые несколько ближе к истине. Что там кто кому на самом деле пообещал - выяснится во благовремении, а пока, кажется, правительство все-таки откроют обратно.

Go + LISP -> Gisp

Nov. 8th, 2025 09:46 pm
[personal profile] vak
В качестве проекта выходного дня залудил интерпретатор в стиле Scheme, но с синтаксисом типа Go. Получился весёлый язычок программирования:
func fact(n, acc) {
if n == 0 {
return acc;
}
return fact(n - 1, acc * n);
}
Полный тьюториал здесь: Gisp-Tutorial.md

Исходники: github.com/sergev/gisp

Sleepy Joe

Nov. 8th, 2025 08:36 pm
[personal profile] yakov_a_jerkov
Видео с Трампом, которые сейчас постят "haters", ничем не отличаются от того, что в 2024 году постили о Байдене, который якобы не знал ни где он, ни кто он.

Вот, например, Трамп в Японии, или вот действительно забавное видео с Трампом, идущим по ковровой дорожке.

Это было ерундой в случае Байдена, и остается ерундой в случае Трампа.

That said, вчера на мероприятии в Овальном кабинете, с прессой и прямой трансляцией, Трамп... хорошо выспаться ему не удалось, но оставаться в состоянии бодрствования он тоже в состоянии не был.

Вот видео, поскольку фотографии misleading. Судите сами.

Я это к чему. Думаю, что мало кто из вас слышал об этом вчерашнем эпизоде. В то время как в прошлом году, когда Байден сказал, что с Колем что ли говорил, об этом сообщали везде. Я буквально зашел в заполняющую налоговые декларации контору — в телевизоре идет Fox News с бегущей строкой как раз об этом.



Телеграм: https://t.me/yakov_a_jerkov

Russiagate

Nov. 8th, 2025 07:59 pm
[personal profile] yakov_a_jerkov
Трамписты нам все уши прожужжали о том, что расследование связей кампании Трампа с Россией было преступлением века. Давно было проведено расследование расследования (которое продолжалось дольше, чем само расследование, которое они расследовали), закончилось оно известно чем. Но нужно провести еще одно расследование... или не нужно, мы и так уже поймали Обаму на измене... И т. д.

Не так давно проводилось еще одно расследование. Республиканцами в Конгрессе. Расследование должно было закончиться импичментом президента Байдена. Но не закончилось, потому что после всех заявлений о Biden crime family выяснилось, что главное обвинение против Байдена — получение взятки в 10 миллионов от владельца Бурисмы, о котором рассказал надежный "информатор ФБР" — оказалось историей, выдуманной российскими спецслужбами и пущенной в ход через этого информатора ФБР, агента российских спецслужб Александра Смирнова.

Я подчеркну, если кто забыл, или не знал, что 10-миллионная взятка Байдену не была какой-то obscure теорией заговора онлайн-праваков. Об этой "взятке" сообщал, в частности, сенатор Грассли — отнюдь не самый безумный сенатор, даром что ему за девяносто.

Смирнов был в итоге арестован в США, я об этом тогда писал. В декабре прошлого года он признал себя виновным и получил 6 лет тюрьмы.

Интересно, кто из читающих эту запись даже слышал о Смирнове? Я знал об изначальном аресте, но даже я, следящий за всей этой порнографией больше, чем, наверное, 99% американцев, не знал о том, что его осудили на 6 лет. Эта информация совершенно не стала новостью.

Узнал же я о сроке Смирнова сегодня, потому что сегодня стало известно, что из шести лет в тютьме он провел... как долго он там просидел непонятно, но известно, что его уже освободили, on medical furlough.

Думаю, таких, кто считает, что Смирнов вернется в тюрьму... есть такие?

У Смирнова, кстати, есть израильское гражданство. Every damn time, as they say, как сказал как-то Грок, после того как Маск dialed ему down the woke filters. Шутка.

Телеграм: https://t.me/yakov_a_jerkov

now facebook has just locked me out

Nov. 8th, 2025 10:01 pm
[personal profile] juan_gandhi
 Maybe for good, maybe for better.

двух отражений

Nov. 8th, 2025 09:35 pm
[personal profile] avva
doubrefrotaa.jpg

На этой картинке хорошо объясняется, мне кажется, то, что мне всегда почему-то было трудно интуитивно уловить: что любое вращение в плоскости это композиция (сочетание) двух зеркальных отражений от двух осей. Конкретно, на рисунке есть синие прямые a и b, между ними угол θ. Все точки желтого треугольника ABC сначала зеркально отражаются вокруг прямой a, получается треугольник A'B'C', и он затем отражается вокруг b, получается A"B"C".

Видим, что итог такой, как если бы мы взяли ABC и повернули его вокруг точки P (где встречаются наши оси) на угол 2θ. Почему так? Во-первых, расстояние любой точки до P от зеркальных отражений не меняется: видим, что например A, A', A" все лежат на одной окружности вокруг P. Далее, равенство углов отражения приводит к тому, что полный угол вращения между A и A" как раз дважды угол, заключенный между прямыми, т.е. θ. Эти равные углы обозначены на диаграмме.

Это только один из нескольких случаев - если бы мы начали с точки A', то сначала отразились бы в A, а потом в другую точку, но тоже на угол 2θ от той, что начали - и там углы частично вычитаются, а не складываются. На рисунке самый наглядный пример, но и по всем остальным легко убедиться геометрически. Или выписать координатные формулы вращения и отражений - но мне важно было именно интутивное геометрическое понимание.

Это мне напомнило, как во время работы в Гугле я очень много раз давал следующую задачу на интервью кандидатам: написать код, который принимает числовой квадратный массив размером NxN, и "поворачивает" его на 90 градусов по часовой стрелке - т.е. меняет все числа внутри так, как если бы мы его повернули (специально оговаривается, что нельзя взять новый пустой массив и в него все правильно скопировать, нужно менять прямо в существующем).

Я давал эту задачу на предварительном ("телефонном", хотя их много лет как перестали делать по телефону) интервью, где задания даются попроще, и упор на то, чтобы проверить, что кандидат умеет грамотно писать код, находить в нем ошибки итд. В этом случае самое напрашивающееся решение - это понять, что при повороте члены массива переходят в друг друга по циклу четверками. Можно сделать два вложенных цикла по 1/4 массива, для каждого i,j аккуратно записать индексы тех 4 ячеек массива, которые меняются местами по циклу, и поменять их местами. Сложность в том, чтобы не запутаться в индексах, правильно разобраться с четными/нечетными по размеру массивами, правильно сделать цикл по 1/4 массива, который каждую четверку "задевает" ровно один раз.

Я давал эту задачу наверное раз 80, очень много. Чаще кандидаты успешно решали ее, хорошие минут за 10-15, некоторые за все время интервью (45 минут), некоторые не справлялись вообще. И только один раз из всех этих кандидат подумал секунд 20, поднял взгляд на меня и сказал: вращение это композиция двух зеркальных отражений. И написал два простейших (по сравнению с циклами "четверок") цикла, отражающие массив вначале по горизонтальной середине, потом по диагонали. Минут за 5, кажется.

не благодари

Nov. 8th, 2025 09:13 pm
[personal profile] avva
Линор Горалик нередко выкладывает новые мини-рассказы в свой фейсбук (а также тг-канал [profile] na_slovah). Вот этот недавний очень понравился:

Не благодари
Борису Филановскому — с любовью и благодарностью

Когда матери поставили диагноз, кашляющий врач сказал Сергею прямо в кабинете: «Только не делайте глупостей, бесплатно не лечитесь». Сергей тогда позвонил Асиму, - у него всю жизнь было чувство, что Асим — это как козырь в рукаве. Правда, стоило Сергею вбить цифры, как мгновенно стало ясно, что ответа не будет, потому что его телефон у Асима наверняка не записан. Но ответ, изумительным образом, последовал со второго гудка: не то Асим помнил его номер со школы, не то отвечал на все входящие без разбора, хотя и был тем, кем был. «Серега, — сказал Асим, — давай, привет», — он всегда так говорил, — и Сергей тут же успокоился и сказал без промедления: «Аська, я не за деньгами, я за работой. У меня у мамы рак. Только я ничего не умею, кроме как на скрипочке играть. Но могу, наверное, научиться…» Асим помолчал, а Сергей подождал, а потом Асим сказал: «Ты приходи завтра в восемь утра на Чистые пруды к глухой стене, там тебя Гоша будет ждать, он с носом, как ты да я. Только не благодари, ради бога», - и отключился. Сергей еще некоторое время думал, как на завтра одеться, — стоял хрусткий март, и нужно было что-то такое, чтобы если пахать придется снаружи, на холоде, то тепло, но без стеснения в движениях, а если внутри на каком-нибудь складе, то легко раздеться. Он выбрал комбез для рыбалки и под него старую футболку и отцовский неубиваемый свитер из девяностых, - и, чувствуя, что сделал все возможное, лег.

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

Сергей хотел было пуститься в долгое объяснение про «снаружи» и «внутри», но Гоша уже ловко шел вперед-вперед-вперед, вправо-влево-вправо-влево, и вдруг открылась какая-то дверка там, где никакой дверки, разумеется, и быть не могло, а за дверкой оказалась каморочка, а в каморочке унитаз, — унитаз! в метро! — а на унитазе сидел совершенно линчевский крошечный человек и ел куриную ножку. Гоша сказал ему:
— Матвей Семенович, сделайте одолжение, приоденьте мне товарища.

Крошечный человек поглядел внимательно на Сергея, спрыгнул с унитаза, поднял его крышку, и Сергей увидел много сложенных стопочкой вещей в целлофановых пакетах. Человек покопался в вещах, взял что-то черное и что-то белое, и через две минуты изумленный Сергей стоял перед своими новыми знакомыми в топорщащейся фрачной паре. А еще минут через пять появилась скрипка, - кажется, какой-то мастеровой немец в приличном состоянии. Гоша надел на Сергея свой плащ, чтобы скрыть фрак, сунул офутляренного немца в бездонный черный рюкзак, и они поехали на Серпуховскую, и стали переходить на Добрынинскую, и Сергею делалось все страшнее и страшнее, и тут Гоша остановился, поставил рюкзак у стены и сказал:
— Ну что ж, снимаем плащ.
Сергей медлил, вцепившись ладонями в длинные рукава, и вдруг Гоша так улыбнулся, что Сергей немедленно стал мокрым, снял плащ и отдал его Гоше, а тот достал скрипку из рюкзака, положил раззявленный футляр на пол и сказал, перекрестившись:
— С Богом, Сережа.
— А не свинтят? — спросил Сергей тихо, но Гоша снова улыбнулся, и Сергей, поднастроившись, заиграл. Гоша остановил его почти сразу.
— Можно совет? - спросил он. — Я, Сереж, знаю, ты виртуоз, вундеркинд, премии, конкурсы, красный диплом. Но только вот на этом ты здесь далеко не уедешь. Ты скажи, — ты извини, ради бога, — ты «Калинку-малинку» можешь по-виртуозному сыграть?

Сергей понял и смог, потом смог «Дубинушку», потом «Березку», а потом понял, что уже не видит Гошу из толпы. Денег в футляре вдруг стало ощутимо много, и внезапно протянувшаяся к ним когтистая белая рука вызвала у Сергея ужас, заставивший его остановиться, но Гоша, возникший у правого уха, шепнул: «Моя девушка, будет прибирать, вечером все отдаст, а я пошел». И Сергей заиграл «Пусть бегут неуклюже…», и люди стали прихлопывать, и стало весело, очень весело и очень легко.

Read more... )

о конфигурациях

Nov. 8th, 2025 09:08 pm
[personal profile] avva
grunbaum.png

Случайно наткнулся (в поисках книги с похожим названием, не имеющей отношения к математике) на математический учебник "Конфигурации точек и линий" Бранко Грюнбаума, известного геометра (1929-2018).

Вся книга посвящена следующему вопросу. Для разных n и k, существует ли на плоскости набор из n прямых линий, и n точек, лежащих на них, так что на каждой из линий есть ровно k из n точек, и каждая точка лежит на ровно k из n линий? Если существует, мы также хотим знать, сколько таких разных, плюс есть разные варианты расширения понятия "на плоскости".

grunbaum_lines.png

Такие наборы называются "конфигурации". Кроме известных примеров 3-на-3 (см. картинку) я не знал об этом вопросе и этой терминологии. Теперь я знаю достаточно, чтобы поделиться тремя забавными цитатами:

1. ЗАВИСИМОСТЬ ОТ ТОЧКИ ЗРЕНИЯ.
Понравилась рецензия на эту книгу на Амазоне, цитирую ее в переводе:

"Единственная книга по этой теме. Действительно, эта книга без особых мучений доведёт вас до переднего края современных исследований в области конфигураций. Автор заслуживает похвалы за ясное, грамотное изложение и хорошую организацию материала. Также верно, что передний край в конфигурациях не так уж сложно достичь (одного семестра на продвинутом уровне бакалавриата/начальном уровне магистратуры более чем достаточно для работы над открытыми проблемами). В зависимости от вашей точки зрения, это либо горячая новая область с интересными и доступными открытыми проблемами, либо область, которая была изобретена в конце девятнадцатого века, а затем справедливо забыта на сто лет, пока Грюнбаум не возродил её."

2. ВЕЛИЧАЙШЕЕ ПРЕУВЕЛИЧЕНИЕ ИСТИНЫ.
В предисловии к книге Грюнбаум рассказывает историю этого вопроса, включая "забыта на сто лет", восемьдесят в его описании. В частности, он упоминает несколько книг, которые в виде исключения упоминали конфигурации в то время, и пишет:

"Через три года после публикации работы Леви вышла чрезвычайно хорошо принятая книга Гильберта и Кон-Фоссена "Наглядная геометрия". Двадцать лет спустя был опубликован английский перевод, но, к сожалению, редакторы Mathematical Reviews не сочли её достойной чего-то большего, чем простого упоминания; второе немецкое издание 1996 года не удостоилось даже этого. Это серьёзная ошибка, поскольку многие последующие исследователи (включая автора настоящей работы) заинтересовались конфигурациями, прочитав изложение в "Наглядной геометрии". Это представление основ теории конфигураций содержится лишь в части одной главы, но представляет привлекательный подход к теме. Её часто упоминают как обоснование для изучения конфигураций, цитируя следующее предложение из:
«...было время, когда изучение конфигураций считалось самой важной отраслью геометрии».

Автор хотел бы предположить, что это величайшее преувеличение истины, которое можно найти во всех трудах Гильберта. Хотя это факт, что — как упоминалось выше — в «классический период» истории конфигураций довольно много людей интересовались этой темой, конфигурации никогда не были центральной темой математических (или геометрических) исследований."

3. Из некролога:

"Осенью 1955 года Бранко [Грюнбаум] был призван на действительную службу в ВВС Израиля, где работал в подразделении исследования операций; тем временем Зденка получила степень магистра по химии. Их первый сын Рами родился в 1956 году. Бранко завершил докторскую диссертацию в 1957 году и в 1958 году закончил армейскую службу. Вскоре после этого он получил стипендию в Институте перспективных исследований в Принстоне, где провёл с семьей два года. Осенью 1960 года он получил приглашение в качестве временного преподавателя в Университет Вашингтона в Сиэтле, где в ноябре родился их второй сын Даниэль. Пока они планировали возвращение в Израиль, где Бранко принял должность лектора в Еврейском университете, они узнали, что его брак со Зденкой был аннулирован, поскольку он не был юридически евреем согласно ортодоксальной интерпретации (его мать не была еврейкой), поэтому он и Зденка снова поженились в мэрии Сиэтла перед переездом в Иерусалим."

Бить или не бить

Nov. 8th, 2025 11:03 am
[personal profile] chasovschik
Пишут (и показывают), что в Торонто (TMU) приключилась такая история: тамошнее еврейское сообщество организовало лекцию с участием резервистов IDF. Фрипалестинцы ворвались на лекцию срывать и протестовать, но резервист (один) их оттуда очень декоративно повыкидывал. Теперь фрипалестинцы жалуются на этот геноцид начальству TMU и всему остальному белому свету. "Toronto students brutalized by the genocidal IDF soldier". Если я правильно понимаю, это крайне редкое исключение из правила. Обычно эти идиотки (среди фрипалестинцев и вообще левой актив-пехоты, похоже, девочек не меньше восьмидесяти процентов, но не будем отвлекаться на мизогинию) сопротивления не встречают, ни такого спонтанного, ни организованного, и у них все прекрасно получается, как с евреями, так и с правыми.

Отсутствие сопротивления - это довольно любопытный вопрос. Хорошо это или плохо? Если правым (или евреям) удастся организовать сопротивление или хотя бы эффективную охрану своих мероприятий от этой сволочи, последствия будут положительными или отрицательными? Не хотелось бы видеть тут что-нибудь вроде немецких двадцатых прошлого века, где разные социалисты друг друга с увлечением метелили и сочиняли про это боевые песни. У нас тут другая специфика, так что социалистами дело не ограничится.

СЯУ

Nov. 8th, 2025 06:00 pm
[personal profile] juan_gandhi

 Письмо в редакцию: "дорогая редакция, я, как проклятая, всю жизнь не работала, а жила на пособие по безработице. Какая мне теперь положена пенсия?"

Редакция отвечает: пенсия вам не положена. Вам положено пособие по безработице для престарелых. Обычное пособие по безработице сейчас - 607 евро в месяц. Для одиноких престарелых пособие будет 1034 евро в месяц, а для пары - 1600 евро. Но вы не расстраивайтесь, есть ещё дополнительные пособия во Франции. Пособие на жильё. Пособие на электричество. Пособие на газ и воду. Пособие на еду. Пособие на медицину. Скидки на транспорт и культурные мероприятия.

Короче, с голоду не сдохнете, но на блядки не потянет.

Для получения пособия необходимы: айди, документ о проживании по месту жительства; резиденция во Франции (не гражданство, а только проживание!), документ о составе семьи.

(Вы можете поинтересоваться моим мнением относительно этого всего. Мнения у меня нет; я не француз; я просто уважаю эту культуру, и постепенно начинаю с сарказмом относиться к американской.)
[personal profile] vak
Полезная особенность языка Go - на нём отлично моделируется асинхронная логика. Суть там в 4-фазном протоколе. Подробности в моём старом посте.



На Go всякий такой сигнал от одного гейта к другому делается в виде пары каналов:
type Handshake[Treq any, Tack any] struct {
Req chan Treq
Ack chan Tack
}
По каналу запроса передаются значения в одну сторону, по каналу ответа - в обратную. Если нужен только сигнал, без всякого значения - передаём struct{} (аналог void). Вот пример реализации сложения двух чисел:
func AsyncAdder(a, b, sum *Handshake[int, struct{}]) {
for {
// Wait for inputs to arrive
var x, y int
haveA, haveB := false, false

for !(haveA && haveB) {
select {
case x = <-a.Req:
haveA = true
case y = <-b.Req:
haveB = true
}
}

// Compute sum
s := x + y

// Send result downstream (Req↑)
sum.Req <- s

// Wait for output Ack↑
<-sum.Ack

// Only now acknowledge inputs (completing 4-phase handshake)
a.Ack <- struct{}{}
b.Ack <- struct{}{}
}
}
Полный текст здесь: add.go



Интересно было бы сдизайнить цельный асинхронный процессор в таком виде, скажем riscv32. А потом засунуть в FPGA.

People over papers

Nov. 7th, 2025 11:00 am
[personal profile] chuka_lis
Народ рапортует, и полезно иметь ввиду.
[personal profile] vak
Стефано Маринелли делится 20-летним опытом внедрения и сопровождения юниксных систем и сервисов.

[personal profile] vak
Дэйв Пламмер выставил на продажу один из своих PDP-11/73. Установлен юникс BSD 2.11, интернет, все дела. Гляньте, вдруг кому сгодится.

(фейсбук)
I'm selling one of my PDP-11/73s with "all my good parts" to cover the costs of the 11/24 I'm building. Basically, it's an infallible system as long as I stay one PDP ahead of things 🙂

Plug it in, turn it on - boot 211BSD UNIX already custom configured, serve WWW pages, FTP, Telnet, and more. This is your chance to own a maxed-out and completely turnkey, ready-to-run PDP-11 UNIX Workstation. You could also install and run RT-11 or RSX-11, but this machine has been carefully set up and configured with 211BSD UNIX, including all networking features.

This machine represents a collection of my very best PDP-11 components, including:

• DEC M8190 CPU
• DEC M8637 Fast PMI Memory (x2) for a total of 4M installed, the max permitted
• DEC M3104 Eight Port Serial Multiplex - Connect up to 9 total terminals (plus Ethernet sessions)
• DEC M7555 MFM and Floppy Controller
• Emulex UC07 SCSI Controller - Supports tapes, drives, jaz, and more, up to 6 devices - Boot multiple systems
• DEC M7516 Ethernet Adapter - The faster/better DELQA NIC
• DEC RX50 Dual Floppy Drive - Tested and mounted as /mnt/flopppy0 and /mnt/floppy1 for each file interchange
• Seagate ST43400N - 3GB SCSI Drive - Contains /root, /swap, /usr, and /data partitions

It's all housed in a rare and very nice DEC BA23 chassis and tower pedestal case with front cover plate.

Скорость дисков

Nov. 6th, 2025 01:45 pm
[personal profile] vak
Вся история магнитных, а потом и твердотельных накопителей - всего 70 лет. Но была она бурной.


1950-е: Скромные килобайты в секунду

Пример: IBM 305 RAMAC (1956)
  • Носитель: 24-дюймовые пластины, общая ёмкость 5 МБ (50 дисков)
  • Скорость передачи: ~100 КБ/с (0.1 МБ/с)
  • Время доступа: среднее время поиска ~600 мс
Каждое чтение/запись требовало огромного механического действия. Накопители были размером с холодильник, а скорость передачи данных ограничивалась скоростью вращения (~1200 об/мин) и аналоговой электроникой. Чтение одной записи могло занимать секунды.

1960-е: Первые "быстрые" диски — скорость аж 1 Мбайт/сек

Пример: IBM 2311 (1964), IBM 2314 (1965)
  • Скорость передачи данных: 156 КБ/с → 1 МБ/с
  • Ёмкость: до 29 МБ на сменный блок
  • Время доступа: ~50 мс
Мэйнфреймы теперь передавали данные непрерывно для пакетной обработки. Появилась концепция дисковых каналов и DMA — предшественников современных контроллеров.

1970-е: Мини-ПК и ранние ПК — несколько сотен кбайт/сек

  • IBM 3330 (1970): ~800 КБ/с
  • Shugart SA1000 (1979, ранние жёсткие диски для ПК): ~500 КБ/с
  • Флоппи диски: ~31 КБ/с (8 дюймов, 360 об/мин)
С появлением компактных компьютеров диски уменьшились до 14, 8, а затем и до 5.25 дюймов. Появились интерфейсы, такие как ST-506. К концу десятилетия появились первые персональные жёсткие диски.

1980-е: Жёсткие диски для ПК — от 0.5 до 3 Мбайт/сек

  • Seagate ST-412 (1981): ёмкость 10 МБ, 625 КБ/с
  • Накопители MFM/RLL (середина 80-х): ~1–2 МБ/с
  • Накопители ESDI и ранние SCSI (конец 80-х): типичная скорость 2–3 МБ/с
  • Высокопроизводительные мэйнфреймы: до 5 МБ/с
Логика контроллера была перенесена с центрального процессора на встроенную электронику. Диски всё ещё были медленными, но уже надёжными. Чтение всего диска объёмом 10 МБ занимало около 10–20 секунд.

1990-е: IDE, SCSI и гигабайты — от 3 до 20 Мбайт/сек

  • Ранние диски ATA (1990): ~3–5 МБ/с
  • Быстрый SCSI-2 (1993): 10 МБ/с
  • Поздний IDE (1998): 15–20 МБ/с (постоянная)
  • Серверный RAID (1999): до 40 МБ/с (суммарная)
Плотность пластин резко возросла; скорость вращения достигла 5400–7200 об/мин. Последовательная пропускная способность росла быстрее, чем улучшалось время доступа. DMA и кэширование стали стандартом.

2000-е: SATA и высокоплотные пластины — от 40 до 100 Мбайт/сек

  • IDE/ATA100 (2000): 50–70 МБ/с
  • SATA 1.5 Гбит/с (2003): интерфейс до 150 МБ/с, постоянная скорость ~70 МБ/с
  • SATA 3 Гбит/с (2005+): типичная скорость 100–120 МБ/с для дисков со скоростью вращения 7200 об/мин
  • Raptor/SCSI со скоростью вращения 10 000 об/мин: 120–150 МБ/с
"Мегабайты в секунду" стали настоящим узким местом для видео и баз данных. Первые прототипы SSD появились в середине десятилетия, но всё ещё оставались нишевыми.

2010-е: Революция SSD — от 200 до 3500 Мбайт/сек

  • SSD-накопители SATA (2010): 200–550 МБ/с (ограничено SATA 3)
  • SSD-накопители PCIe/NVMe (2015): 1000–3000 МБ/с
  • Enterprise NVMe (2019): до 6000 МБ/с
Время произвольного доступа резко сократилось с миллисекунд до микросекунд. Впервые задержка, а не последовательная пропускная способность, стала основным фактором, определяющим выбор.

2020-е: NVMe — 7000 Мбайт/сек и выше

  • PCIe 4.0 x4 NVMe (2021): 5000–7500 МБ/с
  • PCIe 5.0 x4 NVMe (2024): 10 000–14 000 МБ/с
  • Жесткие диски по-прежнему демонстрируют скорость около 150–250 МБ/с (большие накопители со скоростью 7200 об/мин)
Жесткие диски теперь используются для хранения больших объемов данных; твердотельные накопители (SSD) доминируют в активных рабочих нагрузках. Современные корпоративные SSD даже выдерживают более 1 миллиона операций ввода-вывода в секунду с кэшированием DRAM.

Сводная таблица:
Эпоха Типичное устройство               Мбайт/с  Доступ   Примечания
-----------------------------------------------------------------------------
1956 IBM RAMAC 0.1 600 мс Первый жёсткий диск
1965 IBM 2314 1 50 мс Канально-подключённые жёсткие диски
1975 Shugart SA1000 0.5 35 мс Ранние 5-дюймовые жёсткие диски
1985 Seagate ST-225 1.5 28 мс Накопители PC XT
1995 Quantum Fireball 10 12 мс IDE, 5400 об/мин
2005 WD Caviar 70 8 мс SATA 3 Гбит/с
2010 Твердотельный накопитель Intel X25 250 0.1 мс Первый массовый SSD
2015 Samsung 950 Pro NVMe 2500 0.03 мс PCIe 3.0 x4
2024 Samsung 990 EVO PCIe 5.0 13000 0.02 мс Лучший потребительский SSD

четверть коровы

Nov. 6th, 2025 10:32 pm
[personal profile] avva
Оказывается, в Израиле есть возможность купить четверть (или половину) коровы, есть любители этого дела и фейсбук-группы, где они ошиваются.

Но цены предлагают довольно конские (простите), 60-70 шекелей за кг (в районе $20). В четверти от 80 до 100кг, т.е. выходит 5-7 тысяч шекелей, и это если покупаешь как есть, без разделки. Разделка на разные вырезки, фарш итд. еще добавляет процентов 30.

В обычный морозильник это не влезает, естественно, нужно отдельный. Интересно, кто все эти люди, которые столько выкладывают. Если кто-то когда-то такое покупал, расскажите, что вы с этим сделали. Просто любопытно, сам не буду покупать.

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

P.S. Вырезки для стейков, личное мнение: антрекот, шайтель, пиканья, денвер, в этом порядке. Не люблю: филе, синта.

(то же самое по-английски: ribeye, rump, picanha, Denver cut. Не люблю: tenderloin, sirloin).

P.P.S. Только для израильтян из центра страны. Самый дешевый но при этом хороший антрекот, что я знаю, продают в магазине Primemeat в промзоне Реховота (онлайн-доставка тоже есть). Он стоит 64 шекеля за килограмм, это размороженный бразильский (или можете купить замороженный и сами разморозить). Отличный. Все остальные вырезки и другие виды мяса там тоже есть. Это не платная или бесплатная реклама, а личная рекомендация.

страшно-то как

Nov. 6th, 2025 03:59 pm
[personal profile] avva
Алексей Беляков в ФБ предлагает первый трезвый взгляд из всего, что я видел, на ужасную катастрофу, которая всех нас постигла:

==============
Утром встаю, настроение мрачное. И не в погоде дело совсем. А в том, что в Нью-Йорке мэром избран Зохран Мамдани.

Как же так, думаю, избрали мэром такого.

Стал кофе делать, все на стол просыпал, все просто из рук валится. Потому что мэром избран Зохран Мамдани.

А я сижу в проклятом своем Тропарево, ничего изменить не могу.

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

Потом Лина встает, приходит на кухню, целует меня.

Но я рукой ее твердо отодвигаю. Иди ты, говорю, со своими неуместными поцелуями.

«Леша, что случилось?»

Ты ничего, спрашиваю, не знаешь?

«Нет».

То есть, говорю, ты не знаешь, что у нас с тобой возможно это последний день накануне катастрофы.

«Леша, ты пугаешь меня! Что такое?»

Мэром, говорю, Нью-Йорка избран Зохран Мамдани.

«Леша, ты дурак?»

Ну я отмахнулся, вышел на балкон. Смотрю вокруг, прощаюсь с этими березками и панельным домом напротив.

Сам думаю, что никак не ожидал увидеть конец мира. А он уже вот.

Внизу соседка идет в магазин.

Не надо, кричу ей, не ходите в магазин, Нина Степановна! Все бесполезно. Мэром избран Зохран Мамдани.

Она не услышала, она удалялась. Что ж, я хотя бы пытался.
[personal profile] chasovschik
Что касается последних электоральных достижений Демократической партии, мне интересен только один пункт. Мамдани - далеко не первый прогрессист, выбравшийся в мэры крупного американского города, но вроде первый мусульманин. Как у него соотносятся марксизм и ислам? По моим представлениям, эти две религии сочетаются довольно плохо: как то, так и другое требует соответствующего устройства всей жизни, не только политической, и это разные устройства. Пока мусульман в стране вообще и во власти в частности не так много, этот фактор особенного значения не имеет. Разве что в Дирборне. А вот что будет, когда мусульмане наберут здесь достаточно веса, чтобы влиять на политику уже всерьез? Пример Соединенного Королевства, которое по этой скользкой дорожке проехало гораздо дальше, особенного оптимизма не внушает.

А пока Мамдани не столько мусульманин, сколько социалист. Рекомендую почитать на этот счет Мэттью Иглесиаса - он, чтобы как-то сгладить эффект от этой победы, рассказывает, что ничего нового в этом нет, и де Блазио был такой же, и аж Динкинс тоже был из наших, из прогрессоров, и вообще ничего страшного пока. Мол, прогрессист в мэрах - не обязательно катастрофа, как сейчас в Чикаго. Может и обойтись, если повезет. Статья у Иглесиаса получилась своеобразная: Иглесиас сам известно кто и известно на чьей стороне, но из его текста видно, что и цену он всему этому знает. "But even though de Blasio was a fine mayor, he didn’t catapult into progressive superstardom because it’s impossible to deliver on what progressives want".

Посмотрим, получится ли у Мамдани с этим самым суперстардомом, или про него демократам тоже придется забыть, как про де Блазио.

Apropos, еще я из этой статьи узнал, что на главный кредит за победу Мамдани претендует некто Моррис Кац, который разрабатывал стратегию его кампании. Этот же Кац работает над стратегией для Грэма Платнера, который недавно прославился своей татуировкой с тотенкопфом в сочетании с членством в Антифе. Traditions!

Фотографическое

Nov. 5th, 2025 10:02 am
[personal profile] chasovschik
Взялся наводить порядок с имеющейся в наличии техникой, продал кое-что, и теперь нахожусь в задумчивости: продавать ли 55мм прайм. Практика показала, что я им не пользуюсь; для надежности сходил с ним погулять и еще раз убедился - нет, для этого он мне не подходит, для таких дел у меня зумы есть. Портреты я снимаю на 90мм, он же отлично работает для макро, еще у меня в ходу 14мм для интерьеров и ландшафтов, а остальные праймы как бы и не нужны. С другой стороны, очень уж хороший объектив, цейссовский, быстрый, рисует прекрасно. Но не нужен. Но жалко. Дилемма, в общем.





Дик Чейни

Nov. 5th, 2025 09:57 am
[personal profile] yakov_a_jerkov
Приведенный список производит сильное впечатление.

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

Телеграм: https://t.me/yakov_a_jerkov

обманывают народ

Nov. 5th, 2025 12:35 pm
[personal profile] avva
Недавно задумался о том, что есть некоторые вещи вокруг меня, в которые просто не верится. Типа да, я могу прочитать физическое объяснение того, как это работает, и понять, но все равно хочется сказать "кам он, бро". Ну ясно же, что не может такое быть. Это кто-то где-то подделывает. Не знаю, инопланетяне, архитекторы Матрицы, боги, демоны, евреи, хрен его знает, но так быть не может. Перед нами фальшивая реальность, кто-то тянет за веревочки за кулисами.

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

1. Пылесос. Да, я знаю, давление воздуха, хаотичное движение молекул газа, но кам он. Мистическая всасывающая сила, которая заставляет большие, тяжелые частицы мусора подняться с пола, ГДЕ ОНИ ЛЕЖАТ, и полететь в пасть адской машинки. Так не бывает.

2. Теорема Морли, см. картинку. Начинаем с любого треугольника, сколь угодно уродливого, делим каждый угол на 3 равные части, в центре получаем идеальный равносторонник треугольник. ОТКУДА ВЗЯЛАСЬ СИММЕТРИЯ? Это обман.

morley.png

3. Индукционная плита. Тепло магически прыгает сквозь пространство прямо в кастрюлю, в ней кипит вода, а плита остается чуть теплой. Индукция-шминдукция. Не верю.

4. Эти наушники, с которыми люди ходят и говорят в пространство на улице. Вы знаете, про какие я говорю, белые такие, они сидят почти целиком в ушах, только маленькая палочка высовывается наружу и спускается на сантиметр по щеке. И вы хотите сказать, что вот этой маленькой палочки хватает, чтобы поймать звук изо рта, который летит вообще преимущественно в пространство вперед, и четко его передать, чтобы он не затерялся в океане шумов на улице. Ну нелогично. Где-то какая-то магия происходит, чтобы голоса этих людей попадали к адресатам. Я не знаю, зачем продвинутую магию тратить на такую ерунду, но факт. Кстати, с этой штуки я начал этот список.

5. Судно на воздушной подушке. Ну серьезно. Ну кам он. Ну посмотрите на него. Давление-шмавление. Ну ясно же, что в первую секунду упадет. Зачем притворяться??

Добавляйте свои примеры! Давайте разоблачим этих махинаторов!

Версии DOS для PC/XT

Nov. 5th, 2025 01:14 am
[personal profile] vak

🧭 1981–1983: Ранняя эра IBM PC и XT

PC DOS 1.0 / 1.1 (1981–1982) — поставлялась с первым IBM PC (5150).
  • Базовое управление файлами и дисками, только односторонние дискеты.
  • Функционально идентична MS-DOS 1.x для совместимых компьютеров.
PC DOS 2.0 / 2.1 (1983) — появились подкаталоги и поддержка жёсткого диска.
  • 2.1 поставлялась с IBM PC/XT (1983).
  • Стала стандартной версией DOS для ранних клонов XT примерно до 1984 года.
  • Многие ПК сторонних производителей поставлялись с MS-DOS 2.1 или 2.11.
Самая популярная версия в то время: DOS 2.1 — стабильная, поддерживала жёсткие диски объёмом 10 МБ, широко клонировалась.

🧭 1984–1986: Зрелое поколение XT

MS-DOS 3.0 / 3.1 / 3.2 — представила жёсткие диски большего объёма и поддержку сети.
  • 3.2 (1986) поддерживала дискеты объёмом 720 КБ и стала широко использоваться на клонах класса XT.
  • Многие PC/AT использовали DOS 3.3, но машины класса XT в основном оставались на версии 3.2.
Самая популярная версия: MS-DOS 3.2, иногда 3.1 на более ранних клонах.

Это был пик популярности оригинальных машин XT, всё ещё использующихся в повседневной работе.

🧭 1987–1990: клоны XT и турбо XT

Хотя массовыми стали системы класса AT (286), многие недорогие совместимые с «Turbo XT» системы продолжали существовать.

MS-DOS 3.3 (1987) — очень стабильная, поддерживала разделы 32 МБ и дискеты 1,2 МБ.
  • Поставлялась в комплекте с большинством клонов машин той эпохи.
  • Стала фактическим стандартом DOS в конце 1980-х годов.
MS-DOS 4.0 / 4.01 (1988) — добавлена ​​поддержка дисков объёмом более 32 МБ, но была глючной и тяжёлой для XT.
  • Многие пользователи оставались с версией 3.3, поскольку она была быстрее и совместимее.
Самая популярная версия: MS-DOS 3.3 — вероятно, самая распространённая версия DOS на оборудовании класса XT вплоть до начала 1990-х годов.

🧭 1990–1994: Пользователи устаревших XT

Даже когда ПК 386/486 стали стандартом, множество старого оборудования XT сохранилось в лабораториях, на заводах и в школах.

MS-DOS 5.0 (1991) — добавлен полноэкранный редактор EDIT.COM, драйвер HIMEM.SYS, улучшенное управление памятью.
  • Всё ещё может работать на XT с 640 КБ ОЗУ.
  • Используется энтузиастами и как вариант обновления с версии 3.3.
PC DOS 5.02 – аналогичная версия IBM.

Самая популярная версия позднего периода: MS-DOS 5.0 (для сохранившихся машин XT).

Сводная таблица:
  Период   Типичное оборудование  Версии DOS  Самые популярные
--------------------------------------------------------------
1981–1983 IBM PC, PC/XT 1.0 – 2.1 2.1
1984–1986 Клоны PC/XT 3.0 – 3.2 3.2
1987–1990 Клоны Turbo XT 3.3 – 4.01 3.3
1991–1994 Устаревшие системы XT 3.3 – 5.0 5.0
Итог: для настоящих IBM PC/XT и совместимых машин в ранний период доминировала MS-DOS 2.1, а MS-DOS 3.3 стала долгоживущей и самой популярной версией. Позже энтузиасты и те, кто воздержался от обновления, часто переходили на DOS 5.0, но 3.3 оставалась классической XT DOS.

GCC для 8086

Nov. 4th, 2025 10:46 pm
[personal profile] vak
Оказывается, для 16-битной архитектуры Intel 8086 имеется компилятор GNU Си/Си++, и активно поддерживается. Раньше я слышал про bcc и OpenWatcom, но они имеют ограниченный функционал. С таким известием затея по восстановлению Юникса v7 (Venix) для писишки не выглядит безнадёжной.

Исходники: github.com/tkchia/gcc-ia16
Зеркало: gitlab.com/tkchia/build-ia16/-/releases

На интеловской Ubuntu компилятор ставится следующим образом:
sudo apt install software-properties-common
sudo add-apt-repository ppa:tkchia/build-ia16
sudo apt-get update
sudo apt-get install gcc-ia16-elf
На Ubuntu ARM64 аналогично, но из другого места:
sudo add-apt-repository ppa:catacombae/gcc-ia16-arm64
Глянем на сгенерённый код:
$ ia16-elf-gcc -S -O hello.c
$ cat hello.s 
	.arch i8086,jumps
	.code16
	.att_syntax prefix
#NO_APP
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"Hello, World!"
	.text
	.global	main
	.type	main, @function
main:
	movw	$.LC0,	%ax
	pushw	%ax
	call	puts
	addw	$2,	%sp
	movw	$0,	%ax
	ret
	.size	main, .-main
	.ident	"GCC: (GNU) 6.3.0"
По умолчанию линкуется бинарник для MS-DOS:
$ ia16-elf-gcc hello.c 
$ file a.out
a.out: COM executable for DOS

Шантаж не сработал

Nov. 4th, 2025 10:49 pm
[personal profile] yakov_a_jerkov
По поводу выборов: Лучший же твит был запощен Secretary of State штата Кентукки еще до того как открылись избирательные участки (правда, не в Кентукки):

Телеграм: https://t.me/yakov_a_jerkov

Начало ноября

Nov. 4th, 2025 06:34 pm
[personal profile] chuka_lis
Листва трепещет на ветру. 
Взошла луна.
Я по шуршащему ковру
иду одна.
Дорожки света расчертили 
гладь воды.
Ночные сумерки смягчили
гор черты.
[personal profile] avva
Попался в Твиттере забавный список лжи Трампа во время всего одного недавнего интервью, телепрограмме "60 минут" пару дней назад. Как минимум 18 раз солгал:

1. Неправда, что цены на продукты "снизились"; Трамп повторил эту ложь даже после того, как О'Доннелл сказала ему, что они выросли.

2. Неправда, что сейчас "нет инфляции" (она составляет 3%) или что она "менее 2%" (она составляет 3%).

3. Неправда, что это была "моя идея, о которой, честно говоря, никто не думал" — чтобы датацентры для ИИ генерировали собственную энергию на месте (они уже начали это делать, пока он не был у власти, при поддержке администрации Байдена)

4. Неправда, что "17 триллионов долларов" инвестируется в США "прямо сейчас" (эта вымышленная цифра почти вдвое превышает собственную сильно раздутую цифру "анонсированную" Белым домом)

5. Неправда, что каждая предполагаемая лодка с наркотиками "убивает 25 000 американцев" (эта цифра явно не имеет смысла, учитывая общее число смертей от передозировок в США)

6. Неправда, что некоторые недавние бывшие президенты применяли Закон о восстании "28 раз" (у Улисса С. Гранта рекорд, потому что он применял его шесть раз)

7. Неправда, что Трамп завершил "восемь войн" (среди прочего, его список включает две ситуации, которые вообще не были войнами, одну войну, все еще идущую полным ходом в ДРК, и конфликт в Газе, где убийства также продолжаются)

8. Неправда, что интервью Камалы Харрис, из-за которого Трамп подал в суд на "60 минут", вышло в эфир "за два дня" до выборов (это было более чем за четыре полные недели до дня выборов)

9. Неправда, что Байден дал Украине "350 миллиардов долларов" (генеральный инспектор говорит, что США выделили 94 миллиарда долларов до июня 2025 года и ассигновали еще 93 миллиарда, включая средства, потраченные в США)

10. Неправда, что иностранные страны платят его тарифы (американские импортеры производят платежи и часто перекладывают расходы на потребителей)

11. Неправда, что Трамп унаследовал худшую инфляцию всех времен (она составляла 3% в месяц, когда он вступил в должность, как и сейчас, и даже пик эры Байдена в 9,1% в 2022 году не был близок к рекорду всех времен)

12. Неправда, что выборы 2020 года были "подстроены и украдены" (его обычная ложь)

13. Неправда, что Закон о президентских документах гласит, что ему разрешалось иметь секретные документы дома после президентства (в нем говорится, что все президентские документы должны находиться под в распоряжении правительства в момент ухода президента с должности)

14. Неправда, что Трамп никогда не поручал Министерству Юстиции преследовать Коми и Джеймс (он явным образом оказывал давление на главу Министерства Юстиции, чтобы та сделала это, в посте в социальных сетях, который мы все видели)

15. Неправда, что демократы пытаются дать 1,5 триллиона долларов нелегальным иммигрантам в битве за отключение правительства (даже спорная цифра самого Белого дома составляет малую долю от этого) или

16. что Байден впустил 25 миллионов мигрантов (намного меньше половины этого, даже если считать миллионы, которые были быстро депортированы)

17. Неправда, что иностранные лидеры опустошили свои тюрьмы, чтобы каким-то образом внедрить преступников в США в качестве мигрантов (собственная команда Трампа никогда не смогла подтвердить эту историю, которую эксперты называют беспочвенной)

18. Неправда, что Нэнси Пелоси взбесилась после того, как узнала, что его спорный звонок 2019 года с Зеленским "был записан на пленку" (до сих пор нет известной американской записи; то, что опубликовал Трамп, было черновой стенограммой, которая скорее поддержала, чем подорвала движение Пелоси к импичменту).

=====

Ко мне до сих пор иногда в комментарии приходят трамписты и с таким наивным видом вопрошают "Когда это Трамп солгал? Приведите хоть один пример!"

С другой стороны, иногда встречаю консерваторов и даже трампистов, ясно понимающих, что Трамп врет, как дышит. Но все-таки это редкое исключение. Люди находят способ оправдать для себя что угодно. Вот прямо сейчас трамписты читают эту запись и у них в голове заводятся шестеренки: "это все мелочи, по сути он прав", "это обычное преувеличение Трампа, все это знают и никто не понимает буквально", "байден камала трансгендеры байден камала антисемиты байден камала иммигранты" и так далее и тому подобное. Забавная это штука, конечно.

Microdrive

Nov. 4th, 2025 01:10 pm
[personal profile] vak
В конце 90-х начале 2000-х народ в IBM придумал делать жёсткие диски крошечного размера. Так появились Microdrive, позже превратившиеся в CompactFlash. Мне от коллеги достался один экземпляр. В 2004 году продавался за $499 баксов. С такими дисками шаттлы в космос летали.



Меряю скорость под Линуксом.



Для сравнения возьмём CompactFlash примерно того же времени.



Улыбнемся- 105

Nov. 4th, 2025 10:04 am
[personal profile] chuka_lis
Если у вас в кладовке лежат: Read more... )

учебник гельмана

Nov. 4th, 2025 09:16 pm
[personal profile] avva
regr.png

Пришел с Амазона учебник линейной регрессии от Эндрю Гельмана. Хочу изучить. Не так давно меня очень удивило утверждение в экономической статье о пользе H1-B рабочих виз в США. Утверждение было очень сильное - что разница в одну утвержденную H1-B ставку увеличивает на 21% шансы стартапа успешно выйти на биржу. Я внимательно прочитал статью, у которой была интересная и нетривиальная методология. По ряду причин все равно не верю этому утверждению, но заодно понял, что мне мешает, что не понимаю внятно и математически, как проводят множественную линейную регрессию, и особенно как делают контроль над смешивающими переменными (confounders).

Эндрю Гельман, статистик из Колумбийского университета - один из моих героев, я читаю его блог, наверное, года с 2006-го. Для любого, кто интересуется методологией науки, проблемами репликации в общественных науках, честным и нечестным использованием статистики, его блог был незаменимым источником все эти годы. Надеюсь, что и в качестве автора учебника он не подведет.

точка точка запятая

Nov. 4th, 2025 06:31 pm
[personal profile] avva
punct.png

Сравнительная частота знаков пунктуации в русском языке. Запятых намного больше, чем точек. Вопросительных знаков - чем восклицательных. Теперь вы знаете.

(из Частотного словаря русского языка Ляшевской и Шарова)

Кстати, в английском тоже запятых больше, чем точек, но очень близко друг к другу, и в зависимости от жанра текста и региональных особенностей изредка бывает даже наоборот (информация из наспех найденной статьи на эту тему). Среднее число запятых на предложение в русском несомненно больше.
[personal profile] avva
Понравилась африканская сказка про зайца и птицу-носорога, из сборника кенийского поэта, писателя и антрополога Окота П'Битека (опубликован в 1978). Спасибо Меиру Иткину за ее перевод (замечательный), и если вас интересует африканское искусство, см. на его странице анонсы лекций и событий на эту тему.

Как вы думаете, почему Заяц слишком рано забил в барабан?

=======
ЗАЯЦ И ПТИЦА-НОСОРОГ

Заяц и Птица-носорог были большими друзьями.

И вот однажды Заяц сказал: “Дружище, мы с тобой всю землю исходили, чтобы найти подходящую девчонку, но ни одна не была ровней ни мне, ни тебе. Давай поднимемся в Небесные края - может, там найдем достойную пару”.

Птица-носорог ему отвечает: “Знаю, сроки женитьбы уже поджимают, но тебе ведь известна моя беда, вот эта вот ужасная штука!”. “Это ты про свой вечный понос? Тут волноваться нечего”. Заяц сварганил пробку нужного размера и загнал её Птице-носорогу в зад.

Друзья собрали вещи, попрощались с семьями, а потом Заяц сел Птице-носорогу на спину, и через облака они полетели в Небесные края. А там как раз в разгаре был большой свадебный танец. Заяц и Птица-носорог надели свои танцевальные костюмы и вышли на арену. Птица-носорог танцевал грациозно, легко касаясь земли, двигая крыльями вверх-вниз в такт барабану. Его шея изгибалась то так, то эдак, а глаза искрились любовью. Заяц старался как мог, но в ритм не попадал, а когда дело доходило до песни - все время давал петуха; ко всему вдобавок, его длинные уши были смешными. Прекрасные девушки состязались за право танцевать перед Птицей-носорогом, к Зайцу же никто не подходил, и когда он сделал попытку познакомиться, все бросились от него врассыпную. В эту ночь Птица-носорог спал с хорошенькой девушкой. Заяц мерз в одиночестве.

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

Когда жители Небесных краев пытались разобраться в происшедшем, поднялась изрядная суматоха. Заяц объявил, что понятия не имеет о причине бедствия.

“Но где же твой друг-красавчик?” - спрашивали его.
“Я тоже его ищу,” - ответил заяц, добавив. - “Я должен найти его, иначе мне трудновато будет вернуться обратно”.

Отчаявшись найти Птицу-носорога, жители Небесных краев решили избавиться от Зайца, спустив его вниз на канате, сплетенном из травы. Девушки покосили траву и собрали ее в кучи. Затем они изготовили канат, и прицепив Зайца за пояс к одному концу, пообещали продолжать плести, пока Заяц будет опускаться вниз. Жители Небесных краев дали Зайцу барабан и сказали: “Когда доберешься до земли, бей в барабан изо всех сил, и тогда девушки перестанут плести канат”. Заяц поблагодарил их, сказал “до свиданья!” и отправился домой.

Заяц медленно спускался через облака, но как только показались размытые вершины высочайших гор, он забил в барабан очень сильно. Жители Небесных краев перестали плести и отпустили канат. Заяц камнем понесся вниз, но перед тем, как грохнуться, закричал крохотным черным муравьям: “Соберите меня! Соберите меня! Соберите…”

Заяц упал на землю и разбился на много-много маленьких кусочков. Крохотные черные муравьи собрали все кусочки и сложили их вместе - Заяц ожил. Но в наши дни, когда Заяц бежит, слышно, как что-то потрескивает у него в груди, и это оттого, что грудная клетка у него собрана неправильно.

СGA работает

Nov. 3rd, 2025 09:45 pm
[personal profile] vak
Приехали новозеландские адаптеры для видеосигнала EGA/CGA и для клавиатуры XT. Подсоединил к писишке - задышало!

При включении показывает имеющуюся периферию и тестирует память.



После чего выдаёт версию прошивки.



Контроллер диска я вынул, поэтому желает грузиться с флопика.



Упаковка пятидюймовых флопиков у меня припасена, но их же надо ещё записать. Какой-нибудь древний MS-DOS отыскать. В следующий раз. И с дисковым контроллером пора вопрос решать.

языковые игры

Nov. 3rd, 2025 08:32 pm
[personal profile] avva
У нас дома умеренная проблема с непроизвольным переходом на английский в спонтанном общении между мной и Р., а в последние года два к этому с энтузиазмом присоединился старший ребенок. Время от времени я спохватываюсь и пытаюсь прекратить этот разврат и устраиваю что-то вроде "сегодня все говорят на таком-то языке", но это никогда не работает. Вчера я случайно открыл очень действенное средство, делюсь: когда, например, ребенок без особой причины говорит что-то по-английски, я добавляю "сказала Юля по-английски". Через минуту после того, как я начал это делать, это превратилось в соревнование внутри семьи, и все друг друга "ловят" на использовании английского, и меня тоже ("сказал папа по-английски") и стараются следить за собой и не переключаться в середине предложения без особой нужды.

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

(но важно помнить о шуточности и не перегибать палку)

еврейская паста

Nov. 3rd, 2025 07:46 pm
[personal profile] avva
isrcopy.png

Израильская политика в фейсбуке иногда вызывает к жизни тексты, достойные стать копипастой.
[personal profile] vak
Производитель выдал команду на удалённое отключение для отключения умного пылесоса после того, как инженер заблокировал ему сбор данных. Пользователь восстанавливает его с помощью специального оборудования и скриптов Python для автономной работы.

Умный пылесос был удалённо заблокирован из-за отсутствия сбора данных.

Инженер заинтересовался работой своего умного пылесоса iLife A11 и начал отслеживать сетевой трафик, исходящий от устройства. Тогда он заметил, что тот постоянно отправляет производителю журналы и данные телеметрии, на что он не давал своего согласия. Пользователь, Харишанкар, решил заблокировать IP-адреса серверов телеметрии в своей сети, оставив прошивку и серверы OTA открытыми. Его умный гаджет работал какое-то время, но вскоре перестал включаться. После долгого расследования он обнаружил, что устройству была выдана команда на удалённое отключение.

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

Поскольку A11 был умным устройством, он был оснащен чипсетом AllWinner A33 с операционной системой TinaLinux, а также микроконтроллером GD32F103 для управления множеством датчиков, включая лидар, гироскопы и энкодеры. Он подключил разъёмы к печатной плате и написал скрипты на Python для управления ими с помощью компьютера, с целью индивидуальной проверки каждого компонента и выявления неисправностей. Затем он собрал джойстик на Raspberry Pi для ручного управления пылесосом, доказав, что с оборудованием всё в порядке.



После этого он изучил его программное обеспечение и операционную систему, и именно здесь он обнаружил мрачную правду: его умный пылесос был кошмаром безопасности и чёрной дырой для его личных данных. Прежде всего, Android Debug Bridge, предоставляющий ему полный root-доступ к пылесосу, не был защищён никаким паролем или шифрованием. Производитель добавил импровизированный протокол безопасности, убрав важный файл, из-за чего пылесос отключался вскоре после загрузки, но Харишанкар легко обошёл его. Затем он обнаружил, что пылесос использует Google Cartographer для построения трёхмерной карты его дома в режиме реального времени.

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



Итак, почему A11 работал в сервисном центре, но отказывался работать дома? Техники переустанавливали прошивку умного пылесоса, удаляя код отключения, а затем подключали его к открытой сети, восстанавливая нормальную работу. Но как только он снова подключался к сети, в которой были заблокированы серверы телеметрии, он удалённо блокировался, поскольку не мог связаться с серверами производителя. Поскольку он заблокировал сбор данных устройства, производитель решил просто полностью отключить его. «Кто-то — или что-то — удалённо дал команду на отключение», — говорит Харишанкар. «Будь то намеренное наказание или автоматическое принуждение к «соблюдению правил», результат был один и тот же: потребительское устройство напало на своего владельца».

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

О россиизации США

Nov. 2nd, 2025 08:09 pm
[personal profile] yakov_a_jerkov
Снова вернусь к тому, что США стремительно движутся по пути превращения в путинскую Россию.

Сначала присказка. Был такой известный певец, Кобзон. Не знаю в какой момент он стал также видным путинистом, но помню, что он горячо поддержал российскую оккупацию Донецка-Луганска, приезжал с концертом в оккупированный Донецк, исполнил "гимн ДНР"...

В 2014 году ЕС и США внесли Кобзона в санкционный список. Поскольку Кобзон был серьезно болен и, поскольку мог это себе позволить, лечился он в Германии. Санкции стали препятствием для этого. Но Кобзон не унывал. В одном из интервью (ссылки не даю, так как сейчас не искал, но не сомневайтесь, я это хорошо запомнил) на вопрос о лечении и санкциях, он ответил, что ничего страшного, если ему будет нужно, президент поможет.

А теперь сказка. Есть такой известный трампист, Скотт Адамс. Известен он был и до Трама, но в последние годы известен он именно трампизмом. Как и Кобзон (и многие тысячи других людей), Адамс серьезно болен. И вот его сегодняшний твит:

adams.png

Реакция Трампа:



МАГА умиляется... Вернее, не совсем так. МАГА-инфлюуенсеры умиляются, вот, например, Бенни Джонсон, и такого добра в Твиттере достаточно.

Рядовые же трамписты как-то немного растерялись. Болезни, в том числе самые тяжелые, к сожалению, в итоге мало кого обходят стороной. И даже самому тупому трамписту не составляет сложности представить себя на месте Адамса и понять, что ему-то в этой ситуации ничего не светит — ложись и умирай.

Возвращаясь же к теме записи, президент у нас теперь обеспечивает запись на "the brief IV" для особенно видных сторонников. Верной дорогой идете, товарищи!

Телеграм: https://t.me/yakov_a_jerkov
[personal profile] vak
Чем отличается алгоритм Котлера от алгоритма Хекеля? Вот статья, которая всё объясняет.

https://github.com/sergev/ifcomp/blob/main/Theory.md

ifcomp

Nov. 1st, 2025 12:28 pm
[personal profile] vak
Приходится ли вам сравнивать файлы? Риторический вопрос: очевидно, приходится. Я лично команду "git diff" выдаю тысячу раз за день. Всем классический diff хорош, кроме одного: не различает перестановку фрагмента. Показывает только удаления и вставки. Если же часть текста переехала в другое место, diff учитывает его дважды: и как удаление, и как вставку.

Для некоторых применений такое не годится. Представьте, что вы хранитель коллекции ценных документов. И вдруг с одним файлом что-то случилось. Стандартный diff говорит, что всё пропало, документ полностью испорчен. А просто строки перемешались, ничего на самом деле не потеряно. Надо только порядок восстановить. В эпоху перфокарт такое сплошь и рядом происходило, когда колоду рассыпали и собрали впопыхах. Или кто-то решил навести порядок и переставил главы в тексте.

45 лет назад мой коллега Рид Котлер сделал утилиту сравнения файлов: "Text File Comparator". Трудился он тогда молодым студентом на компанию Intermetrics по контракту NASA. Сохранилось упоминание на странице 117 журнала NASA Tech Briefs Winter 1982 Vol. 7, No. 2: https://ntrs.nasa.gov/api/citations/20100028127/downloads/20100028127.pdf

Программа сравнивает два файла и выводит список их различий.

Программа сравнения файлов IFCOMP — это сравнение текстовых файлов для систем, совместимых с IBM OS/VS. IFCOMP принимает на вход два текстовых файла и выводит список их различий в форме псевдообновления. Все различия представлены в виде строк, которые следует удалить, заменить, вставить или переместить в первом входном файле для преобразования его во второй входной файл. Также выводится сводка с указанием количества строк, затронутых каждым типом изменений.

IFCOMP позволяет игнорировать номера строк и конечные пробелы при сравнении файлов с записями разной длины. IFCOMP может быть очень полезен для мониторинга изменений, вносимых в программное обеспечение, на уровне исходного кода. При таком использовании IFCOMP позволяет проводить прямое сравнение исходного кода для единообразного выявления изменений.

Программа IFCOMP написана на языке XPL (расширенный язык PLI, для которого поставляются исполняемые файлы компилятора) для пакетного выполнения и была реализована на компьютере IBM серии 370 с объёмом центральной памяти около 46 КБ 8-битных байт. IFCOMP была разработана в 1979 году.

Эта программа была написана Ридом С. Котлером из Intermetrics, Inc. для Космического центра имени Джонсона. Для получения дополнительной информации обведите кружком S на карточке запроса COSMIC.
Алгоритм подробно описан в статье: "A Technique for Isolating Differences Between Files", Paul Heckel 1978. 

Исходники на языке XPL утеряны, увы. Но сохранился вариант, переписанный Томом Пенелло на Си. Его я и решил поковырять. С ним Рид мне прислал четыре теста, и они работали. Но на некоторых других файлах программа выдавала внутреннюю ошибку или циклилась. Ошибка там неочевидная.

Я подумал: хороший случай применить ИИ для отладки. Интересно, как неестественный ум справится, скажем Cursor или Cline. Получился увлекательный сеанс. 😀

В целом программирование с помощью современного AI-агента напоминает походовую стратегическую игру. Если помните первую Empire, ещё в текстовом виде. Из неё потом выросла Civilization. Здесь нечто похожее, только без карты и в диалоге. Стратегически плодите и размещаете юнит тесты, и постепенно боретесь за расширение функционала и покрытия.

Благо, ИИ агент теперь удобно встроен в VS Code. Работает с файлами прямо в вашем локальном git-репозитории. Или даже прямо на Гитхабе, вам решать. Компилирует, запускает, пишет документацию, находит причины ошибок посредством юнит тестов, чинит, и по новому кругу. Вы внимательно наблюдаете за "сражением" и адресно вмешиваетесь в критические моменты.

Первый "подход к штанге" мы с Курсором продули. 😀 Для начала насоздавали несколько десятков юнит тестов, из которых больше половины не проходили. Хорошо, значит покрытие приемлемое. После этого несколько часов бились все эти тесты пройти. Курсор кромсал код без жалости. Объём Си-шных текстов увеличился вдвое, но справиться с глюками не удавалось. Стало понятно, что зашли в тупик.

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

Главная бага обнаружилась на стадии pass6(). При слиянии двух блоков криво обновлялось дерево. Но проявлялся глюк только на уровне pass8(). Тесты уровней pass6 и pass7 багу не ловили. Курсор пытался "чинить" сначала уровень pass8, потом догадывался вернуться и сделать что-то с pass7, и даже заглядывал с сомнением в pass6, но тут его чутья не хватало. Как только я догадался скомандовать создать юнит тест, воспроизводящий нужную багу на уровне pass6, дело пошло на лад. Починка остального была уже делом техники.

Все исходники здесь: github.com/sergev/ifcomp
[personal profile] vak
Затеяли Трамп и Си крутизной меряться.

«Сколько у тебя ядрёных бомб?» - спрашивает Си.

«Да я! Да у меня! Еще с холодной войны столько запасено!» - Трамп называет цифру.

«И сколько из них взорвутся? Всё протухло давно.»

Трамп срочно побежал проводить подземные испытания.

https://www.dw.com/ru/tramp-prikazal-nemedlenno-vozobnovit-ispytania-adernogo-oruzia/a-74549506