Технологии Чайника
41 subscribers
283 photos
15 videos
175 files
69 links
Отчаянные технологии...

> https://t.me/teaspot500
Download Telegram
RandomIMG.py
2.3 KB
Я соскучился по чувству, когда просто объявлял переменные, баловался с random и прочее... Типа, вот это чувство, когда ты не пишешь код, а напрямую играешь с языком, либо когда изучаешь его и хочешь выйти за рамки документации методом подобного тыка, сам себе создавая проблемы и их решая...

В общем, раньше только это было магией, а сейчас print(2+2) точно выдаст 4, можно даже не запускать... и как раз это я и хотел забыть, но не сбрасывая опыт, в общем вот, опять баловался как в старые-добрые времена, но даже тут видны мои загоны и прочее из-за того, что навыки выросли, хоть и для написания кода было задействовано 12% мышления
🤝1
Бинго программиста по мнению ИИ, отмечаемся?
😁1
Я там проект новый начал, он пока пустой... Но уже новое для меня: с нуля сам пишу таблицы под Markdown, а так же начал работать с git, которого раньше боялся... В общем, обучаемся)
🙏1
Технологии Чайника
Я там проект новый начал, он пока пустой... Но уже новое для меня: с нуля сам пишу таблицы под Markdown, а так же начал работать с git, которого раньше боялся... В общем, обучаемся)
В общем, проект до ума доведён всего за два часика, пока ещё без обработки ошибок и прочего но опять я совместил приятное с полезным:

Делать инструмент в 25 строк кода на питоне - не мой уровень уже, особенно так пафосно публикуя, судя по ReadMe

Тут же я взял конкретную проблему - страх перед созданием Modelfile, загрузки GGUF в Ollama и оптимизировал это создав бинарники, в итоге я сделал и инструмент, что мои нужды закрывает и может нужды кого ещё, так ещё и не грустно было от малого количества строк, ведь решил это тем, что они не на Python - подучил Nim ещё лучше

В общем, кому тоже будет полезно, то вот, но это прям очень компактная тулза на сонную голову, уверен утром буду удивлён от того что натворил, что перепишу)

https://github.com/MichiTheCat-RedStar/teaOGL-tool
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
Кстати, возвращаясь к изначальной идеи канала, я хочу вспомнить Mindustry, так как недавно опять вернулся в эту игру, после чего вспомнил, что я же не новичок, а продвинутый игрок... Знаю почему пластановый конвейер можно использовать вместо маршрутизатора, знаю почему сам маршрутизатор или перекрёсток лучше не использовать, знаю как в два раза можно ускорить любую дорожку используя избыточные затворы, знаю как программировать на mlog (процессорах в игре (до обновления с подсказками методом тыка было интересно изучать новое, а теперь и документация есть)), знаю почему шахматы неудобные, а так же зачем нужен диод...

В общем, пора вернуться в игру, ведь она написана на Java, моды для неё на JavaScript... Я поизучал Java и JavaScript относительно Python (может это и тупо, но дало сравнение JIT Java и построчной интерпретации питоновского байткода), а так же было желание сделать компилятор кода в mlog, но вроде меня опередили... Просто самому циклы раскладывать для оптимизации из реального кода было бы прикольно, наверно, но это была бы надстройка со своим синтаксисом, пропадал бы вроде смысл, но фактически это была бы надстройка над машинным кодом, хотя скорее ассемблером, в плане того, что mlog однострочный, скорее схож с BASIC

В общем, всё супер и круто, я думаю что смог бы Mindustry где-то запустить или как-то отправлять вам мои скриншоты.. Мне просто нравится идея того, что создание заводов в игре - такое же программирование, только более гибкое что-ли, прощающее ошибки, а сами элементы программирования тем более люблю... Типа, можно же прикрутить солнечную панель к процессору, зная сколько она даёт энергии при 100% освещения калькулировать и понимать сколько света есть сейчас.. Это прикольно, может можно где-то использовать, например как часы, но для этого нужна ясная погода...

В общем, опять я всем рекомендую Mindustry, учитывая ещё, что она и бесплатная, так как open source, разве что платная в стим из-за доступа к фишкам стим...
❤1
Технологии Чайника
Кстати, возвращаясь к изначальной идеи канала, я хочу вспомнить Mindustry, так как недавно опять вернулся в эту игру, после чего вспомнил, что я же не новичок, а продвинутый игрок... Знаю почему пластановый конвейер можно использовать вместо маршрутизатора…
Буферизация, мысли о стеке, ассемблер и GUI...

Я выгорел от программирования всё это лето, не программирую уже третью неделю, не считая совсем уж мелочи какие-то... Но тут неожиданно меня именно 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
Узнал о p5-python

Что думаете, стоит заняться изучением библиотеки ради повторения опыта с процессорами из Mindustry, только в python? Либо пустая трата времени?
Пока все спали - с создания своего ЯПа и выгорания от force push, что заставил меня разобраться в git и начать его использовать, а не бояться, я перешёл на создание своего ядра

Понял работу указателей в C, сахара на уровне сырого железа и перешёл в защищённый режим...
❤2🔥1
Делайте ставки что вырастет следующим
Думаю ответ очевиден
🤔2
Бессонная ночь и вот я вам предоставляю своё ядро в виде браузерной версии!
Но учтите, оно работает через v86 от чего есть явные несоответствия с реальным ядром

https://michithecat-redstar.github.io/teaKernel/
❤2
Технологии Чайника
Делайте ставки что вырастет следующим Думаю ответ очевиден
Я не знаю какие были ставки, но пока такая динамика, что C становится ещё больше и.. Неожиданно появляется HTML!