Тёмный

What's a Carriage and Who's Feeding it Lines? CRLF - Computer Stuff They Didn't Teach You #1 

Scott Hanselman
Подписаться 177 тыс.
Просмотров 115 тыс.
50% 1

Computer Stuff They Didn't Teach You #1 - What's a Carriage and Who's Feeding it Lines? CRLF
computerstufftheydidntteachyou...
• Computer Stuff They Di...
Thanks to Carlos Schults for his work on the English and Portuguese subtitles! carlosschults.net
Thanks to Kerem Demirer for the Turkish Subtitles!

Наука

Опубликовано:

 

4 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 255   
@Mrkonc
@Mrkonc 4 года назад
Oh! This explains why in earlier days sometimes when I opened files in Notepad all content would be just one line. 👍
@runscopeable
@runscopeable 4 года назад
Please do continue those. Even though I knew about this topic, I kept watching because of your educational skills and soothing voice!
@oluwaseyiolowosulu7638
@oluwaseyiolowosulu7638 4 года назад
runscopeable same here!
@chan_for
@chan_for 3 года назад
sometimes the soothing voice makes me to increase my speaker's volume, later realising it is on Max.
@motif5775
@motif5775 3 года назад
Where can I learn this? New to git and github.
@jaspercai2986
@jaspercai2986 2 года назад
I agree with you😎
@geronimus-prime
@geronimus-prime Год назад
In an episode of Columbo called "Exercise in Fatality", there's a scene with an ultra-modern-for-the-1970s digital computer, with batcave-style spinning plate-disks and no screen! (Not even a green one.) It's a nice depiction of the world for which this CRLF system was invented - where rather than displaying on a screen, each byte was an instruction to a printer - it was the only way to get data out of the system! And the carriage returns really did tell the printer, "Move back to position zero." And the line feeds really did tell the printer, "Move the paper up." MacOS X currently uses the Unix-style LF line ending, but it was the previous MacOS 9, 8, 7 and 6 (circa 1980s-2000s) that used the carriage return only. I remember, in 2001, purchasing my first Mac laptop. The authorized reseller (Apple Stores did not yet exist) told me it came installed with a prototype of OS X on dual boot. But that I shouldn't use it because it was still very buggy. I wonder how many of those bugs were due to the change-over in line end character... (He also showed me something called an iPod, which looked a bit like a Tamagotchi with a headphone jack. I admit that I didn't see the point, since my family had never been prosperous enough to afford a disc-man portable CD player, and endure its maddening skipping. In the old days, we had to jog in abject silence. For five miles! In 3 feet of snow! Uphill both ways! Time is a funny thing...)
@damianshaw8456
@damianshaw8456 4 года назад
Macs Switched from Carriage Return to Line Feed the same as other Unix like OSes as part of their transition from Mac 9 to OS X
@n8wrl
@n8wrl 4 года назад
Scott I don't now how you find the time to do all you do. Amazing stuff - thank you!
@dazecm
@dazecm 3 года назад
Arrived to this series as it's hit video #8 and it went straight into my Playlist. Thanks Scott, great info as always.
@Mezmiro
@Mezmiro 3 года назад
Love the series Scott! There are always a few bits of info that I missed along the way, so these are very helpful videos to fill in the gaps.
@dosdeviant
@dosdeviant 4 года назад
These are brilliant, please keep them coming. You describe things in a wonderfully engaging manner.
@dontown1531
@dontown1531 4 года назад
Great video. I was an alpha tester for the ARPANET in 1969. They brought a Telex machine to our High school here in Vancouver & we sent an 'e-mail' to SFU using a telephone handset & acoustic modem (remember those?). I learned programming on a Honeywell 200 mainframe @ Langara College in 1971 when it 1st opened. Look forward to your series.
@xshankyx4719
@xshankyx4719 4 года назад
I stumbled upon this video in my feed and it was very interesting! I'll be checking out the others and hope you put out many more.
@kendavis8046
@kendavis8046 Месяц назад
Back in the day, IBM owned the printing protocols, and EBCDIC was the primary encoding scheme. A Hex F1 ("1" translated) in position 1 of a line was a "skip to channel one", almost universally used to start a new page on line one. Since it was designed for the printers of those days, most records (in landscape) were 132 printable characters, plus 1 in the non-printed first character for carriage control. A space, hex "40" was space 1 and print. A zero, hex F0, was space none and print (i.e. - usually double print for bold.) You could also have a "skip to channel 2, or 3, etc., to go to a specific line on a form or page, avoiding empty records. And it was based on an IBM 1401 (IIRC, might have been a 1403) printer, where you could manually set the vertical "channels" up for specific jobs. When you got really fancy with the printing on the high-end laser printers of the early 1980's, you could have additional controls in the non-printed areas for things like font control, form control, even whether pages should be printed in simplex or duplex in the stream of data from a computer or from data stored on tape or DASD. You could do the same thing using ASCII, and I got used to that as well, but most large print jobs back in those days were EBCDIC. No engineering here, just someone who learned how printable data worked from the time I was 16, working in microfiche, then laser printing, then COBOL let me control what was being sent to the printer or COM recorder. Then an IT career in multiple areas until I retired a few years ago, but I never got as down and dirty with raw data as I did back when I was a youngster.
@sebastianbergstrom4207
@sebastianbergstrom4207 4 года назад
Wow! Thanks so much! My friend pointed me here. Very grateful. I had no idea. I hope you feel encouraged to continue! Thanks
@harishvenkataraman4193
@harishvenkataraman4193 3 года назад
This is a great playlist! Oftentimes, it's the knowledge of the mundane, non-flashy stuff about computer science that differentiates a great programmer from a good one.
@shobhitwalia1
@shobhitwalia1 4 года назад
Perfect Scott, you are one of the most passionate techy in my opinion so far
@agermoune
@agermoune 2 года назад
Love this! Subscribed immediately. Thx Scott for these introductory videos! Was looking for how PowerShell works inside VSC while learning Python. Glad I found you!
@aaronkoller8811
@aaronkoller8811 4 года назад
What a great explanation! You do a fantastic job of teaching by taking first concepts and building in an easy way. It’s also really good to see you you expertly weird the console.
@IkaroAmorimeSilva
@IkaroAmorimeSilva 2 года назад
I came to your channel through this video. I had some idea about CRLF, but this video elucidate me a lot. Thank you
@rajaganji7982
@rajaganji7982 3 года назад
We Need this series GOINGGGGG!!!!! 100% . Don't stop doing this Ever.
@CRBarchager
@CRBarchager 2 года назад
Been doing tech stuff for almost 40 years and never knew the "where" command. So you learn some new stuff everyday.
@kenmayfield3109
@kenmayfield3109 4 года назад
Thanks for this episode. Great idea for a series! I'm fascinated by the inner workings of the computer and the software that runs on them. Possible ideas for future episodes: difference between heap and stack (and when to use each), accessing video card memory, build and make (compiler functions).
@atharvmunot8305
@atharvmunot8305 Год назад
Absolutely loved this!! Please continue with such content!
@JeroenHuylebroeck
@JeroenHuylebroeck 3 года назад
Even though I'm only a semi techie, I'm a superfan of you Scott. Great stuff you produce!
@arpitvasani
@arpitvasani 4 года назад
Love the idea. Always wanted to know some of these things. Topics for next videos: - Historic languages like lisp and COBOL and how they affect current ones - zsh & shell scripts - Wsl Vs actual Linux machine - gnome and KDE - Linux permissions sudoers
@tropicalverktaki
@tropicalverktaki 3 года назад
This series is fantastic! Thank you for making these videos!
@Airn5475
@Airn5475 4 года назад
Good stuff Scott! Keep it coming!
@shabbirsaifee7497
@shabbirsaifee7497 4 года назад
This is brilliant. Please continue the series.
@sunilravulapalli6955
@sunilravulapalli6955 4 года назад
Great idea. Please continue!
@ricardomlourenco
@ricardomlourenco 4 года назад
That was amazing! Thank you very much Scott! I new about that but I loved the explanation about differences between platforms and hexadecimal part was cool.
@jazzweather
@jazzweather Год назад
As always, Scott knows how to make everything and anything interesting!
@simonleichtle6913
@simonleichtle6913 4 года назад
Awesome Scott! Perfect for developers whose career started in the managed language era.
@ahmad-murery
@ahmad-murery 2 года назад
Back in 1994 a computer teacher taught us the copy con command, and just now in 2022 I realized that the con means console and I suddenly I feel more confident 😎, also, thanks for the Where command too, Thanks Scott!
@winstoncarter8542
@winstoncarter8542 2 года назад
Brought back the memories of my Intro to Programming course back in Spring of 2002...
@simonroyjonesuk
@simonroyjonesuk 2 года назад
Love this. Takes me back to when I learnt DOS form a Peter Norton book. Really relevant as well and good to start thinking about these things as a developer. Also had never heard of WHERE or HEXDUMP. Will definitely work my way through the series. Many thanks (CRLF)
@dasten123
@dasten123 4 года назад
This is of the things most people (including me) had to learn the hard way. What a great video idea!
@zebrg
@zebrg 4 года назад
Thumbs up! My suggestion: Turing Machines. Many years ago, my computer science degree started on the first year by teaching the students what is a Turing Machine and how to make simple programs on it. I find it very enlightening about how computers work and better understand its strengths and limitations.
@shanselman
@shanselman 4 года назад
usecase1968 good idea
@SeaWaves8
@SeaWaves8 3 года назад
I'm the type of person who doesn't click like ever on a video, this one however I liked because it's explaining things that I'd have probably went on years without understanding if I didn't stumble upon this video, thank you keep making these please
@jonsagara
@jonsagara 4 года назад
Seeing the various console commands was very helpful. Nice video.
@douglasphillips1203
@douglasphillips1203 3 года назад
Just discovering this thanks to Twitter. Thanks for the fun trip down memory lane! IIRC one part of this history is also that Unix LPR interpreted a LF as implying a CR, while DOS did not, thus the reason why DOS (and later windows) have the explicit CR followed by LF.
@JossinJax
@JossinJax 2 года назад
Aligning "Stuff they didn't teach you" to this channel is genius. As a CS student I get the urge to say "Amen" to the majority of your video titles lolz.
@karenparker3086
@karenparker3086 4 года назад
Good stuff and definitely worthwhile. I believe that the ASCII code set was originally developed for teletype machines. Of course on many early computers the terminal was a teletype. One possible future topic might be the various flavors of Unicode, and other character encodings that were used, like EBCDIC or the six-bit character set CDC used. Translating among these used to be a problem, fortunately one that doesn’t really exist anymore.
@strandloper
@strandloper 4 года назад
Nice intro for youngsters that haven't been around as long as some of us. I liked your belated reminder to subscribe, but you forgot to say "ring the bell". I "love" the way channels are always saying that; because I need more email in my inbox and it's important to know the second every channel releases something new. 😉
@badscrewold3162
@badscrewold3162 4 года назад
3:05 - "Today, in 2020" THIS IS A VIDEO FROM THE FUTURE!
@mhn147
@mhn147 4 года назад
Wow thanks very much, I always wondered about this kind of stuff but I didn't get it, please do continue this series !
@justkaz16
@justkaz16 4 года назад
Wow! I haven't used or seen Copy Con in many years! Great!
@Andrei15193
@Andrei15193 4 года назад
Awesome stuff! Some other things I wish they covered or stressed more about in school: * ASCII, Unicode & encoding (UTF-8, UTF-16, UTF-32, which one to use for storing text, sending it over the wire to other applications) * Base64 encoding of binary data (control characters beware) * Forward slashes and backslashes (also in context of NodeJS and module referencing, HTML files when we reference resources, can get confusing at times)
@mikefochtman7164
@mikefochtman7164 3 года назад
Tiny fun fact about old-style manual typewriters. The lever used to return the carriage also operates a small pawl mechanism. So when you use the lever, it actually did the line-feed first (advanced the paper one line) before moving the carriage back to the right (the 'carriage return'). So it actually performed a LFCR. Only when the old teletypes were built did they reverse the order. They started using a moving print head instead but called the moving print head the 'carriage'. You could perform a CR without a LF if you wanted to overwrite the same line. I knew a few program/systems where when you logged in and typed your password, your password was right there on the paper for all to see. So the first thing the login code would do is send CR'********' several times to obliterate the letters on the paper, hiding your password. Only after sending that several times would it send an LF to advance the paper and send the system prompt. :)
@jamescoenen-eyre3805
@jamescoenen-eyre3805 3 года назад
Keep up the great work Scott
@SlideRSB
@SlideRSB 4 года назад
Mac OS changed their line endings to be the same as Linux and Unix after they transitioned away from Mac OS 9. Once upon a time, their line endings were carriage returns, but they've been line feeds for a long while now.
@bodhiforest401
@bodhiforest401 2 года назад
Brilliant! I love this series
@rubalaji82
@rubalaji82 4 года назад
Great scott. Please continue the series.
@coolelle5403
@coolelle5403 2 года назад
Scott -- cool video, especially for those youngsters who have never used a manual typewriter. One small correction -- the line feed on a typewriter happens automatically when you push the carriage return (the big silver lever on the left). You don't have to manually advance the paper to the next line. How? There's a ratchet mechanism on the left that rotates the platen (roller) precisely one line. The carriage return lever activates that ratchet. No manual line feed. Keep up the good work!
@sreenathsanthanam6163
@sreenathsanthanam6163 4 года назад
Keep continuing those educational videos. Though I have been a programmer for a long, Never really understood CRLF until now. One other feedback, the audio was little low would have been good if it was little louder.
@Tsunami14
@Tsunami14 2 года назад
Great video. I had the unfortune of learning craft the hard way, so this was mostly a refresher. Though I definitely did not know about the "con" file handle. Always something new to learn.
@NotARealPerson12345
@NotARealPerson12345 3 года назад
Subscribed. Will watch all the videos of this series.
@yrusTube
@yrusTube 4 года назад
Please continue this series.
@thousandtyonesoftware
@thousandtyonesoftware 4 года назад
Some of these are really good to know. Hoping to see more.
@chris-wray
@chris-wray 3 года назад
This is incredible! Thanks so much.
@AntonioSTM
@AntonioSTM 3 года назад
I've a Hanselfan since coding4fun some assembly required, the title alone on this vlog is worth the like...
@blfuentes
@blfuentes 4 года назад
Really interesting. I remember last year doing the advent of code, where you usually have to parse and read text files I was coding in a windows and linux system and how different the outputs were. Not a big deal because I quickly suspected what the problem was... Another interesting topic, but maybe too broad, is the use of UTC dates in databases
@TCP0011708
@TCP0011708 4 года назад
Thank you. Please keep the videos comming!!
@bitelogger
@bitelogger Год назад
What a video Scott, truly I didn't learn this in the University unfortunately
@aaronbell5994
@aaronbell5994 3 года назад
I'm glad I found you and your channel.
@mepkn
@mepkn 4 года назад
Oh god! I finally understand this. Please continue doing this.
@ayanusmani886
@ayanusmani886 2 года назад
Awesome command on things you explained....Good job !!
@minastaros
@minastaros Год назад
One small objection: the lever on those mechanical typewriters would usually push the carriage back AND made the drum automatically turn by 1, 1.5 or 2 lines, depending on what was configured with another small lever. The knob was only needed to move the drum deliberately, and when feeding the paper in and out. (Just telling for the young generation - I used to have a big mechanical "Adler" machine on my desk when I was a kid, and produced heaps of printed paper...)
@zakirhussainsheik1521
@zakirhussainsheik1521 4 года назад
Just went back to old school days. Great teacher 🙂
@AbdoTawdy
@AbdoTawdy 3 года назад
Notepad++, choose View→Show Symbol→show all characters And you also can change between windows and linux end of line in notepad++ ,From the "Edit" menu, select "EOL Conversion" -> "UNIX/OSX Format"
@BristlyBright
@BristlyBright 3 года назад
So THAT'S what happens when all the rows goes crazy in the moment I am committing!! Thank you for letting me know! :D
@Boedie92
@Boedie92 4 года назад
I like your series Scott, very interesting!
@asahicantu7281
@asahicantu7281 3 года назад
Woow! just minute 2 and very impressed! you sir are full of wisdom and I thank you so much for sharing it!! :)
@iam_kundan
@iam_kundan Год назад
Great Explanation !! Thanks for the video.
@ecarlosbc
@ecarlosbc 3 года назад
Good stuff Mr. Scott. Thank you!!!!!! :D
@MartinAlix
@MartinAlix 3 года назад
Love this series!
@Ctenaphora
@Ctenaphora 4 года назад
Very informative, looking forward to more.
@paolo_in_corsivo
@paolo_in_corsivo 4 года назад
the whole video was about teaching stuff on CRLF, but i was stunned even before, when you wrote "con" and "where", even after a lot of years in windows based development. anyway didn't know about mac being different from linux on line endings. all of that helped a lot. thank you Scott
@Michel000000001
@Michel000000001 4 года назад
AWESOME! This was definately one of those things I thought I knew.... but I didn't (even though I am old enough to have used the smithCorona, never knew what the 'carriage' was (because we don;t call it carriage :-)). So kudo's for that, and extra kudo's because know I know what choice to make (and why) during GIT setup!!!
@lambda7594
@lambda7594 3 года назад
Awesome, Help me so much to understanding finally what the heck is this ... great job ... we need this depth tutorial
@hichamsouleimani1920
@hichamsouleimani1920 3 года назад
Thanks a lot for this very valuable and subtle content.
@tturcu
@tturcu 4 года назад
Very good video - would be even better for those young people who never saw an actual mechanical typewriter to include a video of one in action. Of course, CR and LF on a modern computer are just a convention - nobody expects that when a document contains just a line feed, the cursor will stay on the same column :) (or same row for a CR)
@antoniodosreisfeitosaneto7553
@antoniodosreisfeitosaneto7553 4 года назад
Great video,.Scott! A thing to note: at 4:38, about ASCII: the last I is for Interchange not Exchange as you said. You could have used something like the DEC LA-36 or one of the old ttys that in fact interpreted return and line feed --- and form feed --- as commands to move the printing head or the paper... Did you noticed that the volume in your videos is in general a bit lower than other content?
@kloutonly
@kloutonly 3 года назад
Honestly didn't think I'd learn much from this one as a life long techie, but as usual ended up learning a ton. I always just blew through that Git install GUI without giving that option much thought.
@shanselman
@shanselman 3 года назад
I’m glad!
@DriverNo1994
@DriverNo1994 3 года назад
Amazing content! Super well explained also, thank you !!
@mmfarahat1
@mmfarahat1 4 года назад
This is very informative, thank you
@vahidmiraqae6355
@vahidmiraqae6355 4 года назад
Excellent. i liked it a lot and it was educating. please continue.
@jamesbarrow
@jamesbarrow 4 года назад
Well, they did teach me this, but it is a good reminder and a good resource for people that are new to these concepts :)
@mejialuis28
@mejialuis28 4 года назад
Great video Scott, I didn't definitely know this.
@rajakakayadi2302
@rajakakayadi2302 4 года назад
Very interesting...Please keep it going!!
@LoveLiveAndCode
@LoveLiveAndCode 3 года назад
Intresting... Almost never seen these things since i stop playing around with ASM Code... Keep it On... i will sure watch it all...
@nukun
@nukun 4 года назад
I think the sound is fairly low. Thank you for spreading your knowledge.
@thomasfields2082
@thomasfields2082 3 года назад
I must be getting old. This is really interesting.
@AcheiversOfficial
@AcheiversOfficial 2 года назад
yes please..more such videos. Great explanation.
@fnsb10
@fnsb10 Год назад
Thanks, very well explained!
@StigBSivertsen
@StigBSivertsen 4 года назад
Please continue :-) Really useful :-)
@yoursbangarubabu
@yoursbangarubabu 3 года назад
Great practical explanation
@MaximilienDanton
@MaximilienDanton 3 года назад
I am so glad you pronounce Ubuntu correctly. :) Cool video too.
@JackalFPV
@JackalFPV 4 года назад
Good idea for a series :)
@shanselman
@shanselman 4 года назад
Jackal FPV thanks
@Zefrem23
@Zefrem23 4 года назад
Nice retro explainer, Scott. Some more videos along the same lines wouldn't go amiss. Maybe how TCP/IP evolved from original ARPANET days to modern integration with Ethernet? Another point here is that the metaphors we use have an analogue history, but the only other option is to coin new descriptive terms for the concepts that are ahistorical, but ultimately I don't see a point in doing that.
@Kasamish
@Kasamish 4 года назад
Yes please, we want more.
@gir489returns2
@gir489returns2 10 месяцев назад
I still say the Windows format makes the most sense. If you just return the carriage, you should, theoretically, return to the start of the same line you were just typing on. If you only feed the line, you'll be at the end of the line, just one line below where you started. You have to increment the line and return the carriage to the start in order to begin typing again.
@DeShark88
@DeShark88 3 года назад
Recently found out, while typing on a typewriter that tab is short for table. Because that's how you tabulate data on a typewriter. Blew my mind!
Далее
Can We Save Goku In 5 SECONDS⁉️😰 #dbz #goku
00:15
I gave 127 interviews. Top 5 Algorithms they asked me.
8:36
What is CRLF? Carriage Return?
4:30
Просмотров 2,6 тыс.
CONCURRENCY IS NOT WHAT YOU THINK
16:59
Просмотров 89 тыс.
Enums considered harmful
9:23
Просмотров 196 тыс.
How I would learn to code (if I could start over)
10:52
PA-RISC рабочая станция HP Visualize
41:27
Blackview N6000SE Краш Тест!
1:00
Просмотров 32 тыс.