Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

The New Coffee Room

  1. TNCR
  2. General Discussion
  3. For the computing history nerds

For the computing history nerds

Scheduled Pinned Locked Moved General Discussion
20 Posts 8 Posters 123 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Klaus
    wrote on 9 Jun 2020, 14:24 last edited by Klaus 6 Sept 2020, 15:41
    #1

    The original source code of the Apollo 11 guidance computer (or parts thereof) from 1969 are now available on Github.

    https://github.com/chrislgarry/Apollo-11

    Note that most of the code was written by a gal, Margaret Hamilton. Here she is, besides a printout of the source code she wrote. She is really one of the main pioneers of the field. I wish I met her or seen a talk of hers.

    alt text

    I also wish there would be a quick summary of the proprietary assembly language (AGC) she was using somewhere. I can't really decipher what is going on.

    I 1 Reply Last reply 10 Jun 2020, 22:19
    • 8 Offline
      8 Offline
      89th
      wrote on 9 Jun 2020, 15:19 last edited by
      #2

      Awesome!!

      1 Reply Last reply
      • 8 Offline
        8 Offline
        89th
        wrote on 9 Jun 2020, 15:20 last edited by
        #3

        If I open a PR will you merge it? 😂

        1 Reply Last reply
        • A Offline
          A Offline
          Axtremus
          wrote on 9 Jun 2020, 15:36 last edited by
          #4

          Would be even more awesome if there are ...

          • a virtual machine to run the compiler/linker for yaYUL
          • a virtual machine to run the compiled/linked binary

          Wonder if they also published minutes from their "code review" meetings.

          K 1 Reply Last reply 9 Jun 2020, 15:40
          • A Axtremus
            9 Jun 2020, 15:36

            Would be even more awesome if there are ...

            • a virtual machine to run the compiler/linker for yaYUL
            • a virtual machine to run the compiled/linked binary

            Wonder if they also published minutes from their "code review" meetings.

            K Offline
            K Offline
            Klaus
            wrote on 9 Jun 2020, 15:40 last edited by
            #5

            @Axtremus I'm glad you ask. Actually, there is!

            1 Reply Last reply
            • H Offline
              H Offline
              Horace
              wrote on 9 Jun 2020, 19:58 last edited by
              #6

              CALCSXA ITA VLOAD # PUSHDOWN 00-26D,28D,30D,32D-36D
              28D
              STAR
              CALL
              SMNB
              MXV VSL1
              NB2NB1
              STOVL STAR
              HIUNITX
              STOVL XNB1
              HIUNITY
              STOVL YNB1
              HIUNITZ
              STCALL ZNB1
              SXTANG1

              omglol what noob wrote that?

              omglol

              Education is extremely important.

              A 1 Reply Last reply 10 Jun 2020, 12:13
              • H Offline
                H Offline
                Horace
                wrote on 9 Jun 2020, 20:01 last edited by
                #7

                omg and in that same file there's this:

                SXTANG1 VLOAD VXV
                ZNB1
                STAR
                BOV
                +1
                UNIT BOV
                ZNB=S1
                STORE PDA # PDA = UNIT(ZNB X S)

                	DOT	DCOMP
                		XNB1
                	STOVL	SINTH		# SIN(SA) = PDA . -XNB
                		PDA
                
                	DOT
                		YNB1
                	STCALL	COSTH		# COS(SA) = PDA . YNB
                		ARCTRIG
                

                omglol

                Education is extremely important.

                1 Reply Last reply
                • C Offline
                  C Offline
                  Copper
                  wrote on 9 Jun 2020, 20:42 last edited by
                  #8

                  God I loved doing that, absolutely positively loved it.

                  A 1 Reply Last reply 10 Jun 2020, 12:10
                  • 8 Offline
                    8 Offline
                    89th
                    wrote on 9 Jun 2020, 23:13 last edited by
                    #9

                    I bet Apollo 13 was caused by some n00b forgetting a comma on line 257

                    1 Reply Last reply
                    • C Copper
                      9 Jun 2020, 20:42

                      God I loved doing that, absolutely positively loved it.

                      A Offline
                      A Offline
                      Axtremus
                      wrote on 10 Jun 2020, 12:10 last edited by
                      #10

                      @Copper said in For the computing history nerds:

                      God I loved doing that, absolutely positively loved it.

                      There was a time when a single programmer could know and understand an entire state-of-the-art system, every nuance, every quirk, every last bit of details.

                      These days, everyone just build on top of third party components and libraries, and few bother to try to understand the entirety of the components or libraries they use.

                      1 Reply Last reply
                      • H Horace
                        9 Jun 2020, 19:58

                        CALCSXA ITA VLOAD # PUSHDOWN 00-26D,28D,30D,32D-36D
                        28D
                        STAR
                        CALL
                        SMNB
                        MXV VSL1
                        NB2NB1
                        STOVL STAR
                        HIUNITX
                        STOVL XNB1
                        HIUNITY
                        STOVL YNB1
                        HIUNITZ
                        STCALL ZNB1
                        SXTANG1

                        omglol what noob wrote that?

                        omglol

                        A Offline
                        A Offline
                        Axtremus
                        wrote on 10 Jun 2020, 12:13 last edited by
                        #11

                        @Horace said in For the computing history nerds:

                        CALCSXA ITA VLOAD # PUSHDOWN 00-26D,28D,30D,32D-36D

                        omglol what noob wrote that?

                        A noob who thought he could # and “pushdown” a virtual load on Italian women with D-cup sizes, that’s who.

                        1 Reply Last reply
                        • K Klaus
                          9 Jun 2020, 14:24

                          The original source code of the Apollo 11 guidance computer (or parts thereof) from 1969 are now available on Github.

                          https://github.com/chrislgarry/Apollo-11

                          Note that most of the code was written by a gal, Margaret Hamilton. Here she is, besides a printout of the source code she wrote. She is really one of the main pioneers of the field. I wish I met her or seen a talk of hers.

                          alt text

                          I also wish there would be a quick summary of the proprietary assembly language (AGC) she was using somewhere. I can't really decipher what is going on.

                          I Offline
                          I Offline
                          Improviso
                          wrote on 10 Jun 2020, 22:19 last edited by
                          #12

                          @Klaus said in For the computing history nerds:

                          Note that most of the code was written by a gal, Margaret Hamilton

                          The_Wicked_Witch_of_the_West-e1566241524442.jpg
                          Broom Code FTW!!!

                          We have the freedom to choose our actions, but we do not get to choose our consequences.
                          Yes, there are two paths you can go by, but in the long run, there's still time to change the road you're on.

                          1 Reply Last reply
                          • A Offline
                            A Offline
                            Axtremus
                            wrote on 11 Jun 2020, 01:24 last edited by
                            #13

                            Murphy's Law, bring your kid to work day, and the Apollo Program, excerpted from an interview with Ms. Hamilton by The Guardian's Zoë Corbyn:

                            Often in the evening or at weekends I would bring my young daughter, Lauren, into work with me. One day, she was with me when I was doing a simulation of a mission to the moon. She liked to imitate me – playing astronaut. She started hitting keys and all of a sudden, the simulation started. Then she pressed other keys and the simulation crashed. She had selected a program which was supposed to be run prior to launch – when she was already “on the way” to the moon. The computer had so little space, it had wiped the navigation data taking her to the moon. I thought: my God – this could inadvertently happen in a real mission. I suggested a program change to prevent a prelaunch program being selected during flight. But the higher-ups at MIT and Nasa said the astronauts were too well trained to make such a mistake. Midcourse on the very next mission – Apollo 8 – one of the astronauts on board accidentally did exactly what Lauren had done. The Lauren bug! It created much havoc and required the mission to be reconfigured. After that, they let me put the program change in, all right.

                            1 Reply Last reply
                            • 8 Offline
                              8 Offline
                              89th
                              wrote on 11 Jun 2020, 01:49 last edited by
                              #14

                              Wow!

                              1 Reply Last reply
                              • K Offline
                                K Offline
                                Klaus
                                wrote on 24 Jul 2020, 21:57 last edited by
                                #15

                                If you are a nerd and have a Unix-ish command line (Mac OS, Linux, ...), check this out:

                                This will compute the greatest common divisor of two numbers.

                                dc -e '??[dSarLa%d0<a]dsax+p'
                                

                                Want the infinite stream of prime numbers?

                                echo '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' | dc
                                

                                The dc program is one of the oldest tools in the Unix toolbox and the oldest "Unix language" that is still available today. It's a programmable calculator with a rather idiosyncratic but cool syntax.

                                Aqua LetiferA 1 Reply Last reply 24 Jul 2020, 22:11
                                • K Klaus
                                  24 Jul 2020, 21:57

                                  If you are a nerd and have a Unix-ish command line (Mac OS, Linux, ...), check this out:

                                  This will compute the greatest common divisor of two numbers.

                                  dc -e '??[dSarLa%d0<a]dsax+p'
                                  

                                  Want the infinite stream of prime numbers?

                                  echo '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' | dc
                                  

                                  The dc program is one of the oldest tools in the Unix toolbox and the oldest "Unix language" that is still available today. It's a programmable calculator with a rather idiosyncratic but cool syntax.

                                  Aqua LetiferA Offline
                                  Aqua LetiferA Offline
                                  Aqua Letifer
                                  wrote on 24 Jul 2020, 22:11 last edited by
                                  #16

                                  @Klaus said in For the computing history nerds:

                                  If you are a nerd and have a Unix-ish command line (Mac OS, Linux, ...), check this out:

                                  This will compute the greatest common divisor of two numbers.

                                  dc -e '??[dSarLa%d0<a]dsax+p'
                                  

                                  Want the infinite stream of prime numbers?

                                  echo '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' | dc
                                  

                                  The dc program is one of the oldest tools in the Unix toolbox and the oldest "Unix language" that is still available today. It's a programmable calculator with a rather idiosyncratic but cool syntax.

                                  To the extent that a syntax can be cool—which is to say not at all; that's like saying "this bitchin' thing we got goin' on in the hanging file folder R&D department"—that syntax is about as uncool as Billy Joel.

                                  Please love yourself.

                                  1 Reply Last reply
                                  • K Offline
                                    K Offline
                                    Klaus
                                    wrote on 24 Jul 2020, 22:38 last edited by
                                    #17

                                    The fact that have no clue what's going on is no indication that the commands and the syntax of dc aren't cool 😉

                                    This is an operational piece of history, which reflects both the engineering considerations and the programming knowledge of its time. You can admire it in the same way one admires, say, the engine of a 1937 Mercedes silver arrow.

                                    1 Reply Last reply
                                    • jon-nycJ Online
                                      jon-nycJ Online
                                      jon-nyc
                                      wrote on 24 Jul 2020, 23:17 last edited by
                                      #18

                                      @Klaus said in For the computing history nerds:

                                      echo '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' | dc

                                      infinite my ass.

                                      Screen Shot 2020-07-24 at 7.16.35 PM.png

                                      Only non-witches get due process.

                                      • Cotton Mather, Salem Massachusetts, 1692
                                      A 1 Reply Last reply 25 Jul 2020, 01:04
                                      • jon-nycJ jon-nyc
                                        24 Jul 2020, 23:17

                                        @Klaus said in For the computing history nerds:

                                        echo '2p3p[dl!d2+s!%0=@l!l^!<#]s#[s/0ds^]s@[p]s&[ddvs^3s!l#x0<&2+l.x]ds.x' | dc

                                        infinite my ass.

                                        Screen Shot 2020-07-24 at 7.16.35 PM.png

                                        A Offline
                                        A Offline
                                        Axtremus
                                        wrote on 25 Jul 2020, 01:04 last edited by
                                        #19

                                        @jon-nyc said in For the computing history nerds:

                                        infinite my ass.

                                        Screen Shot 2020-07-24 at 7.16.35 PM.png

                                        @jon-nyc , time to upgrade, get more RAM.

                                        1 Reply Last reply
                                        • jon-nycJ Online
                                          jon-nycJ Online
                                          jon-nyc
                                          wrote on 25 Jul 2020, 01:05 last edited by
                                          #20

                                          Oh sure, blame the victim.

                                          Only non-witches get due process.

                                          • Cotton Mather, Salem Massachusetts, 1692
                                          1 Reply Last reply
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups