From 76330de15829eb9979bc47c57b3736a61e713768 Mon Sep 17 00:00:00 2001 From: Joone Hur Date: Wed, 27 Mar 2024 11:46:20 -0700 Subject: [PATCH] Update docs --- .../index.html | 39 +++----- .../2. Alan Turing and Von Neumann/index.html | 63 +++++-------- .../index.html | 51 ++++------ .../index.html | 33 +++---- .../index.html | 57 +++++------- .../index.html | 27 +++--- docs/7. ITS and hacker culture/index.html | 75 ++++++--------- docs/8. UNIX and C Language/index.html | 93 +++++++------------ 8 files changed, 162 insertions(+), 276 deletions(-) diff --git a/docs/1. Charles Babbage and Ada Lovelace/index.html b/docs/1. Charles Babbage and Ada Lovelace/index.html index 3d691b1a..21917033 100644 --- a/docs/1. Charles Babbage and Ada Lovelace/index.html +++ b/docs/1. Charles Babbage and Ada Lovelace/index.html @@ -4,6 +4,9 @@ + + + @@ -99,10 +102,8 @@

Charles Babbage and his difference engine

-
-

"Why does my mom only want me to learn mathematics?"

-
-

Famous scientists taught Ada at the time, including De Morgan who is famous for De Morgan’s law. As a result, she showed a great talent for mathematics which he recognized.

+

"Why does my mom only want me to learn mathematics?"

+

Famous scientists taught Ada at the time, including De Morgan who is famous for De Morgan’s law. As a result, she showed a great talent for mathematics which he recognized.

@@ -111,10 +112,8 @@

Charles Babbage and his difference engine

-
-

"This allows the logical sum to be a logical product."
"This is De Morgan's law!"

-
-

Ada saw the difference engine created by Charles Babbage by chance when she was seventeen years old.

+

"This allows the logical sum to be a logical product."
"This is De Morgan's law!"

+

Ada saw the difference engine created by Charles Babbage by chance when she was seventeen years old.

@@ -123,10 +122,8 @@

Charles Babbage and his difference engine

-
-

"This is the difference engine!"
"Wow, I would like to participate in your research."

-
-

She created an algorithm to obtain the Bernoulli number for the purpose of describing the analytical engine, which is considered to be the first computer program.

+

"This is the difference engine!"
"Wow, I would like to participate in your research."

+

She created an algorithm to obtain the Bernoulli number for the purpose of describing the analytical engine, which is considered to be the first computer program.

@@ -135,10 +132,8 @@

Charles Babbage and his difference engine

-
-

"A good example is needed to explain the difference machine."

-
-

At the time, Ada first introduced the concepts of loops, goto, and control statements, which are important concepts used in programming languages, in her algorithms. This is why she is called the world’s first programmer. There is also a programming language called Ada which is named after her.

+

"A good example is needed to explain the difference machine."

+

At the time, Ada first introduced the concepts of loops, goto, and control statements, which are important concepts used in programming languages, in her algorithms. This is why she is called the world’s first programmer. There is also a programming language called Ada which is named after her.

@@ -147,10 +142,8 @@

Charles Babbage and his difference engine

-
-

"Loop? Goto? If?"

-
-

However, Charles Babbage was not able to complete the difference engine and analytic engine due to technical limitations, so Ada never got to implement her algorithm.

+

"Loop? Goto? If?"

+

However, Charles Babbage was not able to complete the difference engine and analytic engine due to technical limitations, so Ada never got to implement her algorithm.

@@ -159,10 +152,8 @@

Charles Babbage and his difference engine

-
-

"When can I run my algorithm on the machine?"
"Well, I’m not sure if it will work.z"

-
-

From 1989 to 1991, the Science Museum in London completed the actual differential engine No. 2 using the design left by Charles Babbage, which was surprisingly able to calculate 31 digits. Although not all of her theories have been tested or fully developed, Ada Lovelace’s theory of computer programming became the basis for today’s computer programming.

+

"When can I run my algorithm on the machine?"
"Well, I’m not sure if it will work.z"

+

From 1989 to 1991, the Science Museum in London completed the actual differential engine No. 2 using the design left by Charles Babbage, which was surprisingly able to calculate 31 digits. Although not all of her theories have been tested or fully developed, Ada Lovelace’s theory of computer programming became the basis for today’s computer programming.

