The UNIX Kernel in C: A Major Achievement for Eunuchs
It is widely known that eunuchs can write the UNIX kernel in C, and this is indeed their big claim to fame. However, few people know about the challenges they faced while doing so. To write the UNIX kernel in C, they had to deal with a few dozen lines of assembler code, which was a significant challenge. Additionally, there were occasional instances where they needed to use "go-to" statements, also known as jumps or branches.
What is wrong with using "go-to" statements? The issue lies in the fact that programmers rarely adequately document why they are using these statements. In the case of loops, it's common to use a "go-to" statement at the bottom to jump back to the top and check if the loop has finished. However, this can lead to confusion when trying to understand the code.
One possible solution is to replace these "go-to" statements with while loops that are then compiled down into assembler. This approach makes it easier to understand the code and avoids the need for "go-to" statements altogether. By using higher-level constructs like while loops, programmers can make their intentions plain and avoid unnecessary complexity.
Rubik's Cube: A Puzzle for Eunuchs
While discussing programming languages, our speaker takes a break to talk about Rubik's Cube. The cube is a popular puzzle that consists of six faces with nine squares on each face. The goal is to rotate the layers of the cube to align the colors on each face.
The speaker mentions that some people are worried about unsold Rubik's Cubes, but they seem to be having fun trying to solve them in real-time. They even show off their own solution using only two operations called "Gotoh monetarists." It appears that the speaker has a special fondness for solving Rubik's Cube and is always eager to share their knowledge with others.
Japanese Mathematicians: A Famous Computer Scientist
The speaker takes a moment to talk about Japanese mathematicians, specifically one who goes by the name of Gotoh. He claims that this person was a very famous computer scientist who was involved in high-level programming language design and analysis.
According to the speaker, having a common Japanese surname like "Gotoh" can be quite embarrassing for someone who is trying to make a name for themselves in the field of computer science. However, it seems that Gotoh's contributions to computer science are still widely recognized today.
Group Theoretical Notation
The speaker then delves into some complex group theoretical notation. It appears that they are discussing a specific mathematical concept related to Rubik's Cube. The notation is written in terms of "R minus one" and involves various symbols like "u," "f," "d," and "p."
Although the speaker claims that they understand the notation, it seems that there may be some errors or inconsistencies in their explanation. Despite this, they press on with their explanation, hoping to shed light on the mysteries of group theoretical notation.
Group Theory: Not Enough for Computer Scientists
Finally, the speaker concludes by saying that computer scientists can do limited group theory if they try very hard. However, it seems that there is still a significant gap in knowledge between what computer scientists can handle and what group theorists can do.
The speaker also mentions that there are around 90 algorithms needed to be memorized in order to solve Rubik's Cube quickly. Although they claim that they have an optimal solution, it appears that they may not have fully committed the details to memory. Nevertheless, their enthusiasm for solving Rubik's Cube is infectious, and their explanation of group theoretical notation has provided some insight into the world of mathematics.
"WEBVTTKind: captionsLanguage: enI think it was a sort of major achievement for eunuchs actually that you know it's its big claim to fame is yes we Dennison can we wrote the UNIX kernel in C we had to have a few dozen lines of assembler and maybe somewhere in there there's the odd sprinkling of go twos and there's good excuses for it sometimes in the heart of an operating system but they're even they're massively reduced from what they would have been so that was the whole thing we must eliminate go twos you can call them go twos if you like you can call them jumps you can call the branches or essentially resolving to being the same thing they and I think most of you from a a shin your having already or having seen previous computer file videos will know that gotas branches jumps etc are unavoidable at the assembly language level ok that's the way that machines actually work you tell them to go to a different address so what's wrong with incorporating that idea into higher-level languages well the argument was and it's quite right the problem with the go-to is that programmers never adequately document alongside why they are going to a common construct of course is to have a go-to at the bottom of a loop to jump back to the top you check her at the top whether you've finished the loop or not but in the end when it's finished you do another go-to when you jump past it so the next instruction a good assembler program will put a little note in there saying lute finished or something like that so the argument is well that looping constructs in a higher-level language could be replaced by a while and if that is while is then compiled down into assembler the gotas will be there but when you consult back with the high-level language you know that it was there because it's a while loop and that is basically what it comes down to by using higher level constructs you make your intentions plain this enables me to do kill two birds with one stone some of you are getting very very worried about unsold Rubik cubes now a left one here there's some salt in a particular way that I hope I can do in real time now without embarrassing myself this cube is solvable with two operations called Gotoh monetarists Gotoh is a very common Japanese surname and I'm guessing that the go-to of Gotoh monetarist fame must have been a Japanese mathematician going way back to the early 1970s when I first got this from a set of notes on how to solve the tube it's all some use man I always delight in doing it because there is another go to' it was a very famous Japanese computer scientist and so everybody's great amusement in the 70s or 80s was at a conference and you have no idea how stressful it is to have the surname go to and to be involved in high-level programming language design and analysis but Professor why he said people are always trying to eliminate me is that so anyway back to the go toes I see that that one and that one are needing a twist and you can get things that twist on their own axis but while even the rest of the Cuban changed or invariant as mathematicians like to call it you can see that there's a sort of threefold symmetry on these corners you can do one twist two twists and when you've done three twists you're bound to be back to the same place I can see from this one that it's actually going to need a couple of these go to Oman or twist operations to get it to being perfectly right and I hope I can do them without goofing up if you ride if you push the comments on this please don't point out that that is heavily so optimal yes I know there's brilliant ways to do it much more quickly I'm sure so I remember in group theoretical notation it goes something like R minus one they have minus 1 u f d minus 1 f minus 1 Paul - Andre - 1 o u minus 1 that's progress there's still two things that are wrong but they now have exactly the same color and I know from my suboptimal but at least I couldn't remember its algorithms that's another Gotoh mono twist given they're both the same color and provided I don't goof up one more will get it right so here we go - computer scientists can do limited group Theory if they try very odd but it's not enough trespassing on number five I cannot commit and will not come into memory these somewhere something like 90 algorithms I think you've got to know to be even moderately good at doing a cube really really quickly I tend to try and remember about 10 or 12 an except that there's some optimal but I find them easier to rememberI think it was a sort of major achievement for eunuchs actually that you know it's its big claim to fame is yes we Dennison can we wrote the UNIX kernel in C we had to have a few dozen lines of assembler and maybe somewhere in there there's the odd sprinkling of go twos and there's good excuses for it sometimes in the heart of an operating system but they're even they're massively reduced from what they would have been so that was the whole thing we must eliminate go twos you can call them go twos if you like you can call them jumps you can call the branches or essentially resolving to being the same thing they and I think most of you from a a shin your having already or having seen previous computer file videos will know that gotas branches jumps etc are unavoidable at the assembly language level ok that's the way that machines actually work you tell them to go to a different address so what's wrong with incorporating that idea into higher-level languages well the argument was and it's quite right the problem with the go-to is that programmers never adequately document alongside why they are going to a common construct of course is to have a go-to at the bottom of a loop to jump back to the top you check her at the top whether you've finished the loop or not but in the end when it's finished you do another go-to when you jump past it so the next instruction a good assembler program will put a little note in there saying lute finished or something like that so the argument is well that looping constructs in a higher-level language could be replaced by a while and if that is while is then compiled down into assembler the gotas will be there but when you consult back with the high-level language you know that it was there because it's a while loop and that is basically what it comes down to by using higher level constructs you make your intentions plain this enables me to do kill two birds with one stone some of you are getting very very worried about unsold Rubik cubes now a left one here there's some salt in a particular way that I hope I can do in real time now without embarrassing myself this cube is solvable with two operations called Gotoh monetarists Gotoh is a very common Japanese surname and I'm guessing that the go-to of Gotoh monetarist fame must have been a Japanese mathematician going way back to the early 1970s when I first got this from a set of notes on how to solve the tube it's all some use man I always delight in doing it because there is another go to' it was a very famous Japanese computer scientist and so everybody's great amusement in the 70s or 80s was at a conference and you have no idea how stressful it is to have the surname go to and to be involved in high-level programming language design and analysis but Professor why he said people are always trying to eliminate me is that so anyway back to the go toes I see that that one and that one are needing a twist and you can get things that twist on their own axis but while even the rest of the Cuban changed or invariant as mathematicians like to call it you can see that there's a sort of threefold symmetry on these corners you can do one twist two twists and when you've done three twists you're bound to be back to the same place I can see from this one that it's actually going to need a couple of these go to Oman or twist operations to get it to being perfectly right and I hope I can do them without goofing up if you ride if you push the comments on this please don't point out that that is heavily so optimal yes I know there's brilliant ways to do it much more quickly I'm sure so I remember in group theoretical notation it goes something like R minus one they have minus 1 u f d minus 1 f minus 1 Paul - Andre - 1 o u minus 1 that's progress there's still two things that are wrong but they now have exactly the same color and I know from my suboptimal but at least I couldn't remember its algorithms that's another Gotoh mono twist given they're both the same color and provided I don't goof up one more will get it right so here we go - computer scientists can do limited group Theory if they try very odd but it's not enough trespassing on number five I cannot commit and will not come into memory these somewhere something like 90 algorithms I think you've got to know to be even moderately good at doing a cube really really quickly I tend to try and remember about 10 or 12 an except that there's some optimal but I find them easier to remember\n"