[HN Gopher] Virtual IBM Punch Card Data Processing (2018)
       ___________________________________________________________________
        
       Virtual IBM Punch Card Data Processing (2018)
        
       Author : hggh
       Score  : 52 points
       Date   : 2023-08-15 09:19 UTC (1 days ago)
        
 (HTM) web link (sims.durgadas.com)
 (TXT) w3m dump (sims.durgadas.com)
        
       | kitanata wrote:
       | [flagged]
        
       | Animats wrote:
       | That article shows the machines, but gives no sense of how they
       | are used together.
       | 
       | Here's a simple billing cycle. Inputs are:
       | 
       | - Purchases, with a description, customer number and amount.
       | These were created manually, by a keypunch operator. Cards would
       | also have date and card type, copied from card to card while
       | punching.
       | 
       | - Payments, with a customer number and amount. Again, with date
       | and card type, copied from card to card.
       | 
       | - Customer addresses, usually a 3-card set, with name and
       | address, customer number, and card type. These are semi-
       | permanent, used month after month, updated by hand.
       | 
       | - A previous balance card for each customer, with customer
       | number, amount, date, and card type.
       | 
       | So, at the end of a billing period, the first step is to sort all
       | the purchase cards by ascending customer number. That's what the
       | 082 sorter is for. They should have been accumulated in date
       | order, although if you have to sort by date, you can. Sorting is
       | labor-intensive, because all the sorter does is a 1-digit radix
       | sort. So if you have a 5-digit customer number, you have to put
       | all the cards through five times. You don't want to have an
       | unnecessarily long customer number. There's a lot of manual card
       | handling here, but it's mindless.
       | 
       | Payment cards get the same sorting treatment, by customer number.
       | 
       | Previous balance cards and address cards should already be in
       | order by customer number, and that will be checked.
       | 
       | Now the 085 collator is used. First, the address cards and
       | previous balance cards go into the two hoppers. The collator can
       | read selectively from either hopper. The only operation the
       | collator can do is compare numbers, less, equal, or greater. But
       | that's enough. The collator combines the address deck and the
       | previous balance deck, so that the deck, for each account number
       | is now                   Address 1, address 2, address 3,
       | previous balance.
       | 
       | Any previous balance card without an address or an address
       | without a previous balance card is caught at this time. Those
       | cards may go into a different output stacker, or the collator may
       | be stopped for a manual check, depending on how the plugboard was
       | wired.
       | 
       | Next the another collator pass - the deck from the previous step
       | vs. the payment cards. Now the deck is                   Address
       | 1, address 2, address 3, previous balance, payments.
       | 
       | Now the big collator pass, where the purchase cards are merged
       | in.                   Address 1, address 2, address 3, previous
       | balance, payments, purchases.
       | 
       | The collator has checked that everything is in the right
       | sequence, with all cards in a block having the same customer
       | number and successive blocks having ascending customer numbers.
       | That's the final deck, and it now goes to the 403 tabulator.
       | 
       | The tabulator has one hopper and one stacker, a printer, and a
       | big removable plugboard that's the program. The data processing
       | shop will have a rack of such plugboards for different jobs.
       | There will be custom-printed multi-part carbon forms, and a
       | "carriage tape" loop, which tells the printer how much to advance
       | the paper to get to the next section of the form. The 403 has
       | very little memory, about 40 decimal digits, although you can buy
       | a few extra counters from IBM if you have to.
       | 
       | So now it's time to print the bills. The final deck is loaded,
       | 500 cards at a time or so. The 403 grinds into action. The
       | address cards are read, and they print in the address block on
       | the form, which will be visible in a window envelope when mailed.
       | Totals are cleared. When the tabulator detects the change from an
       | address card type to a previous balance card, the carriage is
       | told to advance to the line indicated by a hole in the carriage
       | tape. This moves the paper to the beginning of the transactions
       | area. The balance forward is printed on the balance forward line,
       | and added to the total. The purchases follow, again being added.
       | The payments follow, and those are subtracted. When the reader
       | sees a new address card, that indicates the end of this customer.
       | 
       | So the tabulator advances to the total line on the form, and
       | prints the total amount due. An invoice has been generated, and
       | will later go into an envelope to be sent to the customer.
       | 
       | Remember that 514 Reproducing Punch? That's been cabled to the
       | 403 tabulator via a huge cable and connector, for Summary Punch
       | mode. When the tabulator prints the total amount due, it sends
       | the total and customer number to the 514, which punches a
       | previous balance card with the new balance, to be used next
       | month.
       | 
       | You get the idea. One cute feature is that you can program the
       | 403 to detect a hole punched in the carriage tape which indicates
       | the form is full. Then it can print a per-page total, increment
       | the page number, start a new form, repeat the customer number,
       | and continue printing transactions. Yes, they thought of that
       | problem.
        
         | whisket wrote:
         | Thanks so much for writing this out.
         | 
         | It's lovely to see the physicalization of arrays as decks,
         | fixed-function units as sorters and collators, ALUs as
         | tabulators, and human beings as data sequencers.
         | 
         | I really appreciate you sharing this.
        
       | 082349872349872 wrote:
       | see also https://www.masswerk.at/card-readpunch/
        
         | masswerk wrote:
         | I always wanted to implement at least FORTRAN (VI or maybe 77
         | with backward compatibility) for a period correct language, but
         | there are always other things to do...
         | 
         | (Having said that, using a familiar language like JS may be
         | suited better for experiencing the hassles of the process,
         | anyway.)
        
       | vincent-manis wrote:
       | Wow, there's also a virtual Honeywell 2000 computer. I have not-
       | so-fond memories of finding a Honeywell 200 system in my
       | university's administration building. It was the only machine on
       | campus with a Cobol compiler. Compilations took 30 minutes or
       | more; the admin folks kindly allowed me an hour at a time on the
       | machine. I don't remember much of the system now, though I do
       | remember that Pass 2 of the compiler was the system sort utility
       | (don't ask me why). I believe that the 2000 was the Big Sibling
       | of the 200.
       | 
       | Also, on the subject of punched cards, Datamation ran an article
       | in the 1960s that dealt with the nasty subject of storing blank
       | cards (every computer center had a room with huge boxes of
       | punched cards and of printer paper). You could get rid of your
       | card storage problem by running a cool program. Whenever you need
       | a box of cards, you run the program, put a box of blank cards in
       | the punch input hopper, and presto! blank cards in the output.
       | Believe it or not, Datamation claimed that they'd had a number of
       | requests for this magic program.
        
       | khaledh wrote:
       | I highly recommend watching this YouTube channel[1]. It's the
       | ultimate IBM 1401 simulator running on the Unreal engine. The
       | level of detail is mind blowing.
       | 
       | [1] https://youtube.com/@rolffsonsIBM1401channel
        
         | nxobject wrote:
         | If I had the money, I would buy a VR headset for this developer
         | in a heartbeat. It would be fascinating to see what that would
         | add the experience. Especially if he added all of the sounds,
         | to get that full HVAC experience...
        
         | tempodox wrote:
         | Here is the machine in action:
         | 
         | https://www.youtube.com/watch?v=GZtLMMuLUuY
         | 
         | Downloading the simulator is mandatory, since we're saving over
         | $10 per minute in today's money compared with renting the
         | original hardware. Also, the signs say "THANKS" instead of
         | "THINK!" which is a nice touch :)
        
           | AnimalMuppet wrote:
           | Wow. 16,000 characters of memory (max), 11.5 microseconds
           | cycle time, so 0.087 MHz = 87 kHz frequency.
           | 
           | Wikipedia says $25k/month rental in today's dollars, which I
           | calculate as being $34/hour. I could buy that much computer
           | today with the loose change under my car seats.
        
             | tempodox wrote:
             | Indeed. The supercomputer in my pocket does high-resolution
             | domain coloring and fractal generation in seconds or even
             | just a fraction thereof, while the 1401 could probably have
             | heated a house for a winter with the same compute load.
        
       | themadturk wrote:
       | When I attended Washington State University in the mid-1970s, my
       | girlfriend was a chemical engineering student taking her one and
       | only required programming class. I remember helping her punch
       | cards late at night at the computer center, and used "liberated"
       | blank punchcards as bookmarks for years afterward.
        
       | euroderf wrote:
       | At college in the late 70s, the breakthru was a a new room full
       | of terminals where you could make "virtual punch cards" (yes) for
       | the mainframe. The name of the terminal program was Roscoe -
       | pretty much un-PC.
       | 
       | These virtual punch cards sure were an improvement from the
       | tangible punch cards. The turnaround for all that "SYSIN DD *"
       | JCL and FORTRAN and PL/1 came down to PDQ.
       | 
       | It was almost like you could feel the earth move under your
       | feet... from batch execution to almost-interactive execution.
        
       | cogogo wrote:
       | Started my career as an IBM SE for the mainframe in the early
       | 2000s. They were desperate to bring young people into the
       | mainframe world to carry the baton. My peers were all guys with
       | kids my age or well older and most of them carried punch cards
       | around in their breast pocket to take notes. At that time they
       | were still abundant in random IBM supply closets across the
       | midwest.
        
       | zabzonk wrote:
       | i wrote something on an ibm pc back in the early 80s to replace
       | several univac card punches, which we could not get sensible
       | maintenance contracts for anymore. the program allowed the
       | operator to specify tab-stops (much like a typewriter) and
       | specify if a field was alfa or numeric. these were being used by
       | some of the most fiendish (and in many cases the pritiest) data
       | input ladiews i have ever come across. the input was written on
       | to an msdos disk file, and then transferred to mainframes and
       | minis via kermit.
        
       | ok123456 wrote:
       | Reminds me of the old x026 program that simulates creating punch
       | cards.
        
       ___________________________________________________________________
       (page generated 2023-08-16 23:01 UTC)