“It works on real operating systems Linux, unfortunately I got some reports from a video game os called.. doors? Oh yea its windows, kind of expected” That line got me 😂😂
@@jacksonlevine9236 On win32, you can read and write to the console text buffer directly, basically like drawing pixels on a screen. I've done double buffered text terminal stuff that way, don't recommend though, it's a bit of a pain.
Yeah, I wish I could understand everything he's doing. I'm even struggling with some very normal concepts in Javascript... :( To be honest, If I could make one wish, I'd probably do like most people and go directly for a large sum of money instead of learning anything. Then a big secured money delivery vehicle would probably crash in my apartment and render me paralyzed for the rest of my life. (We should be careful what we wish for.)
you know your opinions are quite extreme but in all honesty im here for the constant jabs at anything that doesnt agree with you 😆 keep making content like this
The reason why most people have problems with their terminal is because they're using the curse-or instead of abbreviating the variable name to just cur. And let me tell you, using the curses library doesn't help, especially when you set the output to hex. Just asking for trouble. God help you if you select things with witches. Hopefully you have an escape broom.
Maybe I just couldn't follow, but is there any reason for having two buffers and calculating the diff instead of having a Patches vec that gets cleared every frame and appending to it on put_cell / put_cells?
if you replace the value of one cell many times it would create an element in the patches array for every operation, while having a second buffer replaces that element directly and only one operation is needed to draw it
I am an linux user since the ages, but why the gaming's guy didn't try to run the app under linux (ubuntu) shell? I think it should be still available for the gaming os users, isn't it? xD Great quote Tsoding :D
Yes but most of the website layouts are not displayed correctly, i am thinking about a solution that extracts only text content then format it in a standard way like markdown
глобальный смысл следующий: напишите собственную консоль, на собственном рендере, с собственным пулом команд, и возможностью подключения внешнего буфера строк есть процесс, в нём два потока - основной и поток рендера если вы меняете буфер в основном потоке, то поток рендера чекает буфер и выводит изменения в буфере строк понятное дело что если изменений нет - то перерендер не нужен, а если изменения есть - то гребите с конца буфера последние 25 строк и рендерьте их и естественно нужен фпс-лимитер, на 15фпс-ов или сколько вам там нужно это не суть смысл - внешний буфер работает в основном потоке и делайте с ним что хотите, а поток рендера чекает изменения и выводит эти изменения всё это работает БЕЗ блокировок вообще и т.к. поток рендера чекает изменения редко, то в буфер можете валить хоть миллиарды строк - рендер отрендерит без проблем миллиарды строк, и на самом деле - нет, рендер отрендеривает последние 25, со скоростью 15фпс-ов, т.е. если закидываете на вывод миллиард - бОльшая часть будет просто скипнута рендером итого: сколько бы вы строк не забрасывали в консоль - консоль строчки прожуёт и выведет это самое главное в консоли - что бы она не жрала память на рендере второе главное - рендер не должен блокировать основной поток, это там где буфер болтается всё остальное уже фигня) можете накрутить на это всё что хотите, собственный буфер команд, режим терминала, шифрование из коробки итд итп у меня собственная консоль используется в качестве ядра любого процесса-модуля, потому что мои приложения многопроцессовые все так вот каждый процесс-модуль запускается в моей консоли, и каждая исполняемая часть модуля запускается набором команд, но команды можно ловить из внешнего буфера сколько бы их ни было - они все заюзаются с разделяемой памяти в итоге моё по - это например пять процессов и соответственно пять консолей где консоли сами себе и друг другу команды пишут и исполняют их, а я это всё вижу глазками))) все ошибки вижу, время исполнения, всё это пишется в логи автоматом, итд итп смысл: можно вмешиваться в процессы через консоли и отлаживать всё это дело, потому что вменяемых многопроцессовых отладчиков не существует щяс я на этапе того, что бы мои процессы-консоли общались друг с другом удалённо, ну что бы в итоге получить быстрое банальное развёртывание децентрализованных приложений - собственно и всё) на этом можно ехать хоть куда и писать абсолютно всё
и да, эта самописная консоль жрёт при 15фпс-ах аж 0.2% ядра, т.е. четыре консоли враз отрендеривая любое кол-во строк - выжрут не более 1% процессора, а так и есть - тесты именно это и показывают тестовый проц - intel gen3, i5 3570k без фпс-лимитера оно выдаёт 1000+ фпс-ов, причём БЕЗ драйвера видеокарты, он нахрен не нужен, т.к. юзается галимый гди, а гди может ВСЁ из коробки, и это супербыстрый рендер, работающий тупо на проце
You can do everything, even the horrible (but idiomatic 😂) functional style programming like in (about) 1:04:00 😮😊... edit. needed to fix enumerate thingy in (about) 1:20:50 edit2. That iterator thingie is actually readable after reading Rust iterator docs for 1/2 an hour 🤣...
@@MyManJohnny windows is shit filled with bloat, spyware and ads not to mention it is slow as faq nothing runs without a dozen versions of visual c++ runtime viruses ravage it as if there was no security at all
Adds? Bloat? What are you talking about.. There are no adds.. By mentioning the dozen versions of c++ runtime you've confirmed what I said and I have no fucking clue what viruses are you talking about. If you manage to get a virus with active defender, it's your fault, you should know better and not install stuff from the sketchies websites you can find on the internet.
this guy can never run out of content
as long as new javascript libraries keep coming, we wont run out of content
@@pagenotfound_code_404 amen brotha 🤠
Probably there are more than 10 videos upcaming. This guy studies before stream and then streams. Walking treasure
He is not a guy .. he is a talented programmer
fr
“It works on real operating systems Linux, unfortunately I got some reports from a video game os called.. doors? Oh yea its windows, kind of expected”
That line got me 😂😂
What’s the timing?
Doors - operating system for gaming. Pi Doors - Raspberry Pi build of Doors OS for gaming,
@@itsdrdy5551 3:08
3:10 is the reason I watch this guy haha
I don't know what l like the most. Either his irony or his wisdom ❤
add a count element so we can see in real time in the terminal how many users are connected
yeah it would be a cosmetic and a bit of use for uh special people
@@legendragswho are the special Bros
Ok, so Windows Terminal is so slow that if you simply do a clear and then re-render the screen basically blinks? Is that really the case?
I think we need to do a PhD research to figure that out.
That is simply not true. I have done many terminal-based apps that require a high fps and they work just fine... if done correctly.
@@morphx666 Could you briefly summarize the correct way? I am curious
@@jacksonlevine9236 with unreal engine
@@jacksonlevine9236 On win32, you can read and write to the console text buffer directly, basically like drawing pixels on a screen. I've done double buffered text terminal stuff that way, don't recommend though, it's a bit of a pain.
WHEN I SEE YOUR VIDEOS I JUST SIMPLY SAY: "WTF IS THAT POSSİBLE?!?!?!" "BUT WHYY?!?!" (btw I love ur channel, ur so good)
Yeah, I wish I could understand everything he's doing. I'm even struggling with some very normal concepts in Javascript... :(
To be honest, If I could make one wish, I'd probably do like most people and go directly for a large sum of money instead of learning anything. Then a big secured money delivery vehicle would probably crash in my apartment and render me paralyzed for the rest of my life. (We should be careful what we wish for.)
@@Alfred-Neuman Lmao
„twitter is very dangerous website, with propaganda“ -Rexim, 2023.9
haha yes, react for terminal
the circus-clown architecture gets me every time
I'm so confused why he's using &[char] instead of &str and then constantly complaining about needing to convert his strings into &[char]
Is it Mr. Zoozin' ?
a-mista a-zozin
tsoding pronounced zoozin
you know your opinions are quite extreme but in all honesty im here for the constant jabs at anything that doesnt agree with you 😆 keep making content like this
no flickering in 4at now, but lots of flickering in the most radioactive region of Siberia...
Building Virtual Dome next
The reason why most people have problems with their terminal is because they're using the curse-or instead of abbreviating the variable name to just cur. And let me tell you, using the curses library doesn't help, especially when you set the output to hex. Just asking for trouble. God help you if you select things with witches. Hopefully you have an escape broom.
1:36:30 would wine work?
I think I can remember that you used it once before but I’m not shure.
Doors!!! hahaha, you got me thinking
You can rebind the tmux keys to keep the same directory for new windows/panes.
JSX for terminal when???
unfortunately it already exists, google "react ink"
Dioxus and React Ink already provides that.
For copying the buf_curr to buf_prev, could you just put_cell each time you render a patch cell?
Maybe I just couldn't follow, but is there any reason for having two buffers and calculating the diff instead of having a Patches vec that gets cleared every frame and appending to it on put_cell / put_cells?
if you replace the value of one cell many times it would create an element in the patches array for every operation, while having a second buffer replaces that element directly and only one operation is needed to draw it
@@pwii oh, makes sense. Hadn't thought of that. Thanks for the response
Maybe Chrome has to send your keystrokes to a server before they show up
Doors OS? More like Backdoors OS :D
I am an linux user since the ages, but why the gaming's guy didn't try to run the app under linux (ubuntu) shell? I think it should be still available for the gaming os users, isn't it? xD Great quote Tsoding :D
I always forget the name of the other operating system. Doors. Thanks for reminding me about it.
thx i thought it was trapdoors
crossterm team could add that code as a feature maybe.
Too high level KEKW
I haven't seen the video yet ,please tell me you are trying to fix the web by building a text-based terminal browser 🤩
lynx exists, it works about as well as you'd expect for a terminal browser
Yes but most of the website layouts are not displayed correctly, i am thinking about a solution that extracts only text content then format it in a standard way like markdown
i think they introduced that delay in the search bar so it won't take forever when it's searching for one letter in a really big document.
the GOAT i do believe
29:17 beatboxing is essential when resizing buffers
❤
Ansi spells not working? Perhaps for the better.
глобальный смысл следующий:
напишите собственную консоль, на собственном рендере, с собственным пулом команд, и возможностью подключения внешнего буфера строк
есть процесс, в нём два потока - основной и поток рендера
если вы меняете буфер в основном потоке, то поток рендера чекает буфер и выводит изменения в буфере строк
понятное дело что если изменений нет - то перерендер не нужен, а если изменения есть - то гребите с конца буфера последние 25 строк и рендерьте их
и естественно нужен фпс-лимитер, на 15фпс-ов или сколько вам там нужно это не суть
смысл - внешний буфер работает в основном потоке и делайте с ним что хотите, а поток рендера чекает изменения и выводит эти изменения
всё это работает БЕЗ блокировок вообще
и т.к. поток рендера чекает изменения редко, то в буфер можете валить хоть миллиарды строк - рендер отрендерит без проблем миллиарды строк, и на самом деле - нет, рендер отрендеривает последние 25, со скоростью 15фпс-ов, т.е. если закидываете на вывод миллиард - бОльшая часть будет просто скипнута рендером
итого:
сколько бы вы строк не забрасывали в консоль - консоль строчки прожуёт и выведет
это самое главное в консоли - что бы она не жрала память на рендере
второе главное - рендер не должен блокировать основной поток, это там где буфер болтается
всё остальное уже фигня)
можете накрутить на это всё что хотите, собственный буфер команд, режим терминала, шифрование из коробки итд итп
у меня собственная консоль используется в качестве ядра любого процесса-модуля, потому что мои приложения многопроцессовые все
так вот каждый процесс-модуль запускается в моей консоли, и каждая исполняемая часть модуля запускается набором команд, но команды можно ловить из внешнего буфера сколько бы их ни было - они все заюзаются с разделяемой памяти
в итоге моё по - это например пять процессов и соответственно пять консолей где консоли сами себе и друг другу команды пишут и исполняют их, а я это всё вижу глазками))) все ошибки вижу, время исполнения, всё это пишется в логи автоматом, итд итп
смысл: можно вмешиваться в процессы через консоли и отлаживать всё это дело, потому что вменяемых многопроцессовых отладчиков не существует
щяс я на этапе того, что бы мои процессы-консоли общались друг с другом удалённо, ну что бы в итоге получить быстрое банальное развёртывание децентрализованных приложений - собственно и всё) на этом можно ехать хоть куда и писать абсолютно всё
и да, эта самописная консоль жрёт при 15фпс-ах аж 0.2% ядра, т.е. четыре консоли враз отрендеривая любое кол-во строк - выжрут не более 1% процессора, а так и есть - тесты именно это и показывают
тестовый проц - intel gen3, i5 3570k
без фпс-лимитера оно выдаёт 1000+ фпс-ов, причём БЕЗ драйвера видеокарты, он нахрен не нужен, т.к. юзается галимый гди, а гди может ВСЁ из коробки, и это супербыстрый рендер, работающий тупо на проце
Russia has Adderall too?
I forgor Windows isn't **real** operating system
My favorite React channel < 3
This title made me faint. Hope this is not true.
So cool
very cool episode
Damn you grew up in Russia during the 90s, good to see you found success
istg i had that idea yesterday
hello mr zozin
4:25 no way, tsoding shows windows propaganda content on youtube!
You can do everything, even the horrible (but idiomatic 😂) functional style programming like in (about) 1:04:00 😮😊...
edit. needed to fix enumerate thingy in (about) 1:20:50
edit2. That iterator thingie is actually readable after reading Rust iterator docs for 1/2 an hour 🤣...
gotta be honest .tv is not television but tuvalu.
Let's rewrite life in Rust
маленькие мягкие окна
одобряю всецело
Operating system for video games 🤣😂
Can you please 1 time spell out your name for me?
T s o d i n g
did that help
nah the place where he says Amista Azuzin idk@@cobbcoding
@@cobbcodingnow can you spell all the numbers in your credit card ? Thanks
@@MemeConnoisseur9 1 1
Bruh, stap!
Sub for life here lol ty for this vid
React in my terminal is a hell no.
Open the nindow
ono
Windows is bad!!!!
Why is that? Is it because windows focuses mainly on experience of regular people and not developers?
@@MyManJohnny windows is shit filled with bloat, spyware and ads not to mention it is slow as faq nothing runs without a dozen versions of visual c++ runtime viruses ravage it as if there was no security at all
Adds? Bloat? What are you talking about.. There are no adds.. By mentioning the dozen versions of c++ runtime you've confirmed what I said and I have no fucking clue what viruses are you talking about. If you manage to get a virus with active defender, it's your fault, you should know better and not install stuff from the sketchies websites you can find on the internet.
yes
win7 are gud!!!
no please!
a Gaming-TTY™