References

  1. https://en.wikipedia.org/wiki/Charles_Babbage
  2. diff --git a/docs/2. Alan Turing and Von Neumann/index.html b/docs/2. Alan Turing and Von Neumann/index.html index 4b30e103..62ce7493 100644 --- a/docs/2. Alan Turing and Von Neumann/index.html +++ b/docs/2. Alan Turing and Von Neumann/index.html @@ -4,6 +4,9 @@ + + + @@ -70,10 +73,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    "I will find a way to prove Gödel's incompleteness theorems."

    -
    -

    At the time, a famous mathematician, David Hilbert, introduced a problem, which is about whether we could find an algorithm (machine) that could solve all the mathematical problems. Gödel's incompleteness theorems, proposed by the Austro-Hungarian mathematician, logician and philosopher Kurt Gödel, are widely interpreted as showing that Hilbert's program to find a complete and consistent set of axioms for all mathematics is impossible [5]. Turing wanted to prove if Gödel's incompleteness theorems were right using his own way by designing a machine. Finally, in 1937, he published a paper, "On Computable Numbers, with an Application that mentioned the Turing machine. It was an abstract machine that processed the symbols written on a strip of tape as the rules of the symbols defined in the table, which defines the mathematical model of the computer[1]. The symbols written in the tape could be thought of as software.

    +

    "I will find a way to prove Gödel's incompleteness theorems."

    +

    At the time, a famous mathematician, David Hilbert, introduced a problem, which is about whether we could find an algorithm (machine) that could solve all the mathematical problems. Gödel's incompleteness theorems, proposed by the Austro-Hungarian mathematician, logician and philosopher Kurt Gödel, are widely interpreted as showing that Hilbert's program to find a complete and consistent set of axioms for all mathematics is impossible [5]. Turing wanted to prove if Gödel's incompleteness theorems were right using his own way by designing a machine. Finally, in 1937, he published a paper, "On Computable Numbers, with an Application that mentioned the Turing machine. It was an abstract machine that processed the symbols written on a strip of tape as the rules of the symbols defined in the table, which defines the mathematical model of the computer[1]. The symbols written in the tape could be thought of as software.

    @@ -82,10 +83,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    “Wow, rewriting this document by hand is like copying the program.”

    -
    -

    Alan Turing contributed to the Allied victory by creating a device called Bombe designed for breaking German ciphers during the Second World War[2]. At the time, computers were made for specific purposes. By the end of the war, the United States began making a general purpose computer, called ENIAC(ENIAC). John Mauchly and his team began to develop ENIAC in 1943 and completed it in 1946 at the University of Pennsylvania. After that, the US military used ENIAC to calculate ballistics tables for missiles.

    +

    “Wow, rewriting this document by hand is like copying the program.”

    +

    Alan Turing contributed to the Allied victory by creating a device called Bombe designed for breaking German ciphers during the Second World War[2]. At the time, computers were made for specific purposes. By the end of the war, the United States began making a general purpose computer, called ENIAC(ENIAC). John Mauchly and his team began to develop ENIAC in 1943 and completed it in 1946 at the University of Pennsylvania. After that, the US military used ENIAC to calculate ballistics tables for missiles.

    In 1940s, the programming was totally different from today’s programming. We needed to connect each switch to set an instruction and also had to replace the circuit board in order to run another program. In addition, it was too heavy (30 tons) and consumed too much energy: 200 KW of electricity because it used 18,000 vacuum tubes[3].

    @@ -95,10 +94,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    “Is this true coding?”
    "It's just the beginning"

    -
    -

    Later, the team who made ENIAC began to develop EDVAC, the world's first stored-program computer, which was delivered to the US Ballistic Research Laboratory in 1949. Von Neumann was involved in the development of EDVAC as a consultant and wrote the first draft of a report on EDVAC. He proposed a computer architecture that was designed to save a program and its data in the same memory.

    +

    “Is this true coding?”
    "It's just the beginning"

    +

    Later, the team who made ENIAC began to develop EDVAC, the world's first stored-program computer, which was delivered to the US Ballistic Research Laboratory in 1949. Von Neumann was involved in the development of EDVAC as a consultant and wrote the first draft of a report on EDVAC. He proposed a computer architecture that was designed to save a program and its data in the same memory.

    @@ -107,10 +104,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    ”EDVAC adopted the binary symbol for the first time.”

    -
    -

    Now, all computers are using the computer architecture he proposed. We call it Von Neumann architecture.

    +

    ”EDVAC adopted the binary symbol for the first time.”

    +

    Now, all computers are using the computer architecture he proposed. We call it Von Neumann architecture.

    @@ -130,10 +125,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    “The US already made a stored-program computer!”

    -
    -

    They asked Alan Turing to make a stored-program computer like EDVAC. Finally, he had the opportunity to develop a stored-program computer using his ideas from ​designing the Turing machine starting in 1945 at the National Physical Laboratory. The name was ACE (Automatic Computing Engine).

    +

    “The US already made a stored-program computer!”

    +

    They asked Alan Turing to make a stored-program computer like EDVAC. Finally, he had the opportunity to develop a stored-program computer using his ideas from ​designing the Turing machine starting in 1945 at the National Physical Laboratory. The name was ACE (Automatic Computing Engine).

    @@ -142,10 +135,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    “We need a computer like EDVAC”
    “I also have a good idea”

    -
    -

    When we look at his paper, published in 1946, although the report was written later than the EDVAC report by Von Neumann, it also included a detailed design for the stored-program computer. Moreover, the hardware is minimally designed to run arithmetic instructions in software, which is the same design philosophy and approach of the RISC CPU today. However, the development of ACE was delayed due to his wartime work and the secrecy required, and he returned to Cambridge for a sabbatical year in 1947 without having finished working on ACE[4].

    +

    “We need a computer like EDVAC”
    “I also have a good idea”

    +

    When we look at his paper, published in 1946, although the report was written later than the EDVAC report by Von Neumann, it also included a detailed design for the stored-program computer. Moreover, the hardware is minimally designed to run arithmetic instructions in software, which is the same design philosophy and approach of the RISC CPU today. However, the development of ACE was delayed due to his wartime work and the secrecy required, and he returned to Cambridge for a sabbatical year in 1947 without having finished working on ACE[4].

    @@ -154,10 +145,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    "I already have a design. Why haven't they made a decision yet?"

    -
    -

    Eventually, the mathematics institute at the University of Cambridge developed a computer called Electronic Delay Storage Automatic Calculator (EDSAC) in 1949 with the proven design of the von Neumann computer.

    +

    "I already have a design. Why haven't they made a decision yet?"

    +

    Eventually, the mathematics institute at the University of Cambridge developed a computer called Electronic Delay Storage Automatic Calculator (EDSAC) in 1949 with the proven design of the von Neumann computer.

    @@ -175,10 +164,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    "Alan, can you explain your Turing machine a bit more?"
    "Yes, sir."

    -
    -

    They might have talked to each other like this.

    +

    "Alan, can you explain your Turing machine a bit more?"
    "Yes, sir."

    +

    They might have talked to each other like this.

    In fact, Britain made the first computer, Colossus, in order to break German ciphers during World War II, but the machines and related information were destroyed after the war as part of the effort to maintain the secrecy of the project. Germany also built their own computers during World War II, but their research could not continue due to their defeat.

    @@ -188,10 +175,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    “We can use the machine for other purposes”
    “No, we can’t. They would be destroyed because of confidentiality”

    -
    -

    In the United States, immigrants such as Von Neumann contributed greatly to the development of early computers and continued to develop commercial computers. Finally, the computer era began with their efforts.

    +

    “We can use the machine for other purposes”
    “No, we can’t. They would be destroyed because of confidentiality”

    +

    In the United States, immigrants such as Von Neumann contributed greatly to the development of early computers and continued to develop commercial computers. Finally, the computer era began with their efforts.

    @@ -200,10 +185,8 @@

    2. Alan Turing and Von Neumann

    -
    -

    Von Neumann, a Hungarian immigrant, worked on the design of the stored-program computer.
    Alan Turing obtained a Ph.D. from Princeton university and proposed a theoretical model of the computer.
    Kurt Gödel was an Austro-Hungarian-born Austrian, and later American. His research on the incompleteness theorems led to the birth of the Turing machine.

    -
    -

    References

    +

    Von Neumann, a Hungarian immigrant, worked on the design of the stored-program computer.
    Alan Turing obtained a Ph.D. from Princeton university and proposed a theoretical model of the computer.
    Kurt Gödel was an Austro-Hungarian-born Austrian, and later American. His research on the incompleteness theorems led to the birth of the Turing machine.

    +

    References

    1. Turing_machine, Wikipedia \
    2. Alan_Turing, Wikipedia \
    3. diff --git a/docs/3. The Era of Commercial Computers/index.html b/docs/3. The Era of Commercial Computers/index.html index df195b45..3b2bea9f 100644 --- a/docs/3. The Era of Commercial Computers/index.html +++ b/docs/3. The Era of Commercial Computers/index.html @@ -4,6 +4,9 @@ + + + @@ -70,10 +73,8 @@

      3. The Era of Commercial Computers

      -
      -

      "Has the ballistics calculation been completed?"
      "I have not gotten the results yet."

      -
      -

      Some engineers involved in early computer development had predicted the commercial potential of computers earlier.

      +

      "Has the ballistics calculation been completed?"
      "I have not gotten the results yet."

      +

      Some engineers involved in early computer development had predicted the commercial potential of computers earlier.

      @@ -82,10 +83,8 @@

      3. The Era of Commercial Computers

      -
      -

      "Can we sell EDVAC to government agencies other than the military?"
      "That’s a good idea; why not start a company for this opportunity?"

      -
      -

      In 1947, John Eckert and John Mauchly, who developed ENIAC and EDVAC, founded the world's first computer manufacturing company called the Eckert-Mauchly Computer Corporation (EMCC). After that, they developed UNIVAC, the newer version of EDVAC, and delivered it to the U.S. Census Bureau,

      +

      "Can we sell EDVAC to government agencies other than the military?"
      "That’s a good idea; why not start a company for this opportunity?"

      +

      In 1947, John Eckert and John Mauchly, who developed ENIAC and EDVAC, founded the world's first computer manufacturing company called the Eckert-Mauchly Computer Corporation (EMCC). After that, they developed UNIVAC, the newer version of EDVAC, and delivered it to the U.S. Census Bureau,

      @@ -94,11 +93,9 @@

      3. The Era of Commercial Computers

      -
      -

      “Are you getting the average life expectancy?” +

      “Are you getting the average life expectancy?” “Wait a minute.”

      -
      -

      The company was then expected to supply UNIVAC via contracts with the Army, Navy, and Air Force.  However, those contracts were eventually cancelled in 1950 after some employees were suspected as communists during the McCarthy era.

      +

      The company was then expected to supply UNIVAC via contracts with the Army, Navy, and Air Force.  However, those contracts were eventually cancelled in 1950 after some employees were suspected as communists during the McCarthy era.

      @@ -107,10 +104,8 @@

      3. The Era of Commercial Computers

      -
      -

      “How do communists develop a computer for the US military?”
      “That’s a misunderstanding. We do not have any communist employees."

      -
      -

      Mauchly was also suspected and forced to leave the company, and it took him two years to get back to work. In the meantime, the company was in financial difficulty and it was eventually sold to Remington Rand in early 1950[1].

      +

      “How do communists develop a computer for the US military?”
      “That’s a misunderstanding. We do not have any communist employees."

      +

      Mauchly was also suspected and forced to leave the company, and it took him two years to get back to work. In the meantime, the company was in financial difficulty and it was eventually sold to Remington Rand in early 1950[1].

      @@ -119,10 +114,8 @@

      3. The Era of Commercial Computers

      -
      -

      “Get Bolsheviks out!”

      -
      -

      In fact, the idea for the von Neumann architecture was initiated by Mockley and Eckert, but their credits were removed from von Neumann's paper, First Draft of a Report on the EDVAC, dated June 30, 1945. Their business was not successful, also due to political reasons.

      +

      “Get Bolsheviks out!”

      +

      In fact, the idea for the von Neumann architecture was initiated by Mockley and Eckert, but their credits were removed from von Neumann's paper, First Draft of a Report on the EDVAC, dated June 30, 1945. Their business was not successful, also due to political reasons.

      In the 1950s, a number of companies began to make commercial computers. IBM produced punch card systems and also released its first computer, the IBM 701, in 1952.

      @@ -132,10 +125,8 @@

      3. The Era of Commercial Computers

      -
      -

      “Hmm, this machine is still using vacuum tubes and doesn’t have a monitor and keyboard yet. The memory size is only 36 bits x 2048.”

      -
      -

      In particular, IBM developed the Fortran and LISP computer languages for its successor, the IBM 704, released in 1954.

      +

      “Hmm, this machine is still using vacuum tubes and doesn’t have a monitor and keyboard yet. The memory size is only 36 bits x 2048.”

      +

      In particular, IBM developed the Fortran and LISP computer languages for its successor, the IBM 704, released in 1954.

      @@ -144,10 +135,8 @@

      3. The Era of Commercial Computers

      -
      -

      “I proposed Fortran in 1953 and completed its development in 1957. This was the first compiler with optimization.”
      “I was surprised to learn that there were compilers in the 1950s.”

      -
      -

      Note: John Backus is the creator of Fortran computer language.

      +

      “I proposed Fortran in 1953 and completed its development in 1957. This was the first compiler with optimization.”
      “I was surprised to learn that there were compilers in the 1950s.”

      +

      Note: John Backus is the creator of Fortran computer language.

      In 1953, IBM introduced the IBM 650 computer, the first mass-produced computer. This computer used magnetic drums to store programs, which provided a faster access time than drum-based storage devices. This model was relatively inexpensive and became popular in universities, so many students started to learn computer programming with this machine.

      @@ -157,10 +146,8 @@

      3. The Era of Commercial Computers

      -
      -

      “I also started computer programming with IBM 650 for the first time.”

      -
      -

      Professor Donald Knuth, widely known for his book series, The Art of Computer Programming, first learned computer programming with the IBM 650[2]. After this, a number of companies began to make commercial computers In the 1950s, and software engineers first made their appearance.

      +

      “I also started computer programming with IBM 650 for the first time.”

      +

      Professor Donald Knuth, widely known for his book series, The Art of Computer Programming, first learned computer programming with the IBM 650[2]. After this, a number of companies began to make commercial computers In the 1950s, and software engineers first made their appearance.

      References

      1. John Mauchly, wikipedia
      2. diff --git a/docs/4. how did people write code in the early days of computing/index.html b/docs/4. how did people write code in the early days of computing/index.html index 499ad1a0..5edaed5d 100644 --- a/docs/4. how did people write code in the early days of computing/index.html +++ b/docs/4. how did people write code in the early days of computing/index.html @@ -4,6 +4,9 @@ + + + @@ -62,10 +65,8 @@

        4. how did people write code in the early days of computing?

        -
        -

        "This is a computer for arithmetic operations"
        “That is a computer for breaking German ciphers”
        "Can I make a computer for ballistics calculation?"
        "How many relays and vacuum tubes are needed for this?"

        -
        -

        Actual computer programming has been possible since stored-program computers such as EDVAC and EDSAC were introduced in 1949. Basically, the program can be executed after it is loaded into memory.

        +

        "This is a computer for arithmetic operations"
        “That is a computer for breaking German ciphers”
        "Can I make a computer for ballistics calculation?"
        "How many relays and vacuum tubes are needed for this?"

        +

        Actual computer programming has been possible since stored-program computers such as EDVAC and EDSAC were introduced in 1949. Basically, the program can be executed after it is loaded into memory.

        A program is made up of instructions that the machine can understand, which is called machine code. The machine language is difficult for humans to understand because it consists only of binary numbers such as 0 and 1.

        @@ -106,10 +107,8 @@

        4. how did people write code in the early days of computing?

        -
        -

        "I’m writing code"

        -
        -

        However, keyboards and monitors did not become commercially available until the 1960s. The first computer with a monitor and keyboard was Multics, which was jointly developed by Bell Labs and MIT in 1964[3], and in the 1970s, most computers had a terminal with a screen and keyboard. Then, how could programmers write code and check the results without a monitor and keyboard in the 1960s.

        +

        "I’m writing code"

        +

        However, keyboards and monitors did not become commercially available until the 1960s. The first computer with a monitor and keyboard was Multics, which was jointly developed by Bell Labs and MIT in 1964[3], and in the 1970s, most computers had a terminal with a screen and keyboard. Then, how could programmers write code and check the results without a monitor and keyboard in the 1960s.

        @@ -118,10 +117,8 @@

        4. how did people write code in the early days of computing?

        -
        -

        "Finally, I got a computer with a keyboard and a monitor"

        -
        -

        Early programmers used punched cards to write code. Punch cards were originally used for data storage from the late 19th century, and were used by the US Census Bureau for census purposes. It is easy to understand if you think of the current OMR sheet to mark answers.

        +

        "Finally, I got a computer with a keyboard and a monitor"

        +

        Early programmers used punched cards to write code. Punch cards were originally used for data storage from the late 19th century, and were used by the US Census Bureau for census purposes. It is easy to understand if you think of the current OMR sheet to mark answers.

        IBM had developed a punch card system at the time and was supplying the system worldwide so  the punch card was well used as an essential part of early programming.

        @@ -140,10 +137,8 @@

        4. how did people write code in the early days of computing?

        -
        -

        “I need to write the code on the punch card”

        -
        -

        Programmers took the punch card to the operator of the computer room.The operator put the punch card into the punch card reader and the computer was able to execute the code loaded from the punch card reader. In reality, the programmer had to wait in line to hand the punch card to the operator and wait a long time until they received the execution result. If there is something wrong with the result, they had to do the same things over and over to get the result they wanted.

        +

        “I need to write the code on the punch card”

        +

        Programmers took the punch card to the operator of the computer room.The operator put the punch card into the punch card reader and the computer was able to execute the code loaded from the punch card reader. In reality, the programmer had to wait in line to hand the punch card to the operator and wait a long time until they received the execution result. If there is something wrong with the result, they had to do the same things over and over to get the result they wanted.

        @@ -152,10 +147,8 @@

        4. how did people write code in the early days of computing?

        -
        -

        "Can you take a look at my code?"
        "Next person"

        -
        -

        The interesting thing is that just copying a punch card is the same as copying a program, so it was possible to copy programs by writing at the time.

        +

        "Can you take a look at my code?"
        "Next person"

        +

        The interesting thing is that just copying a punch card is the same as copying a program, so it was possible to copy programs by writing at the time.

        diff --git a/docs/5. The beginning of software engineering/index.html b/docs/5. The beginning of software engineering/index.html index 0af7cf55..8f825831 100644 --- a/docs/5. The beginning of software engineering/index.html +++ b/docs/5. The beginning of software engineering/index.html @@ -4,6 +4,9 @@ + + + @@ -62,10 +65,8 @@

        5. The beginning of software engineering

        -
        -

        “Installation done!”
        “Hmm, how can I program it?

        -
        -

        Mathematicians were involved in the invention of early computers so it was easy for students majoring in mathematics to approach computer programming in the early days.

        +

        “Installation done!”
        “Hmm, how can I program it?

        +

        Mathematicians were involved in the invention of early computers so it was easy for students majoring in mathematics to approach computer programming in the early days.

        @@ -74,10 +75,8 @@

        5. The beginning of software engineering

        -
        -

        “When you do math calculations on a newly introduced computer, you will get results quickly.”

        -
        -

        People who majored in science or engineering learned programming because they could do mathematical calculations and various experiments with computers that were previously done manually.  Some of them fell in love with programming and changed their jobs as programmers.

        +

        “When you do math calculations on a newly introduced computer, you will get results quickly.”

        +

        People who majored in science or engineering learned programming because they could do mathematical calculations and various experiments with computers that were previously done manually.  Some of them fell in love with programming and changed their jobs as programmers.

        @@ -98,10 +97,8 @@

        5. The beginning of software engineering

        -
        -

        “At the time, computer science and software engineering were not part of the regular curriculum. So programmers had to work through hands-on experience.”

        -
        -

        Following this, she became a system programming expert and participated in the Apollo 11 mission. At the time, the Apollo 11 mission did not include any budget and schedule for software development, and there was no mention of software in the requirements[1] However, software was important enough to control the flight of the spacecraft and the lunar lander. Margaret took her daughter to the office on weekends to develop more reliable software.

        +

        “At the time, computer science and software engineering were not part of the regular curriculum. So programmers had to work through hands-on experience.”

        +

        Following this, she became a system programming expert and participated in the Apollo 11 mission. At the time, the Apollo 11 mission did not include any budget and schedule for software development, and there was no mention of software in the requirements[1] However, software was important enough to control the flight of the spacecraft and the lunar lander. Margaret took her daughter to the office on weekends to develop more reliable software.

        @@ -110,10 +107,8 @@

        5. The beginning of software engineering

        -
        -

        “Mom, when are we going home?”
        “Just finished. Let's go now”

        -
        -

        Eventually, in 1968, as many as 400 people participated in the development of the lunar lander software, and the Apollo 11 mission was successfully completed.

        +

        “Mom, when are we going home?”
        “Just finished. Let's go now”

        +

        Eventually, in 1968, as many as 400 people participated in the development of the lunar lander software, and the Apollo 11 mission was successfully completed.

        @@ -122,10 +117,8 @@

        5. The beginning of software engineering

        -
        -

        "Moon landing success!"

        -
        -

        In particular, she first used the term “software engineering” at the beginning of the Apollo missions so that software could be recognized as an independent domain like hardware. She also helped to create a course work about computer programming at MIT[4].

        +

        "Moon landing success!"

        +

        In particular, she first used the term “software engineering” at the beginning of the Apollo missions so that software could be recognized as an independent domain like hardware. She also helped to create a course work about computer programming at MIT[4].

        An interesting fact is that many software developers were women until the 1960s, but this is a significant difference compared to the current situation where men dominate the computer programming field. The reason is that at the time, software development was less important than hardware development, so women were mainly in charge, and they were also paid less than men[2]. If you look for black and white photos of early computers on the Internet, you can see a lot of women in front of the computers.

        @@ -135,10 +128,8 @@

        5. The beginning of software engineering

        -
        -

        Coding…  “The salary is too low for what I’m doing”
        Designing a hardware

        -
        -

        All the people who did the programming by connecting the functional unit boards at ENIAC were women[3].

        +

        Coding…  “The salary is too low for what I’m doing”
        Designing a hardware

        +

        All the people who did the programming by connecting the functional unit boards at ENIAC were women[3].

        @@ -156,10 +147,8 @@

        5. The beginning of software engineering

        -
        -

        “Why isn’t it working”

        -
        -

        Eventually, she found out that the computer wasn't working properly because of the dead moth inside the relay.

        +

        “Why isn’t it working”

        +

        Eventually, she found out that the computer wasn't working properly because of the dead moth inside the relay.

        @@ -168,10 +157,8 @@

        5. The beginning of software engineering

        -
        -

        “Oh my god, a moth is dead inside the relay.”

        -
        -

        And while attaching the moth to the workbook, she left a note saying that it was the first computer bug

        +

        “Oh my god, a moth is dead inside the relay.”

        +

        And while attaching the moth to the workbook, she left a note saying that it was the first computer bug

        @@ -180,10 +167,8 @@

        5. The beginning of software engineering

        -
        -

        “I found the first computer bug.(a picture from Wikipedia)

        -
        -

        In the early days when computers were used, women played a pioneering role in software development and created the foundation for software engineering to be born.

        +

        “I found the first computer bug.(a picture from Wikipedia)

        +

        In the early days when computers were used, women played a pioneering role in software development and created the foundation for software engineering to be born.

        References

        1. Her Code Got Humans on the Moon—And Invented Software Itself, wired.com
        2. diff --git a/docs/6. The origin of the hacker culture/index.html b/docs/6. The origin of the hacker culture/index.html index 7f6028b4..f00978ac 100644 --- a/docs/6. The origin of the hacker culture/index.html +++ b/docs/6. The origin of the hacker culture/index.html @@ -4,6 +4,9 @@ + + + @@ -62,10 +65,8 @@

          6. The origin of the hacker culture

          -
          -

          “In the beginning, there were real programmers.”

          -
          -

          +

          “In the beginning, there were real programmers.”

          +

          @@ -73,11 +74,9 @@

          6. The origin of the hacker culture

          -
          -

          “What is a real programmer?” +

          “What is a real programmer?” “I have been practicing machine coding for 30 years”

          -
          -

          +

          @@ -85,10 +84,8 @@

          6. The origin of the hacker culture

          -
          -

          “These were mostly people who had studied mathematics, physics or engineering, and they wore dress shirts and ties, thick horn-rimmed glasses, and wrote codes with machine language, assembler, Fortran, and ancient computer languages that are now forgotten.”

          -
          -

          If you visit the Wikipedia page on the History of Programming Languages, you will find a list of the programming languages that were developed in the early days of computing. You may encounter some languages on the list that you've never heard of before - these are likely to be ancient, obsolete languages that are no longer in use.

          +

          “These were mostly people who had studied mathematics, physics or engineering, and they wore dress shirts and ties, thick horn-rimmed glasses, and wrote codes with machine language, assembler, Fortran, and ancient computer languages that are now forgotten.”

          +

          If you visit the Wikipedia page on the History of Programming Languages, you will find a list of the programming languages that were developed in the early days of computing. You may encounter some languages on the list that you've never heard of before - these are likely to be ancient, obsolete languages that are no longer in use.

          Of course, we must also acknowledge the contributions of female programmers during this time period.

          @@ -98,10 +95,8 @@

          6. The origin of the hacker culture

          -
          -

          “A lot of the real programmers in the beginning were obviously women such as Margaret Hamilton and Grace Hopper."

          -
          -

          This culture of real programmers has developed computing and networks. In addition, it has evolved into the open source hacker culture of today[1].

          +

          “A lot of the real programmers in the beginning were obviously women such as Margaret Hamilton and Grace Hopper."

          +

          This culture of real programmers has developed computing and networks. In addition, it has evolved into the open source hacker culture of today[1].

          diff --git a/docs/7. ITS and hacker culture/index.html b/docs/7. ITS and hacker culture/index.html index a07ad247..6c435679 100644 --- a/docs/7. ITS and hacker culture/index.html +++ b/docs/7. ITS and hacker culture/index.html @@ -4,6 +4,9 @@ + + + @@ -62,10 +65,8 @@

          7. ITS and hacker culture

          -
          -

          “How can we keep trains from colliding with each other?”
          "Well"
          "Wouldn't it be possible to control the trains with the newly introduced computer PDP-1?"
          “You control the trains with PDP-1?”
          “Yeah, we can implement a train control program.”

          -
          -

          For reference, the video below shows why a computer is needed to control a moving model train. +

          “How can we keep trains from colliding with each other?”
          "Well"
          "Wouldn't it be possible to control the trains with the newly introduced computer PDP-1?"
          “You control the trains with PDP-1?”
          “Yeah, we can implement a train control program.”

          +

          For reference, the video below shows why a computer is needed to control a moving model train.

          @@ -87,10 +88,8 @@

          7. ITS and hacker culture

          -
          -

          “What is this round thing?”
          "I think it's a computer display that you can use to view and interact with this computer."

          -
          -

          After that, students interested in train control in the Tech Model Railway Club spend more time with the PDP-1.

          +

          “What is this round thing?”
          "I think it's a computer display that you can use to view and interact with this computer."

          +

          After that, students interested in train control in the Tech Model Railway Club spend more time with the PDP-1.

          @@ -107,10 +106,8 @@

          7. ITS and hacker culture

          -
          -

          “What, the electricity bill is so high!”

          -
          -

          +

          “What, the electricity bill is so high!”

          +

          @@ -118,10 +115,8 @@

          7. ITS and hacker culture

          -
          -

          “Keep the computer room door closed at night.”
          “Just make model trains if these guys aren't going to study."

          -
          -

          +

          “Keep the computer room door closed at night.”
          “Just make model trains if these guys aren't going to study."

          +

          @@ -129,10 +124,8 @@

          7. ITS and hacker culture

          -
          -

          “The door is locked.”
          “Yeah, we should just have ordered a pizza without going out for dinner.”

          -
          -

          +

          “The door is locked.”
          “Yeah, we should just have ordered a pizza without going out for dinner.”

          +

          @@ -140,10 +133,8 @@

          7. ITS and hacker culture

          -
          -

          “Do I really have to do this?”
          “This is a historic moment in making the first video game.”

          -
          -

          +

          “Do I really have to do this?”
          “This is a historic moment in making the first video game.”

          +

          @@ -160,10 +151,8 @@

          7. ITS and hacker culture

          -
          -

          “Mission complete,  I’m gonna go to the AI Lab.”

          -
          -

          At the time, the MIT Artificial Intelligence Lab (AI Lab) was the birthplace of hacker culture, and it was developing an operating system called Multics with GE and Bell Labs. However, due to different opinions on operating system development, they began to develop their own operating system called ITS (Incompatible Time Sharing System) from the late 1960s.

          +

          “Mission complete,  I’m gonna go to the AI Lab.”

          +

          At the time, the MIT Artificial Intelligence Lab (AI Lab) was the birthplace of hacker culture, and it was developing an operating system called Multics with GE and Bell Labs. However, due to different opinions on operating system development, they began to develop their own operating system called ITS (Incompatible Time Sharing System) from the late 1960s.

          @@ -172,10 +161,8 @@

          7. ITS and hacker culture

          -
          -

          “When the heck does Multics development end?”
          “Should we rather create our own operating system?”

          -
          -

          MIT hacker Tom Knight(right) developed the first kernel for ITS.

          +

          “When the heck does Multics development end?”
          “Should we rather create our own operating system?”

          +

          MIT hacker Tom Knight(right) developed the first kernel for ITS.

          @@ -184,10 +171,8 @@

          7. ITS and hacker culture

          -
          -

          “We had created a compatible time sharing system before, so let's name it ITS.”
          “Incompatible time sharing system?”

          -
          -

          Actual development started on the PDP-6 and it was all written in assembly

          +

          “We had created a compatible time sharing system before, so let's name it ITS.”
          “Incompatible time sharing system?”

          +

          Actual development started on the PDP-6 and it was all written in assembly

          @@ -196,10 +181,8 @@

          7. ITS and hacker culture

          -
          -

          “I am making ITS in assembly.”

          -
          -

          At the time, ITS operating system had a unique user environment that could not be found today. In the early days, anyone could log in to the system without a password. All files, including documentation and source code, could be edited by anyone.

          +

          “I am making ITS in assembly.”

          +

          At the time, ITS operating system had a unique user environment that could not be found today. In the early days, anyone could log in to the system without a password. All files, including documentation and source code, could be edited by anyone.

          @@ -208,10 +191,8 @@

          7. ITS and hacker culture

          -
          -

          "There is no password!"
          “Anyone can edit files”

          -
          -

          In addition, it was possible to access ITS not only inside MIT, but also from other institutions or schools through ARPAnet. The wide-open  ITS philosophy and  collaborative online community had a great impact on hacker culture, and also on free/open source and wiki movements[3].

          +

          "There is no password!"
          “Anyone can edit files”

          +

          In addition, it was possible to access ITS not only inside MIT, but also from other institutions or schools through ARPAnet. The wide-open  ITS philosophy and  collaborative online community had a great impact on hacker culture, and also on free/open source and wiki movements[3].

          @@ -238,10 +219,8 @@

          7. ITS and hacker culture

          -
          -

          "This is the ITS source code."
          "Thanks, I'll buy you dinner later."

          -
          -

          References

          +

          "This is the ITS source code."
          "Thanks, I'll buy you dinner later."

          +

          References

          1. Hacker, Wikipedia
          2. PDP-1, Wikipedia
          3. diff --git a/docs/8. UNIX and C Language/index.html b/docs/8. UNIX and C Language/index.html index ab2f7423..0444702b 100644 --- a/docs/8. UNIX and C Language/index.html +++ b/docs/8. UNIX and C Language/index.html @@ -4,6 +4,9 @@ + + + @@ -63,10 +66,8 @@

            8. UNIX and C Language

            -
            -

            “I feel the force somewhere…”                                          

            -
            -

            Coincidentally, the people who were working on Multics were also working on ITS and Unix, including Ken Thompson and Dennis Ritchie from Bell Labs.

            +

            “I feel the force somewhere…”                                          

            +

            Coincidentally, the people who were working on Multics were also working on ITS and Unix, including Ken Thompson and Dennis Ritchie from Bell Labs.

            @@ -75,10 +76,8 @@

            8. UNIX and C Language

            -
            -

            "I think we need to step away from the Multics project now."
            “Yeah, the development time has become way longer than we expected."

            -
            -

            The Multics project began in 1964, but due to the large code size and complexity, the schedule fell far behind Bell Labs' expectations.

            +

            "I think we need to step away from the Multics project now."
            “Yeah, the development time has become way longer than we expected."

            +

            The Multics project began in 1964, but due to the large code size and complexity, the schedule fell far behind Bell Labs' expectations.

            @@ -87,10 +86,8 @@

            8. UNIX and C Language

            -
            -

            "Overdesigned and overbuilt and over everything."
            "It was close to unusable[1]"

            -
            -

            In 1969, Bell Lab. pulled out of the development of Multics.

            +

            "Overdesigned and overbuilt and over everything."
            "It was close to unusable[1]"

            +

            In 1969, Bell Lab. pulled out of the development of Multics.

            @@ -99,10 +96,8 @@

            8. UNIX and C Language

            -
            -

            “We’re leaving because we can't meet our schedule.”

            -
            -

            Based on his experience developing Multics, Ken Thompson creates a new operating system by himself at Bell Labs.

            +

            “We’re leaving because we can't meet our schedule.”

            +

            Based on his experience developing Multics, Ken Thompson creates a new operating system by himself at Bell Labs.

            @@ -111,10 +106,8 @@

            8. UNIX and C Language

            -
            -

            “Dennis, I'm building a new operating system, taking some ideas from Multics. I'm making it smaller and simpler.”
            “That’s a good idea. Shall I join you?”

            -
            -

            Ken Thompson reimplemented many of the key features he had developed in Multics in Unix.

            +

            “Dennis, I'm building a new operating system, taking some ideas from Multics. I'm making it smaller and simpler.”
            “That’s a good idea. Shall I join you?”

            +

            Ken Thompson reimplemented many of the key features he had developed in Multics in Unix.

            @@ -123,10 +116,8 @@

            8. UNIX and C Language

            -
            -

            “I can't make something out of nothing”

            -
            -

            He adapted the file system he had already implemented in Multics in Unix on PDP-7, and Dennis Richie joined him in the development. Once the development was well underway, a team was organized and they began implementing the operating system features we use today, such as the filesystem, process model, device files, and command line interpreter, for the first time on PDP-7.

            +

            “I can't make something out of nothing”

            +

            He adapted the file system he had already implemented in Multics in Unix on PDP-7, and Dennis Richie joined him in the development. Once the development was well underway, a team was organized and they began implementing the operating system features we use today, such as the filesystem, process model, device files, and command line interpreter, for the first time on PDP-7.

            @@ -135,10 +126,8 @@

            8. UNIX and C Language

            -
            -

            “First of all, I'm working on a file system. How about we call it Unix?”
            “How about mapping devices to files?”

            -
            -

            Then, PDP-11 was introduced, which differed in CPU instructions from the PDP-7.

            +

            “First of all, I'm working on a file system. How about we call it Unix?”
            “How about mapping devices to files?”

            +

            Then, PDP-11 was introduced, which differed in CPU instructions from the PDP-7.

            @@ -147,10 +136,8 @@

            8. UNIX and C Language

            -
            -

            "Ken, we have a new PDP-11, why don't we port Unix to it?"
            "That's a great idea, but the problem is that the CPU instructions are different, so we'll have to re-write the Unix code with the PDP-11 assembly language."

            -
            -

            +

            "Ken, we have a new PDP-11, why don't we port Unix to it?"
            "That's a great idea, but the problem is that the CPU instructions are different, so we'll have to re-write the Unix code with the PDP-11 assembly language."

            +

            @@ -158,10 +145,8 @@

            8. UNIX and C Language

            -
            -

            “Wow, I finally finished porting!"
            "But we can't rewrite the Unix code in assembly every time we buy a new computer, right?

            -
            -

            +

            “Wow, I finally finished porting!"
            "But we can't rewrite the Unix code in assembly every time we buy a new computer, right?

            +

            @@ -169,10 +154,8 @@

            8. UNIX and C Language

            -
            -

            “Dennis, shall we rewrite Unix in the B language? Now we are able to build an OS kernel without assembly."
            "Maybe we can port Unix to PDP-11 using the B language"  

            -
            -

            B language was also developed for use in Multics by Ken Thompson and Dennis Ritchie in 1969.

            +

            “Dennis, shall we rewrite Unix in the B language? Now we are able to build an OS kernel without assembly."
            "Maybe we can port Unix to PDP-11 using the B language"  

            +

            B language was also developed for use in Multics by Ken Thompson and Dennis Ritchie in 1969.

            @@ -181,10 +164,8 @@

            8. UNIX and C Language

            -
            -

            "First we need to port the B language to the PDP-11, but there's a problem."

            -
            -

            In 1971, Dennis Ritchie added a character type to the B language and rewrote the compiler code to generate PDP-11 machine code[3].

            +

            "First we need to port the B language to the PDP-11, but there's a problem."

            +

            In 1971, Dennis Ritchie added a character type to the B language and rewrote the compiler code to generate PDP-11 machine code[3].

            @@ -193,10 +174,8 @@

            8. UNIX and C Language

            -
            -

            “Dennis, how's the B language porting going?”
            “There are a lot of issues, first of all, it’s hard to access the character data type on PDP-11.”

            -
            -

            +

            “Dennis, how's the B language porting going?”
            “There are a lot of issues, first of all, it’s hard to access the character data type on PDP-11.”

            +

            @@ -204,10 +183,8 @@

            8. UNIX and C Language

            -
            -

            "Haha, why don't you completely update the B language this time?”
            "I might have to rewrite it from scratch."

            -
            -

            In 1973, basic functionalities were complete, and it was called C, which was just the next version of B.

            +

            "Haha, why don't you completely update the B language this time?”
            "I might have to rewrite it from scratch."

            +

            In 1973, basic functionalities were complete, and it was called C, which was just the next version of B.

            @@ -216,10 +193,8 @@

            8. UNIX and C Language

            -
            -

            “How about calling it C?”
            "Sounds good"

            -
            -

            Dennis Richie began rewriting Unix in C that same year.

            +

            “How about calling it C?”
            "Sounds good"

            +

            Dennis Richie began rewriting Unix in C that same year.

            @@ -228,10 +203,8 @@

            8. UNIX and C Language

            -
            -

            "Hmm, I don't have to code in assembly anymore"

            -
            -

            Dennis added the structure type to the C language to define the user's custom data. Now, the C language is powerful enough to write Unix kernels.

            +

            "Hmm, I don't have to code in assembly anymore"

            +

            Dennis added the structure type to the C language to define the user's custom data. Now, the C language is powerful enough to write Unix kernels.