How do you measure nuclear warhead yield with a PDP-11?
web.archive.org
web.archive.org
I was reading about neural networks and genetic algorithms in the late 80s and programming in Lisp and C. Mark Watson's book (he's on HN)
"Common Lisp Modules: Artificial Intelligence in the Era of Neural Networks and Chaos Theory"
got me started in coding them rather than just reading the more academic tomes I read in the late 80s.
I am glad I didn't just focus on that then, although, I'd probably have more of a savings now and higher salary. But not the adventures I managed to have by meeting people in all different types of jobs. And there's something about physical labor that calms me. Sitting at a desk all day seems so antithetical to actually living a life out in the real world and feeling the earth between your toes, the sun and wind on your body while taking in the green things around you!
I was dumpster diving and taking stepper motors out of dot matrix printers in the early 90s down on Wall street while working a 12 to 9 shift taking care of a VAX/VMS and Banyan Vines PC network for an environmental law firm. I used to write reports in Paradox, work on Concordance - a document management system - BRS search routines and queries. I used the steppers for my amateur robotics influenced by Rodney Brooks' subsumption architecture and Mark Tilden's BEAM stuff. I played Doom for the first time at that job!
I was an art handler (Brooklyn Museum), paintings conservator's assistant, 3D FX and animation on SGI intern using Prisms (now Houdini) at a NYC Ad agency/FX company, welder, machinist, CNC coder, technical diver and ropework technician (think IRATA/SPRAT), among the memorable items. I remember being one of the early funders for getting Blender3D open sourced way back when (2001/02), and writing a Python script to turn photos into wooden carvings back in 2002/03 with it on my CNC table. The software was based upon a paper by NASA about 'Shape from Shading'. it alsow churned out G-code for our table after downloading the client's file, and gave me an estimate of machine time and overall cost. This is before 3D printers, and tables used to be in the 6 figures, but this was an $8k 4 ft x 8 ft router table. My partner and I used it to cut out kayak designs we made out of 4 mm Okume plywood and the carvings I did in solid maple in bas relief. We did some urns for pets and pet cemeteries (really! http://thewoodenimage.com. Used to come up on the Wayback Machine without pics or other content). Sad to say, people loved our carvings at boat shows, etc., but nobody bought them. We had crowds at our table, but not a single purchase. Funny cemeteries were our market, and a gentlemen offered me money for the software to make bronze tombstone plaques from family photos!
I worked at a company as a sys admin, and did some coding in C, C#, Java, but mainly my strength was writing front ends for old Italian sheet metal punch machines and translating modern G-code into the 'Octo' machines' proprietary code. This was in C. Putting a temperature sensor in the server room, and have it ping a pager of me and the other sys admins.
I did Christmas display window animations for a display company in NYC as a welder and later as the head of their creative technologies. One Christmas (1996-7?). We had pneumatically operated 4 to 5 ft high Nutcrackers whose arms would go up with a bell in it if a child touched the window where there were five large buttons painted on the back of the window with a capacitive sensor behind it, a BasicStamp (think today's Arduino) running it, queuing the music and triggering the pneumatic valves. Remember right up until this, the internet and information from companies was not as accessible. I had to write letters, emails, and phone call for weeks.
I will probably never retire. I just put a deposit down on a live/work space to use my desktop cnc mill/lathe, 3D printer and electronics equipment (a CNC sewing/embroidery machine too).
I currently work at an engineering firm that specializes in stage machinery and anything entertainment-related. Because I don't code full-time for a living, I code up things in what works best for me and the company I work for. I write them in C, python, factor, J, forth, assembler (micros), and I play with a lot more PLs (Zig, Rust, Haskell, R/RStudio), but I am mainly sticking with C and J for now with Zig as a cross compiler. I avoid python, not because it isn't good or I don't like it, but it doesn't fit in with my preference for terseness and shedding bloat. I am having a renewed interest in C and assembler. I am getting older for some of the more physical work I did, so I am now coding more to try and see if I can make something of it.
I was working in Macau for 6-plus years for the The House of Dancing Water show up until the end of 2015. I have hundreds of technical dives working on hydraulics, air FX, and electrical systems under water. It is almost 10 m deep and was the world's largest commercial indoor pool!
Programming is not so much a career for me as it is simply a tool. The same for my electronics and metalworking experience, or any other skill. Critical thinking, problem solving, and knowing how to provide what's needed or desired are more important. I've always followed my heart or gut on what's next and it is landed me in a good place at my age. Follow your bliss to quote Joseph Campbell!
[1] https://link.springer.com/book/10.1007/978-1-4612-3186-8
I sorely regret that. I've never been able to find a copy of it since.
(The Orange Book was a thick book with an orange cover, and had everything in it you needed to know about the 10.)
Now I use an interactive shell to speed up the flow of ideas. But it's basically the same thing.
A group I was with ran an experiment called PINEX (Pinhole Imaging Neutron Experiment), they used high speed video cameras to capture light/photons from a light intensifier. A meter diameter lead sphere was placed between the bomb and the light intensifier to attenuate the neutron signal. The length of the video cable (coax) was measured in time units.
They could get about a frame and half of video off the CCD and out of the bomb hole before everything was vaporized. The video was captured using analog-to-digital signal converters and then interpreted later. The ADC, memory, pulse generators (to trigger light intensifier, start the CCD sweep, etc.) were sitting in a CAMAC crate attached to a customized VAX. They even has a customized VAX and monitor to visualize or analyze the captured data. The captured frame would be rendered into a gray scale image of a concentric circles that meant something to the bomb physicists.
My intern project involved showing how the ridiculously expensive and fragile VAX setup could be replaced by a modern workstation running off the shelf software. Of course, this was not well received, that is why my mentor had me do the work and presentation - he would never have gotten away with it himself. No matter though, bomb testing was stopped soon enough.
When a pulse was fired a Polaroid picture was taken of the screen at the same time. By measuring the difference between the leading edge of the initial pulse and the returning pulse the length of the cable could be computed. With a lot of pulse generators and oscilloscopes you could synchronize them to each fire slightly later than the next and get a number of solid data points on the cable being vaporized.
The Polaroids all included on the picture the rack and rack slot where they were located, and the sequencing was known, so you could digitize the pictures and extract the data.
[1] I actually worked in one of these trailers as part of a summer job during college writing code on said PDP 11/34.
2 - 1.5 MHz tape recorders
2 - Oscilloscopes with cameras (HP-180 w/1805A and 1821A)
2 - Digital freq. and time interval counters/dig. volt meters HP5326B
2 - Sandia SLIFER chassis, shop made
2 - Pulse generators, HP214A
2 - Engine generators, 25 kW
1 - Trailer or shelter, portable, with utilities
2 - Time code generator
2 - WWV receivers
4 - Radios for local communication
2 - Countdown receivers
2 - Hi potters, HP4329A
1 - Time mark generator (Cal scopes) HP226A
2 - Variable oscillators, HP3312A
2 - Time delay generators, Rutherford
3 - Counter (HP5345A)
2 - Program timer, shop madeMOV (-PC),(-PC)
As the instruction counter (PC, AKA R7) auto-incremented on each instruction, that instruction first decrements the PC (so it points back to the current instruction) and then copies the contents of the memory location (i.e. the current instruction) to the next lower memory address. And since the PC has now been decremented twice, the operation can repeat until it hits somewhere without any physical RAM (as PDP-11's have a bus signal to tell them whether the addressed memory exists or not).
Also easy to program in octal; knowing that MOV is 01MRMR, addressing mode M is 4 for pre-decrement and R is the register number, no-one even needed an assembler to write that instruction as:-
014747
The ultra-regular ISA made it easy to learn and remember bootstraps, it'd just take a few passes along the toggle switches to key in a loader. It became rather easier with boot ROMs and serial terminals, e.g. on the LSI-11 just typing '173000G' was enough to bring up the system (back then I got to code a boot loader for 5" disk drives, 2 different 8" disk driver and a user interface with a prompt into 256 words of ROM).
Those were the days, my friend.
Funnily enough I booted one of the PDP's a few days ago and it wasn't even hard to remember op-codes learnt 40+ years ago.
"What are the historical reasons C languages have pre-increments and post-increments?":
https://stackoverflow.com/questions/30429753/what-are-the-hi...
A quote from that topic:
>'Ritchie, The Development of the C Language:
"People often guess that they [ED. the increment and decrement operators] were created to use the auto-increment and auto-decrement address modes provided by the DEC PDP-11 on which C and Unix first became popular. This is historically impossible, since there was no PDP-11 when B was developed." The PDP-7 seems to have some features that might have played a role, albeit I don't think it's entirely clear from the document that they were the main reason for the existence of both prefix and postfix ++'<
The full set of addressing modes uses 3 bits, thus 8 addressing modes. Using these addressing modes on the program counter (R7) gave a lot of flexibility and was how constants and memory were loaded and stored. It might sound complex but in practice was incredibly easy:-
mov #141,@#177566 ; Output 'a' to the terminal
That's a "MOV (PC)++,@(PC)++" instruction that loads the next word from memory (octal 141) and increments the PC and stores in the address given by the next word (after the constant, as the PC has just been auto-incremented) and finally autoincrements the PC again to leave it pointing to the next instruction. The layout in memory would thus be:- 12737 # Instruction: MOV (PC)++,@(PC)++
00141 # ASCII 'a'
177566 # Address of terminal outer buffer
Given these games using the PC to address data and memory, PDP-11 programmers had little difficulty when it came to understanding C pointers.Edit: His estimate was between 17 and 23 kilotons of TNT, the real yield was 22 kilotons.
https://royalsocietypublishing.org/doi/10.1098/rspa.1950.004...
https://royalsocietypublishing.org/doi/10.1098/rspa.1950.005...
I was always a fan of dimensional analysis as it tickled "puzzle solving" aspect of my lizard brain, but if it were introduced via nuclear blast analysis in my classes I bet it would have grabbed a lot more attention.
However, I’m more interested in the things I do understand, and in this case, my question is: considering the fact that there needs to be another (remote) computer to receive the readings, and considering that we’re speaking of processes that ‘degrade’ the cable dangling into the nuclear borehole at an alarming rate, just how does one go about performing an ordinary electrical transmission of data over those distant ranges in those minute times? The latencies are enormous and therefore clearly we’re not talking something like TCP and it’s three-way-handshake SYM/ACK kind of response.
And once the blast approaches the surface (assuming it doesn’t breach it)… is it sufficient for the computer to (comparatively) leisurely transmit its findings whilst it’s in the process of falling into the enormous crater that’s opening up beneath it? Can one presume that the power remains stable long enough for this to occur? (Assuming that the power supply has been destroyed and/or the cables jolted loose, how long does the machine “stay up whilst falling down”?)
Or if the test is deep underground, just walk up to the PDP-11 and load it onto a truck.
That’s precisely my point: how do you reliably “copy a signal back” if one terminus of the cable cannot be relied upon to exist for long?
Here’s what they look like at ground level:
https://www.atlasobscura.com/articles/heres-what-an-undergro...
Plenty of room for the computer to survive.
TDR does not use a remote computer/signal processor. The reflection (the 'R' in 'TDR') comes back to the source.
And I think you could probably set up a PDP-11 to sample roughly every millisecond so this could work.
Back in my first job we had a custom built 12 bit ADC used for analysing mixing about £3k per channel in early 1980's £
The expanding fireball moves quite a bit slower and increases 10s of meters (from an initial ~10-100 m) over several milliseconds[1]. After that it slows down even more, and if you measure every millisecond you'll see the fireball expanding by meters.
http://wordpress.mrreid.org/2015/04/18/the-nuclear-double-fl...
In fact here is a graph produced by CORRTEX https://digital.library.unt.edu/ark:/67531/metadc1200655/m1/... which shows a velocity of ~3 m/ms or 3000 m/s. The sepcialised equipment has much better resolution and samples much faster than every millisecond.
Statement by Deputy Press Secretary Roussel on the Soviet Nuclear Test Ban Proposal, March 29, 1986
https://www.reaganlibrary.gov/research/speeches/32986b
"In this initiative the President invited Mr. Gorbachev to send Soviet experts to the United States to examine our new CORRTEX verification system and to observe a U.S. nuclear test in mid-April at our Nevada test site. The President made it clear that if this meeting leads to an agreement on verification -- incorporating CORRTEX -- which meets our concerns, he is prepared to move forward toward ratification of these two treaties."
White House Statement on the Soviet-United States Nuclear Testing Talks, December 15, 1988
https://www.reaganlibrary.gov/research/speeches/121588c
"Under the terms of a U.S.-Soviet agreement negotiated in the previous round of the NTT and signed at the Moscow summit, underground nuclear explosions were conducted at the U.S. test site in Nevada in August and at the Soviet test site at Semipalatinsk in September, with observers from both sides present. The purpose of the JVE was to allow each side to demonstrate its preferred verification method for the TTBT and PNET. The results of the test were discussed during this round. We believe the experiments demonstrated the effectiveness and nonintrusive nature of CORRTEX, our preferred method of on-site measurement."
I found an article explaining CORRTEX at https://permalink.lanl.gov/object/tr?what=info:lanl-repo/lar... It's based on a portable Motorola 6800 microprocessor, so the PDP-11 connection is unclear. A coaxial cable is placed up to the detonation point, and as the shock front progresses the cable is crushed, reflecting the TDR pulse back from that point. They call it "Radar on a wire". The interval between pulses is between 20 and 90 microseconds, so this is much faster than the alleged PDP-11 network card. The original system was developed in 1975 and evolved to the 6800-based system. More information in the paper http://dx.doi.org/10.1063/1.1136283
The oscillator itself was a small circuit board in the blast hole, while data was recorded in a separate trailer. To quote the paper: "In the event the recording facility must be located near surface zero, shock mitigation may be required to assure survival of equipment." The paper includes PCB layouts in case you want to make your own SLIFER system :-)
Thanks to kps for the SLIFER link: https://www.osti.gov/biblio/7352892
(If true, this probably implies the machine was not a QBUS PDP-11, and the reflectometer was not an ethernet card.)
I believed that shit for 20 years ... then my girlfriend moved in and lemme tell ya, humans definitely fart in their sleep.
There's a PDP-11/73 about eight feet to my left; it's a 4U box, much smaller than a little SGI Onyx, let alone an Origin.
That said, there were PDP-11's that were desk-sized, such as the DEC Professional (about the size of an IBM 5150), or even smaller, the VT240 (which is largely an embedded PDP-11, and it has about the footprint of a C64, though somewhat thinner)
I assume the TDR picks up induced EMF in the cable by the radiation from the Detonation.
This happens in much the same way a travelling wave will reflect from the free end of a dangling rope. Even though a jiggling rope and an electrical signal seem different, the underlying mathematics (mismatched impedance at the rope/cable end) is essentially the same.
The time difference between when the signal is sent and the reflected signal received, multiplied by the speed of the signal (over two), gives the distance to the end of the cable.
If the reflectometer can make the measurement quickly-enough, the series of measurements will trace out the decreasing length of the cable as the detonation destroys it.
There's a chance that there's a subtle systematic, but my guess is that either the method would work or the measuring device would get smoked, with not much in between.
Gases at low pressure are DRAMATICALLY easier to ionize than anything else- think fluorescent tubes, etc. Dirt will not be highly ionized by an underground explosion, although I can't actually find anything about underground EMPs. It is safe to say that the EMP will be very greatly reduced, though.
The EMP is dangerous to electronics because it creates a voltage gradient over a large area. A 5 volt gradient across a few inches of ground plane will destroy most electronics permanently. A semiconductor is painstakingly embedded with atoms that create an intrinsic voltage difference across a tiny sliver of silicon; a mild voltage in the wrong direction will erase that gap. It will not destroy wires, since the pulse is extremely short.
Forget erroneous measurements. The EMP would kill the computer if it was just a plain wire. You're talking about picking up tens of thousands of volts across any kind of protection circuit. The only possible way this works is with some protection, ideally shielded wire like a coax cable. If that's the case it'll just cause a brief (<10 microsecond, mostly) flash of current to ground. Modern Ethernet is twisted pair, but the first ethernet was coax and the first R58 was sometimes shielded.
There are other types and components of nuclear EMPs but they mostly aren't important in this case. There are several highly questionable things about this story- the PDP-11 would need a pretty skookum power supply to not bottom out, the motivation is... strange, the ethernet wire would need to be incredibly long, etc. etc. EMP is probably not one of them, at least as far as the quality of data. EMP becomes irrelevant if you can access raw data or the ping uses anything but the simplest impulse waveform. Assuming you can actually collect data in the first place, anyway.
A professor did this in the late 1940s and got himself investigated by the military for espionage, until he showed them how to do the calculation.
Nuclear explosions generate massive amount of electromagnetic interference which is likely to fry or at least throw off any regular reflectometer that relies on echo of the signal. Don't want to say it is technically impossible but would probably require especially designed instrument.