vak: (Default)
[personal profile] vak
Чем отличается алгоритм Котлера от алгоритма Хекеля? Вот статья, которая всё объясняет.

https://github.com/sergev/ifcomp/blob/main/Theory.md
[syndicated profile] crimea_ua_feed

Posted by КРИМський бандерівець

1.     У Криму так званий “Севастопольський міський суд” додав до основного сфабрикованого вироку активістці Ксенії Світлішиній, яку звинувачують у співпраці з рухом “Жовта стрічка”, ще 8 років! Вирок виніс кривавий “суддя” Землюков Данил Сергеевич – понаєх. У вересні минулого року кримчанку позбавили свободи на 5 років та 3 місяці! https://x.com/CrimeaUA1/status/1984681643450450088 (фото). 2.     1 листопада святкував […]
selenga: (сбу свр гур)
[personal profile] selenga
Пламя сопротивления: партизаны уничтожают железнодорожную инфраструктуру по всей России, - ГУР. ВИДЕО
Количество пожаров на объектах железной дороги государства-агрессора постоянно растет — работает партизанское движение
Источник: https://censor.net/ru/v3582902


Атака БПЛА на порт в Туапсе: поврежден танкер и нефтеналивной терминал, есть как минимум 3 очага возгорания. ФОТО
Источник: https://censor.net/ru/n3582875

СБУ и Силы обороны нанесли удар по нефтетерминалу в Туапсе - поражены танкер и инфраструктура порта ВИДЕО
Источник: https://censor.net/ru/n3582903

Силы беспилотных систем поразили пять подстанций в глубине России
Источник: https://censor.net/ru/n3582894


*

Дроны с зарядами более 100 кг поразили места скопления техники и личного состава врага на оккупированной территории, - СБУ. ВИДЕО
Источник: https://censor.net/ru/v3582898


*

+ Бойцы 18-й Славянской бригады "Вий" ликвидировали 32 военных РФ. ВИДЕО
https://censor.net/ru/v3582844

+ Оккупант притворился мертвым, но это не помогло: операторы SIGNUM ликвидировали врага. ВИДЕО
Источник: https://censor.net/ru/v3582828

+ Оккупант рыщет среди тел соратников: кадры уничтоженных захватчиков на Покровском направлении. ВИДЕО
Источник: https://censor.net/ru/v3582888

+ Оккупант снимает на видео сожженные тела 8 захватчиков на Покровском направлении. ВИДЕО 18+
Источник: https://censor.net/ru/v3582830


*

ВСУ сохраняют контроль над позициями в РФ, - группировка "Курськ" Источник: https://censor.net/ru/n3582817

*

https://youtu.be/SV_ZNvShHjg?si=MTuxZhZ6c6xx8UaD

Днепр 1.11.2025

2025-11-02 08:15 am
ratomira: (Default)
[personal profile] ratomira
 Вечером русня ударила по Самарскому району, по магазину. Погибли 4 человека, в т.ч. двое детей: мальчики 11 и 14 лет. 

ifcomp

2025-11-01 12:28 pm
vak: (Default)
[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
vak: (Кризис так себе)
[personal profile] vak
Затеяли Трамп и Си крутизной меряться.

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

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

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

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

https://www.dw.com/ru/tramp-prikazal-nemedlenno-vozobnovit-ispytania-adernogo-oruzia/a-74549506
[syndicated profile] crimea_ua_feed

Posted by КРИМський бандерівець

1.     “Попри роки неволі, ізоляцію, втрату сина й відстань до родини, Айдер Джаппаров залишається вірним своїм переконанням. Його стійкість і гідність стали символом незламності кримськотатарського народу перед обличчям репресій”. Прочитайте історію Айдера Джаппарова, який до арешту виховував 8 дітей https://x.com/ppu_gov_ua/status/1984287041232781449 (фото). 2.     Джанкой. Російські військові злочинці влаштували чергову ДТП. Можливо, є загиблі серед цивільного населення […]

Стародавнє

2025-11-01 02:04 pm
kondybas: (Default)
[personal profile] kondybas
Колись давно я цей текст чув у виконанні Вови-Максима Кучеренко-Калашнікова, але зараз той відос у ютубі вже не знайти. Зате він виплив у текстовому вигляді отут, після КДПУ.

Думаю, цей текст є найкращою ілюстрацією справжньої причини російської агресії. Це не захист рускоєзичних, і не боротьба з нацизмом/фашизмом. Причиною стала хвороблива, патологічна впевненість росіян у своїй непереможності та воєнно-технологічній перевазі над майже всім світом. А далі, як в тому анекдоті:
- Чому пес лиже свої яйця?
- Тому що може дотягнутися.

Росіяни щиро вірили в те, що "могутпавтаріть", і що напад на Україну - то пригода на 10 днів, туди й назад, вранці напад, ввечері парад. Іншої причини їм не було потрібно.

Осенние заметки

2025-11-01 11:29 am
ratomira: (Default)
[personal profile] ratomira
Я давно не была в парке Зеленый Гай, поэтому не ожидала, что там теперь вместо белок в бельичих кормушках кормятся крысы. (Видео засняла).

Read more... )
tiresome_cat: (HappyCat)
[personal profile] tiresome_cat

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

Ужас.

2025-10-31 09:07 pm
tiresome_cat: (HappyCat)
[personal profile] tiresome_cat
С утра сильно захотелось винегрета. И вот наступил хэллоуинский вечер: сижу и думаю, как же мне теперь справляться с тремя литрами готового продукта? Кошмар...

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Автор стиля

Развернуть

No cut tags
Page generated 2025-11-03 03:45 am
Powered by Dreamwidth Studios