Category: it

Category was added automatically. Read all entries about "it".

Про комп

В общем, что с ним было: сначала у него отвалился диск (SATA SSD), причём задолго до этого начинал отваливаться IDE HDD (причин найдено не было, поставлен SSD). Первичная проверка (давно) показало полное отсутствие порченых (по ESR) конденсаторов на материнке (у которой при этом не работала половина SATA-портов), но целую горсть их, родимых, в блоке питания. Замена привела к магическому исцелению портов, но не SATA SSD. Диск виделся в BIOS, с него грузился загрузчик, но ядро уже не видело ничего. На всякий случай с загрузочной флэшки процесс был повторён - с тем же эффектом. Понятно, что что-то могло работать только в дремучем режиме совместимости, но то ли это контроллер на плате, то ли диск - неизвестно. А может я и БП не полностью починил...

Позавчера я начал проверку с нового БП (который просто лучше), счастья не случилось, зто точно стало понятно, что с питанием всё хорошо и ловить мерцающие глюки не предстоит. Параллельно подключил все имеющиеся диски к материнке и одновременно провёл тестирование их всех сразу - ага, всех кроме одного, того самого, который ядро не видело. Дальше SSD был подключен через IDE-SATA переходник (IDE интерфейс точно был работоспособен, его глюки исцелились при починке БП), он так же виделся BIOSом, но и только. А вот через USB-SATA переходник он увиделся и был скопирован на подходящий по размеру IDE HDD. Теперь компьютер работает с этого IDE - медленнее, но без глюков. Спасибо сыну, который очень настаивал притащить системник с помойки - вот оттуда этот HDD был однажды извлечён.

Да, а SSD скорее всего нуждается в обновлении прошивки (которая слетела) - причём программы для прошивки нет, равно как и готовой прошивки - есть комбайн всё в одном (а официальный сайт ещё и лежал как минимум сегодня, потому ссылка хрен знает куда), который совершенно не факт, что согласится прошивать ту же самую прошивку без обновления. Оно ещё и под винду и в формате .exe - что несколько удивляет.

UPD.: при втыкании в первый же попавшийся (но другой) комп SSD заработал, утилита пишет, что обновления нет, кнопка принудительного обновления отсутствует.

Третий день в соплях

Не Covid и то хорошо; кстати, чем-то таким я не болел года так 2 - хорошо помню, потому как к любому ОРВИ относился (бы) очень подозрительно.

Пью чай (пуэр), работаю, а пока "оно компилируется" (очень условно, идёт эксперимент, но не по машинному обучению, а по измерению эффективности) пилю нормальные зажимы из уголка, чтоб не вот так:
img1
Collapse )

Выходные

Явочным порядком случившийся переезд как-то неожиданно высвободил силы и время. Собираю кровати (нас - дохрена и кроватей нужно тоже немало, но шуруповёрт спасает). Что-то подклеиваю; удивительно, но в полусамодельной кровати подклеивать пришлось только икеевскую деталь.

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

Про часы я уже писал. Разобрал завалы дохлых мышей, починил одно живую - теперь у неё просто идеальный клик наощупь (тащиться покупать новую было откровенно лень). Валялся телефон с работы (Honor кажется 4) с приржавевшими шурупчиками, высверлил, разобрал, подцепился к батарее, зарядил - а вот почему он валялся - usb вообще не видит. И вот такие все проводочки, болтики, пайки - отложенные - получают своё внимание. Что-то, лежавшее ради одной детальки, вон как те мыши, идёт на помойку.

Где-то ждёт своего времени винт с частью бэкапов - ему надо mount -o -sb=сколько-то /dev/диск1 /mnt, а сначала - mke2fs -n /dev/диск1 - чтоб эти "сколько-то" узнать. Шанс, что там есть что-то, отсутствующее в других местах, невелик, но проверить надо.

