My dad was recruited out of college to write code. Upon showing up for work, he was told they’d ordered the computer but it wouldn’t arrive for another six months. In the meantime, They’d arranged time on another computer (one of only two in the state) so he’d spend the day writing and then he and another guy would load up their punch cards and drive an hour each night to load the other computer and test the code. At one point they had an intern managing the hundreds of cards representing the software they were writing. They came in one morning and he joyously informed them he had decided it would be better to sort the thousand plus cards by color.
Richard Feynman told a story that when he was at Los Alamos during WW2, he was put in charge of the nascent computing group using the brand new IBM computers to run physics calculations. The army recruited a bunch of high school math whiz kids to handle all the punch card loading and running the machines, and Feynman was in charge of the kids.
Eventually the pressure from Feynman to keep up the pace of calculation was so great that the kids, keeping track of program progress in their heads, would yell at him anytime he came into the computer room to ask a question because it meant losing track and having to restart the programs which were many, many cards. This meant losing days of precious time if they had to start over or if a program broke.
Finally the kids got so stressed debugging (and failing to debug) these long running programs that they devised a way to run multiple programs at alongside each other by color coding the punch cards, and then recording break points in the programs when they failed. This allowed them to keep the machines always running with one kid in charge the different variants of the programs they were running.
Such a cool story - I can’t imagine working with such constraints. Today if you need to add 20tb of storage, you add it. A few clicks, maybe a cup of coffee and you’re done.
These were semi-automatic calculators, the punch cards were all data. The problem with distracting the workers was that they were mostly responsible for enacting the program!
What year and what state? I was programming on an IBM 1620 at the local junior college in Van Nuys, California in 1965 while I was still a student at the high school across the street, and there were at least two other IBM 1620's at schools in the San Fernando Valley, and of course numerous computers at banks and other institutions throughout the state.
1968 in North Carolina. I think it was a 360 but I can’t recall exactly. I remember as a kid visiting the office and the computer was housed in a fairly large room where several people worked - mostly women. In fact my mom would joke that the reason he liked work so much was because he worked with virtually all women. It’s possible there were more than two but maybe he was saying only two they could buy time on? I have no idea how many 360s were around back then but that’s how I recall how he told the story.
Couldn't it have been basically every state outside of Wisconsin, New York, Massachusetts, Virginia, Connecticut, California, and maybe Illinois in 1965?
Once when I was young (in the 80s) I found a roll of paper with punched holes in them in our family's home. It turned out that my dad had taken a course in "automatic data management" while studying economics at Lund University, Sweden some time around 1963 or so. A course assignment had been to create a few programs in ALGOL. (I got that part because he had kept the course book.)
I spent so much time trying to decode this roll of punched tape. My dad wasn't of much help. He didn't really understand why I was so excited about this. Eventually I managed to decode the roll of paper, probably after getting some kind of character set guide; I don't really remember. I wish I still had this tape of punched paper... I do remember it was really exciting to write out the ALGOL program in clear text as I painstaikingly decoded the punched tape.
I was that kid who was really into computing, but so starved of input, in the middle of nowhere.
"BESK (Binär Elektronisk SekvensKalkylator, Swedish for "Binary Electronic Sequence Calculator") was Sweden's first electronic computer, using vacuum tubes instead of relays. It was developed by Matematikmaskinnämnden (Swedish Board for Computing Machinery) and for a short time it was the fastest computer in the world. The computer was completed in 1953 and in use until 1966."
I did the same with my mum's stacks of paper tape PL/I programs. At one point I tried to build an automated reader that would interface with my BBC B, but that took me longer than transcribing by hand did.
I remember being surprised at the time just how quickly I learned to read papertape, just having the tape in my left hand with my thumb at the current position and writing the character with my right hand, shimmy the tape, next character
Neat! I was going through this during a few years after I had just gotten a handed down ZX81 from a relative some time around 1984, at the age of 7 or so. I still remember that this relative sold the computer to my parents for 400 SEK (~$40). Pretty good "investment" in my career, I've gotta say.
(They also, while not being super well paid as municipal workers also sprung for two more computers for me - one 8086 PC in ~89 and one 80486 PC in ~93. So thankful. These things were so expensive back then, probably at least 1.5x a monthly salary after taxes.)
Towards the end of the Cold War, my dad was a military man on the wrong side of the Iron Curtain. As a consequence, I was a military brat, attending a "military" preschool. These were tough times, and even paper was at a premium, so one of the parents used to bring lots and lots of printouts that kids could use to draw on the other side. One day it stopped abruptly, and we had no more paper to draw on.
Years later I learned that those printouts came from air defense systems, and counterintelligence was involved in our little tragedy.
Both sides of the curtain were the wrong side... for all sorts of reasons. e.g. most the state structure of Nazi Germany just continued to exist undisturbed in post-war West Germany; while in the east the Russians conducted a rather brutal purge/execution campaign.
German here. Before the comment gets misunderstood, after WW2 West Germany became a democracy, it was no longer a Nazi state. What the commenter is probably talking about is, that a lot of the administration officials from Nazi Germany would still work in the democratic Germanys administration in various roles. Some of them definitely were Nazis and should not have had a place in any official job, others were just people doing their job under the old and new government.
The National Socialist party was outlawed; and a few of its top officials were sentenced to death or prison terms. But - it was "no longer a Nazi state" in a somewhat superficial sense. It stopped being a Nazi state because a foreign occupier threw them out of power, not because it had undergone a deep internal social process.
As for "just doing your job" - that's actually rather complex. If you were delivering mail or sweeping the streets then, obviously, you have nothing to answer for. But what if you were, say ,a high-level municipal official in a town where the Jewish population was rounded up under your watch? What if you were a police officer? A judge? A manager in Deutche Reichsbahn (the state railway service)? A department manager in a government ministry? A faculty member in a university from which subversives and undesirable-race people were cleansed? It's not as simple as just doing your job.
I'm not preaching to _ph_ here, just emphasizing that for a lot of people, they were industriously pushing forward the Nazi state, and then at some point the flags changed, the ideology changed, the rhetoric changed and now we were all "no longer Nazis".
It stopped being a Nazi state. As I wrote, yes, there were too many people left in administration, who played to too important role in Nazi Germany, the example you name is a very good one. But it also is very difficult to judge in each case until you can prove the guilt of a person. So a lot of Nazis managed to go unnoticed. But Germany was a functioning democracy ever since.
I am so picky on that point, because saying "Nazi Germany just continued to exist" is very likely to give people, who are not familiar with Germany the wrong impression[1]. Nazi Germany did not continue to exist. There is a lot of valid criticism how society dealt with the Nazi regime, but it was (as a regime) in the past.
[1] Some months ago, an American friend of mine was surprised to learn that the whole continental Europe does drive to the right.
I think there's a bit more here than a small bunch of Nazi holdouts in various positions of power. What's really surprising to me is that the captains of industry haven't been held accountable until today - many of today's household names (BMW being a great example) were like best buds with the Nazis, grew thanks to military contracts and used forced labor to multiply their gains.
I didn't claim it remained a Nazi state, but that the transition was superficial.
My point is, that - unfortunately - there isn't such a unbridgeable chasm between a Capitalist democracy and a Fascist autocracy as people would like to imagine. Ruling elites can turn the dial this way or that way without that much change, even on the level of top personnel and organizational structures.
If faced with significant social upheaval, or other structural threats, many democracies would very likely turn more authoritarian, more nationalist, more racist, more corporatist - would become Fascistic. In fact, they do.
> unbridgeable chasm between a Capitalist democracy and a Fascist autocracy
Exactly. Alas, that’s what we’re seeing in Eastern Europe right now. Hungary being the best example, Poland also though luckily slightly less so. I wouldn’t call it Fascism specifically, more like conservative authoritarianism, but still.
Re: post-war Germany, yeah, I've heard of it. For example, this war criminal [1] was never deported to Poland and was even a successful mayor. Communist propaganda had a field day.
> The four of us made a dating program where you would input men and women and their traits, and then generate a good matching between them with an algorithm of our own invention.
Could this be the very first "dating app"?! Amazing.
Nope! This is an area where software, society and gender overlap, so it's been getting a fair bit of attention, most notably by Professor Marie Hicks: https://adanewmedia.org/2016/10/issue10-hicks/
Not likely ... this was a common idea among young programmers, and there were several such programs floating around the UCLA Computer Club when I was there in the 60's.
My somewhat similar one: In the early ‘50s my mother took the one and only computer class her university offered. At one point a guy from the local defense contractor comes in (!) and essentially offers everyone in the class with a half-decent grade a job at the end of the year. She took them up on it and that’s how she got into computers. She also claims she used to manually bootstrap a computer using toggle switches to initiate a loader and then feed it punch cards (when not in use, kept in a card-catalog cabinet like libraries used to have). I guess I shouldn’t doubt it too much. She did used to bring old (some used!) punch cards home from work for us kids to play with. I suppose they must have been clearing out obsolete equipment and systems.
How ELSE would you do it, on a machine with no ROM? We always had to manually enter one instruction into memory to start up the card reader to read the bootstrap card. (This was long before the PDP-11's that others have mentioned.)
"She did used to bring old (some used!) punch cards home from work for us kids to play with. I suppose they must have been clearing out obsolete equipment and systems."
Old used punch cards were far more prevalent than new ones ... every time you type a line into your computer and then delete or correct it, that's equivalent to having an old punch card.
> She also claims she used to manually bootstrap a computer using toggle switches to initiate a loader and then feed it punch cards
Not implausible, check http://www.pdp-11.nl/peripherals/how-to-bootstrap.html for booting a PDP11. I suspect it was before even this as I have never heard of a PDP11 with punched cards. Wasn't IBM the big punched card people?
Why would you doubt her at all? Bootstrapping with toggle switches, such as in the PDP-11, was quite common. I have a Altair clone kit where it can be done.
I've manually loaded the boot-loader into a PDP-8 in about 1973. Since it had core memory, I'd typically load it as the last thing before leaving so that in the morning I could just load my paper tape and hit run. From a very fuzzy memory, it was about 30, 12bit words in length.
I’ve had to do this, but it’s not as bad as it sounds. One just has to get the first card or two to load into some memory location. Usually this is filling a device register with an address and setting the PC to a location that has the ROM code to send a command to the card reader.
After this the bootstrapping happens. The first card or two are machine instruction loaded by the ROM at a certain location that the ROM jumps to. These machine instruction read the next few cards into the addresses just after the current PC so they are executed next and these instructions read more cards. Eventually, the rest of the loop forming the real loader is read in. By writing the loader in machine language and putting it at the front of the program be loaded one minimizes the number of values that need to be manually inserted into memory with panel switches.
Edit: In retrospect, I’m pretty sure the first system where I did this didn’t even have ROM support. It might have required actually keying in the values to a paper tape reader device control registers. (PDP-8 timeframe) However the idea was the same, a few values keyed into a memory location, set the PC, and then push run; the rest of the loader code was on the paper tape or punch cards ahead of the actual program.
The system I’m thinking of was a kind of experimental system at MIT with odd peripherals. It had the first CRT I ever used. It had maybe 16 lines of perhaps 40 characters each. The phosphors used glowed orange and had a long persistence because of the low refresh rate. The room lights had to be very dim otherwise the characters would dim to invisibility.
I used teletypes and other hard copy kinds of terminals and punch cards other than this weird homemade CRT system until I got to grad school in 1974.
The HP 2114 minicomputers had capacitive touch buttons that lit up like elevator call buttons. These were used for loading the boot loader, as well as for a variety of input/output functions. For example, you could insert a "halt" instruction with a code that would get displayed when execution reached that point in your program. You could then increment the program counter register and resume running.
What’s interesting is that although the difference between computers of the 1960s and those we have today is greater than the difference between, say, a horse and a fighter jet, the principles of controlling (programming) them are still the same...
Horses and fighter jets operate on different principles in different media, whereas computers of the 1960s and today are all based on the von Neumann stored program model.
Also, programming today is different in many ways from programming in the 1960s.
Partly because we recapitulated the development from 8 or 16-bit instruction sets three times: 1) mainframe (discrete transistors/tubes and magnetic memory), 2) minicomputer (TTL ICs and solid state memory), and 3) personal computers (microprocessor chips). And then there were dial-up and hard-wired cluster controller networks, various LAN networks, and then internet protocol networks to go along with timesharing, client server, and cloud. Plus ça change....
Slight eyebrow-raise at “pioneer” - my mum was a programmer in 1956.
She tells me they didn’t have enough RAM to fit the whole program in. Nothing changes.
Like load phase 1. Load data cards and start Phase 1. Punch cards are produced with modified data for phase 2. Load phase 2. Load Phase 2 data and start Phase 2. Run Phase 2.
Same here, my dad was a programmer of the US Navy's 2nd transistorized computer at KNOTS (Naval Ordinance Test Station, Pasadena, later the Naval Undersea Warfare Center,San Diego) beginning some time between 1955, when we arrive in Pasadena, and 1957 when I first began stacking punch cards and drawing on computer paper.
My mom was a programmer who eventually worked on telecom, and my dad was an engineer working on embedded systems, both immigrants from China who studied in America in the 70s/early-80s. My childhood memories involve lots of computer building, modems, and reams of pajama paper (which somehow never ended up in the fax machine)
My mom was also a programmer in the 1950s. She tells about one CPU where you could use patch cords to change the meaning of the opcodes. My mind boggles.
One of my tutors at uni would get us to do presentations on old papers. I remember one that described a novel very early GUI system. They built the hardware by basically wiring two machines together at the bus level (one was essentially the graphics card), and adding a bunch of additional instructupions using TTL logic chips, it was immensely impressive.
The IBM 1620 that I programmed in 1965 had 20,000 binary-coded digits. Each digit was 6 bits -- 4 numeric bits, a check bit, and a flag bit to indicate the high order digit of variable-length decimal-encoded numbers.
Of course there wasn't enough RAM ... we used phases, overlays, and other techniques to juggle the code.
Later I helped build the ARPANET at UCLA ... that was 1969-70. We were still pioneers.
You'd be surprised. There are contexts in the embedded world where very price conscious customers will require a max price per part, limiting younto a particular size of PIC microcontroller. Its certainly a lot rarer than it used to be though thankfully.
My mum ran the computing department in the Education Faculty at a university in Australia from 1976. I was 6 years old then and would 'help' her at work during school holidays and sometimes when I was ill.
My fond memories included:
- Discovering the paper tape machine.
- Writing stories on the card punch machine, one line per card.
- Pressing buttons on the massive card sorting machine when noone was looking.
- Walking to the Computer Centre to pick up the output of my mum's previous day's coding. If she was lucky, there was a thick stack of fanfold paper in her pigeonhole. If not, just a couple of pages with the error message.
- Around 1978, playing with her HP RPN calculator. It had an inbuilt reader for programs on small magnetic strips. I typed in the example Moon Lander program from the manual and spent a few hours figuring out how much thrust was needed to land without crashing.
- Some time around 1979 they got a computer with a video display and a lightpen. And a 300 baud acoustic coupler.
> We created the programs, and once they were completed and tested we handed them off. Others were responsible for maintaining them, we just wrote new ones!
We never stopped doing that. Only now the people that write the new programs and that don't want to deal with the aftermath of what they've created run off to some new and greener pasture while leaving others to do the dirty work.
Start from a data model you don't understand and use/write objects that force your data into expected results.
Make sure everybody involved sees a working version
Writing this way is time consuming but ensures nobody including you wants to maintain it or add features.
I don’t think that was true everywhere — otherwise we wouldn’t have ended up with the latest modem and pc every few years so dad could support his code in the middle of the night.
The photo of the flowchart template - it must have been the 80s when my mum got one of these and gave it to me, but by then it was in a plastic wrapper rather than a paper one. I guess everyone doing a IBM course got one.
That stencil and the instructions are so cool—so well designed! So clear and concise and useful. Seems like it would still be useful today, ~50 years later. Nice job IBM. Loved this interview.
Just think that with the starting salary of a non-academically-trained employee (in a desirable position, but still) - you could reasonably buy your own apartment.