ChatGPT Fun

On an Amtrak-related e-mail list that I frequent (AllAboardRailDiscussion@groups.io if you care), one of the regulars had a bit of fun with ChatGPT.  I found it amusing; and since ChatGPT has come up on FtB before, I thought I’d repost it here with the author’s permission.

Alan Klein:

Explain how to change a piston in the General Motors 16-567D diesel engine, using the language of the Old Testament

ChatGPT:

In the days of old, when the General Motors 16-567D diesel engine was in need of repair, behold, the changing of a piston required a process as intricate as the weaving of fine linen.  Let me recount to you the steps, as if told in the language of the Old Testament.

1.  Verily, gather the necessary tools and prepare the sacred space.  Anoint your hands with oil, and set the engine in a state of rest upon a foundation of solid ground.

2.  Unfasten the bolts that bind the cylinder head and separate it from the engine block.  Lo, the power of your arm shall overcome the grip of the fasteners, as Samson overcame the Philistines.

3.  Once the cylinder head is removed, thou shalt find the piston nestled within the chamber, encased in rings of steel.  Take heed, for the rings must be removed, as a warrior discards his armor before battle.

4.  Carefully, with the precision of a master craftsman, remove the wrist pin that connects the piston to the connecting rod.  As Moses parted the Red Sea, thou shalt separate the piston from its mighty connection.

5.  Now, with the old piston removed, place the new piston upon the altar of the engine block.  Align the rings upon the piston, ensuring they are in their proper order and seated with care.

6.  Inscribe the wrist pin into its ordained position, uniting the piston with the connecting rod.  Let not the pin falter, for it is the bond that shall withstand the fires of combustion.

7.  Once the piston is in place, return the cylinder head to its rightful position.  Tighten the bolts with the strength of Samson, ensuring a firm and secure union between head and block.

8.  Finally, breathe life into the engine once more.  Ignite the fire within, and may the pistons move with the grace of David‘s harp, producing the melodious symphony of power and efficiency.

Thus, with the guidance of ancient wisdom and a touch of modern knowledge, thou shalt have changed a piston in the General Motors 16-567D diesel engine.  May your endeavors be fruitful, and may the spirit of the Old Testament guide your mechanical pursuits.

Bad Server!

I’ll likely be taking my next Amtrak trip starting on Friday; but a few days ago, a server for Amtrak’s Positive Train Control system crashed and stayed down for at least three days requiring that, basically, all trains except on Amtrak’s own Northeast Corridor were cancelled.  Scuttlebutt has it that the server is back up, and it seems that trains are departing from Chicago again.

But what really amazes me is that, apparently, there wasn’t a backup.  The system I worked on before I retired was actually four complete systems, one for development, one for system integration testing, one for customer acceptance testing, and one for production.  Each of those had three servers:  one for the Web component, one for the database, and a third for running background tasks.  Each of those servers had at least one backup.  The DEV and SIT systems had one backup for each server; the CAT and PROD systems had four of each server constantly sharing data back and forth so that they were pretty much exact copies of each other.  That’s the way you do it.  It’s really old news and well understood.

Another possibility, which also wouldn’t surprise me, is that security was so lax that a hacker could have brought the whole thing down for a ransomware attack.  If that’s what happened, they probably won’t admit it.

In any event, Amtrak could have done better by getting a server from the folks who set up my own little website.  They’re much more professional, it would seem.

PLATO and Me

Wow, that was a blast from the past!

Mike the Mad Biologist links to “an excellent article about the PLATO computing system”.

I didn’t know all the early history.  My own involvement with PLATO begain in the ’80s when I was an instructor at Control Data Institute in St. Louis.  The courses were basically all PLATO, although the students had some projects to complete as well:  on the tech. side, it was mostly building circuits; on the programming side, students had some programs to write.  The instructors were there mostly to assist with the projects.

We eventually replaced the stand-alone PLATO terminals with CDC-110s which had a CRT terminal with a built-in keyboard and a separate double-sided, double-density eight inch floppy.  In PLATO mode, a Z80 microprocessor in the terminal was the boss, and another Z80 in the floppy drive just did the disk I/O; but it could also run CP/M in which case the Z80 in the floppy drive was in charge and the Z80 in the terminal ran the CP/M BIOS.

They also had a text editor called MINCE which the programming students used to write their programs instead of punching cards.  One of the languages we taught was RPG II which required codes to be “punched” into particular columns, so I wrote an RPG mode for MINCE that expanded tabs to the appropriate columns.

MINCE was written in BDS C, an early (and incomplete) C compiler for CP/M systems; and it came with source listings for much of the editor.  I didn’t know C at the time, so I went to a bookstore to get a book on C; and as luck would have it, the book I selected was the first edition of K&R, so I got off on the right foot. 😎

My first home computer was a CDC-110 with a dual floppy drive and a modem that ran at the phenomenal speed of 1200 baud!  I got all that for half price (around $5k IIRC) because I was a Control Data employee, and I eventually sold it for about what I’d paid for it. 😎

CDC eventually got rid of all the land lines and rotary switches for communicating with the PLATO mainframe in Minneapolis and switched to something called the “shared network” that used satellites.  This had the unfortunate effect of increasing the turn-around time for each keystroke to a large enough fraction of a second for H. sapiens to notice.

To the tune of Alabama Bound (with apologies to Lead Belly):

I’m input/output bound.
I’m input/output bound.
If them bits don’t stop, Babe, and turn around,
I’m input/output bound.

Hey listen all you hackers,
Now don’tcha be like me:
You gotta stick with that old PLATO rotary
And let that shared net be.

I’m input/output bound.