So I made a Web Server using My Programming Language

  Рет қаралды 63,166

Tsoding Daily

Tsoding Daily

Күн бұрын

Пікірлер: 103
@dromedda6810
@dromedda6810 2 жыл бұрын
Tsoding is just a chad. "i made a web server using my own self hosted, stack based, reverse polish notated language, while hacking the standard c libraries and POSIX libraries, all while writing it in emacs navigating the kajillion shortcuts with ease as if i was the one who made them" Also Tsoding: "im not a developer, im just a boomer"
@legendrags
@legendrags Жыл бұрын
fr
@danielschmitt5750
@danielschmitt5750 2 жыл бұрын
Hey I discovered your channel recently and I just wanted to leave a comment and tell you that I really enjoy your content. You have a gift to explain complex matters in a fairly simple way and it just makes fun seeing you build stuff and following your thoughts on the way. Keep it up.
@souls.7033
@souls.7033 2 жыл бұрын
Not only that, but this guy is funny af ! mf randomly goes uwu lmao
@BryanChance
@BryanChance 2 жыл бұрын
He's crazy amazing!!
@vivekascoder
@vivekascoder 2 жыл бұрын
Next Video: I made my website using my own framework using my own language in a ide written in my own language.
@BloodRoseRecords
@BloodRoseRecords 2 жыл бұрын
goals af
@socktt5534
@socktt5534 2 жыл бұрын
On an operating system in my own language
@wijiler5834
@wijiler5834 2 жыл бұрын
You just gave me a very good idea on how to make my language readable lol
@DecoyBBQCam
@DecoyBBQCam Жыл бұрын
@@socktt5534templeos
@MrKristian252
@MrKristian252 2 жыл бұрын
Now you need to make a web server blog running on porth, that would be pretty neat
@stephenkamenar
@stephenkamenar 2 жыл бұрын
yea you can simply port wordpress, it's open source
@imaginaoYouTubesoquecomarrobas
@imaginaoYouTubesoquecomarrobas 2 жыл бұрын
I'm legit excited for Porth's development, as it looks really cool
@telnobynoyator_6183
@telnobynoyator_6183 2 жыл бұрын
When it printed "100007F" for the localhost address it actually omitted a 0 in the front. If you look at it like "0100007F" you can more easily see what byte goes where.
@soyitiel
@soyitiel 2 жыл бұрын
bruh, I wish to achive your level of happiness when coding my passion projects, it usually is just pain
@JakobKenda
@JakobKenda Жыл бұрын
i respect tutorialspoint because at least they know what they're doing. geeks for geeks just throw something together and call it an article
@noonjeem2191
@noonjeem2191 2 жыл бұрын
BTW There is a constant 'INADDR_LOOPBACK' which is 127.0.0.1 You reinvented it with a different name.
@pragyan394
@pragyan394 2 жыл бұрын
This is indeed pog
@monsieuralexandergulbu3678
@monsieuralexandergulbu3678 2 жыл бұрын
p in pog means porth, change my mind
@小鳥ちゃん
@小鳥ちゃん 2 жыл бұрын
@@monsieuralexandergulbu3678 so pog is Porth OG?
@monsieuralexandergulbu3678
@monsieuralexandergulbu3678 2 жыл бұрын
@@小鳥ちゃん i like yOur cut G
@Khusyasy
@Khusyasy 2 жыл бұрын
very guud, i was watching the stream replay, and then suddenly this comes up in youtube notification
@abhaythakur8572
@abhaythakur8572 2 жыл бұрын
no words , thanks to KZbin for recommending me this video
@MatrixSanAndreasOfficial
@MatrixSanAndreasOfficial 2 жыл бұрын
This gets me goosebumps every time you doing this!
@lachee3055
@lachee3055 2 жыл бұрын
8:57 HTTP3 doesn't use TCP, but rather QUIC. So, "we are forever going to use TCP" aged well.
@itallstartedwhen
@itallstartedwhen 2 жыл бұрын
I was literally writing a "multipart/form-data" parser today, and was wondering why are they using ` `, and by enjoying this video I found out this was part of the standard / RFC. I haven't read the RFC, but might do it soon
@RubiksSolver25
@RubiksSolver25 2 жыл бұрын
When binding or accepting sockets you would specify the pointer to a socket and it’s length because they handle generic sockets and you can use sockets for LAN, Bluetooth or raw, even others hence length, as their socket structures are different sizes
@burakuren5188
@burakuren5188 2 жыл бұрын
Really !? Wow bro bravo! Instantly subscribed
@13thlwvemike95
@13thlwvemike95 2 жыл бұрын
Is there anything you didn't make ?
@wtfisgoingon535
@wtfisgoingon535 2 ай бұрын
This men love calling himself "just a troll" but man... He is so inspiriting. Too bad we can't like each time we look a video. Thanks for your content :)
@SiddharthPanda_infinity_crew
@SiddharthPanda_infinity_crew 2 жыл бұрын
1.5x and this is gold! Inspiring
@sabyrzhankadir2546
@sabyrzhankadir2546 2 жыл бұрын
omg didnt expect porth getting that far
@nefrace
@nefrace Жыл бұрын
The really funny thing for me is that fantasy retro-console called WASM4 has Porth bindings for it and uses "4orth" compiler to build WASM binaries. I've heard about Porth there in the first place and didn't know you've made it. Really impressive stuff!
@dronkarian
@dronkarian 2 жыл бұрын
Didnt understand much but cool to watch an expert working with code =)
@johanrong
@johanrong 2 жыл бұрын
I never knew i would watch over an hour of an uploaded livestream
@barterjke
@barterjke 2 жыл бұрын
Hello! Really impressed with the state of the language. Much further then in previous time. Wanted to ask: did you considered llvm? Build time is slow, but cross platform, all speed power of c is included. By the way, you can use llvm ir to check types and struct with ease.
@miguelbautistaperez7903
@miguelbautistaperez7903 2 жыл бұрын
59:31 just made my day. Love u youre the best
@maxoumimaro
@maxoumimaro 2 жыл бұрын
So you know you can just open /usr/include/sys/socket.h , the file exist in plain text and is plain C with macros defining those values.
@gabriellevesque2185
@gabriellevesque2185 2 жыл бұрын
I was confused about that too, just open the header file directly and that’s it haha
@alexandrohdez3982
@alexandrohdez3982 2 жыл бұрын
Great video, great project 💪
@Sirvierl0ffel
@Sirvierl0ffel 2 жыл бұрын
42:24 You missed a typo: "...an opposite *ot* INADDR_ANY" instead of "...an opposite *to* INADDR_ANY"
@vonatok
@vonatok 2 жыл бұрын
The stream was epic, paug!
@AshtonSnapp
@AshtonSnapp 2 жыл бұрын
What about UDP (User Datagram Protocol), which is like TCP but cares about speed rather than ensuring data gets to its destination.
@grmancool
@grmancool 2 жыл бұрын
fuck turing completeness, *this* is the trial that makes this a real programming language
@pabloduran203
@pabloduran203 2 жыл бұрын
How about `in*` with the same functionality as `if*` that uses the previous let binding's end for not to repeat ends and to reduce indentation?
@no-ld3hz
@no-ld3hz 2 жыл бұрын
lmao my grandmother wanted to teach me reverse polish notation when I was younger.
@kijetesantakalu
@kijetesantakalu 2 жыл бұрын
The quine output txt-file should be a symlink to the source file. :D
@nekoill
@nekoill 2 жыл бұрын
17:10 I believe it's called "option paralysis", Tso
@Bobbias
@Bobbias 2 жыл бұрын
Or "Analysis Paralysis" of you like rhymes.
@TarousDT
@TarousDT 2 жыл бұрын
I love that you have to have 16777343 as a constant for localhost. Reminds me of the quake fast inverse sqrt "what the fuck?"
@scottspitlerII
@scottspitlerII 2 жыл бұрын
Glad to know I am not alone in my own language journey :p
@antonioduarte2386
@antonioduarte2386 2 жыл бұрын
You’re saying in the video that we’re stuck with TCP for a while, but I think QUIC is gaining quite a lot of traction ;)
@replikvltyoutube3727
@replikvltyoutube3727 2 жыл бұрын
Multiplayer snake in porth using server in porth? 😆
@gifti258
@gifti258 2 жыл бұрын
wtf has rpn to do with reversing the order of arguments?!?
@jaopredoramires
@jaopredoramires 2 жыл бұрын
I'd really like to know what's your configuration (like OS, WM, colors, etc). Do you have a video on that? Or do you plan on doing it?
@eclipse632
@eclipse632 2 жыл бұрын
looks like stock i3 to me
@EmielvanGoor
@EmielvanGoor 2 жыл бұрын
Like the look of the font in the editor, which one is it?
@shikle3890
@shikle3890 Жыл бұрын
dude, I used to have that microphone, but my electrical connection was so junkie that it will shock me if I touch it xD
@burakgazicetin3628
@burakgazicetin3628 2 жыл бұрын
Im just cirious about your TCP selection. On intro you said I will do a basic thing and told about http version, and you selected the TCP instead of UDP, why?
@otherkrabs
@otherkrabs 2 жыл бұрын
HTTP uses TCP
@burakgazicetin3628
@burakgazicetin3628 2 жыл бұрын
@@otherkrabs Im really stuppid 😀
@kaksisve4012
@kaksisve4012 2 жыл бұрын
So now Porth is a Pogger complete language.
@mrgamer-lu1im
@mrgamer-lu1im 2 жыл бұрын
INADDR_LOCAL is equivalent to INADDR_LOOPBACK
@mariomaliqi184
@mariomaliqi184 2 жыл бұрын
Are u using vim keybindings?
@Konnuslahti
@Konnuslahti 2 жыл бұрын
Can anyone / tsoding explain what's the advantage of using Reverse Polish Notation for Porth? Is it for memes or actually useful in some cases :) Wikipedia says it's faster to type? Is this why
@bigmistqke
@bigmistqke 2 жыл бұрын
It's for ease of compilation afaik. As porth is stack based, reversed polish notation removes the need for AST. For example '1 2 +' 👉 'push 1 to stack' 'push 2 to the stack' 'add 2 top elements of stack'.
@bigmistqke
@bigmistqke 2 жыл бұрын
Btw i recommend watching the first episode of porth. It really shows the beauty/simplicity of this reverse polish notation from a compilation pov. Really crazy how quick he got something going.
@infernalsorcery7923
@infernalsorcery7923 Жыл бұрын
Hey ! I Love your channel man!! Can you add to the mega pog todo list, to create a language with a syntax that amalgamates C, Luau, Python, and Rust essentially. Something like that written in itself could be game changing! And Im too noob to start something like this but contrib to a project that alr exists? Id be in for helping out where I can. Anyways, consider it, dont, your channel is dope, and Porth is already pretty immaculate ngl.
@infernalsorcery7923
@infernalsorcery7923 Жыл бұрын
Oh crap, I forgot Java as well^
@greob
@greob 2 жыл бұрын
8:35 on that note Google engineers have developped the QUIC protocol, which sits on top of the UDP protocol.
@leberkassemmel
@leberkassemmel 2 жыл бұрын
And people are already using it daily. Considering Google (and all their sites like youtube, golang etc) and other companies like Uber use it, and Chrome is the most common web browser that also supports it.
@NateLevin
@NateLevin 2 жыл бұрын
Came to the comments to say this!
@sdblck
@sdblck 2 жыл бұрын
i'd really love if someone made a supercut of some sort of his vods, bc as much as i'm hooked by his title and thumbnail, my watchtime for yt videos are in minutes
@Bobbias
@Bobbias 2 жыл бұрын
Next up: running PHP on the Porth server.
@robheusd
@robheusd 2 жыл бұрын
... but your implementation of htons just swaps the bytes, also in the case your machine already has the network order of bytes. It should first check the endianness of the machine. If it is big endian, do nothing, else swap the bytes...
@DanCojocaru2000
@DanCojocaru2000 2 жыл бұрын
Well, for now Porth only compiles for little endian architectures.
@icringe8166
@icringe8166 2 жыл бұрын
I want to ask: What's the editor you're using? Just curious.
@dromedda6810
@dromedda6810 2 жыл бұрын
The editor is emacs, with i3 as the window manager, and i think he uses debian linux?
@davydorynbaev
@davydorynbaev 2 жыл бұрын
This is very cool
@defini7
@defini7 2 жыл бұрын
Its very hard to read porth code
@NobFella
@NobFella 2 жыл бұрын
Its still on development, ik porth is hard to read
@leastexpected3115
@leastexpected3115 2 жыл бұрын
now just for a rofl i want to write my own web server on some low level(ish) language
@csolorio88
@csolorio88 2 жыл бұрын
My only question is... Why?
@qm3ster
@qm3ster 2 жыл бұрын
Ok, now do HTTP/3 :v
@dmitryponyatov2158
@dmitryponyatov2158 2 жыл бұрын
next step: porth in WASM
@ErikUden
@ErikUden 2 жыл бұрын
Poggers
@merthyr1831
@merthyr1831 2 жыл бұрын
part of me thinks this is a cool ass hobby project. another part thinks if you kept this shit up it could be a great general purpose language
@Bobbias
@Bobbias 2 жыл бұрын
I mean, it is already a usable general purpose language.
@ribosomerocker
@ribosomerocker 2 жыл бұрын
But what is greater is Forth itself - perhaps Factor if you wish for more. They are more consistent with standardising their syntax and standard libraries. I would say they are simply better Porth, though Porth is still really good.
@Bobbias
@Bobbias 2 жыл бұрын
@@ribosomerocker to be fair, Forth has had a much longer time to sort everything out too.
@Rssks
@Rssks 2 жыл бұрын
Epic
@sajadabdulridha4736
@sajadabdulridha4736 2 жыл бұрын
Hello hello, I like you, I am a beginner in the field of information technology, can you give me advice, I hope it helps me in the coming period
@massakra
@massakra 2 жыл бұрын
Wtf is Linux cisco? Ok. Syscalls. ;)
@mrchysen
@mrchysen 7 ай бұрын
Я не знаю почему, но, когда я слышу английский с русским акцентом, я воспринимаю язык лучше
@Visleaf
@Visleaf 2 жыл бұрын
PorthChamp
@DriftJunkie
@DriftJunkie 2 жыл бұрын
3:07 AHAHAHAHA
@PorthoGamesBR
@PorthoGamesBR 2 жыл бұрын
If you see my name, you will understand why i want to learn this language.
@fater8711
@fater8711 2 жыл бұрын
Alá, outro brasileiro
@dmitryponyatov2158
@dmitryponyatov2158 2 жыл бұрын
I understand that's for fun, but anyway it is not a good idea to avoid implementing language core in C for the OS deadly inlines the C in itself. I'd myself prefer something like bytecode for wide portability 8)
@Bobbias
@Bobbias 2 жыл бұрын
Yes, Porth is not portable, but remember, that's not the point of the project. The point was to create a self hosted language.
@charliegnu
@charliegnu 2 жыл бұрын
¿backwards written language your is Why
@angelcaru
@angelcaru 2 жыл бұрын
Reverse Polish Notation. Look it up.
I've been programming without Negative Numbers the whole time
1:05:31
Tsoding Daily
Рет қаралды 38 М.
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 352 М.
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
Creator of C3 improves the Lang Live as I use it
2:50:11
Tsoding Daily
Рет қаралды 30 М.
This is how I add new features to my language
45:18
Tsoding Daily
Рет қаралды 11 М.
The Dome Paradox: A Loophole in Newton's Laws
22:59
Up and Atom
Рет қаралды 332 М.
What is a Server? (Deepdive)
17:51
LiveOverflow
Рет қаралды 191 М.
Python laid waste to my C++!
17:18
Sheafification of G
Рет қаралды 160 М.
Linux Kernel 6.12 | This is Historic
1:07:22
Maple Circuit
Рет қаралды 125 М.
I Made My Own Programming Language
10:20
CodeNoodles
Рет қаралды 100 М.
Automatically Removing Unused Code
2:00:05
Tsoding Daily
Рет қаралды 16 М.
Parsing Java Bytecode with Python (JelloVM Ep.01)
2:25:53
Tsoding Daily
Рет қаралды 62 М.
Will Ada Replace C/C++?
44:57
Tsoding
Рет қаралды 99 М.