Блог страдающего Лиса
Lorem ipsum hello dolor sit world amet

04 фев 2023 Сб Река Жизни

Лис сидел на большом камне, погрузив лапы в прохладную воду реки, иногда бултыхал ими в воде. Рябь небольших волн бежала по воде, а солнце искрами отражалось в них. Летний солнечный день, сочная синева необъятных небес и ни одного облачка. Легкий ветерок ласково и приятно шевелил шерсть на теле, воздух был свеж и слегка мокрый от воды. Песчаный берег далеко уходил вперед, однако на его поверхности лежали булыжники разного размера. Видимо, специально для таких, как Лис, сидящий на теплом камне и беззаботно смотрящий на протекающую мимо реку.
Мысли его текли так же, как и река, медленно и неторопливо, куда-то вдаль по течению, в неизвестные пространства. Часто реку сравнивают с жизненным течением, якобы жизнь является рекой, которая течет только вперед, делая изгибы и развороты, иногда образуя водовороты, впадая в безбрежный Океан. Жизнь, как таковая, течет вперед, увлекая за собой все с собой. Всё идет вперед и нет смысла сопротивляться этому Великому Течению, как и плыть против него. Сколько бы кто не старался этого сделать, всеобъемлющая сила течения великой реки отнесет его вперед, заставит сдаться даже самого ловкого, умелого и сильного, ибо ничто не сможет преодолеть это движение...
Лис закрыл глаза... ощущения... он чувствовал эту всемогущую и бесконечную силу самого Космоса. Время, которое течет вперед, все изменяя и видоизменяя, проходя эволюцию. Пульс жизни ощущался во всём — от самого маленького атома до самой Вселенной. Ритмы космической симфонии пришли в его сознание и захватили, подняли ввысь. Перед внутренним взором предстали огромные пространства, наполненные бесконечно разнообразной жизнью на разных уровнях своего развития, от самой низшей и примитивной до разумной и даже более чем разумной, с высшими формами сознания, организации материи и самого времени. Мир необъятен... он не смог бы вместить даже самую малость его величия в своем разуме.
До чего же небольшой, крохотной, даже ничтожной показалась его скудная жизнь на этой планете. Он один, как крохотная песчинка в колоссальном объеме, но несмотря на это, он часть этого объема, ведь из таких небольших песчинок и составляются большие пляжи с песком. Малое в большом, ничтожное в великом, количество в качество. Это объединение микрокосма с макрокосмосме как неотъемлемое состояние всего вокруг, как единого целого.
Величественное зрелище настолько захватывало, что когда он вновь открыл глаза, то некоторое время не мог понять, где он находится, что делает и почему именно он тут. Это чувство космического единения... и все вокруг, оно хоть и было достойно, но казалось слишком скучным и обыденным. Лис понимал, что дело вовсе не в природе самих вещей, а именно в нем самом. Просто Лис однажды утратил в себе способности к познанию этого мира, слишком сильно углубился в самого себя и забыл обо всем, кроме узкой полоски неясного света, исчезающей где-то впереди.
Теги: Рассказ

04 фев 2023 Сб Разобрался почему падает сайт

Короче, сел я утром и посмотрел по логам, что происходит и вижу что, вижу то, что падает то потому что памяти для mysqld не хватает, процесс уничтожается экстренно. Памяти на хостинге у меня мало, всего 1 Гб. Я бы мог увеличить VPS тариф, но это дорого!
У меня есть 2 пути. Либо увеличить ресурсы сервера и соответственно, увеличить оплату, либо оптимизировать сайт. Пока что я пошел по второму пути, но если все будет плохо, то придется увеличивать ресурсы. Как же это грустно и печально выходит. Программное обеспечение постоянно раздувается до неимоверных пределов и мне это не нравится. Вот бы еще понять, почему так происходит, ведь раньше ничего не падало и все было нормально.
С утра разметил второе видео по разработке 8088. Как и обычно, так лениво этим всем заниматься, но я хочу все же, завершить это дело, и посмотреть, сколько реально времени у меня тратится на разработку такого процессора, все-таки.
Теги: Дневник

