Fun things to do with your VM/370 CE machine – Fun with big computers

rbanffy 101 points 38 comments November 09, 2026
rbanffy.github.io · View on Hacker News

Discussion Highlights (14 comments)

AKSF_Ackermann

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.

Tepix

So many ancient weird rituals to use this thing. We've come a long way.

JdeBP

So much here: 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!

TomMasz

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.

jsrcout

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.

DonHopkins

It it me, or does it feel totally different to be logged on instead of logged in?

jxdxbx

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.

natas

I wish hackernews could see more articles like this, and escape a little bit from the amazing unix world.

j_seigh

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.

EmX_3000

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.

VLM

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.

whartung

In college, we had a CDC Cyber running NOS. For programming, they taught us enough to use the XEDIT line editor, the Fortran compiler, CATLIST for the directory. You'd apply these in rote fashion, the goal was to get through your programming class. It wasn't an a OS design or computer architecture class. It was "calculate Easter Sunday in Fortan" class. Our Fortran (F77) used channels 4 and 5 for console in and out (which could probably be redirected using some command, no doubt. I don't know if it was. NOS thing or some Fortran thing that we used 4 and 5. But it had these other things that you'd touch on, if you were geeking a bit in the community. Things like Direct Storage using the ATTACH command (whatever that did), PROC files (scripts), PROC file libraries, DAYFILE (basically your job/command history). I would like to have a deeper understanding about some of those concepts of how that OS worked, design choices they needed to make, etc. Today, "everything" is UNIX. Or certainly viewed through UNIX glasses. Even Windows is UNIX today.

sprior

I want to check my imap email with RDRLIST

vogelke

Whoever invented Rexx is a god. I wrote a program to renumber and indent Fortran programs in Rexx, and it actually worked. Outstanding documentation; IBM was THE standard for docs back in the '80s.

Semantic search powered by Rivestack pgvector
12,324 stories · 116,709 chunks indexed