Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typing and proofreading #2

Closed
larsbrinkhoff opened this issue Nov 23, 2023 · 54 comments
Closed

Typing and proofreading #2

larsbrinkhoff opened this issue Nov 23, 2023 · 54 comments

Comments

@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Nov 23, 2023

Announce your typing or proofreading here.

Please try to make an exact copy of the text, including spacing. If the original has a typo, keep the typo. I'm not sure what to do with hand written notes yet. It looks like lines are made of three line number digits, then 13 spaces, then the source text. If there's a symbol reference, it's five spaces after the line number, then three digits, one space, three digits, one space. Comments are usually put at a tab location. (The correct tab width is 8 spaces.) Type ^ for uparrow, and _ for leftarrow.

Ideally each page should be typed twice independently to weed out the typos.

File names are page, plus three digits for the listing page number (in the photo), plus one subpage digit or 0 if none, plus .txt.

Here's a summary of what has been done. I will update this table continuously. Except when I sleep.

Pages Done Claimed
0-19 @larsbrinkhoff, @sebras
20-25 @larsbrinkhoff, @decuser
26-30 @aap, @drboone
31-35 @cameronshortt, @rcornwell
36-40 @aap, @rcornwell
41- 45 @sebras, @rcornwell
46-58 @aap, @rcornwell
59-64 @larsbrinkhoff, @rcornwell
65-70 @aap, @rcornwell
71-80 @larsbrinkhoff, @sebras
81-90 @aap, @cameronshortt
91-101 @drboone, @sebras
102-109 @larsbrinkhoff, @drboone
110-112 @larsbrinkhoff, @drboone
113-116 @larsbrinkhoff, @sebras
117-118 @sebras, @decuser
119-121 @sebras, @larsbrinkhoff
@larsbrinkhoff
Copy link
Member Author

I'll get started on the first three pages, e.g. 11_22_23, 2_36 PM Microsoft Lens.jpg, (1), and (2).

@larsbrinkhoff
Copy link
Member Author

I'm up to page 11.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Nov 24, 2023

I completed 0-14 + 113 yesterday. @sebras has completed an independent second transcription.

@decuser expressed interest in helping.

@larsbrinkhoff larsbrinkhoff changed the title Typing Typing and proofreading Nov 24, 2023
@decuser
Copy link
Collaborator

decuser commented Nov 24, 2023

I'm on it for pages 114-118.1

@sebras
Copy link
Collaborator

sebras commented Nov 26, 2023

I'll retype the last two pages of the symbol table now. If I come up with something I'll send a PR. :)

@larsbrinkhoff
Copy link
Member Author

Hello volunteers, (@sebras, @decuser, @aap, @drboone, @cameronshortt)

I heard back from our MIT Museum friend the other day, and he says he will visit Sussman's office again next week to photograph the remainder of the listing. Maybe we should start thinking about how to divide the pages amongst us. Please also review the instructions at the top of this GitHub issue. The repository has a template.txt that is a useful starting point.

The range of pages are from 15 to 112. Some of those will span multiple sheets. (A sheet is max 60 lines; a long page will spill across to the next sheet.) Do you want to grab chunks of, say, 10 pages at a time? Keeping in mind that each chunk should be transcribed twice. This has proved to be a very effective way to catch typos.

When a chunk is done, you may either post a pull request here, or email me the files. I will arrange and rearrange pull requests into a linear history for easier reviewing. This may involve rebasing and force pushing your branch. The second time a page is transcribed, it will show up as a diff against the first transcription.

It's useful to know the basics of MIDAS syntax and the PDP-10 instruction set. MIDAS is described in AI memo 90 and INFO;MIDAS 23. PDP-10 instructions are described densely on the reference card, and in the PDP-10 Reference Handbook.

@drboone
Copy link
Collaborator

drboone commented Dec 8, 2023

I didn't get a crack at any of the first round! Either divvy up the 100ish pages into 100/n page chunks for simplicity, or maybe subdivide them into more 5 page chunks?

@sebras
Copy link
Collaborator

sebras commented Dec 8, 2023

May I suggest that @larsbrinkhoff subdivides into chunks (I like 5 pages/chunk!) and assigns a couple (2? 3?) chunks to each volunteer? And with a short deadline (a week?), by which if nothing has been contributed, @larsbrinkhoff will reassign the chunks. Does that sound reasonable to you @larsbrinkhoff?

I'm thinking this way everyone will get a satisfying first shot on a chunk of pages.

Ideally everyone should type all pages in the end though, to weed out mistakes, this is really useful! Last time I started by retyping the pages @larsbrinkhoff had already typed and found several mistakes and prompted the template, info about MIDAS and Instructions to be created because of my own mistakes. :)

@decuser
Copy link
Collaborator

decuser commented Dec 8, 2023

I'm on board, either way. 5 page chunks are a good idea, I'm not the quickest, but a week seems reasonable.

