I'm a software developer, and this was a good overview. At first I thought you were just covering the graphics APIs, but I'm glad you went over things like the Windows API and APIs for social media. This is something that a lot of people don't know about programming and maybe scares them away from learning (we don't have to make everything from scratch)
I love how straightforward TechQuickie is in explaining various topics in a way that most watchers can understand, but it is not so long it's boring. Kudos to Linus, Luke, Dennis, and Jon for TechQuickie!
I've recently started a new career as a Project Manager (From teaching English to IT:)) and needed to deepen my knowledge in.... everything. Your channel helps me a lot! Thank you, guys!
I was reading about it today for my Java University Classes. Holy shit. I never got to read it, cuz i got bored. Now i guess i gotta watch and learn here.
1:40 "...or if you're a Bash fan, then.. yesterday." For me that's everyday, including today (that is, if we are counting ZSH). For a lot of things, I find it faster and more powerful than using a GUI.
And with great power comes great responsibility. I've accidently swapped out a period for a slash before and destroyed my OS. Others have had worse mistakes, causing them to lose much data.
Pascal Lafreniere It's not about how good or bad windows 10 are, they should never have tried to trick their users to upgrade. Data is worth money, and for someone who isn't tech savvy, windows 10 collect a lot of it from their users.
this is common problem with using a green screen, the light bounces off of the green screen and back onto the person giving a green or yellowish glow around or even on the person
That Vulkan API is pretty remarkable when looking at how it is used in Doom (2016). Running on just R3 2200G iGPU, the game gets around 60fps @720p/med (Technically, 50% render scale of 1080p, so slightly more than 720p)
4:08 "I mean, can you imagine if every single program on your computer had different looking close button on the corner?" Yeah...that pretty much happens on Linux if you screw up with theme settings... More specifically if you set different looking theme for each toolkits
Another thing that was somewhat glossed over in this video: APIs control what data is exposed to the consumer and what stuff is hidden, and this is usually tied in with some sort of authentication algorithm. Web APIs, for example, often use token-based authentication to control what data a user can see.
I don’t know how it is today with Win10 but back in the late 90s early 2000s a friend techie theorised that the main reason Windows would be more unreliable than say MacOS is that Win has to ‘make do’ with infinitesimal combinations of hardware whilst MacOS had a close system and only had to manage this or that hardware making the OS not only more stable but also quicker - Unix aside. An analogy could be Hackintoshes: when you want to make MacOS play with several combinations of hardware you’ll likely face the same issues one would face using Windows...
You know what would make for a good video? The history of keys like Numlock, Scroll, Pause, Pos1 and Capslock and why the hell they still exist on a modern keyboard.
This video came recommended after watching the LTT preview of Intel's ARC GPUs, which they report perform great on Vulkan and DX12, but not so hot on all the titles that are still using DX11. Let that sink in: this video is *five years old* and game makers are *still* dragging their heels moving to the new APIs.
haha... l was just thinking to myself last night "l wonder if Techquickie will do APIs?" and the l got the notification that this very thing has happened.
So in terms of gaming, the engine would talk to the API or say OpenGL which would then talk to the driver which would then talk to the hardware? Engine>API>Driver>Hardware?
Linus, can you do a techquicky about Floating point performance and how it relates to single and double precision (whatever that means) and this 16 bit and 32 bit accuracy that I hear people talking about. Like how quadro graphics card are apparently better at rendering using such techniques. Sorry if I made this question hard to interpret. Have a good day please.
Floating point and double precision numbers both store decimal numbers. Floating point numbers are faster, but aren't near as accurate (for many reasosn). Double precision numbers are much, much more accurate, but cost a lot more RAM. Hope this helps!
16 bit and 32 bit refer to how much memory (in bytes) is being used to store information. RAM is pretty easy to come by these days, but it's still worth mentioning.
"when DOS ruled the world, or if your a bash user, yesterday" doesn't mean he said bash came out yesterday he meant that bash is commonly still used or "its ruling the world."
Yeap, this is what I need. Please keep creating a video like this. I don't like hardware videos, but if it comes to software then I count it as better knowledge. Why don't you create a video about terminal / unix language or maybe github or package manager, explanation about ajax and cetera. That would be awesome.
So, visualized, the more applications you have on one end, the more you have to add on the other? I imagine a normal software like this: Hardware -> Driver -> Programm And a game like this: Hardware -> Driver -> API -> Engine -> Software (game) As someone learning IT it still confuses me, any help?
Everytime i learn about API's I get the concept instantly but its the acronym that messes up the understanding after a while. can someone explain why do we call it "application programming interface" ? which app is getting "programmed" ? shouldn't it be more like application communication interface or something like that
Also, if companies like Facebook and Twitter share their code, and decide to change the code in their system to make them faster or more secure, other people will have to change thier whole website to adapt to this change.
But how do I know which API is required for a computer program to work and is it only required to run a program or we can code a program without the API also? Which API required to run C/C++ code and which installed files are API?
I don't think he explains it correctly. An Interface is a communicator which communicates with dissimilar entities ...to facilitate loose coupling. Suppose u have program A and your friend has program B ....now your program needs to use some functions implemented by your friend's program B. Inorder to do that you can simply include/import that functions into your program and use it. But what if he's not interested in showing implementation(source) of the function but can give you his helper functions (interfaces) which are externally exported/available publicly. Now if he agrees to give his compiled executable(exe/dll/libs) and the documentation on how to use his functions(link editing to ur program).... Then what he created just now is an API(Application Programming Interface). If you consider your program to be an Application then in order to help your programming your friend's program B supplies externalised interface functions....thus the name API.... API can be anything which couples two things where one is consumer of API and other being Distributor/publisher of the API.... This is very useful in the sense that if for ex: one wants to create a text on Android he can use api function called settext() without bothering how the android framework actually draws the text box on the screen. For web based APIs....the server provides some services and clients can request those service using externalized APIs which could be a query URL or some functions/methods running on the server program. In terms of Gaming....DirectX, OpenGL, provides functions/methods to game developers who need not worry about how a Vector/line/triangle is constructed pixel by pixel on screen and can simply use them to drawer desired structures. The underlying game engine to which the DirectX communicates could be UnrealEngine4, Unity etc.
probably that may be his reasoning, but the reason why I say that is because I use Linux mint 18 and normally it's Ubuntu that is shown for the fact that Ubuntu is what Linux mint is based off of, and do tell me what is your favorite os or os's, mine is mint 18 and Windows 10
Kameron Swan Probably Linux Ubuntu, and Windows 7. I'm okay with Windows 10, though the default ads and some questionable update decisions makes it a somewhat mixed bag for me.
If the issue with not having an api is that programmers would have to develop for every possible config, then why did the Xbox use DirectX when there was only one config?
Wow. It's easy to tell that LTT has no employe that can actually code. The closing button for example is nothing the programer chooses. The windows manager decides how it looks and where it is located. It's very easy to test that: Just change your window manager settings or kill it in linux... Unless you do some strange things like programing a full screen application and implement your own close button and stuff.
But in order to classify as an API it has to be programmable. Have you ever tried to change the closing button in your application? I wish you luck if you try, because you aren't supposed to be able to do that. Yeah sure it is possible to see everything as an API because it is possible to use it as an interface. But at this point the term gets useless because you can also use a game as a pretty strange and extremely bad API for trying out AI or some others things. Normally an API is an Interface that is actually designed to be used in the coding process of an application. That means you can interact with it and don't just get something static (like a closing button that is not changeable through code).
I don't think this guy explained it correctly. An Interface is a communicator which communicates with dissimilar entities ...to facilitate loose coupling. Suppose u have program A and your friend has program B ....now your program needs to use some functions implemented by your friend's program B. Inorder to do that you can simply include/import that functions into your program and use it. But what if he's not interested in showing implementation(source) of the function but can give you his helper functions (interfaces) which are externally exported/available publicly. Now if he agrees to give his compiled executable(exe/dll/libs) and the documentation on how to use his functions(link editing to ur program).... Then what he created just now is an API(Application Programming Interface). If you consider your program to be an Application then in order to help your programming your friend's program B supplies externalised interface functions....thus the name API.... API can be anything which couples two things where one is consumer of API and Distributor/publisher of the API.... This is very useful in the sense that if for ex: one wants to create a text on Android he can use api function called settext() without bothering how the android framework actually draws the text box on the screen. For web based APIs....the server provides some services and clients can request those service using externalized APIs which could be a query URL or some functions/methods running on the server program. In terms of Gaming....DirectX, OpenGL, provides functions/methods to game developers who need not worry about how a Vector/line/triangle is constructed pixel by pixel on screen and can simply use them to drawer desired structures. The underlying game engine to which the DirectX communicates could be UnrealEngine4, Unity etc.
I'm a software developer, and this was a good overview. At first I thought you were just covering the graphics APIs, but I'm glad you went over things like the Windows API and APIs for social media. This is something that a lot of people don't know about programming and maybe scares them away from learning (we don't have to make everything from scratch)
Well all of those things basically is rest or rest api. Api has different meaning basically..
I love how straightforward TechQuickie is in explaining various topics in a way that most watchers can understand, but it is not so long it's boring. Kudos to Linus, Luke, Dennis, and Jon for TechQuickie!
I've recently started a new career as a Project Manager (From teaching English to IT:)) and needed to deepen my knowledge in.... everything. Your channel helps me a lot! Thank you, guys!
This was uploaded the moment when i was about to google what a api is
Message from the gods
I was reading about it today for my Java University Classes.
Holy shit. I never got to read it, cuz i got bored. Now i guess i gotta watch and learn here.
awareness gods
you used Google+ API to post this comment
No he did not, youtube just send a Ajax post to the nearest Google server with a key, the message and other security information
Literately working their way through the tech dictionary.
4:28 Wow! That's some Kurzgesagt level artwork right there!
That is beyond kurzgesagt even beyond current day kurzgesagt
Kurzgesagt ain't got nothing on techquickie
After all these years, you still make great stuff, Linus
Sweet, I always here Vulcan API when looking at games for my s7 and never understood what it was until now. Thank Linus!
"ping 127.0.0.1" 10/10 picture choice
xd
ping 0.0.0.0/0
#PingDaWorld
It is actually sad that 3 hours before the upload of this video someone in my relative family passed away. 😢
Kenji Gunawan FeelsBadMan
I really like this guys, seriously that's the reason why I come here to learn more about tech stuff and get update what I already know.
1:44 see whats on F4, just see it!
f5 is more funny
On 64-bit you still use the Win32 API. Even though the code is 64-bit
dude thank you so much - i just watched & read 20,000 different things about APIs and this is the only one that actually made me connect the dots
1:40 "...or if you're a Bash fan, then.. yesterday."
For me that's everyday, including today (that is, if we are counting ZSH).
For a lot of things, I find it faster and more powerful than using a GUI.
MORE POWER!!!!
Ulimited power!!!
And with great power comes great responsibility. I've accidently swapped out a period for a slash before and destroyed my OS. Others have had worse mistakes, causing them to lose much data.
apt-get moo
with sudo, comes more responsibility.
more like _moo_ responsibility
04:10 Yes, that would be like all programs using it to close themselves, then suddenly one uses it as a accept button.
its possible to do that......lolll
I think he is referring to the windows 10 update prompt. Closing it was essentially accepting the update
ESDACIO44 Just to confirm, that is indeed what I was referring to.
Haa, I didnt get that! But windows 10 isnt bad, bud I dont know why microsoft wanted that much us to have it....
Pascal Lafreniere It's not about how good or bad windows 10 are, they should never have tried to trick their users to upgrade.
Data is worth money, and for someone who isn't tech savvy, windows 10 collect a lot of it from their users.
This is the best description video of API's I've found yet. Looking forward to sharing it with my class.
A very good and solid explanation of API! Thanks!
Why is Linus so yellow? Its like every single techquickie video has huge colour issues...
haha damn now you got me looking at his bright yellow hands the entire video
this is common problem with using a green screen, the light bounces off of the green screen and back onto the person giving a green or yellowish glow around or even on the person
Drinks too much lemonade
LOL! When I first read you comment, I thought you were calling Linus chicken
Bad green screen this time?
THIS GUY IS GOOD!!! KEPT ME GLUED TO MY SCREEN
super cool visual effect you used when you broke down API acronym kudos on that.
Thank you this was one of the best explanations of API and how it works that I seen so far.
That Vulkan API is pretty remarkable when looking at how it is used in Doom (2016).
Running on just R3 2200G iGPU, the game gets around 60fps @720p/med
(Technically, 50% render scale of 1080p, so slightly more than 720p)
2023 now and you can get 60 fps at 900p on the newest amd apus
This video was very informative, I always enjoy binge watching these videos because they are very helpful in understanding how things work. Good job!
Linus you are a wealth of knowledge. Gaben bless thine soul
This is not such great knowledge, it's a simple/ basic logic that most people ignore.
And this is a very simplistic explanation.
Why do I need to learn this at midnight before work in the morning?!?
I just can't stop myself
If you're a bash fan, then like yesterday! That's on point!
Here in 2021. This was a great video in which he also refers two other really good informative videos!! Linus is great at what he does!!! Thanks man!
Why is Linus' voice so high, it's so much deeper now comparatively.
I knew what an API is (great explanation btw) but wasn't sure what graphics APIs like D3D and OpenGL actually do, this summed it up nicely.
Forget "psycology of fonts" or "battery bank buy guide" and other kind of nonsense videos. I suscribed here for this kind of videos.
“Or if your a bash fan than yesterday “ 1:50 I shouldn’t have laughed as hard as I did
Lol
I love your videos and how you simplify complex subjects
1:44 nice commands, dont think I've ever seen those before
4:08 "I mean, can you imagine if every single program on your computer had different looking close button on the corner?"
Yeah...that pretty much happens on Linux if you screw up with theme settings...
More specifically if you set different looking theme for each toolkits
Another thing that was somewhat glossed over in this video: APIs control what data is exposed to the consumer and what stuff is hidden, and this is usually tied in with some sort of authentication algorithm. Web APIs, for example, often use token-based authentication to control what data a user can see.
I don’t know how it is today with Win10 but back in the late 90s early 2000s a friend techie theorised that the main reason Windows would be more unreliable than say MacOS is that Win has to ‘make do’ with infinitesimal combinations of hardware whilst MacOS had a close system and only had to manage this or that hardware making the OS not only more stable but also quicker - Unix aside.
An analogy could be Hackintoshes: when you want to make MacOS play with several combinations of hardware you’ll likely face the same issues one would face using Windows...
An API isn't really a distinct layer, but more where to layers meet, at the 'interface' of the two if you will.
As a senior software developer, I approve this message
I remember when techquickie was about "... as quick as possible" or "... in under a minute". Good ol' days. Rip 6 min videos
You know you could add captions, earn points, and move up the regime.
You know what would make for a good video?
The history of keys like Numlock, Scroll, Pause, Pos1 and Capslock and why the hell they still exist on a modern keyboard.
I covered this at university but I have since forgotten most of it.
Cool Beans will always be around.
Do you know how to render OpenGL without allocating the memory at the location 0xB50000050500FF?
This video came recommended after watching the LTT preview of Intel's ARC GPUs, which they report perform great on Vulkan and DX12, but not so hot on all the titles that are still using DX11.
Let that sink in: this video is *five years old* and game makers are *still* dragging their heels moving to the new APIs.
i've been programming for years why did i click on this
that makes me feel better as a CSCI major googling what an API is
Lonke cause u a fake programmer jk xdddd
@@benandrei8690 the jig is up
Same, I'm a professional developer and was just curious to see what this layman's explanation would be
I literally got assigned to build an API and I had to google what it is...
I'm surprised you guys didn't make a video called what is openGL by now. That has to be a commonly asked question
haha... l was just thinking to myself last night "l wonder if Techquickie will do APIs?" and the l got the notification that this very thing has happened.
I never thought i would be watching LTT for help in high school programming, but here I am.
3:44 "Window 95"... Just one Window? :P
why do i have deja vu about luke talking about waiter and chef cooking pizza
Thank you for this very informative video. Linus! More power!
Didn't Luke make a video on this same topic a few days back??
Eeshaan Achar yeah he did. I was thinking the same thing. They used waiters and food orders for examples
exactly
So in terms of gaming, the engine would talk to the API or say OpenGL which would then talk to the driver which would then talk to the hardware? Engine>API>Driver>Hardware?
hii techquickie I love all your tech videos.. can you make a video on programming languages...and it's history..
I'm SHOCKED I've never heard of or tried Vulkan, I just got done playing DOOM 16 at ultra settings on a GTX 1050Ti at a solid 60fps
Getting real worried that Linus' transformation into an oompa loompa will be complete soon. Those palms are getting awfully orange in a quickie.
You forgot to put "as fast as possible" on the title. :P
Great video, but too short. Could you make a little bit more detailed video about this topic, huge please? :)
Linus, can you do a techquicky about Floating point performance and how it relates to single and double precision (whatever that means) and this 16 bit and 32 bit accuracy that I hear people talking about. Like how quadro graphics card are apparently better at rendering using such techniques. Sorry if I made this question hard to interpret. Have a good day please.
Floating point and double precision numbers both store decimal numbers. Floating point numbers are faster, but aren't near as accurate (for many reasosn). Double precision numbers are much, much more accurate, but cost a lot more RAM. Hope this helps!
It does. But how does 16 bit, and 32 bit, and whatever other bits come into play when talking about these things?
16 bit and 32 bit refer to how much memory (in bytes) is being used to store information. RAM is pretty easy to come by these days, but it's still worth mentioning.
Bash came out 8 years after DOS, not yesterday...
"when DOS ruled the world, or if your a bash user, yesterday" doesn't mean he said bash came out yesterday he meant that bash is commonly still used or "its ruling the world."
you took it literally
SUGGESTION - can you guys do a "As Fast As Possible" video on MSI's Afterburner program or Awesome Miner please?
Yeap, this is what I need. Please keep creating a video like this. I don't like hardware videos, but if it comes to software then I count it as better knowledge. Why don't you create a video about terminal / unix language or maybe github or package manager, explanation about ajax and cetera. That would be awesome.
So, visualized, the more applications you have on one end, the more you have to add on the other? I imagine a normal software like this:
Hardware -> Driver -> Programm
And a game like this:
Hardware -> Driver -> API -> Engine -> Software (game)
As someone learning IT it still confuses me, any help?
Everytime i learn about API's I get the concept instantly but its the acronym that messes up the understanding after a while.
can someone explain why do we call it "application programming interface" ? which app is getting "programmed" ? shouldn't it be more like application communication interface or something like that
Also, if companies like Facebook and Twitter share their code, and decide to change the code in their system to make them faster or more secure, other people will have to change thier whole website to adapt to this change.
All the fog is cleared up.. I now understand APIs. Cheers.
still waiting for Luke's version of tech reviews
API is basically the coding dictionary for a library or program
It makes it way more straightforward for programmers to make what they want to make
please make a video on "SYSTEM CALLS"
Bash explained as fast as possible and .dll explained as fast as possible please ^-^
the commercials at the end kills him.
I use Glide API, and 3dfx voodoo 5 5500. :)
There are some programs that have different looking close buttons,
"if bash, then yesterday" I see what you did there
But how do I know which API is required for a computer program to work and is it only required to run a program or we can code a program without the API also? Which API required to run C/C++ code and which installed files are API?
a techquickie that's quick?!
Best Explanation Ever! ♥
I don't think he explains it correctly. An Interface is a communicator which communicates with dissimilar entities ...to facilitate loose coupling.
Suppose u have program A and your friend has program B ....now your program needs to use some functions implemented by your friend's program B. Inorder to do that you can simply include/import that functions into your program and use it.
But what if he's not interested in showing implementation(source) of the function but can give you his helper functions (interfaces) which are externally exported/available publicly. Now if he agrees to give his compiled executable(exe/dll/libs) and the documentation on how to use his functions(link editing to ur program)....
Then what he created just now is an API(Application Programming Interface).
If you consider your program to be an Application then in order to help your programming your friend's program B supplies externalised interface functions....thus the name API....
API can be anything which couples two things where one is consumer of API and other being Distributor/publisher of the API....
This is very useful in the sense that if for ex: one wants to create a text on Android he can use api function called settext() without bothering how the android framework actually draws the text box on the screen.
For web based APIs....the server provides some services and clients can request those service using externalized APIs which could be a query URL or some functions/methods running on the server program.
In terms of Gaming....DirectX, OpenGL, provides functions/methods to game developers who need not worry about how a Vector/line/triangle is constructed pixel by pixel on screen and can simply use them to drawer desired structures. The underlying game engine to which the DirectX communicates could be UnrealEngine4, Unity etc.
Bash fan here, I last typed a command just now because I used a command to type this
Opengl is bugged for me
Very good explanation!
I learned something new today!
Dude, thank you. Well done.
How sausages are made: when daddy sausage loves mommy sausage very very much....
Wait.. this sounds wrong...
I love how you show Linux mint 18 instead of Ubuntu
Probably because mint would look familiar to those who don't aren't familiar with Linux.
probably that may be his reasoning, but the reason why I say that is because I use Linux mint 18 and normally it's Ubuntu that is shown for the fact that Ubuntu is what Linux mint is based off of, and do tell me what is your favorite os or os's, mine is mint 18 and Windows 10
I like Linux Mangaka Mou the most
Kameron Swan Probably Linux Ubuntu, and Windows 7. I'm okay with Windows 10, though the default ads and some questionable update decisions makes it a somewhat mixed bag for me.
I personally use Debian
If the issue with not having an api is that programmers would have to develop for every possible config, then why did the Xbox use DirectX when there was only one config?
Wow. It's easy to tell that LTT has no employe that can actually code. The closing button for example is nothing the programer chooses. The windows manager decides how it looks and where it is located.
It's very easy to test that: Just change your window manager settings or kill it in linux...
Unless you do some strange things like programing a full screen application and implement your own close button and stuff.
I know right! SDL2 for the win by the way. :P
But in order to classify as an API it has to be programmable. Have you ever tried to change the closing button in your application? I wish you luck if you try, because you aren't supposed to be able to do that.
Yeah sure it is possible to see everything as an API because it is possible to use it as an interface. But at this point the term gets useless because you can also use a game as a pretty strange and extremely bad API for trying out AI or some others things.
Normally an API is an Interface that is actually designed to be used in the coding process of an application. That means you can interact with it and don't just get something static (like a closing button that is not changeable through code).
Dang nabbit Linus, use a foot pedal to trigger your teleprompter.
So glad you made this!! :D
great video linus ! thanks
This is a Braintree commercial. but 1:44 there is a sweet list of commands. I didn't know I could just type 'sex.' Awesome.
Did anyone else catch the pitch change at 4:31? His voice dropped mid sentence
So how about a framework or libraries? How are they different?
Which is the best graphics api
Now I know why the close button of all software are the same...
Your commercials are hilarious
Question: is API a part of an app or it's the app itself? Do websites use API?
I don't think this guy explained it correctly. An Interface is a communicator which communicates with dissimilar entities ...to facilitate loose coupling.
Suppose u have program A and your friend has program B ....now your program needs to use some functions implemented by your friend's program B. Inorder to do that you can simply include/import that functions into your program and use it.
But what if he's not interested in showing implementation(source) of the function but can give you his helper functions (interfaces) which are externally exported/available publicly. Now if he agrees to give his compiled executable(exe/dll/libs) and the documentation on how to use his functions(link editing to ur program)....
Then what he created just now is an API(Application Programming Interface).
If you consider your program to be an Application then in order to help your programming your friend's program B supplies externalised interface functions....thus the name API....
API can be anything which couples two things where one is consumer of API and Distributor/publisher of the API....
This is very useful in the sense that if for ex: one wants to create a text on Android he can use api function called settext() without bothering how the android framework actually draws the text box on the screen.
For web based APIs....the server provides some services and clients can request those service using externalized APIs which could be a query URL or some functions/methods running on the server program.
In terms of Gaming....DirectX, OpenGL, provides functions/methods to game developers who need not worry about how a Vector/line/triangle is constructed pixel by pixel on screen and can simply use them to drawer desired structures. The underlying game engine to which the DirectX communicates could be UnrealEngine4, Unity etc.
Thank GOD Linus did a video on this, because everybody else is talking shit.
Excellent content