По аудиоделам - выкатить в зал освободившейся квартиры колонки и вдоволь наизмеряться; потом примерно понятно, что, но невслепую будет лучше. Пока же - подрезал у жены из машины диск Bee Gees и слушаю; кстати, подъёмчик на 200-400 Гц заметен - ну да, кривая АЧХ влечёт жанровость :-)

Из экспериментов - наверное, сейчас хочется взять ещё пару питерских шёлковых мембран но, не на каптоне, а на бумаге и пропитать цианакрилатом - не сильно и неравномерно (лепестками -  привет мембранке 1А-22), в надежде сравнить с ней тела (первое и второе) на высокочастотность и применить результат в двухполоске. Долепка имеет другой радиус, она с оригинальными мембранами работает, а питерские - площе.

Когда флэшка СЛИШКОМ большая

Есть 256G subj. с fat32 (потому что плеер умеет читать только так). При монтировании под обычным (Linux Mint) линуксом файловая система ломается прямо при попытке записать туда гигов так 20. Интернет ничего осмысленного не сказал, кроме того, что вроде как есть баг в ядре...

Путём небольшого - на куриной лапе сосчитать - числа экспериментов установил, что дело в параметре flush при монтировании - что-то не так именно с ним. Смонтировал без него - залил много разного рока - diff -r показывает, что файлы совпадают побайтно. Забавно, что сначала что-то не так было со свободным местом (я не пересоздавал файловую систему, а только удалил с неё всё) и первые файлы были испорчены. Починил ФС и перезалил эти файлы, дальше всё было хорошо.

Алдан

Кажется, я знаю, как назвать своё "произведение" на Z80; про идею я писал несколько раз, а кратко это:

1. "системный" режим, без которого запрещена работа с портами и выполнение части команд;
2. аккуратное переключение в системный режим при входе в прерывание;
3. память, полностью состоящая из переключаемых страниц.

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

Логично, что требуется простой дешифратор команд, распознающий некоторые команды (программного прерывания RST XX для входа в системный режим, разрешения/запрета/переключения режимов аппаратного прерывания и ещё некоторых для их запрета нафиг - замены на NOP на буфере шины данных); пока не знаю, что будет лучше - GAL или просто ПЗУ системы РТ/РФ - вопрос в том, что хочется и проще и чтоб на 20 мГц работало (но только если основная часть заведётся на 20).

Остальное всё - простое, хотя и местами расточительное (буферизация всех шин, 22 бита адреса, полностью оконная память). Как делать прерывания - в основном понятно, но пока печально (хочется и быстро и гибко и без особых микросхем, но и без требований к источнику прерывания - чтоб при отсутствии обработчика прерывание не залипало навсегда). Какое-то рещение я набросал, оно приятное, гибкое, на 7 источников с полностью програмными приоритетами (а не как daisy chain), на тактовой 20 мегагерц скорее всего жить будет, но микросхемок там кучка. Пока обдумываю (тем более, что это уже отдельный модуль и не на первое время).

А запускать я там хочу несколько копий CP/M под минимальным гипервизором. И называть Алдан - вот такая игрушка для МНС.



git

Пропустил букву 'i'. Вышло так:

$ gt fetch --all -p
Программа 'gt' на данный момент не установлена. Вы можете установить её, выполнив:
sudo apt install genometools
$


Так bash мне намекает на проблемы в ДНК.

Вот вроде не шаман

...по записи в трудовой и в рюкзаке бубна нет.

Однако же вот из вчерашнего разговора: "в криптографии есть две безопасности через сокрытие - когда мы верим, что другие не знают алгоритм и когда мы верим, что никто не знает алгоритм и если первое вроде как поругивется, то на втором вообще всё молчаливо стоит; но ну как кто-нибудь научится числа факторизовать или какой алгоритим обратит"...

И вот RSA таки да!

Умножало (примерно как орало, рубило и прочие примитивные существительные)

Пока "оно компилируется", читал про КР588ВР2 - кажется, у меня именно их десятка два (нашёл как-то чуть ли не на День Радио). Подумываю однажды сделать сопроцессор для игрушечного компьютера. Конечно, даже просто засунуть 4 байта и потом вытащить 4 может оказаться пошустрее, чем умножать сложением и сдвигом (в двоичный "столбик"), но хочется-то не этого.

