- 81
- 532 539
Tom on the Internet
Canada
Приєднався 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 729
Відео
YOU can write a game in Node.js in the terminal without dependencies. (intermediate JavaScript)
Переглядів 1,7 тис.3 місяці тому
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 тис.3 місяці тому
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?
Переглядів 241 тис.4 місяці тому
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 тис.7 місяців тому
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/ • UA-cam - / @kaizanblu • DOWNLOAD @ www.chilloutrecordsmusic.com Licence: Creative Commons...
I ignored this incredible Neovim plugin for years!
Переглядів 25 тис.7 місяців тому
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" UA-cam Channel HERE - ua-cam.com/channels/Omy.html... License for commercial use: Creative Commons Attribution 3.0 Unported "Share Alike" (CC BY-SA 3.0) Lic...
How I Code in 2024
Переглядів 18 тис.7 місяців тому
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" UA-cam: Visit / dylanodonnell PATREON: Visit / dylanodonnell APPLE MUSIC: Visit apple.co/3Ya2cHM SPOT...
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.
Переглядів 549Рік тому
Github repo: github.com/tom-on-the-internet/matrix-digital-rain
Is map faster than a for loop in JavaScript? (no, but sometimes yes)
Переглядів 2 тис.Рік тому
github.com/tom-on-the-internet/map-vs-for-loop-in-js
An Elephant in Cairo and other fun things in the terminal
Переглядів 357Рік тому
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
Переглядів 483Рік тому
GitHub repo: github.com/tom-on-the-internet/shell-snake
Rock Paper Scissors Battle in the Terminal - RPS Arena
Переглядів 427Рік тому
GitHub repo: github.com/tom-on-the-internet/rps-arena
Nix makes trying out new applications so easy
Переглядів 3452 роки тому
Nix makes trying out new applications so easy
A pretty (but inaccurate) shell one-liner timer.
Переглядів 6242 роки тому
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
Переглядів 3832 роки тому
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.
Переглядів 8302 роки тому
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,2 тис.2 роки тому
Ksnip is my new favorite image annotation software
Foot is Wayland terminal emulator that does everything right
Переглядів 11 тис.2 роки тому
Foot is Wayland terminal emulator that does everything right
Qalculate! (qalc) is an astounding CLI calculator.
Переглядів 2,7 тис.2 роки тому
Qalculate! (qalc) is an astounding CLI calculator.
Dependency Inversion can make you a better developer
Переглядів 6762 роки тому
Dependency Inversion can make you a better developer
Snake Eating Mice in my Terminal (That's all this video is.) 🐁 🐍
Переглядів 2962 роки тому
Snake Eating Mice in my Terminal (That's all this video is.) 🐁 🐍
I will teach you how to make games in your terminal 👾
Переглядів 14 тис.2 роки тому
I will teach you how to make games in your terminal 👾
10 Reasons I Love Go (as a JavaScript/PHP dev)
Переглядів 8692 роки тому
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
Thanks!!! I was searching for smthn this simple, customizable and tui firendly
How can u show class and func in status line pls
really enjoyed the content and loved the sound of keyboard. can you share what keyboard are you using in this video?
Actually that’s an app on MacOS called klack.
I rarely comment on tech videos, but after watching the video, I'm compelled to do so. Simple and super excellent explanation of a concept which most of the devs have been ignoring
Thanks so much for taking the time to say so. I appreciate it
this is so cool! mine doesn't work with functions for some reason though 🤔 instead of deleting inside or around the function it ends up deleting the next called function's arguments or function declaration.
ai.setup { n_lines = 500, custom_textobjects = { f = ai.gen_spec.treesitter({ a = '@function.outer', i = '@function.inner' }, {}), } } i had to add this to my config but not sure if that is correct/expected
Confused by the ending. Otherwise nice vid
thank you so much for this... i always had this question but never bother to explore it further, now i regret for not doing this earlier but I am also grateful i found your content this way!
Thanks so much!!
github link for kitty is expired, pls update link
It's really intuitive thank you so much!
Awesome video, I regret ignoring it in my recommendations now that I have actually watched it!
Literally gaslighted an AI
I do love when a fellow developer loves his work and proud of what he's done, so enjoyable to watch :) This video is so crystal clear, so nicely made Sir !!
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!!!
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