@larsbrinkhoff
Copy link
Member Author

Ok, I'm fine with 5 pages. I'll post your assignments once the new listing is in!

As for me, I'd rather have a go at doing the whole thing because it's so fun to see the code. But I suppose that would limit the conversion rate too much.

@cameronshortt
Copy link
Collaborator

I don't see any problems with someone transcribing the whole thing as long as they finished their assigned chunks. It certainly can't hurt to have a few extra copies for typo-checking.

@sebras
Copy link
Collaborator

sebras commented Dec 8, 2023

I don't see any problems with someone transcribing the whole thing as long as they finished their assigned chunks. It certainly can't hurt to have a few extra copies for typo-checking.

That is indeed my plan, but by having Lars handing out assignments everyone gets the opportunity to transcribe some pages for the first time. I can wait to be the 2nd or 3rd on typing out the same thing. :)

@larsbrinkhoff
Copy link
Member Author

From what I have seen so far, transcribing each page twice should be enough. Three times seems unnecessary, so the effort would be better spent moving forward in the listing.

Note that there are also other mechanisms for verifying the transcription:

  • The line numbers, symbol references, and symbol table all provide redundant information that can be checked. I already made some scripts for this in the "tools" directory.
  • Converting the pages to a source file and assembling it with MIDAS. I tested this, and after a few tweaks I only got undefined symbol error, as is expected.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 9, 2023

@aap and @rcornwell say they are on board as well.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 14, 2023

The complete listing has arrived! These are your first assignments. May the odds be ever in your favour.

@larsbrinkhoff
Copy link
Member Author

Page numbers are those in the photos. One logical page may be several sheets, the second having a .1 page number suffix. The transcribed text files are named pageNNNX.txt where NNN is the page number and X is the suffix, or 0 for no suffix.

@larsbrinkhoff
Copy link
Member Author

By the way, if you want to hang out and chat with the rest of the team, there's the #PDP-10 IRC channel on libera.chat.

@larsbrinkhoff
Copy link
Member Author

It helps to understand MIDAS syntax and the PDP-10 instruction set. See above.

But also, the listing has some information that can be used to verify the listing. Each line has a line number, most lines have a symbol reference, and some lines has a label or other definition. For example, on page 21 we have this line:
Screenshot from 2023-12-14 11-31-49
This means that line 17 has a label called UFL8, and refers to the symbol UPR which is defined on page 118 line 24. We can check that location:
Screenshot from 2023-12-14 11-35-50
Indeed, UPR is defined there.

Also, there's a symbol table at the end. We can see UFL8:
Screenshot from 2023-12-14 11-37-04
But UPR isn't there! It seems the table skips some symbols in between columns.

@aap
Copy link
Contributor

aap commented Dec 14, 2023

I will also do 36-40 now.

@sebras
Copy link
Collaborator

sebras commented Dec 14, 2023

Ok I'll take pages 41-45 next. Ok, those are done and available in a draft transcription in pull request #52

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 14, 2023

@larsbrinkhoff
Copy link
Member Author

I have now added a table to the top comment in this issue. It shows which page ranges have been transcribed, and by whomst.

@larsbrinkhoff
Copy link
Member Author

Everyone, if you want to do more, please check the above table and write a comment here what you grab. I will update the table.

@aap
Copy link
Contributor

aap commented Dec 14, 2023

now working on 50-57. not sure about 58 because the notes look a bit hard to understand

@aap
Copy link
Contributor

aap commented Dec 14, 2023

i can probably do 82-90 tomorrow. @larsbrinkhoff i think you should do 81. the last few lines of the GE code...

@larsbrinkhoff
Copy link
Member Author

Right, but I kind of wanted to do a nice split on numerical boundaries.

@aap
Copy link
Contributor

aap commented Dec 14, 2023

I'll take 81-90 then

@sebras
Copy link
Collaborator

sebras commented Dec 14, 2023

@larsbrinkhoff I transcribed pages 3-4 and 11 as well, but couldn't find any issues at the time.

@sebras
Copy link
Collaborator

sebras commented Dec 15, 2023

Ok, after having retranscribed pages 3, 4 and 11 I did find something on page 3, but no diffs on pages 4 and 11. See issue #59

@sebras
Copy link
Collaborator

sebras commented Dec 15, 2023

I'll take the retyping of pages 71-80 as well. So far I have retyped 71-74 since that is what @larsbrinkhoff has transcribed.

@larsbrinkhoff
Copy link
Member Author

Hey everyone: @sebras, @decuser, @aap, @drboone, @cameronshortt, @rcornwell

Some of you put your changes on your own master branch. This complicates things, and is prone to mistakes. I strongly recommend always having your local master branch matching master in the main fork (this repository). And make a local branch for your changes.