Реально интересно умножать матрицы (в данном случае - строку на колонку), а это значит, многократно переиспользовать одни и те же множители. Вырисовывается что-то очень похабное, с регистровым файлом для редко изменяемых множителей и прямой записью в регистры умножителей как в память (чтоб работали двухбайтовые пересылки, PUSH/POP и LDIR). Чтоб общие сомножители засунув один раз, умножать на них сразу несколько чисел.

Что это даёт народному хозяйству? Например, разные матрицы поворотов для векторной графики. А ещё - свёрточные нейронные сети, чтоб распознавать буковки и циферки с мышиного сенсора (хотя бы попробовать, оно интересно как факт).

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

[One Eyed Films] 2D // Бонус - компьютерный зуд

Стрёмный вирус пожрал мой глаз, так что я вижу мир двумерным. Жру и капаю кучу лекарств, ацикловира целых две разновидности. Никаких рекомендаций про собственно глаз от офтальмолога не получил - заболи у меня нос, всё было бы так же - сон, витамины, жиры-белки, нестресс - вирус он вирус и есть. В комп пыриться можно, но будет неприятно. Подтверждаю, потому немногословен.

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

Купив лекарств и обслужив орган зрения, добрался до компа. Отбросил кулеры, поочерёдно останавливая их пальцем. Звук шёл не из БП, так что и тамошний кулер вне подозрения. Выключил диски - не они (УФФФ!!!) Отключаю пищалку - тишина... Включаю снова - звук есть, как громкая помеха, загрузочный "пик" еле пробивается через неё. В гипотезу о радикально хреновом питании соотв. моста верю не очень, поскольку звук появляется довольно резко и всегда в один и тот же момент.

На какое-то оповещение зудение не похоже просто совсем - сначала я вон вообще не понял, чем оно это сказало. Тот же оптероновый монтр при перегреве включал типовой "пик" неприрывно - спутать его с чем-то было невозможно. Но проверить просто - лезу в BIOS и отключаю нафиг Alarm по кулеру проца - тишина! (Ну то есть после перезагрузки) Включаю назад - зудит.

Вместо штатного кулера я поставил новый - и подходящий и на полных оборотах куда как более тихий, чем старый на средних. Питался новый от БП напрямую, так что данные от датчика не поступали, и тот самый Alarm сработал. Забавно, что операционка криминала не видела - ничего не перегревалось, а звук так и оставался - скорее всего он был сделан "на сдачу", криво и нестандартно (звуки штатной пищалки обычно не смешиваются, а этот зуд оставался фоном) - и звучал, соответственно, хреново.

Настолько хреновый Alarm, что не распознаётся таковым. Мальчик не кричит "волки!", а тихо мычит себе чего-то под нос, уткнувшись в угол. Ну что же ты, мальчик!

 NULLTroll

Вчера сломал мозг (и не только себе) вот такой штукой - есть у нас NULL и nullptr в C и C++ соответственно. Это указатель "вникуда", его нельзя разыменовывать, он приводится к целочисленному нулю и радостно вызывает неопределённое поведение компилятора. Стрёмная штука в некоторых случаях.

Так вот вопрос - а как реализована семантика этого счастья на платформах, где нулевой адрес - нормальный и доступный, вот например - MS DOS, где в начале памяти обитает таблица прерываний и почему бы красиво не дампнуть первые 256 байт хексом на экран? Или просто прочитать нулевой байт.

Что там? NULL это нормально? Там NULL это не 0, а что-то другое? Размер указателя больше типового индексного регистра/пары (вот, кстати, подозреваю, что под AVR так, ибо по регистру не понять - он на код указывает или на данные, Гарвард, етить!)?

Кто имеет опыт?

На выходных, если меня не сожрёт ремонт, попробую borland C под DOS в разных моделях памяти.