Tom on the Internet
Tom on the Internet
  • Видео 81
  • Просмотров 519 435
How does the ChatGPT website work?
The ChatGPT website works differently than most websites. It uses streams to send data over the wire on token at a time. This is part of the HTTP protocol, so it's easy to implement. So that's what I've done.
Code: github.com/tom-on-the-internet/chat
Просмотров: 2 636

Видео

YOU can write a game in Node.js in the terminal without dependencies. (intermediate JavaScript)
Просмотров 1,6 тыс.2 месяца назад
All the code: github.com/tom-on-the-internet/pumpkinode Terminal: Wezterm Font: Departure Mono Theme: Cyberdream Tom: Tom Editor: Neovim
A Simple HTTP Server Built on TCP
Просмотров 2,2 тыс.2 месяца назад
The code: github.com/tom-on-the-internet/my-first-http Hope you're having a good day.
Why does JavaScript's fetch make me wait TWICE?
Просмотров 234 тыс.3 месяца назад
Hey, here's all the code: tomontheinternet.com/why-two-awaits/ github.com/tom-on-the-internet/fetch-demonstration
re: your comment on my pull request
Просмотров 8786 месяцев назад
just kidding. you are doing great.
Moving an image between browser windows
Просмотров 2,1 тыс.6 месяцев назад
Github repo: github.com/tom-on-the-internet/ghost-in-the-mac Blog: tomontheinternet.com/ghost-in-the-mac/ MUSIC: ► Artist Attribution Music By: "KaizanBlu" Track Name: "Daydream" • Instagram - / kaizanblu • SoundCloud - / kaizanblu • Facebook - / kaizanblumusic • TikTok - @kaizanblu vm.tiktok.com/aCYwfx/ • RUclips - / @kaizanblu • DOWNLOAD @ www.chilloutrecordsmusic.com Licence: Creative Common...
I ignored this incredible Neovim plugin for years!
Просмотров 21 тыс.6 месяцев назад
Mini AI: github.com/echasnovski/mini.ai me: tomontheinternet.com Music: ► Music Credit: LAKEY INSPIRED Track Name: "[No Copyright Music] Lo-Fi Chill Hip-Hop Free Download" Music By: LAKEY INSPIRED @ / lakeyinspired Official "LAKEY INSPIRED" RUclips Channel HERE - ruclips.net/channel/UCOmy... License for commercial use: Creative Commons Attribution 3.0 Unported "Share Alike" (CC BY-SA 3.0) Licen...
How I Code in 2024
Просмотров 18 тыс.6 месяцев назад
My website: tomontheinternet.com Yabai (Tiling WM for Mac that I don't use): github.com/koekeishiya/yabai Raycast: www.raycast.com/ Wezterm: wezfurlong.org/wezterm/index.html Fish: fishshell.com/ LazyVim: www.lazyvim.org/ Music Album: "Music For Telescopes - Full EP" Music by: "Dylan O'Donnell" RUclips: Visit / dylanodonnell PATREON: Visit / dylanodonnell APPLE MUSIC: Visit apple.co/3Ya2cHM SPO...
My best terminal game yet - Cemetery Escape
Просмотров 3 тыс.Год назад
Get the game on GitHub: github.com/tom-on-the-internet/cemetery-escape Read my blog post about the game: blog.tomontheinternet.com/posts/cemetery-escape/ Bubble Tea is the Go framework I used: github.com/charmbracelet/bubbletea Have a great day!
You can make the matrix effect in your terminal in raw JavaScript. Well, at least I was able to.
Просмотров 531Год назад
Github repo: github.com/tom-on-the-internet/matrix-digital-rain
Ugly user model
Просмотров 826Год назад
Ugly user model
Is map faster than a for loop in JavaScript? (no, but sometimes yes)
Просмотров 1,9 тыс.Год назад
github.com/tom-on-the-internet/map-vs-for-loop-in-js
An Elephant in Cairo and other fun things in the terminal
Просмотров 354Год назад
Elephant in Cairo Repo: github.com/tom-on-the-internet/elephant-in-cario Maze and quick sort: github.com/tom-on-the-internet/prime-algorithms Elephant in Cairo Wikipedia: en.wikipedia.org/wiki/Elephant_in_Cairo Byte Magazine Elephant in Cairo: www-users.york.ac.uk/~ss44/joke/elephant.htm
Shell Snake - A portable game of snake in the terminal
Просмотров 457Год назад
GitHub repo: github.com/tom-on-the-internet/shell-snake
Rock Paper Scissors Battle in the Terminal - RPS Arena
Просмотров 420Год назад
GitHub repo: github.com/tom-on-the-internet/rps-arena
Hunt down changes with git log
Просмотров 426Год назад
Hunt down changes with git log
Nix makes trying out new applications so easy
Просмотров 344Год назад
Nix makes trying out new applications so easy
A pretty (but inaccurate) shell one-liner timer.
Просмотров 622Год назад
A pretty (but inaccurate) shell one-liner timer.
yellbat - Batman memes from the cli
Просмотров 2142 года назад
yellbat - Batman memes from the cli
Sarc 2.0 - The CLI that got me a promotion? (It didn't get me a promotion, but I pretend it did%EOF
Просмотров 3782 года назад
Sarc 2.0 - The CLI that got me a promotion? (It didn't get me a promotion, but I pretend it did%EOF
A binary clock in the terminal. So pretty. So annoying to use as a clock TBH.
Просмотров 8202 года назад
A binary clock in the terminal. So pretty. So annoying to use as a clock TBH.
Ksnip is my new favorite image annotation software
Просмотров 1,1 тыс.2 года назад
Ksnip is my new favorite image annotation software
Foot is Wayland terminal emulator that does everything right
Просмотров 10 тыс.2 года назад
Foot is Wayland terminal emulator that does everything right
Qalculate! (qalc) is an astounding CLI calculator.
Просмотров 2,6 тыс.2 года назад
Qalculate! (qalc) is an astounding CLI calculator.
I like bad code
Просмотров 2,5 тыс.2 года назад
I like bad code
Dependency Inversion can make you a better developer
Просмотров 6702 года назад
Dependency Inversion can make you a better developer
Snake Eating Mice in my Terminal (That's all this video is.) 🐁 🐍
Просмотров 2952 года назад
Snake Eating Mice in my Terminal (That's all this video is.) 🐁 🐍
I will teach you how to make games in your terminal 👾
Просмотров 13 тыс.2 года назад
I will teach you how to make games in your terminal 👾
10 Reasons I Love Go (as a JavaScript/PHP dev)
Просмотров 8662 года назад
10 Reasons I Love Go (as a JavaScript/PHP dev)
Write Better Bash Scripts! Use ShellCheck and shfmt
Просмотров 1 тыс.2 года назад
Write Better Bash Scripts! Use ShellCheck and shfmt

Комментарии

  • @xbfH48
    @xbfH48 День назад

    mini ai is the best plagin I have so far. good video. Thanks for explanation🕵

  • @4chan-i6w
    @4chan-i6w 2 дня назад

    The developer is insane he's an absolute chad he's very supportive echasnovski is soo friendly and knowledgeable got great knowledge of people who use nvim

  • @OneDay_to_DayOne
    @OneDay_to_DayOne 3 дня назад

    thanks for the video, it was informative. what is the background theme you are using for your code editor?

  • @dekooks1543
    @dekooks1543 4 дня назад

    that keyboard thocc tho

  • @comod
    @comod 6 дней назад

    I looked for this Plugin. Now it exists. Nice!

  • @theprathamdupare
    @theprathamdupare 9 дней назад

    damn! how did I not know about this?!

  • @MuhammadAli-ve7mt
    @MuhammadAli-ve7mt 13 дней назад

    These videos are scratching some kind of itch in my brain, and it's great.

  • @MuhammadAli-ve7mt
    @MuhammadAli-ve7mt 13 дней назад

    I just found your channel and I already love your videos.

  • @neerajbansal2613
    @neerajbansal2613 14 дней назад

    thanks! very clearly explained

  • @thebishalniroula
    @thebishalniroula 14 дней назад

    That background music sucks for a tutorial/explainer video.

  • @sebastianmangelsen8056
    @sebastianmangelsen8056 15 дней назад

    Hi, what is the name of the font your are using in this example? I've tried to find it in your dotfiles repository but wasn't able.

    • @tomontheinternet
      @tomontheinternet 9 дней назад

      Hi. I’m actually not sure. I switch often and don’t recognize that one

  • @mukeshnegi9720
    @mukeshnegi9720 16 дней назад

    Really Great Demo and explaination Tom. I have mostly used Axios for my projects but when I started using fetch, this was the very first question in mind that why the hell I have to wait twice to get my json data. Thanks for this!!!

  • @JohnDoe-lo6qj
    @JohnDoe-lo6qj 17 дней назад

    Very nice and usekful vid but this droning music in the background makes you foolish 🤯

  • @kasir-barati
    @kasir-barati 20 дней назад

    Loved this man. I learned something really great.

  • @dionysis_
    @dionysis_ 20 дней назад

    Great plug-in indeed! Thanks!

  • @sortof3337
    @sortof3337 22 дня назад

    that send me 50 dollars was out of nowhere. lmao. love it.

  • @Quoccute854
    @Quoccute854 24 дня назад

    nice

  • @aviee2046
    @aviee2046 26 дней назад

    I thought this will be pointless, like most things in JS, but it actually does make some sense

  • @nodlac
    @nodlac 26 дней назад

    Thanks! I've been watching primagen's game development videos and had the insane desire to start learning vim by building an ASCII game for my kids. This video was a perfect kick start to the project.

  • @DanielMarin-tutorials
    @DanielMarin-tutorials 27 дней назад

    Really cool! I like to know this :D

  • @TheillegalPrime
    @TheillegalPrime 28 дней назад

    Good video nice job bro

  • @hglbrg
    @hglbrg 29 дней назад

    DILF is also a compliment to middle aged men! dootodoo!

  • @simplenow
    @simplenow 29 дней назад

    유튜브 로고가 한글 같네요 텀

  • @JonathanEugenioSandovalMarquez
    @JonathanEugenioSandovalMarquez Месяц назад

    Font Name?

  • @jmg9509
    @jmg9509 Месяц назад

    What was that ending?

  • @kusuma865
    @kusuma865 Месяц назад

    Doing God's work, loved the explanation and how simple it was to understand

  • @VioletJewel1729
    @VioletJewel1729 Месяц назад

    literally can't see your keystrokes on the keyboard taking up 1/4 of your screen.

  • @brunoromaszkiewicz486
    @brunoromaszkiewicz486 Месяц назад

    10/10 ending absolute nonsense

  • @gabrielruffo6439
    @gabrielruffo6439 Месяц назад

    What happens if the server returning the body goes down while providing the response body byte by byte?

  • @icollided
    @icollided Месяц назад

    I like \033[31m because it makes it spooky red.

  • @jayvuillermin1414
    @jayvuillermin1414 Месяц назад

    This is awesome mate!

  • @ShaunakDe
    @ShaunakDe Месяц назад

    Thanks for the amazing and informative video. Makes me want to explore everything that comes like lazy more!

  • @briginas
    @briginas Месяц назад

    Tom, could you share your vim config? :)

  • @RioChandra
    @RioChandra Месяц назад

    amazing, simple and easy to understand about stream

  • @FauzulChowdhury
    @FauzulChowdhury Месяц назад

    Beautiful!

  • @grgrsm
    @grgrsm Месяц назад

    probably because response is just connection response without data. Then you need to wait again while data is being streaming in binary, and then it does the parse. ok, boring. I wrote the guess after watching 30 sec, and yeah, that what it is.

  • @RusuTraianCristian
    @RusuTraianCristian Месяц назад

    The browser and server already do the heavy lifting of streaming and parsing the big piece of data in small chunks, incrementally (thus the 'streaming'). So in the frontend, all you need to do is create a 'for of' loop (because it can 'await' things) and build a string/content with the coming data. I've been doing this for years because I have many circumstances where we had to display things as they come in, rather than waiting for the whole thing to process and then BANG, fill up the screen. It's a nice, informative/educational piece of video nonetheless. Well done!

  • @volbla
    @volbla Месяц назад

    Fetch only resolves the header? So the Response is not a response. It's more like a handshake.

  • @LeelaVenkataSaiSumanthEl-ss4wo
    @LeelaVenkataSaiSumanthEl-ss4wo Месяц назад

    make a JavaScript playlist

  • @MaisUmSomente
    @MaisUmSomente Месяц назад

    Use then, and no need of second await.

  • @AnasImloul
    @AnasImloul Месяц назад

    In HTTP, we have a Content-Length header that indicates the number of bytes in the response body. Given that the await in the first fetch operation retrieves only the headers, does this imply that the Content-Length header cannot be set correctly before the entire body is streamed?

    • @AnasImloul
      @AnasImloul Месяц назад

      Shouldn't the Content-Length header be specified by the server before it begins streaming the response? In your use case, you used res.end() to signal the end of the response body, which means that until res.end() is called, there’s no way to determine the Content-Length value.

  • @memaimu
    @memaimu Месяц назад

    Now can you do this during a technical interview.

  • @mkrzyzowski
    @mkrzyzowski Месяц назад

    This is first explanation which make me understand that. Thank you!

  • @mkrzyzowski
    @mkrzyzowski Месяц назад

    Maybe wrap it into fatchJson with one visible await

  • @victorlongon
    @victorlongon Месяц назад

    Such a nice video. Very beautiful style and clear explanation! ❤

  • @itzkxhu
    @itzkxhu Месяц назад

    help me i am alive

  • @cherubin7th
    @cherubin7th Месяц назад

    Lifting one of the greatest mysteries ever.

  • @ayoubalfurjani4531
    @ayoubalfurjani4531 Месяц назад

    I like the simple explanation and the overall vibes.

  • @theguy5423
    @theguy5423 Месяц назад

    Should I await before I subscribe?

  • @saravanasai2391
    @saravanasai2391 Месяц назад

    Hey, that is a great explanation. I understood that the complete response body is waiting to get a transfer, but I was wondering when the response body converted into valid JSON. I know that conversion takes sometime incase of a huge pay load.