Hacker News new | past | comments | ask | show | jobs | submit login
Pub400.com – Your public IBM I 7.5 server (pub400.com)
108 points by omnibrain on Sept 30, 2022 | hide | past | favorite | 41 comments



Looks like it has been running for 20 years and is community operated? From the headline I misinterpreted this to be a commercial cloud.

I used VAX/VMS and VM370/CMS in the 80s. I have fond memories of VAX/VMS and still log in to the machine at the computer museum to play dungeon. Would also program Lisp or so, but have not figured out how to transfer files.

For IBM my feelings are more mixed. The VM side was certainly what the rest of the world got only 30 years later. The CMS side felt already a bit obsolete then when you could run X11 on a Sun.

Have never used AS/400, but from all what I have heard it is horrible even compared to CMS.


> ...and is community operated? From the headline I misinterpreted this to be a commercial cloud.

I think this is run by a company that does offer commercial AS/400 instances, but they also provide free non-commercial accounts on this one box. Which is nice because it's not trivial to get your hands on your own system as a hobbyist.

> Have never used AS/400, but from all what I have heard it is horrible even compared to CMS.

I wouldn't say it's horrible compared to CMS. It's just _very_ different. I have played with quite a few operating systems...it's a bit of a hobby of mine... and OS/400 is the most different.

In terms of writing simple terminal-oriented forms applications to do basic CRUD operations against a relational database, OS/400 is actually pretty nice.

It's just such a WEIRD system.

The thing I find frustrating about it is that while it has a lot of interesting security controls, the defaults are wide open and I suspect there aren't a lot of people who could secure it to the point where you could give untrusted users "shell" access and not worry you've left some little nook or cranny open to them that you didn't mean to. [Presumably at least one of those people are involved with the pub400.com system!]


I was working for a client that uses AS/400 a few years ago. They exposed an API for their internal application as an FTP service, which really blow my mind. I guess it's quite similar with REST API in many ways. Is it common to do that in AS/400 land? Now that I think about it, SWIFT is also an FTP-based API service, right?


AS/400 aka iSeries is not horrible. I prefer Unix type servers these days because they have pretty much won the server space. But the AS/400 has some pretty neat stuff like command prompting.


If you want to learn IBM i with a modern IDE, you can actually use VS Code with https://github.com/halcyon-tech/vscode-ibmi.

I also made a subpar guide to getting started on IBM i with RPGLE at https://barrettotte.github.io/IBMi-Book. Its a really fun language/environment and I recommend anyone take a try at coding something trivial.


What would you use this for?

I don't understand what advantages the AS/400 has over other machines.


There seems to be a campaign going to get a younger generation interested in programming for legacy IBM architectures and mainframes, maybe because they desperately need new blood to keep those systems going.


Probably the smartest thing IBM could do there is lower the cost to learn. They’ve kind of made their own problem by placing their knowledge behind expensive certification programs (last I knew).

Such companies though may need to up their salaries significantly. Pay is ultimately the reason show up to work.


This. IBM needs an emulator you can download and play with. I've always wanted to play with AS/400 but had no access to a non-production environment so why bother learning


A long time ago, I worked at a place which was an IBM partner (for other reasons), and I went to an iSeries training session. The user interface on these things is really ugly, didn't seem like it would be 'fun' to play around with. The interesting part was probably more the programming model.

They also said there were more iSeries in Salt Lake City than the SF Bay Area, which was HP & Sun's backyard.


Not just IBM; I've encountered a few Unisys systems in my career, and my efforts to get a local copy of those have proven super hard, too


Unisys did make their Windows-based emulators for OS2200 and MCP freely available for download (for personal/non-commercial use) for a few years.