03 фев 2023 Пт Еще один 2.5 часовой ролик

Как я рассказывал раньше, я занимаюсь тем, что записываю видео о том, как делаю процессор 8088. Первое видео я уже сделал, там оказалось 3.5 часа, а второе видео я собирал почти неделю, и всего лишь получилось 2.5 часа. До чего же я тормознутый слоупок...
Неясно для чего все делается, ради чего, и вообще, я не понимаю что мне от всего этого надо, десу.
Сегодня падал сайт чего-то очень часто, аж два раза упал mysql, очень подозрительно, что могло произойти. По логам я ничего не понял, что произошло, но вот что подумал, что надо бы мне файловый кеш намутить на проде, ибо так не дело, если опять упадет, у меня тут появится надпись connection error и это отстой. Такое допустить нельзя. Пусть хоть какой-то кеш будет. Кеш не ускорит работу сайта, у меня он и так быстро работает и без него (потому что уже есть кеш, но в mysql), но зато увеличит надежность при падениях базы. А с этим надо еще разобраться, по какой причине. Я видел в логах только что то, что там были побиты таблицы, а значит, mysql завершился очень экстренно — возможно, по нехватке памяти, не знаю. Очень сложно это сказать.
По-быстрому внедрил этот кеш, но мне кажется, это будет на самом деле, не очень хорошей идеей, потому что его надо же обновлять постоянно. А если коннект упадет опять... мда, посмотрим. Может еще и откажусь от этого кеша вообще. Или сделаю иначе. Пока что пусть будет, пособираю инфу, которая у меня там есть.
А вообще лучше было бы сделать чтобы при падениях базы мне об этом оповещение приходило куда-нибудь или скрипт автоматически подымал бы ее, что еще лучше. Но самый смак был бы в том, чтобы понять, почему так происходит и предотвратить в будущем.
Теги: Дневник

02 фев 2023 Чт Симулятор станка ЧПУ на OpenGL

Вчера что-то музыку слушал разную, и подумал, как же ее лучше визуализировать. Закрыл глаза и перед моим внутренним взором поплыли разные неясные образы (абстрактно), в котором участвовали разные поршни, шестеренки, прессы и прочий стимпанк, и за этот образ я и ухватился. Ведь где-то я видел уже такое! Точно, это производственные процессы же.
И тут далее, развивая мысль, думал о том, а как и где я это собираюсь сделать? Возможно, можно применить OpenGL для этого, как один из вариантов. Есть еще один вариант, это собственно, рейтрейсинг, чтобы лучше и красивее все это было. Единственное, что рейтрейсинг придется самому делать, да и не очень то он быстро работает. Очень много открытых вопросов вообще, потому что я даже не начал это делать, а уже почти сдался, ибо задача крайне сложна.
Мне бы хотелось сделать так, чтобы эти станки работали под музыку и делали вид, что производят что-то. Это лишь только анимация их работы, не более того. И выложить все это на ютуб и смотреть, залипать на них. То есть, сделать только для того, чтобы смотреть как на демки какие-то. Да и вообще, почему бы мне просто не отточить работу с трехмерной графикой, а такого рода роботпроцессы как раз идеально подходят под эту задачу.
Еще надо заняться дальше трехмерной графикой, к примеру, процедурно сгенерировать какие-то предметы сложнее чем куб или сфера, потому что более ничего сложнее этого я не делал, а это очень плохо. Сколько уже думаю про трехмерную графику, а ничего не делаю, полный отстой... Так что вот так, надо собраться, и сделать уже, наконец. Хватит откладывать великому прокрастинатору.
Теги: Дневник

30 янв 2023 Пн Двадцатая попытка создания процессора 8088

Не секрет, что мне нравится писать процессоры снова и снова. Даже я принял это как данность, что процесс написания процессора (какой ироничный каламбур!) мне просто нравится. Несмотря на это, необходима, все равно, цель, иначе процесс то процессом, а что в итоге делаю, сам не пойму, неизвестно. Недавно выложил на ютубе 3.5 часа видео, с того момента записал еще 1 час работы, в котором в целом, прилично было сделано инструкции, но они все так сказать, несложные, однотипные. Например, инструкции mov r, imm или условный короткий переход, все эти инструкции не особо сложные, потому я справился с ними суммарно за 35 минут, а остальные 25 минут делал встраивание процессора в девборду Марсохода2, там где Циклон 3.
Теперь к самому главному. Как ранее я говорил, цель моего всего действия в том, чтобы, когда я сделаю процессор, запихнуть его в какой-нибудь ретро-корпус и запускать очень простые программы. Мне конечно, несколько жалко, что нет диска, чтобы сохраняться, но ничего, не страшно, для этой цели вообще-то, у меня будет процессор AVR. Так вот, что я буду запускать на процессоре? Например, создам экран загрузки BIOS, для сохранения ощущения аутентичности. Второе, что сделаю, это сам Биос, с разными опциями, которые правда, сохранять нельзя... да, вот все упирается в сохранение. Потом я сделаю микробейсик, где можно будет писать и выполнять очень простые программы. За основу возьму 512 байтный бейсик с бутсектора.
Еще у меня есть в планах делать микропрограммы и даже микроигры. Единственное только, что они не поместятся в 32кб и надо диск... да что же такое, везде диск нужен! Эх, видимо, без диска компьютер не может никогда считаться полноценным, поэтому какой-то диск, но прицепить придется. Мне только не хочется делать проводками, а как-то по-хорошему сделать надо, все-таки.
Snimok_ekrana_ot_2023-01-30_09-55-04.png
На шилде расширения есть 2 usb разъема, которые я могу применить не совсем так как надо, а прицепить туда sd-карту. Так что без диска никак вообще. Надо думать как его сделать правильно. Конечно, на шилде еще есть место для дополнительных пинов, их тоже можно использовать. Надо проверить, надо все проверить и сделать — без диска никак, как я сейчас только что выяснил.
Теги: 8088

28 янв 2023 Сб Почти три с половиной часа кодинга

Не буду я делать по 8 часов видосы, сделал пока что 3 с половиной часа, и вот что я успел сделать за это время:
instr.png
Моя любимая табличка с выполненными опкодами. Для 8088 интересная ситуация получается, там некоторые опкоды работают не так, как на обычном 86-м процессоре, например, все 60-6F отведены под алиасы. Так как я решил что не буду отклоняться именно от 8088, то там будут алиасы. Более новые программы уже не запустить на этом процессоре... А я и не собираюсь, вообще-то. Максимум HELLO WORLD будет на нем запущен, а для этого даже простейшего процессора хватит.
Проще говоря, хочу создавать простые программы для процессора этого, например, те же сортировки. Ресурсов Циклона 3 хватит. Там много не надо, 38 Кб для программ и данных, 8 Кб для видеопамяти, в итоге и получается 46 Кб. Программы для этого процессора будут предельно простые, вообще. Это важно, прямо вообще важно, потому что когда делаешь такие вещи, хочется сделать что-то большее, чем вывод HELLO WORLD на экране, а что-то такое, сверх-космическое.
Как и обычно, после того как сделаю процессор (если сделаю), то на нём захочется запустить или создать операционную систему. Вот этого делать не надо! Все потому, что для того, чтобы запустить ОС, нужен диск, которого я подключить не могу к Марсоходу. Даже если бы и мог, толку от нее ноль.
Микро-операционная система может быть только для того, чтобы запускать разные мелкие программки из памяти. Например, можно сделать интерпретатор бейсика, который будет запускать заранее загруженные программы. Все должно быть максимально, предельно просто. Вот в чем суть всего того, что я хочу сделать и всегда делал.
Простота программ должна быть обязательно.

