|
Going back to the 90's I learned to program using a 16bit compiler for DOS which meant I had to deal with memory segmentation and near/far pointers.
Needing to use pointers to have more than 64k of data (and when I was working with multiple 64,000 byte screen buffers this was inevitable) forced me to actually learn how to use pointers for things beyond the textbook standard linked list, etc.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Long time ago...... programming a PDP 11/45 via the front console. Load an address and insert the octal instruction 014747. Then start running from the address you loaded the instruction (single stepping the execution is more fun!)
The "program", a single instruction, will cause the computer to run "backwards" and fill memory backwards from the starting point with 014747 until it gives a hardware trap (address error.)
|
|
|
|
|
The idle loop on RSTS would make the console lights cycle in a clockwise direction. You could tell how busy the CPU was by watching to see how often and how long the idle loop display was interrupted. Once the system was down for a hardware failure, so we wrote and toggled in our own "idle loop", except it cycled the console lights in a counter-clockwise direction. We waited as other developers came into the computer room to see why they couldn't log on. Only one developer figured out there was a problem by simply seeing the console lights cycling backwards. The rest asked us if there was a problem.
|
|
|
|
|
Giving away my age ... I started wiring boards for EAM (look it up) equipment. The trays of cards (80 characters each) were diagonally marked (magic marker) in case the cards were dropped...ugh. When I graduated to an 8k 1401, the 80 character boot strap area (programs loaded from cards - no OS) was hard wired to the card reader and the next 132 characters were hard wired to the printer. It made for interesting issues when additional code was required in the middle of run: code had to be interspersed with data cards. To top that off, I worked in a large display window on Madison Ave, since IBM liked to show off their equipment.
The first communications project I worked on used punched card readers for remote input and IBM Selectric typewriters as output devices. It ran on a dedicated 360/40 256k mainframe with 24k of OS and 3-28 mbyte disk drives. You had to watch the register lights on the console to "see" if the system was in a tight loop.
Using current IDEs (VS2013 and Eclipse) and targeting various device types, I don't miss the "Good Old Days" at all. The most agile activity back then was trying not to trip on cables.
Abbott Fleur
|
|
|
|
|
I worked on an IBM 360/40 with 256k core memory. There were a few disks, but a majority of our work was done with tape. Do you remember how to do a master file update with the master on one tape drive and the updates on another tape drive with the new master going to a third tape drive? Needless to say, I preferred the PDP-11/20 I mentioned in another post.
|
|
|
|
|
I left off that I was a 7094 tape jockey (in the same window). That was a 32k machine with a card reader the size of a very large generator and 14 tape drives. It billed out @ $700/hr. The OS (IBSYS) was on 1 tape. IBM did all their 360 simulations on the 7094. To make life a little easier we had a utility program (on 1 card) that rewound all the tapes at once so we didn't have to walk around and do it by hand.
|
|
|
|
|
Let's see, I've never done embedded programming so my limitations weren't too bad. On the PDP-11/20 running RSTS with BASIC-Plus, you had an 8KB address space for your program and data. Since it was interpreted, code comments took up space and thus were discouraged. Variable names weren't a space issue since they were limited to upper case letters A-Z, optionally followed by a digit, optionally followed by a type indicator: No type indicator was a floating point number, a type indicator of '%' was a 16 bit integer, and a type indicator of '$' was a string.
Given the address space limitations, most programs were broken into one or more data entry programs which interacted with the user, did limited data validation, wrote the input data into a temporary file, and then passed control to another program, using the "CHAIN" keyword, that did additional validations, including file-based validations, and if everything was OK, updated the actual production data files. If there was a data problem, the program would CHAIN back to the data entry program with a link to a temporary file that had information about what was wrong with the data.
The file system was equally primitive. You read and wrote 512 byte blocks of data from/to the disk. The rest was up to the developer. Some people wrote indexes which lived in separate files and sped up access. I wrote a hash-based lookup with collision detection and handling.
|
|
|
|
|
Chris Maunder wrote: What sort of relatively recent stuff (this was 10 years ago) did you used to have to do to get your apps to work? Boot Windows with NUMCPUS=1 on an early dual core machine so our video recording software would continue to work when we stopped recording the audio. Oh, and the OS happily ignored the directive and ran itself and our software on both CPU cores anyway, but only with NUMCPUS=1 did our software run correctly.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
Also related to very early days in Web programming. I remember we had a Sun Web Server that had to interact with some legacy system and we lacked connectivity libraries to it; however there was a command line tool that could process simple queries and dump them to the screen. We used a CGI C executable that piped and redirected the screen output of the command line tool. We had to parse the screen-based report to extract the data fields, but eventually managed to provide exactly what the customer was asking for.
|
|
|
|
|
|
An unnamed CP Member[^] posted a bit earlier: "... got any ID"?
I got ID!
When yer in the state of Idaho, of which the state acronym is ID, here are some potential responses ~
When asked for ID, reply, "Look around. Take all ya want."
Officer: Can I see your ID, please?
Reply: Your standing on it.
Officer: Can I see your ID, please?
Reply: It's not my ID. I'm just visiting.
Officer: Can I see your ID, please?
Reply: No thanks. I prefer to keep <a href="http://www.imdb.com/title/tt0102494/">My Own Private Idaho</a>[<a href="http://www.imdb.com/title/tt0102494/" target="_blank" title="New Window">^</a>] just that.
Officer: Can I see your ID, please?
Reply: Show me your psychology license, first.
modified 18-Mar-14 14:30pm.
|
|
|
|
|
All good replies and if I get to ID and get stopped I'll try one out.
It just so happens that I'm taking a month long road trip to the National Parks and monuments of the NW US and may well be going through ID on my way back to SC.
Along with Antimatter and Dark Matter they've discovered the existence of Doesn't Matter which appears to have no effect on the universe whatsoever!
Rich Tennant 5th Wave
|
|
|
|
|
Quote: MacSpudster You would know a lot about Idaho wouldn't you.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
|
I have been there for the summer solstice...I was amazed that it was 9:30 and the sun was still up! I have a customer in Coeur d' Alene who I haven't seen in a long time...great place!
"Go forth into the source" - Neal Morse
|
|
|
|
|
|
|
Damn but that's sad. I'm sorry that you've had to do that.
|
|
|
|
|
Losing a pet is hard, losing one that was like family is harder.
|
|
|
|
|
Sorry to hear about that.
|
|
|
|
|
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Sorry to hear of your lose.
Along with Antimatter and Dark Matter they've discovered the existence of Doesn't Matter which appears to have no effect on the universe whatsoever!
Rich Tennant 5th Wave
|
|
|
|
|
|
Losing a family member is Always hard.
|
|
|
|
|
What a pity...
We had to do that with our dog years ago, same reason: cancer...
It was really hard and I still love and remember him...
In our case the vet was a f***ing retarded and was sure that it was a little illness that should be vanished after two months of pills... after those two months without an improvement and after going to another vet we discovered it was cancer and that if we would have got it before he would have lived longer…
It’s hard but sometimes it is the only you can do to avoid more pain to your friend.
Ours was named Valent (which means valiant) and it was one more of our family and the legit owner of our sofa.
A big for all our friends and condolences.
|
|
|
|