Технологии Чайника
Я там проект новый начал, он пока пустой... Но уже новое для меня: с нуля сам пишу таблицы под Markdown, а так же начал работать с git, которого раньше боялся... В общем, обучаемся)
В общем, проект до ума доведён всего за два часика, пока ещё без обработки ошибок и прочего но опять я совместил приятное с полезным:
Делать инструмент в 25 строк кода на питоне - не мой уровень уже, особенно так пафосно публикуя, судя по ReadMe
Тут же я взял конкретную проблему - страх перед созданием Modelfile, загрузки GGUF в Ollama и оптимизировал это создав бинарники, в итоге я сделал и инструмент, что мои нужды закрывает и может нужды кого ещё, так ещё и не грустно было от малого количества строк, ведь решил это тем, что они не на Python - подучил Nim ещё лучше
В общем, кому тоже будет полезно, то вот, но это прям очень компактная тулза на сонную голову, уверен утром буду удивлён от того что натворил, что перепишу)
https://github.com/MichiTheCat-RedStar/teaOGL-tool
Делать инструмент в 25 строк кода на питоне - не мой уровень уже, особенно так пафосно публикуя, судя по ReadMe
Тут же я взял конкретную проблему - страх перед созданием Modelfile, загрузки GGUF в Ollama и оптимизировал это создав бинарники, в итоге я сделал и инструмент, что мои нужды закрывает и может нужды кого ещё, так ещё и не грустно было от малого количества строк, ведь решил это тем, что они не на Python - подучил Nim ещё лучше
В общем, кому тоже будет полезно, то вот, но это прям очень компактная тулза на сонную голову, уверен утром буду удивлён от того что натворил, что перепишу)
https://github.com/MichiTheCat-RedStar/teaOGL-tool
GitHub
GitHub - MichiTheCat-RedStar/teaOGL-tool: GGUF download tool for Ollama | Инструмент для загрузки GGUF в Ollama
GGUF download tool for Ollama | Инструмент для загрузки GGUF в Ollama - MichiTheCat-RedStar/teaOGL-tool
❤1
Кстати, возвращаясь к изначальной идеи канала, я хочу вспомнить Mindustry, так как недавно опять вернулся в эту игру, после чего вспомнил, что я же не новичок, а продвинутый игрок... Знаю почему пластановый конвейер можно использовать вместо маршрутизатора, знаю почему сам маршрутизатор или перекрёсток лучше не использовать, знаю как в два раза можно ускорить любую дорожку используя избыточные затворы, знаю как программировать на mlog (процессорах в игре (до обновления с подсказками методом тыка было интересно изучать новое, а теперь и документация есть)), знаю почему шахматы неудобные, а так же зачем нужен диод...
В общем, пора вернуться в игру, ведь она написана на Java, моды для неё на JavaScript... Я поизучал Java и JavaScript относительно Python (может это и тупо, но дало сравнение JIT Java и построчной интерпретации питоновского байткода), а так же было желание сделать компилятор кода в mlog, но вроде меня опередили... Просто самому циклы раскладывать для оптимизации из реального кода было бы прикольно, наверно, но это была бы надстройка со своим синтаксисом, пропадал бы вроде смысл, но фактически это была бы надстройка над машинным кодом, хотя скорее ассемблером, в плане того, что mlog однострочный, скорее схож с BASIC
В общем, всё супер и круто, я думаю что смог бы Mindustry где-то запустить или как-то отправлять вам мои скриншоты.. Мне просто нравится идея того, что создание заводов в игре - такое же программирование, только более гибкое что-ли, прощающее ошибки, а сами элементы программирования тем более люблю... Типа, можно же прикрутить солнечную панель к процессору, зная сколько она даёт энергии при 100% освещения калькулировать и понимать сколько света есть сейчас.. Это прикольно, может можно где-то использовать, например как часы, но для этого нужна ясная погода...
В общем, опять я всем рекомендую Mindustry, учитывая ещё, что она и бесплатная, так как open source, разве что платная в стим из-за доступа к фишкам стим...
В общем, пора вернуться в игру, ведь она написана на Java, моды для неё на JavaScript... Я поизучал Java и JavaScript относительно Python (может это и тупо, но дало сравнение JIT Java и построчной интерпретации питоновского байткода), а так же было желание сделать компилятор кода в mlog, но вроде меня опередили... Просто самому циклы раскладывать для оптимизации из реального кода было бы прикольно, наверно, но это была бы надстройка со своим синтаксисом, пропадал бы вроде смысл, но фактически это была бы надстройка над машинным кодом, хотя скорее ассемблером, в плане того, что mlog однострочный, скорее схож с BASIC
В общем, всё супер и круто, я думаю что смог бы Mindustry где-то запустить или как-то отправлять вам мои скриншоты.. Мне просто нравится идея того, что создание заводов в игре - такое же программирование, только более гибкое что-ли, прощающее ошибки, а сами элементы программирования тем более люблю... Типа, можно же прикрутить солнечную панель к процессору, зная сколько она даёт энергии при 100% освещения калькулировать и понимать сколько света есть сейчас.. Это прикольно, может можно где-то использовать, например как часы, но для этого нужна ясная погода...
В общем, опять я всем рекомендую Mindustry, учитывая ещё, что она и бесплатная, так как open source, разве что платная в стим из-за доступа к фишкам стим...
❤1
Технологии Чайника
Кстати, возвращаясь к изначальной идеи канала, я хочу вспомнить Mindustry, так как недавно опять вернулся в эту игру, после чего вспомнил, что я же не новичок, а продвинутый игрок... Знаю почему пластановый конвейер можно использовать вместо маршрутизатора…
Буферизация, мысли о стеке, ассемблер и GUI...
Я выгорел от программирования всё это лето, не программирую уже третью неделю, не считая совсем уж мелочи какие-то... Но тут неожиданно меня именно mlog в Mindustry вернул в желание программировать...
Команды в mlog идут последовательно:
В графической оболочке внутри самого Mindustry более понятно, но тут суть в том, что я добавляю в буфер сообщений
По итогу выводится:
И вот такое это подобие ассемблера, где надо думать над оптимизацией... у каждого процессора своя скорость, у маленького три тика в секунду, если я не путаю... У большого уже значительно больше... И тут как раз и раскрывается оптимизация, в том, что я могу менять color для следующий команды каждый тик, но тогда будет медленно работать команда, поэтому выгоднее не менять color каждый тик, а отрисовывать многоугольники одинаковых цветов сразу, ну и прочие такие мелочи...
А самое интересное, что я вчера делал радар... Он работал так, что у меня есть туррель, она ищет ближайшего игрока в области видимости привязанной туррели и через сенсоры и внутреннюю арифметику я высчитывал где находится игрок относительно радара... Но суть в том, что это работало медленно: я сначала рисовал весь фон, необходимый для корректного отображения, чтобы понимать что происходит, а только потом логику радара после отрисовки фона... Ну и конечно всё работало медленно, ведь отрисовка забирала все тики и логика обновлялась редко...
Потом я поставил большой процессор - он уже работал быстрее, а так же я провёл явную оптимизацию, как раз до минимума убрав лишнее переключение команду туда и обратно и смог сделать возможным отображать двух игроков сразу на радаре, при этом увеличив скорость (суть в том, что я ставлю блок туррели, привязываю к процессору, потом туррель через свои функции ищет находящихся в своём радиусе игрока, только одного, потом долгой арифметикой я превращаю абстрактного "Игрока" в координаты, где он находится, его имя и прочее)
Но потом пришла в голову гениальная идея...
Сначала думал сделать 4 маленьких процессора - первый отрисовывает фон, а другие отрисовывают найденных игроков, по итогу игроки как и на радаре имеют эффект "Мигания", ведь перерисовка фона каждый раз накладывается сверху на дисплей, как и отрисовка игрока, но потом я понял, что их можно подружить... и тут уже вопрос в реализации, но ясно одно: должен быть один большой процессор и несколько маленьких
Можно сделать либо так, что большой процессор отрисовывает фон и просчитывает логику, общаясь через ячейку памяти с четырьмя процессорами (ячейка памяти - хранилище только чисел в 8 ячейках, то есть подобие стека, а только 4 процессора, потому что один процессор хранил бы X и Y игрока - пара значений, словно специальная аналогия с парами байтов во взрослом программировании), а маленькие процессоры бы просто отрисовывали игроков, ещё и получая информацию об их нахождении
Либо можно сделать так, чтобы большой процессор регулировал прерывания, то есть динамически проверял на какой сейчас строке находятся маленькие процессоры (реализация через
Я выгорел от программирования всё это лето, не программирую уже третью неделю, не считая совсем уж мелочи какие-то... Но тут неожиданно меня именно mlog в Mindustry вернул в желание программировать...
Команды в mlog идут последовательно:
print "Числа 1-5: "
set i 1
print i
op add i i 1
jump 2 lessThanEq i 5
printflush message1
В графической оболочке внутри самого Mindustry более понятно, но тут суть в том, что я добавляю в буфер сообщений
"Числа 1-5: ", потом задаю переменную i как 1, потом добавляю к i 1, потом прыгаю на вторую строку - это добавление i в буфер текста и команды ниже, учитывая, что идём сверху вниз, но прыгаем только если i <= 5, а иначе прыжка не будет и выполнится команда ниже, а она сбрасывает текстовый буфер, выводя его в message1 - это блок сообщения стоящий рядом, к которому привязал процессор...По итогу выводится:
"Числа 1-5: 12345"И вот такое это подобие ассемблера, где надо думать над оптимизацией... у каждого процессора своя скорость, у маленького три тика в секунду, если я не путаю... У большого уже значительно больше... И тут как раз и раскрывается оптимизация, в том, что я могу менять color для следующий команды каждый тик, но тогда будет медленно работать команда, поэтому выгоднее не менять color каждый тик, а отрисовывать многоугольники одинаковых цветов сразу, ну и прочие такие мелочи...
А самое интересное, что я вчера делал радар... Он работал так, что у меня есть туррель, она ищет ближайшего игрока в области видимости привязанной туррели и через сенсоры и внутреннюю арифметику я высчитывал где находится игрок относительно радара... Но суть в том, что это работало медленно: я сначала рисовал весь фон, необходимый для корректного отображения, чтобы понимать что происходит, а только потом логику радара после отрисовки фона... Ну и конечно всё работало медленно, ведь отрисовка забирала все тики и логика обновлялась редко...
Потом я поставил большой процессор - он уже работал быстрее, а так же я провёл явную оптимизацию, как раз до минимума убрав лишнее переключение команду туда и обратно и смог сделать возможным отображать двух игроков сразу на радаре, при этом увеличив скорость (суть в том, что я ставлю блок туррели, привязываю к процессору, потом туррель через свои функции ищет находящихся в своём радиусе игрока, только одного, потом долгой арифметикой я превращаю абстрактного "Игрока" в координаты, где он находится, его имя и прочее)
Но потом пришла в голову гениальная идея...
Сначала думал сделать 4 маленьких процессора - первый отрисовывает фон, а другие отрисовывают найденных игроков, по итогу игроки как и на радаре имеют эффект "Мигания", ведь перерисовка фона каждый раз накладывается сверху на дисплей, как и отрисовка игрока, но потом я понял, что их можно подружить... и тут уже вопрос в реализации, но ясно одно: должен быть один большой процессор и несколько маленьких
Можно сделать либо так, что большой процессор отрисовывает фон и просчитывает логику, общаясь через ячейку памяти с четырьмя процессорами (ячейка памяти - хранилище только чисел в 8 ячейках, то есть подобие стека, а только 4 процессора, потому что один процессор хранил бы X и Y игрока - пара значений, словно специальная аналогия с парами байтов во взрослом программировании), а маленькие процессоры бы просто отрисовывали игроков, ещё и получая информацию об их нахождении
Либо можно сделать так, чтобы большой процессор регулировал прерывания, то есть динамически проверял на какой сейчас строке находятся маленькие процессоры (реализация через
#links для удобства и да, можно проверить на какой сейчас строке процессор), а потом большой процессор просто "Усыплял" процессоры маленькие, пока он сам не отрисует фон, в итоге фон опять перекрывает старые отрисовки, чтобы не было как в старой Windows с отрисовкой окна бесконечно прыгающим эффектом, но при этом и будут поверх уже отрисовываться игроки с помощью маленьких процессоров, в итоге получится обычная синхронизация, которая будет быстро работать из-за скорости большого процессора❤1
Технологии Чайника
Кстати, возвращаясь к изначальной идеи канала, я хочу вспомнить Mindustry, так как недавно опять вернулся в эту игру, после чего вспомнил, что я же не новичок, а продвинутый игрок... Знаю почему пластановый конвейер можно использовать вместо маршрутизатора…
В общем, я очень шокирован, что программирование в видеоигре, к тому же такое низкоуровневое, дало мне радость и желание опять заняться кодом... Хоть и не "Взрослым"))
❤2
Узнал о p5-python
Что думаете, стоит заняться изучением библиотеки ради повторения опыта с процессорами из Mindustry, только в python? Либо пустая трата времени?
Что думаете, стоит заняться изучением библиотеки ради повторения опыта с процессорами из Mindustry, только в python? Либо пустая трата времени?
Пока все спали - с создания своего ЯПа и выгорания от force push, что заставил меня разобраться в git и начать его использовать, а не бояться, я перешёл на создание своего ядра
Понял работу указателей в C, сахара на уровне сырого железа и перешёл в защищённый режим...
Понял работу указателей в C, сахара на уровне сырого железа и перешёл в защищённый режим...
❤2🔥1
Технологии Чайника
Пока все спали - с создания своего ЯПа и выгорания от force push, что заставил меня разобраться в git и начать его использовать, а не бояться, я перешёл на создание своего ядра Понял работу указателей в C, сахара на уровне сырого железа и перешёл в защищённый…
teaKernel.iso
4.9 MB
Технологии Чайника
Пока все спали - с создания своего ЯПа и выгорания от force push, что заставил меня разобраться в git и начать его использовать, а не бояться, я перешёл на создание своего ядра Понял работу указателей в C, сахара на уровне сырого железа и перешёл в защищённый…
Я там это, создал уже интерактив и ISO, но если что, не советую проверять на реальном железе, пока нет прерывания и процессор забит будет на 100%, используйте эмулятор...
Репозиторий: https://github.com/MichiTheCat-RedStar/teaKernel
Репозиторий: https://github.com/MichiTheCat-RedStar/teaKernel
❤4
Бессонная ночь и вот я вам предоставляю своё ядро в виде браузерной версии!
Но учтите, оно работает через
https://michithecat-redstar.github.io/teaKernel/
Но учтите, оно работает через
v86 от чего есть явные несоответствия с реальным ядромhttps://michithecat-redstar.github.io/teaKernel/
❤2
Технологии Чайника
Делайте ставки что вырастет следующим Думаю ответ очевиден
Я не знаю какие были ставки, но пока такая динамика, что C становится ещё больше и.. Неожиданно появляется HTML!
Напоминание о ядре
Напоминание о ядре
https://github.com/MichiTheCat-RedStar/teaKernel/tree/9035b97fe0ca9a12d415b75d8763c1db8e7eece2/trash/tests/test17%20(WIP)
Что думаете, стоит ли открыть для контрибьютеров текст? Типа, продолжать ли вести это как соло проект?
Напоминание о ядре
https://github.com/MichiTheCat-RedStar/teaKernel/tree/9035b97fe0ca9a12d415b75d8763c1db8e7eece2/trash/tests/test17%20(WIP)
Что думаете, стоит ли открыть для контрибьютеров текст? Типа, продолжать ли вести это как соло проект?
https://github.com/MichiTheCat-RedStar/teaKernel
Ставьте звёзды под мой репозиторий, мне интересно сколько человек в канале в принципе может поставить звёзды... Пожалуйста!
Ставьте звёзды под мой репозиторий, мне интересно сколько человек в канале в принципе может поставить звёзды... Пожалуйста!
GitHub
GitHub - MichiTheCat-RedStar/teaKernel: Попытки и тесты создать своё ядро, конкретнее эксперементы в виде тестов и разных шагов…
Попытки и тесты создать своё ядро, конкретнее эксперементы в виде тестов и разных шагов, что позволяют лучше понять низкоуровневое программирование, самое близкое к железу, а так же уже позволило м...
🔥2
Вот вам ссылка на мои шпаргалки:
https://github.com/MichiTheCat-RedStar/MichiTheCat-RedStar/tree/main/%D0%A8%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8
https://github.com/MichiTheCat-RedStar/MichiTheCat-RedStar/tree/main/%D0%A8%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8
GitHub
MichiTheCat-RedStar/Шпаргалки at main · MichiTheCat-RedStar/MichiTheCat-RedStar
Описание меня! Мой Профиль! Всякие важные мне файлы! Файлики! Файлюшки и я! Описание меня и моих файлов! И моего профиля! Мои стандарты, шпаргалки и прочее! Ура! Эх... - MichiTheCat-RedStar/MichiTh...
🤝1