27 янв 2023 Пт Создание 8088 процессора под видеозапись

Короче, вот что начал я делать, стал писать процессор на верилоге, но не просто так, а записывая абсолютно все. Процессор с нуля. Единственное что могу смотреть — это доки и какой-нибудь си-код, например, из PCem эмулятора, ну и на сайте у себя тоже. Копипаста запрещается, все должно быть написано руками без копипасты из своих других процессоров. Делаю это для того, чтобы оценить то время, за которое реально создам процессор с нуля. И это должен быть процессор 8088, чтобы он вмещался также в Циклон 3 для Марсохода2.
I8088.jpg
Все отлично знают, что у меня просто мания создавать процессоры, особенно архитектуры 86-го. Много создавал уже разных эмуляторов, и мне очень хочется именно зафиксировать на видео. Оно получится видимо, больше чем 8 часов, но это нормально. Все эти видео специально не буду ускорять, прямо так склейку сделаю и выложу на ютуб себе, сохраню как есть. Ну, может быть, музыку наложу, чтобы совсем не скучно было. Никто смотреть не будет все равно это дело.
На данный момент я работал над процессором 2 часа и 5 минут и за это время смог сделать, но не отладить:
  • Чтение опкода и префикса
  • Сделал АЛУ на 8 операции
  • Чтение байта modrm и считывание опкода из памяти и регистров
  • Запись в память или регистр
На самом деле, это довольно значительно, но поскольку я уже ранее все это делал, то не так сложно. Отладки не выполнял, просто пока что написал по памяти. Посмотрим потом, как это работать будет.
Далее надо сделать исполнение инструкции, и вот тут самая большая проблема. Инструкции выполняются минимум за 2Т, но я принципиально решил, что не буду ничего ускорять. Процессор 8088 и так медленный был и выполнялся на низких частотах (от 5 до 16 Мгц), так что я ровным счетом ничего не потеряю от того, что запущу на 25 Мгц.

26 янв 2023 Чт Немного о спектруме и то, как он у меня появился

Пиииии... тшик. Пииии.... Короче, это была имитация звука загрузки спектрума. Что я могу сказать про него? Вообще я раньше уже рассказывал о моем знакомстве с этим компьютером, возможно, вскользь. Впервые спектрум я увидел, когда попал в город К., перед этим я приехал из города В., и начал активно искать, где бы посидеть за компом. Когда я приехал в город К. в 1999 году, я поступил в 5-й класс, сначала в школу номер 2. Город был мне незнаком и мы несколько раз переезжали, прежде чем оформились в каком-то определенном месте в некоторой квартире. Переездов было довольно много, сначала возле детского сада и школы, потом поближе к школе, потом еще в одном доме на той же все улице. Мы ездили и ездили каждый месяц с места на место и никак не могли найти долговременное жилье, все потому, что у нас не было никаких денег — совсем не было ничего.
Еще одним промежуточным перевалом было месячное проживание в бараке у папиного друга. Странно он к нему относился почему-то. Оба алкаши. А ладно, не буду вспоминать. После барака мы переехали еще в один, еще худший вариант в совсем уж дурной дом. В то время как раз я нашел компьютерный кружок, который только-только открывался и у меня была наконец-то возможность найти свое занятие по душе — программировать. Преподавателем этого кружка был С.Ю., человек достаточно странный и интересный с какой-то стороны. Я уже не могу точно сказать ни как он выглядел, ни какой он был человек. Память постепенно стирается...
Когда я туда пришел, там было довольно много учеников, с некоторыми я даже подружился. Помню одного, с которым мы много чего обсуждали — его имя Макс Ч. И вот как раз в этом кружке узнал, что у него был спектрум, причем очень навороченный — 128k с AY-чипом и дисководом. Скорее всего это был Pentagon, судя по всему, или Scorpion, этого я сказать уже не могу, не помню. Помню только то, что этот компьютер меня заинтересовал тем, что на нем была очумительная музыка, диск и там шли графические демки. Они меня по-настоящему очаровали и заворожили. Мне потом все время хотелось нарисовать демки разные и работать с трехмерной графикой.
Помимо спектрума, я также сидел на УКНЦ — именно той, у которой тоже был дисковод и где можно было сохранять и загружать программы. Хотел для нее сделать Norton Commander для бейсика, но так и не смог, и потом уже было бесполезно этим заниматься. Программу я сохранил на будущее, и до сих пор ее держу и дорожу как зеницей ока.
В 2000 году мы переехали в другой дом, который я называю "желтый дом", потому что он был каменный и покрыт желтой краской. В этом доме мы прожили примерно с 2000 по 2007, вроде как, если не ошибаюсь. В то время это была самое длительное время, когда мы жили в каком-то одном месте — аж целых 7 лет! До этого мы постоянно куда-то переезжали, не имея своего жилья и не имея возможности его как-то купить.
И вот в 2000 году мне пришлось устроиться в другую школу, потому что до той школы стало очень и очень далеко ходить, я тратил примерно около часа, только чтобы дойти до той школы. Вроде как я смог закончить 5-й класс и поступить уже в 6-й класс в новой школе, где наконец-то смог доучиться до конца.
Очень интересный рассказ выходит — не о спектруме. Да, в 2000 году у меня этот спектрум как раз и появился на столе. Это был наш первый компьютер, но он был не совсем наш, а того самого Макса М. Появился он еще немного ранее, мне в конце 1999 года дали компьютер домой погонять, я сидел и в том страшном доме пытался что-то программировать. Плохо то, что компьютер этот был без дисковода и пришлось каждый раз программу набирать снова. И вот потом, когда уже мы переехали в желтый дом, там мне дали приличный спектрум, где я и набирал программы до посинения. Только вроде как сохранить так и не мог их, не знаю, почему. Наверное потому, что все равно их надо было сохранять на ленту, а пользоваться TRDOS-ом я не мог, не знал как это делается. Сейчас вроде как знаю, но все равно не пользовался. Так вот и пришлось постоянно набивать программы снова.
Совершенно не помню, что я там пытался делать, на этом спектруме. Я выучил ассемблер тогда на вполне приличном уровне, пытался декодировать ROM, писал на ассемблере и на Бейсике программы до появления 386 в моей жизни. Но то уже другая история, которую я, кстати говоря, уже рассказывал.
На этом, пожалуй, мои странные воспоминания можно завершать.
Теги: Истории

25 янв 2023 Ср Смог ли бы записать длинное видео

