The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
machines with front panels with lights and switches
When I was in college I took a class in real-time programming. The lab environment was two DEC PDP-11/05's. Both of them had a 128-word core memory board that stored the boot code for RT-11 (the PDP-11 operating system). Unfortunately the core memory was not protected from writing, so student programs could (and did regularly) overwrite the boot code. Fortunately a dump of the 80 or so words of boot code was laminated to the front of the machine cabinet. Almost everyone taking the class had to re-enter the boot code with the front panel switches at least once. One bad programmer poor soul got so good at it he could re-enter the boot code in under 60 seconds.
Nope. I only had to re-enter the boot a couple of times.
I remember two things about that class.
One, PDP-11 assembly language was elegant. Every addressing mode worked with every register, even when that didn't make any sense. I remember a single instruction that you could write that would cause the CPU to copy the instruction to the word at the preceding address in memory and then jump there. The end result was the address register (as displayed on the front panel lights) would continuously decrement. The machine was useless, but the result was fun.
Two, we built a small real-time multithreading kernel in the course. For all that the basics only required < 100 lines of code, it was pretty cool. It only supported two constructs - semaphores and context switching. We could still build pretty cool applications with it. The final project for the course was to read punch cards from a card reader, print their content on a line printer, and at the same time talk to a serial CRT terminal for displaying status. Getting the whole thing working was the first step. To pass the course you had to let the instructor halt the machine, dump the memory, and you had to walk the dump and tell him where every thread was executing and what it was doing. One of the most difficult classes I ever had, but also the most fun.
I haven't written assembly language in quite a while. The last was some Microchip PIC code on a *cough* outside job *cough* a few years ago. I've had to learn to read 'ColdFire' assembly language (distant successor to the 68000) recently, but haven't needed to write it yet.
Agreed. You see it in embedded stuff (that's where all of mine is found) and maybe low-level kernel programming. I can't imagine using it directly in an application. Even performance-enhancers (graphics GPU's and other outboard stuff) give you at least a 'C'-level interface nowadays.
Think we've frightened the youngsters sufficiently?
It'll never end. A programming language is like a relationship. We complain about our partner being inadequate and difficult, fall in love with a different person and break up with the first person, we become emotionally attached to its beauty, fall out of love as we discover the warts. Eventually, if we mature enough, we accept and learn to work with our partner. Programming languages are the same except that polygamy is not just acceptable but desired and there are upgrades occasional upgrades, which we also cry and whine and argue about. And recruiters are really nothing more than a dating service, and equally pathetic at match making.
If one of them ever tries bitch slapping me because he thinks I did not bring him enough money, he will learn to read my previous experience more closely. One of my previous employers had seen to it that I get some lessons in close combat and also had me spend at least one day at a shooting range each month.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
My experience with managing Linux servers is limited, but now it comes creeping in ...
I was setting up a catalog of all our PCs. In Windows, I can read all of CPU model / frequency, amount of RAM, disk types and capacities, network interfaces etc. etc. in more or less one place - most of it is in Control Panel Device Manager or System. (Or, I can use any of a large selection of 3rd party programs, presenting even more info and even more collected in a single place.)
Which Linux utilities can provide collected information, preferably in a single program, providing a single report on the hardware it is running on? (I have come across single pieces of information here and there, but would definitely prefer to find it all in one place, one utility!)
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013