- Видео 81
- Просмотров 519 435
Tom on the Internet
Канада
Добавлен 7 апр 2020
I'm Tom a software developer from St. Catharines Ontario Canada.
I make videos about technology and the internet.
tomontheinternet.com
I make videos about technology and the internet.
tomontheinternet.com
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
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
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
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
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.
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.
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
mini ai is the best plagin I have so far. good video. Thanks for explanation🕵
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
thanks for the video, it was informative. what is the background theme you are using for your code editor?
This is Catppuccin Frappe
that keyboard thocc tho
I looked for this Plugin. Now it exists. Nice!
damn! how did I not know about this?!
These videos are scratching some kind of itch in my brain, and it's great.
I just found your channel and I already love your videos.
thanks! very clearly explained
That background music sucks for a tutorial/explainer video.
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.
Hi. I’m actually not sure. I switch often and don’t recognize that one
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!!!
Very nice and usekful vid but this droning music in the background makes you foolish 🤯
Loved this man. I learned something really great.
Great plug-in indeed! Thanks!
that send me 50 dollars was out of nowhere. lmao. love it.
nice
I thought this will be pointless, like most things in JS, but it actually does make some sense
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.
Good luck!!
Really cool! I like to know this :D
Good video nice job bro
DILF is also a compliment to middle aged men! dootodoo!
유튜브 로고가 한글 같네요 텀
ㅋㅋㅋ.
Font Name?
IBM plex mono!
What was that ending?
Doing God's work, loved the explanation and how simple it was to understand
literally can't see your keystrokes on the keyboard taking up 1/4 of your screen.
Yup. I whiffed it.
10/10 ending absolute nonsense
What happens if the server returning the body goes down while providing the response body byte by byte?
I like \033[31m because it makes it spooky red.
This is awesome mate!
Thanks for the amazing and informative video. Makes me want to explore everything that comes like lazy more!
Tom, could you share your vim config? :)
amazing, simple and easy to understand about stream
Beautiful!
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.
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!
Fetch only resolves the header? So the Response is not a response. It's more like a handshake.
make a JavaScript playlist
Use then, and no need of second await.
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?
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.
Now can you do this during a technical interview.
This is first explanation which make me understand that. Thank you!
Maybe wrap it into fatchJson with one visible await
Such a nice video. Very beautiful style and clear explanation! ❤
help me i am alive
Lifting one of the greatest mysteries ever.
I like the simple explanation and the overall vibes.
Should I await before I subscribe?
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.