Sadly, they appear to have now discontinued their free "hobbyist" program, although they still sell the emulator commercially (apparently, the MCP emulator costs US$11,000 for a 5-year license – some people will spend even more than that on a "hobby", but you'd have to be pretty devoted to a hobby to do that, and I doubt many people have that much devotion to a dying mainframe OS)

Still, that's better than IBM has ever done for IBM i. Not aware there has ever been an emulator for it. There are POWER emulators (QEMU for example), but while they can run AIX and Linux, I'm not aware of any which can run IBM i. Maybe IBM has one internally, but if they do, they are very tight-lipped about it. In theory, an open source emulator such as QEMU could be enhanced to be able to run it – but IBM's licensing probably won't allow it, which is part of why nobody appears to have done so.

IBM Cloud hosts IBM i, but it is rather expensive. In a US data centre, 0.25 core of an S922, 1GB RAM, 10GB disk will cost you US$382/month. By comparison, the same hardware for bring-your-own Linux will cost you US$32/month, showing how much of that is software licensing. AIX is US$39/month – much more reasonable software charges than IBM i is. RZKH PowerBunker, the German company which runs PUB400, can't do much better than IBM, given they still have to pay IBM licensing fees. Their prices start at US$200/month, which is cheaper than IBM, but actually a much lower hardware spec (1/20th of a core rather than 1/4 of a core). For equivalent hardware, they charge (roughly) double what IBM Cloud does.


I thought you could buy old models off eBay like anything else? Though I’m guessing the software is still locked up.


Maybe I'm wrong, but I was always under the impression that the AS/400 boxes at work needed 3-phase power?


The ones I've seen don't, no. The AS/400 boxes were pretty much designed for small-to-medium-sized businesses to stick in a closet and forget about. You may be thinking of IBM mainframes, which typically require three-phase power, but can be convinced to work without it.

These days (and for quite a while), the boxes that run IBM i are the same POWER servers that can run AIX and Linux. Before the platforms consolidated, they were still POWER servers, it was just a different firmware between the "i Series" (ran OS/400) and "p Series" (ran AIX and Linux) POWER boxes.


Yeah, hardware isn't the problem, it's the software licensing


Hence, pub400.com


That touches on what I thought was a glaring omission in all the computer courses I took in the 1980s: not a single one of them was taught on IBM big iron, let alone AS/400 as it was known then. Even my encounters with COBOL and FORTRAN were on a Prime 650. It seems almost like there was a conscious effort to not teach IBM mainframes.


Did IBM deploy mainframes to universities for academic purposes? I started college in 1989, and it was fully micro. We learned Pascal on 3B2 systems running SVR3. There was a VAX running 4BSD that was designated as the students' playground. I learned assembly on Apollos running DOMAIN/OS, I think, and then there was a lab full of brand-new diskless SPARCstation ELCs.

I guess some BITNET buddies might have been on VM/CMS, but I think even our student bookstore avoided selling IBMs; they had Macs and NeXT stations on the showroom floor.


In the 1960s thru early 1980s, IBM mainframes in academia were extremely common. A lot of academic research and scientific computing was done on IBM mainframes, especially under VM/CMS. Both SAS and SPSS began life on IBM mainframes. The SPIRES database of high energy physics research was hosted by Stanford SLAC on IBM mainframes for decades (and then, when they finally moved it off the mainframe, they kept running the original mainframe software in an emulator).

However, as the 1980s progressed, most of it migrated away from the mainframe, on to Unix systems and PCs. So, starting in 1989, you would have missed most of it. IBM mainframes survived longer for administrative computing (accounting, payroll, student records, etc)–but thru the 1990s and 2000s almost all of that went away too.

There are still a few colleges/universities out there who run IBM mainframes – primarily to teach them to students as a technology – Marist College in Poughkeepsie, New York comes particularly to mind. But nothing like it used to be.


When it came out 34 years ago, it was a shockingly modern (though completely TUI-based) development platform for what these days we call CRUD apps.

I worked with AS/400s in the mid-2000s. I don't regret my time with it, but doom was on everyone's lips even back then. The main use case of the system was replaced by J2EE in big corps, and LAMP stacks everywhere else. IBM didn't particularly see this as a problem, since the WebSphere (J2EE) brand was doing fine.

As I recall, IBM's plan for the future of the ecosystem was basically to push training courses in community colleges. Probably they assumed it pointless to compete for the same pool of developers who would bolt to Facebook or Google as soon as they could get an offer.


Probably the most obvious is your business has a business application that runs on it. Hospitality stuff and financial stuff runs on it. This stuff allowed companies to do offsite failover reliably and with a pool of “certified professionals” before much modern tech took hold.

Nowadays probably applications which really need reliability and uptime would benefit the most. Logistics stuff where you really need a central source of truth. Etc.

Or you’re the kind of programmer who wants a system that treats objects as full first class objects.


> Or you’re the kind of programmer who wants a system that treats objects as full first class objects.

Something which AS/400 (now renamed IBM i) has never provided. People who’ve never studied it in detail get led astray by the “object-oriented” marketing hype into thinking it is something like Smalltalk-it ain’t.

Imagine a form of “OO” in which all classes (“object types”) were defined by the OS vendor and end-users or third party developers lacked the power to create new classes, they could only create instances of those defined by the OS vendor. And in which there is no real notion of inheritance-except for adhoc approximations to it, such as “type” fields in certain classes. That’s what “OO” means in OS/400.


It’s weird for sure. I was trying to give a best pitch based on my experiences and what engineers have told me over the years with an eye towards the HN audience. But they clearly could grow their pool of talent by opening up some.


Its “object” system was designed in the 1970s, as part of System/38. They decided to impose some limitations on generality - no inheritance, only IBM could define new classes. That could have been a justifiable engineering decision at the time, especially given how new OO was, and the fact that their design was already rather challenging given the limits of 1970s technology (and the market positioning of a “midrange” price point).

And maybe they originally intended to lift those limitations - but it never happened. And AS/400 (and now IBM i) was essentially “version 2” of System/38, with incompatible changes, but changes which were modest rather than expansive (e.g. increasing maximum object name length from 8 to 10 - I wonder why they bothered with such a small increase, why not 16 or 32?)


wild ass guess, they had two tag bytes(is the as/400 even a byte machine, perhaps it would be better to say two tag words) reserved and decided that they were never going to use them and it was a fairly trivial and safe update to merge them into the name field.


Turns out I'd garbled things in my memory. There was no change in max object name length from S/38 to AS/400 – both were 10 characters max. The change was actually from S/36 to AS/400, which went from 8 to 10 – but AS/400 is not a direct descendant of S/36, only of S/38. Apologies for the misinformation.

The biggest incompatibility between S/38 and AS/400 is still in the object name syntax, but not in the maximum length – rather, in how qualified names are written. In S/38, a qualified object name is of the form OBJECT.LIBRARY, whereas AS/400 changes it to LIBRARY/OBJECT. (A "library" is essentially what other platforms call a "directory", except it doesn't just contain files, actually any kind of object; and, there is no hierarchy, libraries cannot be nested – except for the special system library QSYS, which contains every other library).

The change in the separator from . to / was necessary for S/36 compatibility - unlike S/38, S/36 allowed dots in names, so for S/36 compatibility, dot was added to the allowed characters in object names. This meant dot could no longer be used to separate the object and library in a qualified name, so slash was used instead. The reversal of the order was not strictly necessary, but was likely motivated by the fact that it is more consistent with what most other major operating systems do (MVS dataset names; paths on Unix, DOS, OS/2 and Windows; OpenVMS; among others).


Minor correction: OpenVMS uses . not / as a path separator. / is for command switches.


I wasn’t saying OpenVMS uses slash. I was saying it puts the directory name before the file name instead of after it, as S/38 (effectively) does. (I also mentioned MVS dataset names, which use dot instead of slash as well.)


> Or you’re the kind of programmer who wants a system that treats objects as full first class objects.

"Rekursiv: an object-oriented cpu" November 1988 Byte 13(12)

https://www.researchgate.net/publication/243546728_Rekursiv_...


This is just a personal perspective but all my experience with AS/400 tells me it's a huge scam.

I first encountered them working in a call center and we got a new client that did travel booking so we had to order in a bunch of as/400 systems, and training for the agents so they could handle them.

2nd experience was at a consultancy firm where we had to hire in an external consultant to work with as/400 systems.

When I finally got to see what these as/400 systems did I was convinced this is a scam. IBM and Big Travel are in bed together to keep this system alive and to keep people buying it and hiring consultants who are certified in it. Of course the certifications probably come from IBM too.

I've seen WFH travel people who have a modern GUI to the AS/400 running on Windows, but it's still the as/400 TUI inside a modern GUI. What a fucking waste of time to make that wrapper.

This is an API that desperately needs replacing and modernizing. The fact that it's still not replaced by a better system, and people insist on creating crazy wrappers for it, tells me that someone is putting the breaks on. Maybe it's tied to the international flights industry too, maybe that's where the modernization needs to happen.

Either way as a modern developer I see absolutely no reason to keep clinging to this outdated system.


I spent first 15 years of my career at an AS/400 ISV. It is a great system ... for certain things.

I doubt you ordered a "bunch of AS/400's" that is not how it worked and the smallest systems still cost 6 figures. You probably had 1 and you bought a bunch of terminals or something.

The AS/400 has always had to fight for its survival inside IBM because it never drove a lot of the services revenue IBM was trying to grow in the 90's. The AS/400 was famous for being stuck in a closet and running non-stop with maybe a single employee that managed it. It did not sell a lot of IBM consulting and services. IBM mainly sells it via "Business Partners" so there is probably some ISV in the Travel industry that wrote an application that a lot of people used and they are the one selling AS/400's on behalf of IBM to customers that want to use their application.

IBM never made it very easy for developers to learn and support the system on their own. They are too expensive for someone to buy a small one to learn on and the cloud option just did not exist. About all IBM did to help was offer attractive lease options so that companies like mine could afford to have systems to develop our software on.

That said in the early 90's we had to spend over 100K just to buy the tape drives necessary to make "copies" of our software to send to customers. So a customer wants to try our software we have to copy our software on to a tape that probably costs $25+ and then FedEx it to them along with a bunch of heavy 3-ring binders of documentation. It is amazing things ever worked out back then and we survived.

Anyway, I often miss the AS/400. Writing RPG to do transaction processing against DB2/400 always seemed a lot cleaner and more straight forward than SQL and other languages. It also became possible to write real GUI applications though most took the path you described. We rewrote our UI using Eclipse and Java (we were a developer tool). The Java UI talked to the backend API that was still running RPG and ran on the AS/400. I've been gone for 17 years but all that code is still running today.


There are AS/400s that run inventory management type stuff in shops and warehouses that probably haven't been touched in 30-40 years. I'm serious, probably buried under 10 pounds of dust and grease and trash and papers and they just run - they are just sucking down electricity and pumping out data to 5250 terminals over cables.

Granted whatever is running on them could probably run on a Raspberry Pi, but the rewrite would be a 2 million dollar contract by IBM Global Services and the Raspberry Pi would die every 2 years.


I'm curious how much is attributable to the hardware, how much is the software, and how much is simply the fact that no human ever touches it. In a previous life I worked at a CNC machining shop and we had an RS/6000. Everything you say about the AS/400 was also true about the RS/6000. It ran AIX and nobody ever had to think about it because it always worked. But AIX is vastly cheaper than IBM i, and they run on the same hardware now. I think it's worthwhile to examine whether IBM i is actually providing the stability or if it was the hardware + no human touching it the whole time.


Not a scam. I worked on AS/400s for years before I got into more popular operating systems. It's great hardware - very reliable. And although RPG is a pretty weird language, people are very productive on it. You'll still find plenty of largish companies running inventory and other general business software on it to this day.


I have never used or seen an AS/400. I remember that during the late 1980s and early 1990s I worked with some people who used one. After I left that job, I encountered one in a Metro station; she told me that her section had switched to an NT based solution, which was much cheaper but also much more prone to failure. And I did know a guy running an AS/400 perhaps 15 years back. He was very happy with it.


It's got an interesting C implementation. It might be helpful to play with it for a bit if you are working on a memory-safe C variant, for example.

Casting Pointers https://www.ibm.com/docs/en/ssw_ibm_i_74/rzarh/aconv.htm


This is a good summary ... from 1992 https://www.youtube.com/watch?v=5pY6Xxptp9A


I signed up. I want to learn cobol and understand this system


It's disappointing you can't even read the forum without an account, no wonder search results are getting worse.


I was actually somehow pleased when I noticed the same thing— not exactly sure why..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: