[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)