Tickled Elmo haha poor youtube They are trying so hard though. You are here thats what matter. Enjoy the content! And what would you like to watch next? I keep a list of what content the community want me to make. Cheers!
Bro I remember 3 years ago when I used to search this. Yt used to kind of suck. But over the last few years they've drastically improved their tech and programming learning.
You are a good educator, you combine a great blend of lecture-like content, with practical implementation of theory in a follow through example. Thanks so much.
Found your channel today, Been learning a lot more how things work in the Deeper IT world, Thank you for explaining it all in such great context and visual learning. I will share your channel with any who are also learning
Awesome stuff as usual Hussein. I bought the data engineering course about a year ago on Udemy and still use it constantly as a reference in my day-to-day. Thanks a ton for the content!
You are the greatest teacher Hussein. All these graphical stuff, the way of teaching, the words that you choose, your method, the topics... Every one of them just great, making my life easier. Thank you so much!!
Thank you man, I was here just to learn about Apache, and the moment I saw the video that long I was planning to skip, but it was actually fun watching the full video. It's wasn't boring at all. Keep it up!
This just unlocked my brain on a whole new level. For ages, I had been trying to get knowledge on all this and it just felt like I was smashing my head in a wall... Thank you soo soo much!
@@hnasr Wow! Do you think the break was beneficial for your career? I'm thinking about doing the same, but it feels crazy because I actually have a great job rn
First time watching your video, Subscribed... , What an explanation!!! , Great video sir. You have answered all the questions in my mind regarding web server. Thanks a lot.
Well done 👌 Very informative and well explained, I hope you make a video about varnish ( http accelerator) and redis ( caching db) and most important you use examples 😁 Keep it up my friend 😀
I'd like you to make a video in which you give an overview of Apache http server, the installation process and the configuration files, just to understand how it works at a fundamental level. Thank you for your job anyway. You have my support 💪
Man your videos are awesome. Extremely helpful - I love your emphasis on pros and cons of everything - and your personality just shines. Awesome stuff man. Definitely keep it up. Wish you happiness in your life.
Ankit Jain appreciate it Ankit! Thanks I talk about topics that particularly interests me. Glad you like the content do suggest what should I cover next
Hi Hussein, The comments feed says there are two comments, but I don't see them. Thank you for showing an example of Express web server. It drives the point home for me when you use it in your other videos, such as the sidecar pattern and building a web api with PostgreSQL and Express.
Hi ...i liked ur way of teaching, content.thanks for that ...and i have request for you that I am very confused with how Linux kernal manages resources like cpu memory. And what exactly theards , process and cores relation ...plz make a video ...thanks in advance.
Thanks Charan! Spicy topic ! Be frank I know very little about deep OS concepts but that never stopped me before.. ill get to it in the future for sure! Im on database land these days
never i had realized before how fun learning is. you have the best content and awesome explanation. i'm gonna watch every video of you :). just one request, can you please create some videos on docker and kubernetes please!!
16:50: Single-threded web server + docker combination where you spin up new containers will result in very inefficient use of resources. A new thread will consume lot less resources (both mem and cpu) than a new container (which has its own OS image running (however light weight it maybe, still lot compared to a thread) and many processes as part of that OS.) If the server is multi-threaded, then a lot of the overhead like OS processes will be eliminated, unlike in single threaded server running containers. So it's multi-threaded servers are better compared to single threaded, for serving same number of requests. But I'd like know if there are any other situations where single threaded is preferred over multi-threaded. Quoted a lot of obvious 😅
Hussain.. You are awesome! Your topics are exactly what I'm always looking for!! But it would be better if you can make it max 15 minutes.. thank you 💙
Beneficial in the sense of security? Do you mean single threaded servers + docker containers are better than multi-threaded servers(with their own scaling)? I guess, docker containers will result in inefficient usage of resources but it's worth it if they are bringing other benefits like scaling, fault tolerance etc.
Hussein Nasser your tutorials are amazing.If you by any chance know arabic could you please do some tutorials in Arabic this will help a lot of developers to grasp the concepts.
I LOVE UR CHANNEL, I JUST REACHED IDK WHY! BUT IS AMAZING, DIAGRAMS, PERFECT EXPLAINED, COULD U MAKE CCNA COURSE ALIKES FOR BEGGINERS?, I would LOVE It, or a paid COURSE Ill pay It!
Your content is really good. I like your channel. But... no offence bro. You shold work on your pronunciation (It is not bad but it should be excellent for you to be able to gain more new subscribers - your content deserves that). You should pronounce your consonants more clearly.
Hi knowledgable people, I have one doubt @15:34. Please ignore any inconsistencies due to my lack of knowledge. So if our server is being hosted by C++ (i only know this language), and 1) I have not put any multithreading in the code that listens to request etc., a) Does that make the server "Blocking Single Threaded Server"? b) Does that mean if, while I am serving request from client1, if client2 also sends me a Get/Post/REST request, I'll not send them any response back? Does client2 know that their message has been received or would they not receive anything (from tcp point of view and request/response point of view) and keep waiting for any response and can timeout?? 2) I have coded it in a way that spawns a new thread to cater to (process) every get/post/REST request that I receive a) Does that make my server non blocking? as in it can accept many requests simultaneously, however, processing for them will be done by scheduling logic of threads and response will be sent accordingly? If anything is very vague kindly let me know, and I appreciate the help :)
Informative content. i have a question on max connections and threads The tomcat defaults are maxConnections=10,000 and maxThreads=200 How does this work with say tomcat running on 8 core machine. We will never be able to serve 10K connections concurrently. So does it accept the connection and put it into waiting until one of 200 threads is free? Little hit of CPU would be used in accepting the connection as well right ? Also How would 200 threads work on 8 core machine. Woyldnt there be too much context switching.
If socket is a combination of IP Address and Port number(which are same for a webserver application running on port 80), how come web server is able to create a new socket for every new request?? Does socket also contain the IP/PORT Info of the client?? PS- Thanks for the awesome content and making my life a lot easier Hussein.
so if we use containerize single threaded web servers , the number of concurrent connection we can handle will be the number of container we have right ?!
I forgot to mention it in this video so I spent 2 hours here .. 2 Hours NginX Crash Course + Bonus Content (Audio Fixed) ruclips.net/video/hcw-NjOh8r0/видео.html
Hello Hussein, apologies for this lengthy question, kind of two parter. Suppose i have 8 core machine as my server(linux) and i create 8 separate python processes(via shell script ), all running my flask web project. Then at a time the server will 8 serve separate requests?? Like multiprocessing i mean, not context switching. 2). If i have a single thread server, then if i get 100 requests at the sametime, then my server will one request only at a time and other requests will have to wait(though very minimal, given high performing machines nowadays ,nevertheless there will be some latency,right?)
I have a question. At which part specifically did we tell our server to handle HTTP requests? Like why is not an FTP server? Or SNMP or POP? What am I missing here?
I mean technically, and please correct me if I'm wrong, you didn't actually create a web server. It's more like an API or a web 'application' not a server. Plus you used express which is a web "framework"
Thank you so much sir for these great contents. can I ask more video about thread, process and how they are related to hardware? is there any limitation about number of thread in web-server? is it right that any socket is equivalent to a file in memory? and BTW I saw in other tutorial that Nodejs is not a framework. it's some sort of run time environment for Javascript based on V8 chrome engine I guess. But unfortunately can't understand what does this exactly mean. thank you again for these awesome tutorials.
Every web server is an application server but not every application server is a web server. I can have an application server running on my own custom TCP protocol.
Hi Hussein, are web servers required at all if we use CDN for caching static and use application server for dynamic content? Can TCP/IP connections be made directly with the application server itself, instead of first going through web server and then getting redirected to application servers as shown in many diagrams over the internet?
@@hnasr Thank you so much for your quick reply, also, thanks a ton for sharing so much knowledge, appreciate it! About above, so, the application server can accept connections directly and server user request? can app servers even take web socket connections directly without having a web server in front of them?
Hi man, @Hussein Nasser , just a question, when developing web page in django, am I actually developing a server also or is the server already there? If it is, which one is it?
Django is a framework so yes you are building a web server from scratch with low level capabilities and more responsibility.. unlike using apache or caddy which is an out of the box webserver
4 года назад
@@hnasr so yes i looked it up. But in documentation for django they say when deploying its better to use smtn like apache.
Great! how does nonblocking single threaded servers deal with concurrency though? Do they send off the response function to another thread, handle the next request, then callback the function when its ready?
The operating system takes care of scheduling the requests (TCP packets) to the the web server, if the thread is available it get served if the thread is not available it get queued until the thread is available.
TJ nice idea tj, I made a dedicated video about nginx. Need one for apache NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More) ruclips.net/video/WC2-hNNBWII/видео.html
Dude you rock. What do I do with 2 instances of mysql? Mysql that comes with my express apps(workbench) And Mysql that comes with apache (phpmyadmin) Have configured one to listen on 3306 like normal. The other on another port. . How does this affect prod tho? Thats my only concern these days l, is , how is this going to affect prod?
@@hnasr ok I'll check for it. Thanks for actually replying. You've been super helpful. Like, that's some meaningful stuff when someone takes the time to be helpful. I appreciate it very much @Hussein Nasser , I will find the question and let you know
No doubt information u provided is good .....but u must pay attention to your way of delivering ...your content is related to learning some thing new and the way u speaks seems like you are describing a drama content ....must thing about it ....
I'm suing youtube for not giving me this good stuff sooner. Great channel, wish i would have found it earlier.
Tickled Elmo haha poor youtube They are trying so hard though. You are here thats what matter. Enjoy the content! And what would you like to watch next? I keep a list of what content the community want me to make.
Cheers!
Bro I remember 3 years ago when I used to search this.
Yt used to kind of suck.
But over the last few years they've drastically improved their tech and programming learning.
Blame the RUclips algorithm!!
Seriously bro..
I was thinking the exact same thing. This content is on another level, way better than my college.
You are a good educator, you combine a great blend of lecture-like content, with practical implementation of theory in a follow through example. Thanks so much.
Found your channel today, Been learning a lot more how things work in the Deeper IT world, Thank you for explaining it all in such great context and visual learning. I will share your channel with any who are also learning
Thank you for the love ❤️
Awesome video, was searching for a video that gives proper knowledge on how servers work In detail. Got all my questions answered . Thank you!!
Glad it helped!! 🙏
Awesome stuff as usual Hussein. I bought the data engineering course about a year ago on Udemy and still use it constantly as a reference in my day-to-day. Thanks a ton for the content!
Glad it is helpful! I keep updating that course too.
Enjoy Jonathan
You are the greatest teacher Hussein. All these graphical stuff, the way of teaching, the words that you choose, your method, the topics... Every one of them just great, making my life easier. Thank you so much!!
Thank you man, I was here just to learn about Apache, and the moment I saw the video that long I was planning to skip, but it was actually fun watching the full video. It's wasn't boring at all. Keep it up!
This just unlocked my brain on a whole new level. For ages, I had been trying to get knowledge on all this and it just felt like I was smashing my head in a wall... Thank you soo soo much!
Shubhankar Singh my pleasure! I had the same frustration, until I decided to take a year and research, read and try out everything and summarize it.
@@hnasr Wow! Do you think the break was beneficial for your career? I'm thinking about doing the same, but it feels crazy because I actually have a great job rn
महोदय, मैं आपके शिक्षण का बहुत बड़ा प्रशंसक हूं। आप एक शानदार शिक्षक हैं सर। बहुत बहुत धन्यवाद .... :D
◡̈⋆🅷🅸(●’◡’●)ノ
I guess I'm the blessed one finding this at the right time ,keep up the good work sir your energy kept me through the video effortlessly.
Im overwhelmed.. such a huge content to watch.. don’t know from where to start
First time watching your video, Subscribed... , What an explanation!!! , Great video sir. You have answered all the questions in my mind regarding web server. Thanks a lot.
This video is something that unluckily I didn't found in my language, anyways, lovely video!
Well done 👌
Very informative and well explained, I hope you make a video about varnish ( http accelerator) and redis ( caching db) and most important you use examples 😁
Keep it up my friend 😀
Thanks Abdallah! These are great suggestions. Adding to list
@@hnasr I would like to look into Redis, NOSQL, Mongo DB (Atlas) and Document DB videos too.
I'd like you to make a video in which you give an overview of Apache http server, the installation process and the configuration files, just to understand how it works at a fundamental level. Thank you for your job anyway. You have my support 💪
Great video for us noobs. Thanks man.
Man your videos are awesome. Extremely helpful - I love your emphasis on pros and cons of everything - and your personality just shines. Awesome stuff man. Definitely keep it up. Wish you happiness in your life.
Thanks Farhan for your heartfelt comment 🙏 I am happy you are enjoying the content
@@hnasr hell yeah I am 😂
I think you have the greatest content and best topic selection criteria..just loved it..Wish best for you..
Ankit Jain appreciate it Ankit! Thanks I talk about topics that particularly interests me. Glad you like the content do suggest what should I cover next
Oh my God. You are demystifying everything for me. Thamk you Hussein
bambio naah Thank you for your comment! Very happy that the video is helping. Cheers 😊
so glad i found this channel...pretty awesome content
ahh, good stuff man. You are a legend!! ty
Greatly explain about Web server and TCP socket. Thanks again 👍
You are very good thank you very much .I am busy with node js and this video has made me learn alot of things Woww Brilliant God bless.
was been waiting for an author like you, productive and funny at the same time.
Great video, just what I am looking for.
Hi Hussein,
The comments feed says there are two comments, but I don't see them.
Thank you for showing an example of Express web server.
It drives the point home for me when you use it in your other videos, such as the sidecar pattern and building a web api with PostgreSQL and Express.
Andres Castillo thanks Andres, Thats how I learn too with examples.. glad you enjoyed the videos
I too see 3 comments now no comments... weird
Sort by newest shows the comments .. odd
Hi ...i liked ur way of teaching, content.thanks for that ...and i have request for you that I am very confused with how Linux kernal manages resources like cpu memory. And what exactly theards , process and cores relation ...plz make a video ...thanks in advance.
Thanks Charan! Spicy topic ! Be frank I know very little about deep OS concepts but that never stopped me before.. ill get to it in the future for sure! Im on database land these days
@@hnasr ok nasser.good day
thanks for the video man this really informative
Really good stuff!!! I like your energy
Great video!
loves your channel
never i had realized before how fun learning is. you have the best content and awesome explanation. i'm gonna watch every video of you :). just one request, can you please create some videos on docker and kubernetes please!!
Wow perfect explanation
Keep your videos alive ! Lol . Such a good video
You are a mad guy. I love your madness
16:50: Single-threded web server + docker combination where you spin up new containers will result in very inefficient use of resources. A new thread will consume lot less resources (both mem and cpu) than a new container (which has its own OS image running (however light weight it maybe, still lot compared to a thread) and many processes as part of that OS.) If the server is multi-threaded, then a lot of the overhead like OS processes will be eliminated, unlike in single threaded server running containers. So it's multi-threaded servers are better compared to single threaded, for serving same number of requests.
But I'd like know if there are any other situations where single threaded is preferred over multi-threaded.
Quoted a lot of obvious 😅
Great Video!
Loved it! Thank you. Purchased your Udemy courses. Hopefully lot more interesting content for learning purposes will continue to come.
Brilliant explanation. Well done
Thanks ! Appreciate it 😊
Hussain.. You are awesome! Your topics are exactly what I'm always looking for!! But it would be better if you can make it max 15 minutes.. thank you 💙
Mahmood Abdulla thanks Mahmood! Ill try to break down topics into digestible pieces for sure so videos become shorter. Thanks for the suggestion..
NOOOOOOOOOOOOO, KEEP IT THE WAY IT IS
In this modern era, especially in containerization there are auto scaling feature in a container orchestration
Another amazing video. Thanks for detailed explanation to web servers.
alert!! Because that's the only JavaScript I know... Kidding Guysssss. 🤣🤣🤣🤣Epic
thanks hussein , nice effort .
Man you are crazy. I like that. Very good way of presenting stuffs, tnx :)
Thanks!!
Loved it !! 👍👍👏👏 ... I don't know much about load balancers but...can we create it in nodejs ?? 🤔
16:50 I think using docker containers will be beneficial as the threads will be isolated from the other processes
Beneficial in the sense of security?
Do you mean single threaded servers + docker containers are better than multi-threaded servers(with their own scaling)?
I guess, docker containers will result in inefficient usage of resources but it's worth it if they are bringing other benefits like scaling, fault tolerance etc.
Hussein Nasser your tutorials are amazing.If you by any chance know arabic could you please do some tutorials in Arabic this will help a lot of developers to grasp the concepts.
I do have an arabic channel check it out ruclips.net/user/thecountedmond
A series on cloud technologies please 🙏
Have you a video on the relationship between Apache and PHP?
I LOVE UR CHANNEL, I JUST REACHED IDK WHY! BUT IS AMAZING, DIAGRAMS, PERFECT EXPLAINED, COULD U MAKE CCNA COURSE ALIKES FOR BEGGINERS?, I would LOVE It, or a paid COURSE Ill pay It!
Very nice. Thank you
Your content is really good. I like your channel. But... no offence bro. You shold work on your pronunciation (It is not bad but it should be excellent for you to be able to gain more new subscribers - your content deserves that). You should pronounce your consonants more clearly.
HGd 1 thank you so much! None taken, working on my English is a continuous work.
Hi knowledgable people, I have one doubt @15:34. Please ignore any inconsistencies due to my lack of knowledge.
So if our server is being hosted by C++ (i only know this language), and
1) I have not put any multithreading in the code that listens to request etc.,
a) Does that make the server "Blocking Single Threaded Server"?
b) Does that mean if, while I am serving request from client1, if client2 also sends me a Get/Post/REST request, I'll not send them any response back? Does client2 know that their message has been received or would they not receive anything (from tcp point of view and request/response point of view) and keep waiting for any response and can timeout??
2) I have coded it in a way that spawns a new thread to cater to (process) every get/post/REST request that I receive
a) Does that make my server non blocking? as in it can accept many requests simultaneously, however, processing for them will be done by scheduling logic of threads and response will be sent accordingly?
If anything is very vague kindly let me know, and I appreciate the help :)
is a web server the same as backend server or are they different?
Informative content. i have a question on max connections and threads
The tomcat defaults are maxConnections=10,000 and maxThreads=200
How does this work with say tomcat running on 8 core machine.
We will never be able to serve 10K connections concurrently. So does it accept the connection and put it into waiting until one of 200 threads is free? Little hit of CPU would be used in accepting the connection as well right ?
Also How would 200 threads work on 8 core machine. Woyldnt there be too much context switching.
Will be going through a lot of your videos. Thank you so much!!!
Thanks! Enjoy the content and let me know if you have any suggestions or feedback so I can do better 😊
If socket is a combination of IP Address and Port number(which are same for a webserver application running on port 80), how come web server is able to create a new socket for every new request?? Does socket also contain the IP/PORT Info of the client??
PS- Thanks for the awesome content and making my life a lot easier Hussein.
so if we use containerize single threaded web servers , the number of concurrent connection we can handle will be the number of container we have right ?!
What happens with serverless like aws lambda..all this stuff goes again and again? As the lambda container gets destroyed
Good video!
Me like it!
Great content.!, but I feel Nginx also deserves a mention in this video :D
I forgot to mention it in this video so I spent 2 hours here .. 2 Hours NginX Crash Course + Bonus Content (Audio Fixed)
ruclips.net/video/hcw-NjOh8r0/видео.html
Hello Hussein, apologies for this lengthy question, kind of two parter.
Suppose i have 8 core machine as my server(linux) and i create 8 separate python processes(via shell script ), all running my flask web project. Then at a time the server will 8 serve separate requests?? Like multiprocessing i mean, not context switching.
2). If i have a single thread server, then if i get 100 requests at the sametime, then my server will one request only at a time and other requests will have to wait(though very minimal, given high performing machines nowadays ,nevertheless there will be some latency,right?)
I have a question. At which part specifically did we tell our server to handle HTTP requests? Like why is not an FTP server? Or SNMP or POP? What am I missing here?
I mean technically, and please correct me if I'm wrong, you didn't actually create a web server. It's more like an API or a web 'application' not a server. Plus you used express which is a web "framework"
Thank you so much sir for these great contents. can I ask more video about thread, process and how they are related to hardware? is there any limitation about number of thread in web-server? is it right that any socket is equivalent to a file in memory? and BTW I saw in other tutorial that Nodejs is not a framework. it's some sort of run time environment for Javascript based on V8 chrome engine I guess. But unfortunately can't understand what does this exactly mean.
thank you again for these awesome tutorials.
What's the raspberry pi thing? Do you need to buy one to do this or just install debian OS and try this for apache??
الله ينور
thanks
if we delete a folder in bin the occupied memory does not get freed you have a Mac any suggestion?
bro , i like you .. جزاك الله عنا كل خير
تسلم عزيزي الله يخليك، your welcome! Enjoy the content and thanks for your comment
I lost you at status code 418 XD
Hi Hussein, Please make some video on OAuth and other security stuff
Its in the backlog 👍 great idea
It is so unusual to find such a well-explained video on RUclips, thanks a lot ! I subscribe to your channel and I'm ready to watch your content ! :)
Glad it was helpful! thanks for checking out the content of the channel!
why havent you mentioned nginx here ? any perticular reason.
Thanks bro
Awesome video, trying to host a tiktaktoe game, backend already done
Java.net.socketexception.too many open files .. can't able to resolve the issue can you solve the problem if possible.
I am getting an error on windows machine while typing localhost on the browser:
HTTP Error 404. The requested resource is not found.
Gotam P that means your web server is running but it couldnt find the default index.html in the web server path. Which web server did you use?
@@hnasr apache2 on ubuntu
Gotam P great! Now go to /var/www/html and create index.html in that folder. Follow steps in 21:38
What's the difference between web server and application server. Is express on NodeJS web server or application server?
Every web server is an application server but not every application server is a web server.
I can have an application server running on my own custom TCP protocol.
what does it mean "out of the box" in this context of web server?, awesome video btw!
Thanks! it means a webserver that you install and use immediately without any configuration or code customization.
I would prefer Multi-threaded operation
Liked & Subscribed :)
Hi Hussein, are web servers required at all if we use CDN for caching static and use application server for dynamic content? Can TCP/IP connections be made directly with the application server itself, instead of first going through web server and then getting redirected to application servers as shown in many diagrams over the internet?
Hey Vishal, CDNs are technically webserver since they do serve web content over http
@@hnasr Thank you so much for your quick reply, also, thanks a ton for sharing so much knowledge, appreciate it! About above, so, the application server can accept connections directly and server user request? can app servers even take web socket connections directly without having a web server in front of them?
11:12
Was that a burp? Lol.
Hi man, @Hussein Nasser , just a question, when developing web page in django, am I actually developing a server also or is the server already there? If it is, which one is it?
Django is a framework so yes you are building a web server from scratch with low level capabilities and more responsibility.. unlike using apache or caddy which is an out of the box webserver
@@hnasr so yes i looked it up. But in documentation for django they say when deploying its better to use smtn like apache.
Great! how does nonblocking single threaded servers deal with concurrency though? Do they send off the response function to another thread, handle the next request, then callback the function when its ready?
The operating system takes care of scheduling the requests (TCP packets) to the the web server, if the thread is available it get served if the thread is not available it get queued until the thread is available.
@@hnasr so it handles it in the same way as a blocking single threaded... then youd want to unblock as many tasks during the api response as possible?
Good video, Can you make a comparison on Apache vs Nginx?
TJ nice idea tj, I made a dedicated video about nginx. Need one for apache NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More)
ruclips.net/video/WC2-hNNBWII/видео.html
17:19 httpd is the process name of Apache in OS, d mean daemon 😀
👍👍
❤️❤️❤️❤️❤️❤️❤️
im alive,,,, Nice Voice :D
👑👑👑👑👑
this video can be convered in just 20 min bro
Dude you rock.
What do I do with 2 instances of mysql?
Mysql that comes with my express apps(workbench)
And Mysql that comes with apache (phpmyadmin)
Have configured one to listen on 3306 like normal.
The other on another port. .
How does this affect prod tho?
Thats my only concern these days l, is , how is this going to affect prod?
I think I replied to this comment on another video, right? let me know if it make sense
@@hnasr ok I'll check for it. Thanks for actually replying.
You've been super helpful.
Like, that's some meaningful stuff when someone takes the time to be helpful. I appreciate it very much @Hussein Nasser , I will find the question and let you know
No doubt information u provided is good .....but u must pay attention to your way of delivering ...your content is related to learning some thing new and the way u speaks seems like you are describing a drama content ....must thing about it ....
Good
Oh no! Not the Denial of Attack! Haha, jokes. good video :D
26:14 I am alive 😂😂😂😂😂😂😂😂😂😂
😍
Don't read or consume, CHALLENGE!
there is plenty of information