When you post a pull request, I will sometimes have to rewrite it to make it easier to review. This may include rebasing or moving your files on top of the previous files. I must then force push your branch to have GitHub display a nice diff. If that branch is your master branch, you will then have to fetch the upstream master, reset your local master, and then force push that to your fork. Egads! Better have a separate branch.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 15, 2023

The current standing is that 81-90 and 91-112 have only been claimed once, so need second transcribers. Great work everyone, we're almost done!

... but it's just the start for the next phase. First trying to verify the numbers in the symbol references and symbol table. And then running the source code through MIDAS to see if there are any complaints.

And then some major work to get it running on one or two PDP-6 emulators.

@cameronshortt
Copy link
Collaborator

I'll take 81-90.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 15, 2023

I'll help @drboone with pages 102-112.

@larsbrinkhoff
Copy link
Member Author

Last free slot is 91-101.

@sebras
Copy link
Collaborator

sebras commented Dec 15, 2023

I'll do 91-101 after walking my cat! :)

@larsbrinkhoff
Copy link
Member Author

Final standings:

Some of us are getting antsy and may jump on 59-70 later today.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 16, 2023

Great job everyone! I think this has been a lot of fun, both typing, and working together with you all. I feel a bit sad that there is no more pages to type (soon).

But fear not! There will be more in the future. Here is a list of other listings @gfedorkow saw when he visited Sussman's office. See you all again soon.


Mac lisp

Lisp cs2 - lisp compiler written in Fortran style ("Before we knew how to code")

Teco Editor 1969 - large listing - 150 pgs?

DDT Debugger 1968 (Maybe part of ITS?)

Lisp teco-sm 1968 (Maybe Lisp Macros?)

OLT2

Lisp Teco documentation

Lisp 97 compiler written in pdp6 asm

Users guide to lisp 1970 (Gerry had two copies, kept one and handed me the other).

Mac lisp init compiler 1976. "Written in a more modern style" - code generator for some not-pdp6 machine. Probably for GE-635 Multics

LAP assembler for pdp6 written in Lisp

Polynomial arithmetic in pads lisp ‘no idea’

LISP-97 1969 written in assembler

PDP-6 Lisp 1967

@larsbrinkhoff
Copy link
Member Author

@decuser, you're off the hook.

@larsbrinkhoff
Copy link
Member Author

The final pages are in. The entire listing is complete. I'm so glad we could do the double transcription. It has caught a lot of subtle errors that don't show up in the assembler or checking against the symbol table.

@larsbrinkhoff
Copy link
Member Author

larsbrinkhoff commented Dec 18, 2023

The listing still has a puzzle that hasn't been solved. Does anyone understand what the asterisks in the symbol table mean? Check the last three pages: 119-121. They each have six columns that list all symbols and where they are defined: page + line. However, some of those have an asterisk in between the page and line numbers. What is that about?!

@larsbrinkhoff
Copy link
Member Author

Oh, I see. It looks like those are unreferenced symbols.

@larsbrinkhoff
Copy link
Member Author

Hello Team!

Two good news items:

  • ITS 138 now runs on a PDP-6 emulator. It will load and run a file called @ HACTRN from DECtape unit 2.
  • We can expect more listings early next year. Are you still up for some typing?

@eswenson1
Copy link

@larsbrinkhoff so what happens when you type ^Z to HACTRN?

@larsbrinkhoff
Copy link
Member Author

It seems like it exits, which makes ITS go back and restart @ HACTRN. Note well, it's not a full HACTRN as we would expect from the ITS environment, but more a bare bones NTS DDT that has been converted to use the TTY: device instead of direct IO instructions to the TTY hardware device.

@larsbrinkhoff
Copy link
Member Author

Maybe more material coming in a week or two. I will open a new issue for each listing to coordinate typing.

@sebras
Copy link
Collaborator

sebras commented Jan 5, 2024

each listing

Is everything related to ITS? Or should some be transcribed elsewhere?

@larsbrinkhoff
Copy link
Member Author

Everything I learned so far is listed above: #2 (comment)

As you can see, one is possibly a Multics Maclisp listing. All the rest look related to the AI lab PDP-6 or 10, timesharing or not.

@larsbrinkhoff
Copy link
Member Author

Here are some more listings now: #90

@larsbrinkhoff
Copy link
Member Author

I'm working on LISP TECOSM.

@aap wanted to grab LISP 97 when the full listing is available. It's more than 150 pages, but we do have some later source code to compare against, so it doesn't need to be typed in full.

Anyone else, write a comment here if you work on something.

@cameronshortt
Copy link
Collaborator

I'm interested in TECO. It'll be a couple of days until I can work on it though.

@larsbrinkhoff
Copy link
Member Author

@cameronshortt, the "TECO 132" listing only has a few sample pages so far. The full listing is more than 150 pages.

@cameronshortt
Copy link
Collaborator

Apologies, I only meant the sample listing.

@larsbrinkhoff
Copy link
Member Author

I got started on LISP C52. It's an early compiler for Maclisp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants