Rendered at 17:33:01 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
j_seigh 44 minutes ago [-]
CMS had some neat stuff at the time. Rexx and exec2 supported the subcommand environment. You could write xedit macros in rexx with edit commands instead of system commands.
The mini disk letters were your command search order, like unix path. But internally it was a linked list so you could rearrange the order it you wanted to.
File mode 0 files were supposedly private, you couldn't see them if you accessed the disk read only. But the access command ran from the transient area, so you could load it, no-op the test for char '0', and then execute it to access the file mode 0 files on a read only disk.
Mini disks supported sparse files. So if operations didn't migrate mini disks correctly, you could put a 100 MB file on your 5 MB mini disk (this was the 70's), that would stop them.
There was a diagnose command to read your 3270 terminal screen including the field attribute chars which you could replace with markup tags so you get screenshots for your documentation.
There was a lot of hacking going on in IBM at the time. Just wasn't public. If Peter Capek's VMNewsletters and some of the internal discussion groups were ever published, you would know.
epc 28 minutes ago [-]
I wrote a Gopher server using CMS Pipelines and Rexx which morphed into a basic HTTP server, ran for years on internal IBM systems (mostly used to serve the internal TOOLSRUN forums to the intranet).
EmX_3000 33 minutes ago [-]
We had IBM's at my University back in the day, got some time in on those for sure. AIX is its own thing, I'm a bit surprised they don't offer a hobbyist version to get a little more mindshare. Nobody chooses it from my experience, it just comes with your IBM, probably plus tip, and you probably use it if you have legacy programs and can't just run Linux. Makes it tougher to get qualified admins though, maybe that's the whole plan. You just hire 'em from IBM.
xxpor 11 minutes ago [-]
The biggest problem is AIX (at least these days, not sure of the history) is POWER only. Yeah you can get one for cheap off of ebay (I did :) ) But that's a very niche market. You can find pretty modern AIX downloads on the Internet Archive. Not sure if it's officially sanctioned by IBM, but I really don't care for my own use :)
AKSF_Ackermann 7 hours ago [-]
Out of all mainframe OSes, VM is the most approachable imo, as long as you grasp minidisks and how s390 device addressing works, it becomes just a somewhat clunky DOS. I would also suggest checking out the 2.4 VM ADCD, it is a package with basically all the interesting software, and it is out there if you look for it.
rbanffy 7 hours ago [-]
> a somewhat clunky DOS
And the Community Edition even has a handy DIR command for you.
This document has a lot of things left to add - the machines can really be a lot more interesting. So far, I haven't figured out how to connect my real printer over the network, the other machine with shared disks but no OS, and even creating a new VM for our user. I also know there are a lot of other interesting things on the base CE image that can be super cool to show a newcomer.
coolkil 4 hours ago [-]
It is a very cool operating system. I had the pleasure of configuring it (in it’s ibm z/VM form) from scratch a few years ago. However due to company politics it only ran for 2 years. If you are based anywhere in the US you could probably make a career out of it. If you are in Europe I don’t know if it is a wise choice. Not much z/VM there. If you now own a modern mainframe and want to run Linux workload for example I think you are better of using kvm. However if you need to run z/OS virtualised your only option is still z/VM
rbanffy 2 hours ago [-]
I have recently played with a plain VM/370 R6 and it's very bare compared to CE - not even bold in the terminal to highlight your current line in EDIT. I was thinking of adding it to my collection of Docker images, but I need to play with tape images and, perhaps, load a bunch of them into the container image so there is something to do with it that resembles modern computing.
jxdxbx 1 hours ago [-]
I'm not saying that old IBM mainframes should be our inspiration for future systems. But I'm very happy to see the interest in non-Unix-derived operating systems.
rbanffy 3 minutes ago [-]
Indeed. It's refreshing to see something that's not a Unix or a bastard child of VMS (even VMS is quite different from a Windows command line)
jsrcout 3 hours ago [-]
Thanks for this, can't wait to try it out. I discovered the Hercules emulator a while back, downloaded everything and fired it up, then discovered I had literally no idea how to do anything. It's just such a different world than the ones I'm familiar with.
flyinghamster 1 hours ago [-]
Indeed, it seemed to me, back in the 1980s, that schools almost consciously refused to teach anything about IBM mainframes. My junior college had a 4331 and a Prime 650; the 4331 was used for school administration purposes and the 650 was used for coursework, and never the twain met. Networking was in its infancy and basically didn't exist on-campus, with all terminals hardwired. When I got to UIUC, almost anything interesting was being done on either on UNIX or on CDC mainframes (or the Cray that I saw but never used).
A guide like this is quite handy for an old hand at computers who finds mainframes completely alien. It's even odder that this old version of VM was open, and yet that never really gained much traction outside of diehards keeping the flame alive. I wonder what the computing world would look like today if VM had been put under a copyleft license? I also wonder if an XT/370 could run this thing natively, or if the 370 side was too slow/lacking needed features.
natas 49 minutes ago [-]
I wish hackernews could see more articles like this, and escape a little bit from the amazing unix world.
TomMasz 3 hours ago [-]
It's been over 40 years since I had to type #CP IPL CMS PARM AUTOCR
Then engineering got a VAX and everything moved to VMS.
rbanffy 2 hours ago [-]
Yes. Everything is profoundly alien to anyone who's coming from a Unix background I was initially extremely confused. I was asking myself how does VM/370 define and starts VMs and thinking of a command line tool to do it.
VLM 16 minutes ago [-]
I appreciate the linked effort post although I'm more into playing with MVS
Two problems:
1) The coolest thing about old / unique / non-standard OS is the features. Yes I get it that noobs need to log in and compile hello world but what turns the experience from an hour of fun into months or years of fun is crazy stuff thats just not present in the modern world like JES2 and ISMF (Well... SMF) and CICS (Well... KICKS) and doing weird things with ISAM (like what if your OS by default had a builtin database as a primitive structure just like how unix has built in text processing?)
I think people get turned off by "well OK I can compile and run FORTRAN just like on my emulated PDP-8 or my emulated Nova so why use, in this case, VM/370?" Well I would assume there are features of VM/370 that are as cool as my favorite MVS but I'm no VM expert. THAT'S that selling point to get people into the hobby. Start out trying to get NJE working on JES2 and next thing you know you're binge watching old MOSHIX videos on youtube while eating popcorn and hearing the annoying background music in your sleep.
2) As per above the biggest problem with old iron is the coolest stuff is not entirely legal even in 2026 so instead of running "real CICS" you get the reimplementation KICKS and no ISMF you get plain old SMF which isn't quite as cool. I mean, SMF is cool, just not as cool as licensed ISMF. See also you get to play with RPF not ISPF/PDF. RPF is cool but someday I'd like to legally run ISPF at home.
Unix called it 'text' too. That's why the ETXTBUSY error's traditional message string is "Text file busy".
It's not losing the first character from FORMAT because of some magic line printer discard for the first character. It's losing the first character because you don't understand FORTRAN. FORMAT, as you can see in that example program, uses field descriptors to describe formats. It's losing the 'H' from 'HELLO' because that character means a 'Hollerith string' follows it, which in your case is the Mockney 'ELLO WORLD'. (-: You need an extra 'H', to start with.
In Unix terms, this is akin to the classic mistake of using printf() instead of puts() for your Hello program, and using a percent character in your string. In BASIC terms, this is PRINT USING, not PRINT. And yes, that does mean that technically you are holding it wrong. The text to write should be in the list given to WRITE, and FORMAT should just be specifying the field descriptor.
Only then do you get to the fact that the first column of formatted output specifies the number of printer lines to advance. So you are holding it doubly wrong. (-: There should be a space after the 'H' denoting your Hollerith string that precedes the 'H' of your 'Hello'. Notice that IBM's program has a space between the field descriptor "14H" (14 character Hollerith string) and "PROGRAM ERROR" (13 character string). That's not just random whitespace. It's the first character of the string, it means 1 line of vertical space, and the string is actually " PROGRAM ERROR".
You can get several native versions of REXX for Linux-based operating systems and the BSDs, including ObjectREXX and Regina.
It's 2026, and I just wrote about FORTRAN 66. Good heavens!
rbanffy 2 hours ago [-]
> It's 2026, and I just wrote about FORTRAN 66. Good heavens!
Thank you for the clarifications. I'll dig a little more and add that to the article. I learned Fortran 77 a long time ago, but I never used Fortran 66.
wrs 7 minutes ago [-]
To learn more about the mystery first character, the search term is “Fortran carriage control”. I’m not sure all the choices were ever standardized, but you can typically use + (don’t advance the carriage; i.e., overprint the last line), 0 (double space), or 1 (“form feed” to the next page).
I can remember my Fortran teacher illustrating these with little hand gestures as if he was holding the knob on a typewriter carriage.
I also remember someone at college who had a grudge against the computer minions behind the glass who took your printout and filed it in a cubbyhole for you to pick up. He would run a job to repeatedly print
+________ (…132 total underscores)
which had the effect of cutting the paper off! The paper would just drop out of the bottom of the printer, and the minions had to open up the printer and refeed the paper.
Tepix 5 hours ago [-]
So many ancient weird rituals to use this thing. We've come a long way.
coolkil 4 hours ago [-]
Believe it or not this operating system is very much alive and kicking in the form of z/VM 7.5 and some of those ancient rituals are still considered normal in that world ;)
DonHopkins 2 hours ago [-]
It it me, or does it feel totally different to be logged on instead of logged in?
The mini disk letters were your command search order, like unix path. But internally it was a linked list so you could rearrange the order it you wanted to.
File mode 0 files were supposedly private, you couldn't see them if you accessed the disk read only. But the access command ran from the transient area, so you could load it, no-op the test for char '0', and then execute it to access the file mode 0 files on a read only disk.
Mini disks supported sparse files. So if operations didn't migrate mini disks correctly, you could put a 100 MB file on your 5 MB mini disk (this was the 70's), that would stop them.
There was a diagnose command to read your 3270 terminal screen including the field attribute chars which you could replace with markup tags so you get screenshots for your documentation.
There was a lot of hacking going on in IBM at the time. Just wasn't public. If Peter Capek's VMNewsletters and some of the internal discussion groups were ever published, you would know.
And the Community Edition even has a handy DIR command for you.
This document has a lot of things left to add - the machines can really be a lot more interesting. So far, I haven't figured out how to connect my real printer over the network, the other machine with shared disks but no OS, and even creating a new VM for our user. I also know there are a lot of other interesting things on the base CE image that can be super cool to show a newcomer.
A guide like this is quite handy for an old hand at computers who finds mainframes completely alien. It's even odder that this old version of VM was open, and yet that never really gained much traction outside of diehards keeping the flame alive. I wonder what the computing world would look like today if VM had been put under a copyleft license? I also wonder if an XT/370 could run this thing natively, or if the 370 side was too slow/lacking needed features.
Then engineering got a VAX and everything moved to VMS.
Two problems:
1) The coolest thing about old / unique / non-standard OS is the features. Yes I get it that noobs need to log in and compile hello world but what turns the experience from an hour of fun into months or years of fun is crazy stuff thats just not present in the modern world like JES2 and ISMF (Well... SMF) and CICS (Well... KICKS) and doing weird things with ISAM (like what if your OS by default had a builtin database as a primitive structure just like how unix has built in text processing?)
I think people get turned off by "well OK I can compile and run FORTRAN just like on my emulated PDP-8 or my emulated Nova so why use, in this case, VM/370?" Well I would assume there are features of VM/370 that are as cool as my favorite MVS but I'm no VM expert. THAT'S that selling point to get people into the hobby. Start out trying to get NJE working on JES2 and next thing you know you're binge watching old MOSHIX videos on youtube while eating popcorn and hearing the annoying background music in your sleep.
2) As per above the biggest problem with old iron is the coolest stuff is not entirely legal even in 2026 so instead of running "real CICS" you get the reimplementation KICKS and no ISMF you get plain old SMF which isn't quite as cool. I mean, SMF is cool, just not as cool as licensed ISMF. See also you get to play with RPF not ISPF/PDF. RPF is cool but someday I'd like to legally run ISPF at home.
Notice in EE the use of [F3] to exit as in the original CUA. As I said at https://news.ycombinator.com/item?id=50026580 .
Unix called it 'text' too. That's why the ETXTBUSY error's traditional message string is "Text file busy".
It's not losing the first character from FORMAT because of some magic line printer discard for the first character. It's losing the first character because you don't understand FORTRAN. FORMAT, as you can see in that example program, uses field descriptors to describe formats. It's losing the 'H' from 'HELLO' because that character means a 'Hollerith string' follows it, which in your case is the Mockney 'ELLO WORLD'. (-: You need an extra 'H', to start with.
In Unix terms, this is akin to the classic mistake of using printf() instead of puts() for your Hello program, and using a percent character in your string. In BASIC terms, this is PRINT USING, not PRINT. And yes, that does mean that technically you are holding it wrong. The text to write should be in the list given to WRITE, and FORMAT should just be specifying the field descriptor.
Only then do you get to the fact that the first column of formatted output specifies the number of printer lines to advance. So you are holding it doubly wrong. (-: There should be a space after the 'H' denoting your Hollerith string that precedes the 'H' of your 'Hello'. Notice that IBM's program has a space between the field descriptor "14H" (14 character Hollerith string) and "PROGRAM ERROR" (13 character string). That's not just random whitespace. It's the first character of the string, it means 1 line of vertical space, and the string is actually " PROGRAM ERROR".
You can get several native versions of REXX for Linux-based operating systems and the BSDs, including ObjectREXX and Regina.
* https://pkgsrc.se/lang/rexx-regina
* https://pkgsrc.se/lang/oorexx
* https://pkgsrc.se/lang/rexx-imc
It's 2026, and I just wrote about FORTRAN 66. Good heavens!
Thank you for the clarifications. I'll dig a little more and add that to the article. I learned Fortran 77 a long time ago, but I never used Fortran 66.
I can remember my Fortran teacher illustrating these with little hand gestures as if he was holding the knob on a typewriter carriage.
I also remember someone at college who had a grudge against the computer minions behind the glass who took your printout and filed it in a cubbyhole for you to pick up. He would run a job to repeatedly print
+________ (…132 total underscores)
which had the effect of cutting the paper off! The paper would just drop out of the bottom of the printer, and the minions had to open up the printer and refeed the paper.