Virtual DOM for Your Terminal

Поделиться
HTML-код
  • Опубликовано: 27 янв 2025

Комментарии • 103

  • @thisguyisnotable
    @thisguyisnotable Год назад +175

    this guy can never run out of content

    • @pagenotfound_code_404
      @pagenotfound_code_404 Год назад +26

      as long as new javascript libraries keep coming, we wont run out of content

    • @thisguyisnotable
      @thisguyisnotable Год назад +1

      @@pagenotfound_code_404 amen brotha 🤠

    • @ruchanadguzel1237
      @ruchanadguzel1237 Год назад +12

      Probably there are more than 10 videos upcaming. This guy studies before stream and then streams. Walking treasure

    • @Anubis10110
      @Anubis10110 Год назад +4

      He is not a guy .. he is a talented programmer

    • @LSHV
      @LSHV Год назад

      fr

  • @bresent
    @bresent Год назад +162

    “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 😂😂

    • @itsdrdy5551
      @itsdrdy5551 Год назад +1

      What’s the timing?

    • @dnkreative
      @dnkreative Год назад +3

      Doors - operating system for gaming. Pi Doors - Raspberry Pi build of Doors OS for gaming,

    • @ZaaackBR
      @ZaaackBR Год назад +1

      @@itsdrdy5551 3:08

  • @hamzadlm6625
    @hamzadlm6625 Год назад +17

    3:10 is the reason I watch this guy haha

  • @jaumeguimeramarquez2244
    @jaumeguimeramarquez2244 Год назад +12

    I don't know what l like the most. Either his irony or his wisdom ❤

  • @itsdrdy5551
    @itsdrdy5551 Год назад +36

    add a count element so we can see in real time in the terminal how many users are connected

    • @legendrags
      @legendrags Год назад +3

      yeah it would be a cosmetic and a bit of use for uh special people

    • @korigamik
      @korigamik Год назад +1

      ​@@legendragswho are the special Bros

  • @necuz
    @necuz Год назад +22

    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?

    • @TsodingDaily
      @TsodingDaily  Год назад +32

      I think we need to do a PhD research to figure that out.

    • @morphx666
      @morphx666 Год назад +3

      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.

    • @jacksonlevine9236
      @jacksonlevine9236 Год назад +16

      ​@@morphx666 Could you briefly summarize the correct way? I am curious

    • @typedef_
      @typedef_ Год назад +1

      @@jacksonlevine9236 with unreal engine

    • @SeishukuS12
      @SeishukuS12 Год назад

      @@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.

  • @deno8322
    @deno8322 Год назад +30

    WHEN I SEE YOUR VIDEOS I JUST SIMPLY SAY: "WTF IS THAT POSSİBLE?!?!?!" "BUT WHYY?!?!" (btw I love ur channel, ur so good)

    • @Alfred-Neuman
      @Alfred-Neuman Год назад +6

      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.)

    • @deno8322
      @deno8322 Год назад +2

      @@Alfred-Neuman Lmao

  • @LSHV
    @LSHV Год назад +5

    „twitter is very dangerous website, with propaganda“ -Rexim, 2023.9

  • @labsendeyshent
    @labsendeyshent Год назад +13

    haha yes, react for terminal

  • @andreshockey
    @andreshockey Год назад +2

    the circus-clown architecture gets me every time

  • @yaksher
    @yaksher Год назад +5

    I'm so confused why he's using &[char] instead of &str and then constantly complaining about needing to convert his strings into &[char]

  • @God-i2
    @God-i2 Год назад +20

    Is it Mr. Zoozin' ?

    • @ekshalibur
      @ekshalibur Год назад +9

      a-mista a-zozin

    • @0ia
      @0ia Год назад +1

      tsoding pronounced zoozin

  • @merveillevaneck5906
    @merveillevaneck5906 8 месяцев назад +1

    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

  • @noctavel
    @noctavel Год назад +9

    no flickering in 4at now, but lots of flickering in the most radioactive region of Siberia...

  • @anon_y_mousse
    @anon_y_mousse Год назад +6

    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.

  • @lptimey
    @lptimey Год назад

    1:36:30 would wine work?
    I think I can remember that you used it once before but I’m not shure.

  • @quarxdmz
    @quarxdmz Год назад +5

    Doors!!! hahaha, you got me thinking

  • @rkdeshdeepak4131
    @rkdeshdeepak4131 Год назад +2

    You can rebind the tmux keys to keep the same directory for new windows/panes.

  • @cobbcoding
    @cobbcoding Год назад +8

    JSX for terminal when???

    • @TEHNOTRAHER
      @TEHNOTRAHER Год назад +1

      unfortunately it already exists, google "react ink"

    • @dealloc
      @dealloc Год назад +2

      Dioxus and React Ink already provides that.

  • @secondengineer9814
    @secondengineer9814 11 месяцев назад

    For copying the buf_curr to buf_prev, could you just put_cell each time you render a patch cell?

  • @phillipbeck886
    @phillipbeck886 Год назад +1

    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?

    • @pwii
      @pwii Год назад +2

      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

    • @phillipbeck886
      @phillipbeck886 Год назад

      @@pwii oh, makes sense. Hadn't thought of that. Thanks for the response

  • @BrandonWingerAir
    @BrandonWingerAir Год назад +3

    Maybe Chrome has to send your keystrokes to a server before they show up

  • @tomaspecl1082
    @tomaspecl1082 Год назад +7

    Doors OS? More like Backdoors OS :D

  • @pa-vl1kg
    @pa-vl1kg Месяц назад

    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

  • @HWeingard
    @HWeingard Год назад +6

    I always forget the name of the other operating system. Doors. Thanks for reminding me about it.

    • @LSHV
      @LSHV Год назад

      thx i thought it was trapdoors

  • @josedejesuslopezdiaz
    @josedejesuslopezdiaz Год назад +7

    crossterm team could add that code as a feature maybe.

  • @younesch1998
    @younesch1998 Год назад +6

    I haven't seen the video yet ,please tell me you are trying to fix the web by building a text-based terminal browser 🤩

    • @fiona9891
      @fiona9891 9 месяцев назад

      lynx exists, it works about as well as you'd expect for a terminal browser

    • @younesch1998
      @younesch1998 9 месяцев назад

      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

  • @fefeisbored1958
    @fefeisbored1958 Год назад

    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.

  • @tens0r884
    @tens0r884 Год назад +1

    the GOAT i do believe

  • @leigh7529
    @leigh7529 Год назад

    29:17 beatboxing is essential when resizing buffers

  • @averythin348
    @averythin348 Год назад +1

  • @djupstaten2328
    @djupstaten2328 Год назад

    Ansi spells not working? Perhaps for the better.

  • @AEF23C20
    @AEF23C20 Год назад +4

    глобальный смысл следующий:
    напишите собственную консоль, на собственном рендере, с собственным пулом команд, и возможностью подключения внешнего буфера строк
    есть процесс, в нём два потока - основной и поток рендера
    если вы меняете буфер в основном потоке, то поток рендера чекает буфер и выводит изменения в буфере строк
    понятное дело что если изменений нет - то перерендер не нужен, а если изменения есть - то гребите с конца буфера последние 25 строк и рендерьте их
    и естественно нужен фпс-лимитер, на 15фпс-ов или сколько вам там нужно это не суть
    смысл - внешний буфер работает в основном потоке и делайте с ним что хотите, а поток рендера чекает изменения и выводит эти изменения
    всё это работает БЕЗ блокировок вообще
    и т.к. поток рендера чекает изменения редко, то в буфер можете валить хоть миллиарды строк - рендер отрендерит без проблем миллиарды строк, и на самом деле - нет, рендер отрендеривает последние 25, со скоростью 15фпс-ов, т.е. если закидываете на вывод миллиард - бОльшая часть будет просто скипнута рендером
    итого:
    сколько бы вы строк не забрасывали в консоль - консоль строчки прожуёт и выведет
    это самое главное в консоли - что бы она не жрала память на рендере
    второе главное - рендер не должен блокировать основной поток, это там где буфер болтается
    всё остальное уже фигня)
    можете накрутить на это всё что хотите, собственный буфер команд, режим терминала, шифрование из коробки итд итп
    у меня собственная консоль используется в качестве ядра любого процесса-модуля, потому что мои приложения многопроцессовые все
    так вот каждый процесс-модуль запускается в моей консоли, и каждая исполняемая часть модуля запускается набором команд, но команды можно ловить из внешнего буфера сколько бы их ни было - они все заюзаются с разделяемой памяти
    в итоге моё по - это например пять процессов и соответственно пять консолей где консоли сами себе и друг другу команды пишут и исполняют их, а я это всё вижу глазками))) все ошибки вижу, время исполнения, всё это пишется в логи автоматом, итд итп
    смысл: можно вмешиваться в процессы через консоли и отлаживать всё это дело, потому что вменяемых многопроцессовых отладчиков не существует
    щяс я на этапе того, что бы мои процессы-консоли общались друг с другом удалённо, ну что бы в итоге получить быстрое банальное развёртывание децентрализованных приложений - собственно и всё) на этом можно ехать хоть куда и писать абсолютно всё

    • @AEF23C20
      @AEF23C20 Год назад +2

      и да, эта самописная консоль жрёт при 15фпс-ах аж 0.2% ядра, т.е. четыре консоли враз отрендеривая любое кол-во строк - выжрут не более 1% процессора, а так и есть - тесты именно это и показывают
      тестовый проц - intel gen3, i5 3570k
      без фпс-лимитера оно выдаёт 1000+ фпс-ов, причём БЕЗ драйвера видеокарты, он нахрен не нужен, т.к. юзается галимый гди, а гди может ВСЁ из коробки, и это супербыстрый рендер, работающий тупо на проце

    • @jacksonlevine9236
      @jacksonlevine9236 Год назад +1

      Russia has Adderall too?

  • @UnrealCatDev
    @UnrealCatDev Год назад +2

    I forgor Windows isn't **real** operating system

  • @Ross-ng4xl
    @Ross-ng4xl Год назад +1

    My favorite React channel < 3

  • @pe....
    @pe.... Год назад +3

    This title made me faint. Hope this is not true.

  • @hukunamutata
    @hukunamutata Год назад +2

    So cool

  • @cornjulio4033
    @cornjulio4033 Год назад

    very cool episode

  • @TheAlexgoodlife
    @TheAlexgoodlife Год назад +1

    Damn you grew up in Russia during the 90s, good to see you found success

  • @jiraibozo
    @jiraibozo Год назад +1

    istg i had that idea yesterday

  • @user-sb5vt8iy5q
    @user-sb5vt8iy5q Год назад +3

    hello mr zozin

  • @eldyj
    @eldyj Год назад

    4:25 no way, tsoding shows windows propaganda content on youtube!

  • @MrPetzold123
    @MrPetzold123 Год назад

    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 🤣...

  • @MrA6060
    @MrA6060 Год назад

    gotta be honest .tv is not television but tuvalu.

  • @neociber24
    @neociber24 Год назад +1

    Let's rewrite life in Rust

  • @jimshtepa5423
    @jimshtepa5423 Год назад +1

    маленькие мягкие окна

    • @AEF23C20
      @AEF23C20 Год назад

      одобряю всецело

  • @MrDody30
    @MrDody30 Год назад +3

    Operating system for video games 🤣😂

  • @briankrause5948
    @briankrause5948 Год назад +3

    Can you please 1 time spell out your name for me?

    • @cobbcoding
      @cobbcoding Год назад +7

      T s o d i n g
      did that help

    • @briankrause5948
      @briankrause5948 Год назад

      nah the place where he says Amista Azuzin idk@@cobbcoding

    • @MemeConnoisseur
      @MemeConnoisseur Год назад +2

      ​@@cobbcodingnow can you spell all the numbers in your credit card ? Thanks

    • @LSHV
      @LSHV Год назад

      @@MemeConnoisseur9 1 1

  • @G-lost109
    @G-lost109 Год назад

    Bruh, stap!

  • @benjamingriffith4991
    @benjamingriffith4991 Год назад

    Sub for life here lol ty for this vid

  • @pookiepats
    @pookiepats 9 месяцев назад

    React in my terminal is a hell no.

  • @BrandonWingerAir
    @BrandonWingerAir Год назад

    Open the nindow

  • @yablock0
    @yablock0 Год назад

    ono

  • @glowiak3430
    @glowiak3430 Год назад +6

    Windows is bad!!!!

    • @MyManJohnny
      @MyManJohnny Год назад

      Why is that? Is it because windows focuses mainly on experience of regular people and not developers?

    • @glowiak3430
      @glowiak3430 Год назад +1

      @@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

    • @MyManJohnny
      @MyManJohnny Год назад

      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.

    • @LSHV
      @LSHV Год назад

      yes

    • @ekshalibur
      @ekshalibur Год назад

      win7 are gud!!!

  • @ult1873
    @ult1873 Год назад

    no please!

  • @wchen2340
    @wchen2340 Год назад +1

    a Gaming-TTY™