Все время думаю про то, смог бы создать что-то вроде очень длинного видео на несколько часов, где разрабатывал бы какой-то проект. Постоянно думаю, и в общем-то, понимаю, что нет, для этого надо конское терпение, ослиное упрямство и отвагу льва, которых нет. У меня ничего нет из вышеперечисленного. Так что хотел бы сделать? Самое интересное, мне уже ничего делать не хочется. Слишком большая усталость от всего и слишком огромный страх. Да и никто такое смотреть точно не будет, даже сам не буду смотреть.
Когда-то хотел сделать трехмерный ускоритель на верилоге, но какой в этом смысл, не понимаю. Есть видеокарты, работают в миллион раз быстрей, чем работало бы что-то на плис. Нет никакого смысла в том, чтобы все это делать, ведь делать придется просто колоссально много и еще для видеокарт требуется просто колоссального размера памяти, как на видеобуфер, так и на текстуры. Ничего из этого мне задействовать не хочется, потому что, если даже и создам такой код, он будет предназначен только для очень больших плис, что совершенно несовместимо. Короче, что-то делать на верилоге полностью бессмысленно, потому что повторяемость этого около-нулевая, вот так вот.
В последнее время, вообще не вижу ни в чем смысла. На верилоге уже не программировал почти месяц, потому что не знаю, что мне программировать на нём такое, что было бы интересно. Заметил, что чем больше микросхема и чем больше в ней логических элементов, тем меньше мне хочется ее программировать. Что за беда такая. Помню времена, когда у меня был только Марсоход2 и для него кодил день и ночь. Столько времени... все бессмысленно. Нет никакого толка в том, что делаю. facepalm
Сейчас изучаю лишь только некоторые алгоритмы. Вчера снова открыл по нейросетям материал и не понял опять его. Нейросети это очень сложная тема, но преодолимая, надо разобраться в том, как устроен этот математический аппарат, зафиксировать его на сайте, обязательно написать статью. Не знаю, насколько это позже, не знаю, смогу ли вообще что-то записать, ведь будущее туманно, не могу даже знать, что будет через день или два, не говоря о более длительном периоде.
Все бессмысленно, ничего не имеет значения, ничего не надо.

24 янв 2023 Вт Заинтересовался алгоритмами

Заметил, что в последнее время заинтересовался алгоритмами. Недавно писал статью по ханойским башням, а вчера полностью смог разобраться с алгоритмом пирамидальной сортировки. Как же удивительно то, каким образом у меня все так получается. Четко помню, как в 9-м классе мне пытались объяснить этот алгоритм и то, как его абсолютно не понял. И потом не понял, и спустя 10 лет не понял, и спустя 15 лет не понял, и вот понял только вчера, причем, как же это оказалось просто!
Как же так? Почему то, что ранее не мог разобраться в чем-то десятилетиями, дается так легко сейчас? Что изменилось? Говорят, с возрастом все только хуже становится, но похоже, это не всегда так. Лет 10 назад не мог разобраться ни в чем, а сейчас все даётся пока что довольно легко. Ушел ли у меня страх? Нет, он только добавился и с каждым разом добавляется все больше.
Опишу вкратце, в чем суть алгоритма сортировки пирамидой. Сначала надо построить пирамиду, чтобы самый верхний элемент был самым большим, и два дочерних элементах были либо меньше, либо равны верхнему. И так должно быть для каждого элемента. Для того, чтобы это сделать, первоначально надо привести пирамиду в такой вид. Как это сделать — я тут описывать не буду, но сделать это можно довольно просто.
Так вот, когда наверху самый большой элемент, это и хорошо. То есть, сверху пирамиды всегда будет самый большой элемент, абсолютно всегда, потому что мы это ранее сделали. Теперь же надо убрать этот большой элемент, записать в конец пирамиды снизу, а из конца же пирамиды вытащить другой элемент и поставить в корень. Количество элементов в пирамиде уменьшается на 1. Теперь элемент, который поставили в корень, опускаем вниз так, чтобы он был на своем месте. Это делается за log(n) шагов, то есть, за то количество шагов, какая высота у пирамиды. Если у пирамиды 128 элементов, например, то высота ее 7 слоев. Значит, чтобы привести в порядок пирамиду после перестановки, надо сделать 7 обменов (максимум).
После этого, в корне опять появится самый большой элемент из оставшихся данных. Снова относим в конец (в данном случае на предпоследний элемент бывшей пирамиды), и повторяем до тех пор, пока не остается 1 элемент — это корень. Алгоритм заканчивается.
Ясное дело, что на словах ничего неясно, но я буду статью писать про этот метод сортировки. Однако, это классно, что получилось в этом разобраться. Вообще-то, хотел этот метод сортировки применить для задачи трехмерного рендеринга на ПЛИС, но так не уверен, что дойду вообще до этой задачи. Она не такая сложная, просто надо очень много делать и мне ужасно лень.