Recreating Dennis Ritchie's PhD Thesis - Computerphile
Вставка
- Опубліковано 29 тра 2024
- Professor Brailsford has been toiling away on a faithful recreation of Unix co-creator Dennis Ritchie's unsubmitted PhD thesis.
The Computer History Museum material on Dennis's lost thesis is at:
computerhistory.org/blog/disc...
The Ritchie family's Web site about the devices (hardware and software) that Dennis used to create his thesis is at:
dmrthesis.net/
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscomputer
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com
"They had this wicked way of answering exactly what you'd asked, not what you wished you'd ask"
Who better than them to make C then?
Man... I am going to frame that quote.
Underrated comment
In order to make computers understand humans, they had to start thinking like computers
Well said.
@@izayus11 Hehe I framed it probably before you did ;)
Me struggling with LaTex for my Masters Thesis: "This is such a mess"
Professor Brailsford: *"Back in the day you had the change the golf ball n your typewriter for greek letters."*
The enduring time and effort we put into typography, even with all the tools we have nowadays, is something of note. It's sort of inspiring on some level, something that we share with past generations!
Same here, though if your experience was anything like mine, you would have had to go through 20 or so draft revisions before it was finally accepted. So in the end, was it really that much easier ?
This is actually brilliant. Harvard pissed off Dennis so much that he invented an entire programming language and operating system so that future students could typeset their own thesis for free. The rest of Unix onwards is just an incidental side effect.
"I don't mean to name drop, but I had lunch with Dennis, Ken, and Brian." That is awesome.
Did you write a utility called dkb? ;)
Prof. Brailsford is such a fantastic storyteller, you can listen to him all day
“1967… i was only 23!, its like back in the jurassic!!”
Me being 23 and thinking i am starting to get old… 🤣
Welcome to life. We all go through this. :)
- someone in the middle. ;)
What you should be thinking is that at 23 he was sitting with very smart people doing relevant work, that would end up changing the world.
I refer to my time in college (the bulk of the '80s) as the Cretaceous, so that tracks.
If I'm not mistaken he died in the same year as Steve Jobs and somehow he was not as celebrated as Jobs in the mainstream. To the best of my knowledge, Jobs' greatest contribution to computing was finding Woz at 18 and Dennis basically invented the wheel.
Not to mention how jobs treated his workers
Sadly that is true, in their time great minds are often only appreciated by individuals who are capable of fully grasping the value of their work and public acclaim is dominated by those who belong to the narcissists club. But what can you do, other than look after each other and try and outlive the parasites. Fortunately great minds pursue great discoveries and works for the love of the exploration rather than the rewards and accolations, otherwise we would still be living in the dark ages.
yes I said that Dennis died in 2010. This is incorrect. It was 2011
Job's greatest contribution to computing was founding Apple, Next, and Pixar. A mighty feat to be sure. Dennis may have been a distinguished engineer but he had much more private life. That was a big reason why there was less coverage of his passing as I see it.
@@stevenwatson2927 Jobs contributed nothing to computing itself, he only ever used other people's ideas. He just contributed to the commercial exploitation of computers at the commodity level.
A rightful resident of the computer science pantheon "had upset someone [in Harvard] mightily" and didn't get his PhD... Well, this devalues the PhD and Harvard.
You might be surprised.
Devaluated *EVEN FURTHER* PhD and Harvard.
Eh, it’s a much more political game than intellectual. Always has been. Probably always will be.
15:04 "They look all constrained and not their usual florid self." Character poetry in its finest form.
In the late 1960s, I typed my MSc and PhD theses myself, on a basic mechanical typewriter. I had to submit the original and 3 copies. I wanted extra copies for my supervisor and myself, and the available technology was carbon paper. I tried to squeeze out 8 copies - with a stack of alternating paper and carbon layers and hitting the keys as hard as I could - rather slowly. That just about worked, although the 8th copy was almost unreadable.
After typing the page, I had to insert any formulae by hand on all 8 sheets.
There was an added complication that my grant finished at 3 years, so I had to complete my thesis while working full-time as a research fellow.
Finishing the writing took 6 months.
In the UK at that time we had full grants for 3 years to support us; we did not need to have a parallel job as well.
(But for many of us, it actually took 3 and a half years.)
My father used a mimeograph (one carbon, attached to a rotating drum, rolled through alcohol, then pressed the wet carbon onto the receiving, blank page) almost every day. He typed all his work on a standard Remington with pica font. The pressure needed to produce any type would echo through the house. That's how he could keep track of me while I wrote term papers, too.
Very interesting! thank you for sharing!
I found 3 bound copies of my father’s 1940s phd thesis and the typed bits are normal and all the many equations are hand written! Lovely artefact. ☺️
that's beautiful Robin
The prof is firmly down the font rabbit hole. :D Fine work sir
I start my PhD at the uni of Nottingham as part of the horizon cdt. These videos inspired me to go into computer science!
Sitting in my sitting room watching this, and as he mentioned the “K&R” book, I glanced across and noticed it’s on the table next to me. Amazing book. 👌🏼👌🏼
I love computing and programming in C/C++. Been doing it since I was 21, Im 51. I will continue as long as I can. Yes I remembered when he died
4:00 Computers also have a wicked way of answering exactly what you asked, not what you wished you asked.
I imagine such a mindset worked to their advantage on a regular basis when working.
This level of nerdiness is simply magical. All that time to copy a document that he doesn't even feel like telling us about its content. It's remarkable! It's beautiful!
I love these types of videos. Technically a bit out of scope since they're not pure computer science content, but equally fascinating.
I would love more videos of Dr. Brailsford discussing historical events and people within the field. Much love
Professor Brailsford is an international treasure. Plus, he is just interesting to listen to.
Absolutely my thoughts.
Thank you Prof! You have inspired me to read Dennis's thesis so much that I can't wait to download a copy of his thesis. I've just recently finished my Ph.D. in the field of Computer Science (Artificial Intelligence) and yes, you're right about the thesis review committee, any reviewer can easily be annoyed specially if you do not follow what they ask of you. However, Dennis was and is a legend, read his book on C language and my first ever computer program was in C, it was love at first sight and that love got intensified over time when C++ came along. Dennis has always been a source of true inspiration for me. Love the man and his work of art.
The greatest accomplishment of years studying computer science is mastering the skill: Answer a question as correct to the question asked and not the question interpreted by a human". Or in short "Do you like coffee or tea?" "yes"
Haha! On my college, there was a dumbass that used to answer like that!
@@MrAbrazildo It isn't a dumbass response. It's a very correct one...
I still do that - 42 years after completing my comp-sci degree. It has annoyed all my wives!
I can only recommend that you search for “ Simon the IT guy” among the available episodes of The Office (UK version) .
User: What's a Firewall ?
Simon: You don't need to know.
And then later on
You know when Chuck Willis fights Bruce Lee in “ Enter the Dragon” ?
No.
But it's famous you MUST know it !!
Willis doesn't fight Lee in “Enter the Dragon” He fights him in “*Way* of the Dragon”
@@profdaveb6384 s/Willis/Norris/g
I love all videos featuring Prof. Brailsford, what a treasure to listen to
Yet another great story, presented in another great shirt. Thank you!
Sometimes the stuff you have to do for your Ph.D. is more important than the actual subject of the thesis itself, and can lead to much more interesting spin-offs!
I really enjoy listening to Professor Brailsford's video's and It's always great to see new content.
Imagine having to set equations in type (from an ACTUAL font ie. one typeface in one size) before the selectrix on, say, a linotype machine which was the industry standard from about 1890-1970. I have a drawer of mathematical symbols mats for setting equations on a linotype. Each one is a small piece of brass which is inserted by hand before casting a solid line of metal with your characters on it. Replacing a font ball a few times is so much easier and faster.
A Boo-ick? Isn't that the type of car a ghost would drive?
It took me a rewind to figure out what he was attempting to convey. And I have two Boo-icks.
Its pronounced Bik, lots of them in China.
bwik
Lol, took me a bit to catch onto this pronunciation as well. My phonetic attempt is "b you ick," at least here in the mid-west, although I'll probably say Booick from now on.
@@DeanGroovy or Bew-ick
In 1983-84 I was typing up papers for a physics class, using DisplayWriter and a daisy wheel printer, and had to use massive sets of escape codes to tell the printer to make subscript and superscript characters, and pause so I could change wheels for special characters. I remember how much of a PITA that was, so to think Dennis was doing that with a Selectric typewriter and a line oriented editor, I now have even more mad respect for him. I did get to meet him once and he signed my 1st edition of The C Programming Language.
That frisson of strange excitement when you see Computerphile has got another Professor Brailsford story.
The IBM Selectric was simply amazing. Swapping "golf balls" was simply incredible. Loved using them.
There was even a dance typeball that had Labanotation symbols which were used to record dance choreography.
I learned to type on a Selectric. Going from a conventional type-arm machine to the Selectric ball made me think - I am speed!
I love this channel. Can't wait to see if any special video gets made when they get to 2M subs.
see? You don't need a PhD to become a legend.
Technically, but he basically had a PhD. He just refused to go through with the defense.
Always has been
PhDs are cool though
@@ojassomethin Naw, they're overrated.
@@StankyPickle1 Hey, having "Dr." infront of your name is always cool. I mean yeah I agree, they are not your measure of knowledge but you gotta admit, they're cool.
i could listen to Prof. Brailsford all day!
Fantastic. I absolutely love this UA-cam channel.
The anecdote about answer what you asked instead of what you intended explains a lot about all those segmentation faults I got in early days of trying to teach myself C :)
Try DJB's online exam questions.
Those sneaky pointers always trying to get a glimpse of what's forbidden... :)
Great video! It was incredibly interesting to watch and really helped put into perspective the times! :))
Also, just an incredibly minor issue, the closed captioning at 13:44 has the r before the period :))
Someone really went in and personally made incredibly high-quality closed captioning for the entire video. Great job, truly. Your effort is noticed and appreciated :))
Prof. B. always has some great stories(all in themselves). But they're even more fascinating to me since I find the evolution of technology almost as interesting as the tech itself. All true heroes great stuff !
Bill hammack the engineer guy has a video from a number of years back describing how the selectric typewriter uses a device called a wiffle tree to decode the on/off motions of a set of magnetic solenoids so that a set of discrete movements could be turned into a perfect instant rotation of the ball in two axes, it's essentially a mechanical digital to analog converter.
Super interesting ! Thank you very much, and thanks for your comment too Pr Brailsford!
Those IBM machines were really facinating. I had summer jobs as a clerk/typist in the early 80s and we had those typewriters. They just amazed me because I was used to typing on a manual typewriter we had at home (that looked like it was from the 40s). The secretary's drawer had a number of those little globes (italics, special symbols, I can't remember what else). You just lifted a little lever on the top of the globe that disengaged it from the spindle which it was attached and you lifted it off and put on another one, and pushed the lever down which would make it grab onto the spindle. It was keyed so that you couldn't put it in the wrong way. I don't remember how you knew what key to press to get the special symbols. Somewhere there was a QWERTY layout keyboard picture with all of the symbols on it.
I was born in 1969. I have been exposed to the Commodore PET in school, also C64 and then still IBM 9370 at uni. Fond memories.All kudos to Kernighan (and Ritchie) for shaping the future.
Makes me really happy that I have LaTex hahaha
Haha, I always think this too whenever I see these technical documents written on typewriters! I never knew how much work they were before this video though
Some day I will learn LaTeX. Until then, I have markdown, R markdown, groff, and HTML that will do enough of what I need such that I'm not forced to learn LaTeX.
Great stuff. Would love a video covering some of the history behind Tex some time.
This reminds me of one story of Borges, where a charachter tries to replicate the Don Quixote letter for letter as an artist, thus living through experiences that could lead one writing the same work, and not just as a transcription (of course no one could appreciate the effort).
When you call C as high level language you start feeling like writing in Python is so shameful.
It is. When computer languages evolved away from punch cards the care for whitespace went with them. Whitespace is for humans, not CPUs.
Anything with a grammar counts as a HLL in my book; it's just some languages are higher-level than others. Conventional wisdom in the '80s and into the '90s was that you needed to write some assembly to appreciate what high-level languages like C were doing for you. Now the conventional wisdom is you need to write C to appreciate what high-level languages like Python are doing for you.
It has also, and with considerable justification, been called 'assembly language with data structures'. And I say that as someone whose first assembly language was PDP-11 assembly code, and learned C in 1976.
Compared to C, Python is a natural language
High-level languages are typically anything that is not writing machine code or assembly. From there, there are different classes of language: procedural (languages with functions); object-orientated (languages with classes); functional (languages that work by combining functions without modifying data, so to do things like swapping two values you need to return them in the other order -- e.g. `swap(a, b) = (b, a)`); logic (e.g. Prolog, that work by defining statements and relationships between them so you can assess whether a given statement is true or false); etc.
Beautiful video, I admire Brailsford a lot
I don't mind one but when you name-drop, only makes me look at you guys with more awe
Misleading title: should be renamed to "ReTyping Dennis Ritchie's PhD Thesis". I expected C's compilers and design patterns, I got typography.
I'm sorry that this video didn't provide what you were looking for. The difficulty is that this is Dennis Ritchie's *very* early work and the restoration of theses that are this old inevitably poses typographic challenges. Equally the content of the thesis ( essentially the modelling of computational complexity by intricately nested loops) is, in itself, a substantial typographic challenge and almost completely unrelated to Dennis's later work on C and UNIX
If its Professor Brailsford always assume its going to end up being about printing :)
Jack Kerouac could have typed it up fast.
bro, the guy had lunch with the man, sit down and relax. you might learn something.
You could invent a typewriter that doesn’t have a single character for each arm but rather each arm has some universal component of all characters. Then you have an index of codes that tell you what letter you can make by typing the code for that letter. You’ll have to type 4-5 keys for every character.
what an amazing video and story
Having lunch with Dennis, Brian, and Ken would so awesome.
Fascinating. Just Fascinating beyond belief.
Dennis Ritchie is also co-author of the first C programming language textbook (alongside Brian Kernighan).
When working in the 1990s with documents from the 1960s they were often typewritten with blank spaces left in for equations to be hand written.
I thought the binding service I had to use for my MSc dissertation was an absolute ramp. It cost something like £90 in 1993 money for three copies, the printed pages of which I had to provide myself. Fortunately I had LaTeX and a 600dpi printer, but it was still a hefty chunk of change for an impecunious student.
"They had this wicked way of answering exactly what you'd asked, not what you wished you'd ask"
When you realize you clicked on this thinking you would get an interesting talk about what Dennis Ritchie's thesis was about and replicating it and end up getting an interesting talk about how it was physically created on paper...
Story time!
Just ... scan it and save as PDF.
I feel like I'm missing something.
See my reply to “Recessio” elsewhere in these comments.
You can tell this guy would be an amazing professor
Nah, way too overqualified 🙂
I love it when you namedrop, carry on.
I liked the golf ball typewriter. Never saw one in the wild, first saw it on Columbo - Now You See Him.
All respect for you sir :-)
Very cool!
If I had lunch with Dennis Ritchie, Brian Kernighan and Ken Thompson at the same time, I'd be name dropping them to everyone on a daily basis.
oh what typesetting-hell rabbithole this one turned out to be... it would've been easier to follow had Sean asked a few more clarifying questions here and there.
Prof. Brailsford is a legend!
"It's a long time ago...... even for me...EVEN FOR ME" haha, that was epic :)
That was lovely. And the book I would be most unhappy to lose is K&Rv2 - even though these days I write in Perl!
Oh, and about the Perl thing... I'm 63 now, and the only reason I still have a job at my age and where I am, is because some companies still need people who can write in ancient languages. (I think currently COBOL on VMS at the back end, and C++ for GUIs and Perl for stuff that needs to get done now).
You write what is required to get the job done :)
Oh and debugging can always be done with a hex core-dump and a highlighter pen and an assembly listing from your code (in real languages).
Sorry had to have my rant there!
This is such an esoteric hobby but I love it.
Fascinating
What an utter genius. The more I learn, the more I feel that I am just a crackpot. Even now, just look into Ken Thomson's work on Golang. He goddamn revived C for the 21st century!! Absolute madlad!
Go is not a replacement for C. They have completely different use-cases. I would not prefer to make a large web server in C, and I would not prefer to make a kernel in Go. Zig is a much better C replacement.
@@sycration if people can write powerful servers in C++ why not write them in C?
@@swagatochatterjee7104 C++ is a very different language from C. It has support for a lot more features and entirely distinct paradigms than C, so the comparison doesn't really make sense.
@@killerbee.13 most programmers who know either C++/C either swear by one of them; and can pull anything off using both. Look at Redis eg. it started before Go became popular, it is written in C; now that Go is famous most infra tools are written in Go. Eg databases like CockroachDB and CouchDB
As a designer & typographer from the old days I can relate to this.
15:00 The typewriters back then allowed you to have a half character shift. you can wiki "ibm selectric typewriter" to verify. It's how you could center text for title pages.
I remember looking at ancient logic qualifying exams (like the 70s) at the University of Wisconsin. They'd often just type it leave gaps and draw in the notation.
Synchronicities of controversy about Dennis' PhD continue to reverberate to this day, in different departments across the pond.
Translation 9:52 "Cost as much as a *_Buick."_* (Took me a minute)
The title and introduction seems to indicate this is about mr. Ritchie's thesis, but it's actually about the *font* used in the thesis... and creating a digital copy of it.
C'mon, some typewriterhead out there must have the special symbols ball, that some fonthead can scan output from and recreate a font from it!
great job. also - really interesting!
The Selectric typewriter was the ultimate status symbol for secretaries in the late 1960s and 1970s.
Prof. Brailsford - you should contact Linus Boman who’s a lettering artist and runs an interesting UA-cam channel of the same name. He might be able to help you?
Very interesting story! And here I am struggling with merely using Freetype library!
Another tick mark for my personal theory that a college degree is basically useless to most people. As in they don';t actually learn what you need to learn, you learn what you need to learn by doing. The two people who were that influential in the computer science area, and whose expertise is still being used today, didn't learn to do that in college, they innovated.
Degree is useless when you only do it for that piece of paper. But college/university education absolutely isn't useless when you approach is with the "right" mindset. At this level of education, you are expected to broaden your horizons yourself in addition to what the professors teach you. You say "you learn what you need to learn by doing", but you should ideally be doing exactly that. Practice supported by strong theoretical knowledge is the best thing ever in the realm of education. If all you do is learning the bare minimum to past the test, then yes, that's pretty useless.
@@SMJSmoK Lot of useless baseless bias too, appearently also. In my opinion if your instructor is too busy to mass production of the herd you need to broaden your angle by yourself will better result most likely, some people need more time than the age of universe to master basics; but everyone ideally needed to practice same stuff at the same time. Why should I let my and others time wasted by waiting same endless queue of unsupervized mass. I help others better helping myself in the short term essentially. Instituition requires time of&for time of all people scheduling that requires taking into consideration of individual priorities.
And when it is all done and printed and bound, send it in to Harvard and apply for a posthumous PhD?
Maybe a building named in his honour, or a classroom
Never before have I been more greatful for having LaTeX and cheap computers like the Raspberrypi.
i love early compsci folklore!! honestly my favorite part of working with senior devs - there's always at least 1 guy at work who manages to go off on a 10 minute tangent about the prehistoric days of programming, even if nobody asked haha id say missing out on those campfire stories is the one downside to wfh imo
In another 100 years, assuming we don't wipe ourselves out as a species, this video will be considered a significant historical artifact by computer historians. How things started is important to how they proceed. Hello future programmers! Be better than us.
That's pretty cool.
You don't just need art. You need enough design disciplin to not insert yourself into what you're working on.
It's absurd how you can go to school, pay your tuition, get the education but be denied your actual PhD because you pissed someone off.
And didn’t submit the thesis per the rules. You left that little bit out.
One of the best from the Cardinal of Computing.
Puts thing in perspective, saying that back when he was 23 was back in the Jurassic. I'll probably feel that way about right now one day.
Ha! I had a 2741. Had to fix it. Then, interfaced it to my S-100 computer. Ah...the good old days :-)
It had been used for APL!
Wow! I can well imagine you needed something like that to cope with APL! But what was it like to work with if you had to deal with multi-pass processing from multiple character sets on multiple golfballs?
@@profdaveb6384 I didn't use it for anything fancy, just basic printing. But that 2741 version *was* specifically for APL, with all those special weird characters on the keyboard as well as the element. I remember that in the little "printer driver" I wrote, I kept track of the carriage position, and upon receipt of a CR, would wait as long as necessary for the printhead to return before sending data again. I don't believe the 2741 had any sort of buffering or even handshaking. 134.5 bps IIRC :-}
Every time I see the video thumbnail, I think it's Graham Norton 🤣
wow i didn't expect to be getting tea at computerphile but....this tea is delicious ☕️
On this side of the pond, Tom Hanks (yes, THE Tom Hanks) has a renowned typewriter collection. Maybe he could be approached about a Selectric symbol font ball.
So you mean to say that you could not find a Greek IBM Selectric typeset ball?
No, finding an IBM Greek Symbol golf-ball with fixed width shapes is (relatively) no problem. After all Dennis managed to find one!. But what I need is a talented type designer who can take a look at those fixed-pitch symbols on the golfball and recreate them as lines and splines in a font editor such as FontStudio or Fontographer or Fontforge. Once that is done the shapes can be saved as a .pfb or a .ttf or a .otf font file.
I do have such a font from the TEX Mathtime set and it works OK but these are variable width Greek characters not fixed pitch and so they don't harmonise all that well with my Bitstream Pica 10 base font.
@@profdaveb6384 I see now you are trying recreate it in a digital format then.
Just a casual lunch with Dennis, Brian & Ken. What did you eat?
'C' food?
@@rogeratygc7895 nice one
Fascinating. And it really shouldn't be!
17:27 subtitles: it says "superscript and superscript positions", but it should be "superscript and subscript positions"
I know people that have written papers on QFT and Theoretical Mathematics on an IBM typewriter. Quite a laborious task.