Every time I watch one of these videos I always imagine going back in time and showing it to an early computer scientist and seeing their reaction to how far we've come.
Heh, yeah. But I meant going back to a time when the technology was still developing. And seeing their reaction for those times when Carrie Anne casually references the capabilities of modern computers.
It's great that the presenter doesn't shy away from "advanced" topics (in any of the videos in this course) - that provides something for every "level" (beginner / intermediate / advanced) of viewer. Great job with these videos !
Defragmentation was fun to watch... If you had angelic patience and nothing better to do. Before defragmentation - 25% fragmentation. 12 hours later - 24% fragmentation.
I often speed up informative UA-cam videos by 25%. This extremely good presenter obviates the need, and speaks just about 25% faster than "normal" with perfect articulation and fluidity that makes it easy to take in what she is saying without any flaws to distract. A playback speed of 80% would "undo" a 25% increase over "normal". (1/1.25=0.8). If you slow this video to 75% (the closest to 80% that's available), the presenter sounds like she's speaking a little more slowly than normal, so I'd say, yes, she's naturally speaking about 125% of normal rate. And, very well done!
Pajaat Or 00's kids with passed-down legacy hardware. I remember watching Windows XP defrag. I think I also remember Windows 7 defragging, but it wasn't nearly as fun. (born '97, so anything before 2002 is lost to childhood amnesia)
The Windows 9x defrag utility was the best, all those little blocks. XP just had the stupid bar which didnt tell you much Windows vista and newer got rid of the animations with the claim it improves performance.
I just read a full textbook chapter on this, but the way you described file systems made it so easy to understand! Thanks for this excellent, concise video. Great work!!
This was pretty good! Read a couple chapters today in a Linux book covering storage partitions and file systems and this had some tidbits a fairly technical book left out. I’ve been developing for 5 years now and finally just now falling in love with computer science
This video is really informative for knowing nitty gritty about file system specially "Block Storage"... It can also be used to understand about newly evolved Object storage...
I wonder who first used "crash" to describe a computer getting into a fankle. It's such a common usage I'd never thought about it until you just mentioned it.
no its not ironic because Crash Course was not made just fpr computer science, this is all brand new subject, man after they have every subject on earth done there will be No need for school or teachers and thank god
A bit of extra info about the making of custom file formats: since the data just needs to be in an order that the program using it can process, and that program is usually made by humans to at least some extent (though rarely entirely nowadays), it's also not uncommon to design new formats on top of text formats so that they'll be "human-readable". This is especially useful if you want users to be able to adjust data themselves, such as in the case of configuration files and simpler level editors for video games. That method also helps the data be easier to transfer across different computer architectures, which is why it's used in html and xml (formats used for websites and similar applications).
The downside, of course, is that text-based formats are rather space-inefficient and writing routines to read them isn't the simplest of tasks. Mainly because when it's human-readable, humans will edit it, and the mistakes they make are many and varied, requiring a lot of work on your part to figure out where they've gone wrong and come up with a suitable error message. Much like writing a compiler, actually. Most of the work there is making sure the file it's been fed is valid Foogol code (I hope nobody has made an actual language with that name because it's a good placeholder name).
Wow, my first time watching a video from your channel. As I am interested in File Systems I came across this video. You, Carrie, can explain it very clearly and your animations and sounds are pleasing on the eye ;)
>Opens audio editor >renames a jpg as .wav >opens ".wav" in audio editor >adds effect >saves ".wav" >Renames to .jpg >Opens in hex editor >fixes metadeta that was lost/damaged >Opens image
I can understand the simplification, but it is important to remember that many programs running under Unix/Linux do not care about extension and furthermore EXT4, a common Linux filesystem, does not experience fragmentation.
I remember the first time a teacher told me to find a _file_ on a computer ..... I spent 5 embarrassing minutes looking for any icon that looked like a clipboard or spiral notebook. Later I found out that was the Calendar icon.
I like how these videos make use of the font Terminal. It's a really good pixel font, which it honestly has to be since it's used on the Command Prompt.
How I am so late to know about this amazing channel!!! I guess nowadays youtube is getting so much filled by shitty channels that awesome channels are getting missed!
But... don't you like case-insensitive filenames, strange extended attribute storage, and a *special* version of Unicode denormalization applied to every filename? :p
fun little aside about ascii: take the number of the letter you want to encode (count your alphabet, 1 for a 2 for b etc) then add 64 for uppercase or 96 for lowercase, and that's the number in ascii or utf8. if you are looking to do it in binary, and know how to count in binary, add 10 to the beginning of the number for uppercase and 11 for lowercase (or bitwise or 1000000 or 1100000. so for a you just take 00001 and add 11 to the beginning to get 1100001 for a lowercase a..you can go through your alphabet like this, 00001,00001,00010,00011,00100,00101,00110,00111,etc) if you know how to count in binary on your hands you can just count as you go through your alphabets and get the result in binary on your hand.
tuseroni Extended Binary Coded Decimal Interchange Code (EBCDIC) is an eight-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. EBCDIC descended from the code used with punched cards and the corresponding six bit binary-coded decimal code used with most of IBM's computer peripherals of the late 1950s and early 1960s. It descended from Hollerith encoding used on punch cards. The letters A through I consisted of a punch in the 12th row and a punch in the first through ninth row. The letters J through R consisted of a punch in the 11th row and a punch in the first through ninth row. The letters S through Z consisted of a punch in row zero and a punch in the second through ninth row.
A punch card consisted of 80 columns with twelve possible punch rows. Hollerith encoding consisted of one hole punched for a number, two holes punched for an alphabetic character, and three holes for punctuation characters. Punching more holes in a column weakens the card causing it to jam in high-speed card readers. When IBM developed their Series/360 mainframes in the 1960s, ASCII encoding had not been created.
Not only is it not required, but it would actually be detrimental to the "health" of the SSD, since each storage cell can only be written to a limited (albeit reasonably large) number of times.
미셜비 that only half the truth. ssds will preread/precache the next blocks just in case they are needed, defragmentation can have a performance benefit even on ssds
usually, SSDs have their own firmware and controller that knows what is the health of each block and where the data is best located. the controller along with the firmware handles defragment and file placement. this is much better than relying on your operating system since the firmware maintain optimal health and speed and reduce data corruption is best left to the manufacturer since each type of SSD uses different NAND types, and different controllers and different configuration.
I think it might be worth mentioning a single file can have multiple paths. Also that hierarchical ordering mechanisms like folders aren't the only solution. We might see non-hierarchical tag-based filesystems in the future.
I remember loading programs through DOS on start up. Changing command prompts etc. Now, all I ever deal with is testman errors using FORD scan tool software. No clue with all this new stuff.
I absolutely love this series. Thank you for putting this together. Do you mind sharing that Putin.jpg [9:45] file that was inside the WORLD_HISTORY directory? Oh, and tell Stans that saving passwords inside a .txt file is not a very good idea. ;-) . I know you have already done 20 of these in Computer Science, but please keep them coming. Thank you.
I have a doubt @ 8:00 it has been said that we actually don't remove the data we just remove the record from the directory file.And since we are only storing the block number , How do we know that where a new file which over writes the deleted(actually not) file ends. for example let's say that a block contains only 8 bits of data. and suppose block 2 had the data 10001110 . Now we deleted it. And than some other file was being written to the block but it has only 5 bits of data so the first five bits are overwritten and the new block contains 10110110 so isn't this data corrupted.?
The whole byte would probably be written in as 00010110. Even memory is addressed on the byte level so to put a new 5 bits in front of the 3 would require load, manipulate and store. Assembly language allows the easy manipulation of a byte. This provides more freedom for bit manipulation but it is the programmer to do it write. I would zero fill (or 1's for signed negative ints) from the top or bottom depending on if its for logic or arithmetic functions. If you just want to write the upper five bits in, you could AND it with 11111000 to zero fill the rest of the byte address. Byte splitting may be extreme but if it is the memory system of an embedded system in a muscle implant or mars sensor, that might be what you limitations are. Just my 10 cents
I so wish you would go into the details of defragmentation. Whenever I defragmented a drive I was CONVINCED I could come up with a better method. My theory is that someone came up with a very slow approach that worked well enough in the 1950s and then everyone kept using it. Prove me wrong!
First I though, man I'm weird, shouldn't red+green+blue = black. Then I was vindicated as you said that it was fun to watch the defragmentation process, I honestly thought I was the only one.
for example, File Allocation Table 32 bits (FAT32) uses in the table 12 bits to tell the size of a file in megabytes. What is the greatest number you can have with 12 binary digits? 4096, so for this reason FAT32 only allows files smaller than 4 gigabytes.
but how does the addressing work, it needs some form of numbers for wach byte/bit of data, like in RAM. but unlike RAM the Addresses would need to be gigantic to properly address every piece of data, like in a 930GB SSD...
Super Suchti Well a 64 bit Number would be enough, but most storage media store data in adressable blocks between 100 & 1000000 Bytes in size, which are then read out sequentially
This crash course is one of the most delightful things to ever appear on the internet.
Thank you Carrie Anne, Stan and everybody else involved.
Every time I watch one of these videos I always imagine going back in time and showing it to an early computer scientist and seeing their reaction to how far we've come.
Heh, yeah. But I meant going back to a time when the technology was still developing. And seeing their reaction for those times when Carrie Anne casually references the capabilities of modern computers.
evolution of computer is fast...
Yeah, but they would be shocked we still don't have human level ai.
It's great that the presenter doesn't shy away from "advanced" topics (in any of the videos in this course) - that provides something for every "level" (beginner / intermediate / advanced) of viewer. Great job with these videos !
Defragmentation was fun to watch... If you had angelic patience and nothing better to do.
Before defragmentation - 25% fragmentation.
12 hours later - 24% fragmentation.
24 hours later: 26% fragmentation.
I often speed up informative UA-cam videos by 25%.
This extremely good presenter obviates the need, and speaks just about 25% faster than "normal" with perfect articulation and fluidity that makes it easy to take in what she is saying without any flaws to distract.
A playback speed of 80% would "undo" a 25% increase over "normal". (1/1.25=0.8).
If you slow this video to 75% (the closest to 80% that's available), the presenter sounds like she's speaking a little more slowly than normal, so I'd say, yes, she's naturally speaking about 125% of normal rate.
And, very well done!
After so many years, I finally know defragmentation means and what it does. Thank you so much.
Only 90's kids remember how fun it was to watch defrag.
Pajaat Or 00's kids with passed-down legacy hardware. I remember watching Windows XP defrag. I think I also remember Windows 7 defragging, but it wasn't nearly as fun. (born '97, so anything before 2002 is lost to childhood amnesia)
You can always get third party defraggers with nice GUIs that show off the data juggling.
I wouldn't say it was fun. I was expecting my Windows to run smoothly after every defrag, but it never happened :(
I'm 00's kid, and I remeber that defrag^^
The Windows 9x defrag utility was the best, all those little blocks.
XP just had the stupid bar which didnt tell you much
Windows vista and newer got rid of the animations with the claim it improves performance.
I just read a full textbook chapter on this, but the way you described file systems made it so easy to understand!
Thanks for this excellent, concise video. Great work!!
crash course has biggest impact on the world in recent decade. it changes the way we see UA-cam, technology and education. thanks to green brothers.
This was pretty good! Read a couple chapters today in a Linux book covering storage partitions and file systems and this had some tidbits a fairly technical book left out.
I’ve been developing for 5 years now and finally just now falling in love with computer science
We're now up 20 Layers of abstraction.
l a y e r s
That’s not how it works...
best explanation for file system. I saw around 10 videos till now. thanks and congrats
This video is really informative for knowing nitty gritty about file system specially "Block Storage"... It can also be used to understand about newly evolved Object storage...
This is by far the Crash Course series from which I have learned more. Thanks, Excellent work!!!
I feel like I struck gold with this series! Thanks for making these videos!
Love this whole series, you make it easy to understand the flow of technological advancement
Carrie you are my new spirit animal.
Just realised it's a bit ironic that these computer science courses are called "crash" course. ;)
Crash Course rocket science... coming soon!
coincidence isn't irony but that doesn't stop the phrase from being ironic
I wonder who first used "crash" to describe a computer getting into a fankle. It's such a common usage I'd never thought about it until you just mentioned it.
no its not ironic because Crash Course was not made just fpr computer science, this is all brand new subject, man after they have every subject on earth done there will be No need for school or teachers and thank god
😂
YAY two of my favorite series uploaded on the same day.
A bit of extra info about the making of custom file formats: since the data just needs to be in an order that the program using it can process, and that program is usually made by humans to at least some extent (though rarely entirely nowadays), it's also not uncommon to design new formats on top of text formats so that they'll be "human-readable". This is especially useful if you want users to be able to adjust data themselves, such as in the case of configuration files and simpler level editors for video games. That method also helps the data be easier to transfer across different computer architectures, which is why it's used in html and xml (formats used for websites and similar applications).
The downside, of course, is that text-based formats are rather space-inefficient and writing routines to read them isn't the simplest of tasks. Mainly because when it's human-readable, humans will edit it, and the mistakes they make are many and varied, requiring a lot of work on your part to figure out where they've gone wrong and come up with a suitable error message. Much like writing a compiler, actually. Most of the work there is making sure the file it's been fed is valid Foogol code (I hope nobody has made an actual language with that name because it's a good placeholder name).
Wow, my first time watching a video from your channel. As I am interested in File Systems I came across this video. You, Carrie, can explain it very clearly and your animations and sounds are pleasing on the eye ;)
>Opens audio editor
>renames a jpg as .wav
>opens ".wav" in audio editor
>adds effect
>saves ".wav"
>Renames to .jpg
>Opens in hex editor
>fixes metadeta that was lost/damaged
>Opens image
I can understand the simplification, but it is important to remember that many programs running under Unix/Linux do not care about extension and furthermore EXT4, a common Linux filesystem, does not experience fragmentation.
Peterolen very few programs (at least that I work with) care about the extension
I can't.... Stop..... BINGE WATCHING!!! I feel the knowledge coursing through my grey matter, ALMOST TO LEVEL 9000! WHAAAH!!!!
you have worked hard to make these videos.These videos are the best about computer science.
I remember the first time a teacher told me to find a _file_ on a computer ..... I spent 5 embarrassing minutes looking for any icon that looked like a clipboard or spiral notebook. Later I found out that was the Calendar icon.
hahahaha
I like how these videos make use of the font Terminal. It's a really good pixel font, which it honestly has to be since it's used on the Command Prompt.
How I am so late to know about this amazing channel!!! I guess nowadays youtube is getting so much filled by shitty channels that awesome channels are getting missed!
Love the series so much!
"Defragmentation [...] once upon a time it was really fun to watch."
Indeed.
RIP old Windows defrag tool 😢
I am glad to have found this series. Very informative. I will recommend to others!
WHEN WILL THERE BE "ANOTHER LEVEL OF ABSTRACTION" TSHIRTS?!!!!
the fact this is free blows my mind
this series is SO empowering
Ext4 is the best!
Correctrix *xfs ;3 lol. I think we can all agree these three are better than HFS+ ;)
But... don't you like case-insensitive filenames, strange extended attribute storage, and a *special* version of Unicode denormalization applied to every filename? :p
archlinuxrussian Umm, actually FAT32 is the best file system
My 5GB files disagree :P
You kids get off my lawn. FAT12 forever!
TY Carrie Anne, love your series!!!
what a satisfying video, I love my file system
fun little aside about ascii:
take the number of the letter you want to encode (count your alphabet, 1 for a 2 for b etc) then add 64 for uppercase or 96 for lowercase, and that's the number in ascii or utf8. if you are looking to do it in binary, and know how to count in binary, add 10 to the beginning of the number for uppercase and 11 for lowercase (or bitwise or 1000000 or 1100000. so for a you just take 00001 and add 11 to the beginning to get 1100001 for a lowercase a..you can go through your alphabet like this, 00001,00001,00010,00011,00100,00101,00110,00111,etc) if you know how to count in binary on your hands you can just count as you go through your alphabets and get the result in binary on your hand.
You cannot do that with EBCDIC encoding because of its not non-contiguous letter sequences.
why would you make an encoding scheme with non-contiguous letter sequences?
tuseroni
Extended Binary Coded Decimal Interchange Code (EBCDIC) is an eight-bit character encoding used mainly on IBM mainframe and IBM midrange computer operating systems. EBCDIC descended from the code used with punched cards and the corresponding six bit binary-coded decimal code used with most of IBM's computer peripherals of the late 1950s and early 1960s. It descended from Hollerith encoding used on punch cards. The letters A through I consisted of a punch in the 12th row and a punch in the first through ninth row. The letters J through R consisted of a punch in the 11th row and a punch in the first through ninth row. The letters S through Z consisted of a punch in row zero and a punch in the second through ninth row.
that doesn't answer the question of WHY?
A punch card consisted of 80 columns with twelve possible punch rows. Hollerith encoding consisted of one hole punched for a number, two holes punched for an alphabetic character, and three holes for punctuation characters. Punching more holes in a column weakens the card causing it to jam in high-speed card readers. When IBM developed their Series/360 mainframes in the 1960s, ASCII encoding had not been created.
that clears up a lot, cant believe I have just understood fragmentation after 20years using computer
Looking forward to Crash Course: Interpretive Dance :)
Crashcourse is better than my college professors
HALT and CATCH FIRE, I miss the good old days.
Tell me you also watch the show!
i love this series
so much
Big fan of your teaching. Awesome as always, thanks a ton!
The best thing about SSD's? No defragmentation required.
Not only is it not required, but it would actually be detrimental to the "health" of the SSD, since each storage cell can only be written to a limited (albeit reasonably large) number of times.
미셜비 that only half the truth. ssds will preread/precache the next blocks just in case they are needed, defragmentation can have a performance benefit even on ssds
teleturbo Trying to defrag a SSD would do more harm than good as explained by Gert Brink Nielsen.
AndyThePandaNinja it depends how you defrag and what filesystem you use .
usually, SSDs have their own firmware and controller that knows what is the health of each block and where the data is best located. the controller along with the firmware handles defragment and file placement. this is much better than relying on your operating system since the firmware maintain optimal health and speed and reduce data corruption is best left to the manufacturer since each type of SSD uses different NAND types, and different controllers and different configuration.
Love that the part about 'deleting a file' is the most replayed
I learned a lot from Carrie Anne than my professors xD Thank you Crash Course! :D
Exactly what I was looking for.Thanks for spreading knowledge.
this episode makes me desperately want a crash course linux series (sincerely, a braindead Ubuntu user)
i always somehow end up coming back to this computer science crash course XD
This series is so good
I think it might be worth mentioning a single file can have multiple paths. Also that hierarchical ordering mechanisms like folders aren't the only solution. We might see non-hierarchical tag-based filesystems in the future.
I just wanted to say you are awesome, you do a really good job.
I'm fascinated by how you explain about metadata and data! So cool!
Its really great that you are talking about things that relate more to everyone.
well that's not the purpose of this series tho
hahaha, the title is computer science not physiology
I remember loading programs through DOS on start up. Changing command prompts etc. Now, all I ever deal with is testman errors using FORD scan tool software. No clue with all this new stuff.
i remember my father doing defragmentation on windows xp. it was about 7-8 years ago. i remember it was so colourful
Very educational, keep the great content coming!
This is so amazing, i cannot thank you enough for such a wornderful job.
File systems are the best!
this is sooo well put together! thank you!!!!
Fantastic, logical, well structured explanation. Thank you so much.
Thanks for the knowledge ❤
Number of abstraction level > storage space in my head👍
awesome as always
please continue to make these videos. They are awesome to computer nerds like me.
This explains so much!! wish I could liked it more times
I absolutely love this series. Thank you for putting this together. Do you mind sharing that Putin.jpg [9:45] file that was inside the WORLD_HISTORY directory? Oh, and tell Stans that saving passwords inside a .txt file is not a very good idea. ;-) .
I know you have already done 20 of these in Computer Science, but please keep them coming. Thank you.
you were thinking Putin.jpg? i was wondering what Skoodilypoop_Animation.mp4 was...
You can find that in World History.
Thank you, I finally figured out what is metadata, and why it has this f...antastic name.
I would have loved to see a little bit mentioned about file compression here, or maybe this is in an upcoming episode.
The force is strong with you. It's episode 21 :)
Does the Mongol Warrior file have a bug where it benefits from an "exception"? Or is that a feature?
This was so informative, loved it. Thanks so much!
Way to go Carrie Anne. Great video!
I love this episode ☝️❤️❤️
I have a doubt @ 8:00 it has been said that we actually don't remove the data we just remove the record from the directory file.And since we are only
storing the block number , How do we know that where a new file which over writes the deleted(actually not) file ends.
for example let's say that a block contains only 8 bits of data. and suppose block 2 had the data 10001110 . Now we deleted it. And than some
other file was being written to the block but it has only 5 bits of data so the first five bits are overwritten and the new block contains 10110110
so isn't this data corrupted.?
The whole byte would probably be written in as 00010110. Even memory is addressed on the byte level so to put a new 5 bits in front of the 3 would require load, manipulate and store. Assembly language allows the easy manipulation of a byte. This provides more freedom for bit manipulation but it is the programmer to do it write. I would zero fill (or 1's for signed negative ints) from the top or bottom depending on if its for logic or arithmetic functions. If you just want to write the upper five bits in, you could AND it with 11111000 to zero fill the rest of the byte address. Byte splitting may be extreme but if it is the memory system of an embedded system in a muscle implant or mars sensor, that might be what you limitations are. Just my 10 cents
really wonderful presentation. I love this series. Also, Carrie Anne 😍
These guys are awesome
Incredible and informative ...
It would be really nice if there was a Business CrashCourse
Wow, you are so amazing. I love the course.
Amazing content!
this is agood lesson and you are a good teacher
This is pretty cool keep it up I wanna be a hardware engineer but I like learning about everything
Liked and subscribed! Loved this video. Thank you!!!
It would be awesome if you explain how is the data represented in a screen and the way screens work :D This videos are fantastic. Keep going!
Hang tight. We're getting there!
wow, What an explanation. Thoroughly enjoyed the video. Like The concept taking from the very basic. Thanks :):)
Thank you this was very helpful and informative 👍👍
2:14 - I understood that reference.
? What reference?
fast speaking and confidence in subject .
Way awesome then Galvin Book!
Nice video. Good work!
So interesting and engaging, great work. I think this is my favorite crash course series
Nice programme
really enjoying this series
I so wish you would go into the details of defragmentation. Whenever I defragmented a drive I was CONVINCED I could come up with a better method. My theory is that someone came up with a very slow approach that worked well enough in the 1950s and then everyone kept using it. Prove me wrong!
First I though, man I'm weird, shouldn't red+green+blue = black. Then I was vindicated as you said that it was fun to watch the defragmentation process, I honestly thought I was the only one.
Amazing explanation!!
for example, File Allocation Table 32 bits (FAT32) uses in the table 12 bits to tell the size of a file in megabytes. What is the greatest number you can have with 12 binary digits? 4096, so for this reason FAT32 only allows files smaller than 4 gigabytes.
This was an incredible episode!
but how does the addressing work, it needs some form of numbers for wach byte/bit of data, like in RAM. but unlike RAM the Addresses would need to be gigantic to properly address every piece of data, like in a 930GB SSD...
Super Suchti Well a 64 bit Number would be enough, but most storage media store data in adressable blocks between 100 & 1000000 Bytes in size, which are then read out sequentially