Closed larsbrinkhoff closed 11 months ago
I'll get started on the first three pages, e.g. 11_22_23, 2_36 PM Microsoft Lens.jpg
, (1)
, and (2)
.
I'm up to page 11.
I completed 0-14 + 113 yesterday. @sebras has completed an independent second transcription.
@decuser expressed interest in helping.
I'm on it for pages 114-118.1
I'll retype the last two pages of the symbol table now. If I come up with something I'll send a PR. :)
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.
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?
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. :)
I'm on board, either way. 5 page chunks are a good idea, I'm not the quickest, but a week seems reasonable.
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.
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.
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. :)
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:
@aap and @rcornwell say they are on board as well.
The complete listing has arrived! These are your first assignments. May the odds be ever in your favour.
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.
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.
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: 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: Indeed, UPR is defined there.
Also, there's a symbol table at the end. We can see UFL8: But UPR isn't there! It seems the table skips some symbols in between columns.
I will also do 36-40 now.
Ok I'll take pages 41-45 next. Ok, those are done and available in a draft transcription in pull request #52
I have now added a table to the top comment in this issue. It shows which page ranges have been transcribed, and by whomst.
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.
now working on 50-57. not sure about 58 because the notes look a bit hard to understand
i can probably do 82-90 tomorrow. @larsbrinkhoff i think you should do 81. the last few lines of the GE code...
Right, but I kind of wanted to do a nice split on numerical boundaries.
I'll take 81-90 then
@larsbrinkhoff I transcribed pages 3-4 and 11 as well, but couldn't find any issues at the time.
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
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.
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.
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.
I'll take 81-90.
I'll help @drboone with pages 102-112.
Last free slot is 91-101.
I'll do 91-101 after walking my cat! :)
Final standings:
Some of us are getting antsy and may jump on 59-70 later today.
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
@decuser, you're off the hook.
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.
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?!
Oh, I see. It looks like those are unreferenced symbols.
Hello Team!
Two good news items:
@larsbrinkhoff so what happens when you type ^Z to HACTRN?
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.
Maybe more material coming in a week or two. I will open a new issue for each listing to coordinate typing.
each listing
Is everything related to ITS? Or should some be transcribed elsewhere?
Everything I learned so far is listed above: https://github.com/PDP-6/ITS-138/issues/2#issuecomment-1858808770
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.
Here are some more listings now: https://github.com/PDP-6/ITS-138/pull/90
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.
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
.