
Getting an IBM AS/400 Midrange Computer on the Internet - fanf2
https://justanotherelectronicsblog.com/?p=503
======
HocusLocus
Back to 1987 rockin' with the "NYNEX/DPI Telco Friendly" system on original
System/38, later AS/400\. Nice table-driven structures for toll call classing,
rating and billing. RPG III was like working in some bizarre structured
assembly language with a db query front end... but the granular nature of the
filesystem's storage and OS-maintained/enforced file indices were super
performers.

Going from the CP/M world of dBASEII/FoxBase and CBASIC to IBM was strange and
I remember thinking, "The money's better, but I look forward to unlearning all
this some day." I did, and rejoined the ASCII world with no regrets. Except
the pay. Did I mention the pay?

I did manage to save my company more than a year's worth of my salary once.
Telephone calls were recorded on 6250BPI mag tapes and the ITT 1210 telephone
switch dumped call information to the tapes twice a second to clear the queues
and protect from data loss. You could see the tapes advancing in little
spurts. This resulted in a dismal blocking factor since there is a physical
~1/2" leader per block, and they were required to archive the information for
several years in a fireproof vault. The vault was full of these $250 tapes and
they were on the verge of building an additional vault!

One day I was puttering around and noticed that the block factor was a major
problem. I wrote a simple CL command to recopy and re-block the tapes to
regroup the data into blocks 10x the size. After some very careful testing (my
supervisor was very dubious at first) they were able to recopy their entire
archive and recover 80% of the original tapes.

------
Shivetya
I admin a few of iSeries, one large LPAR with half a dozen others. We have
zSeries and pSeries around too and nothing small.

With regards to iSeries we have developers who have put in place more than a
few REST services both with IBM code and Profound Logic code. IBM provides
both custom web service programs (think collection of DLLs) and other simpler
interfaces. The key is you can reuse a lot of existing code by putting a good
web interface on the front of it and your customers would never know.

The number of large companies using the platform is quite high and includes
many big names people would not expect as well as a certain major league
sport. Overseas it seems more accepted to say you are on one.

Good names for iSeries development are Jon Paris and Scott Klement. See
Scott's page at [https://www.scottklement.com/](https://www.scottklement.com/)

the standard language for coding, RPGLE has morphed through the years to where
it is as free form as any other language while being 100% backwards
compatible, the confusing part is you can mixed fixed format and free form
stuff all at once. With ILE programming you can bind in C and JAVA too.

For the most part these hang on and get new deployment because of a
combination of code that works every day and that business math while simple
has to be sure. Throw in that the system is in effect a DB2 database with full
support for SQL and more and its easy to see its longevity. Now if someone can
convince IBM to not keep renaming it.

~~~
macjohnmcc
Early in my career I programmed the IBM System 36 and always envied the System
38 for having RPG III instead of the RPG II we were stuck with. When the
AS/400 came out I was even more envious!

------
ak39
I began my programming career in 1997 with the IBM AS/400 and a Windows
version of a 5250 terminal emulator. Setting up an intelligent colour scheme
was considered a talking point at water towers. COBOL and RPG were the only
two business compilers on it and DB/2 was stock. DB/2 kicked ass as it was one
of the few RDBMSs at that time to allow new generation heretics like us to do
in-line SQL directly in our COBOL and RPG "pgms". I still remember the
animated discussion the older members of the team had arguing against direct
SQL in the COBOL programs. "Rather stick to OPEN file, (sequentially) READ
file, DO WHILE loops with NESTED IF statements to select your records into
WORKING MEMORY. And don't forget to CLOSE the damn FILE!"

I also fondly remember that all our compiles had to be done by exiting the
editing screens and separately scheduling a BATCH job for the compile, and
then reading the output of the BATCH job to see if your PGM compiled
successfully. If not, you'd have to read the JOB LOGS to see where you
committed syntax errors. No debugging at runtime, no IDEs. You had to read
your own code top to bottom, scatter a few PRINT statements around (also
viewed in the JOB LOGS) to see if your PGM worked at all.

One of the many things that amazed me at that time (1997) was that AS/400 had
a robust ODBC CLI for both Windows and OS/2 Warp. This allowed the pointy
haired bosses to enjoy results of data warehouse projects directly from their
Windows PCs using Microsoft Access (of all things). In Comic Sans fonts to
boot!

EDIT: Oh, I forgot to mention - I still haven't seen documentation for
systems, compilers and databases as useful, user-friendly and comprehensive as
the manuals compiled, printed and bound by IBM. There was absolutely no need
for Google.

I will never be ashamed of that beginning. Never.

~~~
rbg246
Thank you I really enjoyed reading your comment!

Sounds like quite the programming adventure.

------
helloworld
OS/400 -- now called IBM i -- sounds like it was ahead of its time:

IBM designed IBM i as a "turnkey" operating system, requiring little or no on-
site attention from IT staff during normal operation. For example, IBM i has a
built-in DB2 database which does not require separate installation. Disks are
multiply redundant, and can be replaced on line without interrupting work.
System administration has been wizard-driven for years. This automatic self-
care policy goes so far as to automatically schedule all common system
maintenance, detect many failures, and even order spare parts and service
automatically.

Another peculiar feature is that this system was one of the earliest to be
object-based. Unlike traditional OSes like UNIX and Windows NT, there are no
files, only objects of different types. It implemented one of the earliest-
known systems for persistent objects. Further, the objects persist in very
large, flat virtual memory, called a single-level store.[1]

[1] [https://en.wikipedia.org/wiki/IBM_i](https://en.wikipedia.org/wiki/IBM_i)

~~~
lscotte
Tandem was doing the same thing as far as redundancy and ordering it's own
maintenance. Tandem even had redundant CPUs that would execute instructions in
lock-step and compare results. They were very popular in banks.

There are stories of parts showing up without customers even being aware any
hardware had failed because they were so reliable.

------
anyfoo
Awesome. I've been wanting to get an AS/400 for quite a while, but every time
I look they cost much more than I would spend for that side hobby. Plus, a lot
of them seem very clunky (more so if you're willing to spend less, it seems),
and then it wasn't always entirely clear to me whether I'd separately need to
buy licenses.

AS/400 (or iSeries now) is so very different, but with many interesting
concepts that did not end up getting used in mainstream desktop and now server
computing, that it always seemed very compelling to play around with. Take the
128bit flat address space for example, that addresses both memory _and_
storage.

~~~
Angostura
They actually made a few laptop AS/400s for sales guys to take around back in
the mid 90s. I'd like to get hold of one of those :)

~~~
d4rti
Do you know what they were called or any page with details about them?

I had a quick search but nothing useful turned up.

~~~
d4rti
I found this PDF:
[https://www.ibm.com/ibm/history/documents/pdf/as400.pdf](https://www.ibm.com/ibm/history/documents/pdf/as400.pdf)

> 1994 >A new generation of AS/400 computers called the AS/400 >Advanced
> Series is introduced in >May, including the AS/400 Advanced System, AS/400
> Advanced >Server and the AS/400 >Advanced Portable.

~~~
tapland
Isn't the Advanced Portable just a regular ATX-sized box?

~~~
jzwinck
Yes, the AS/400 9401 "Advanced Portable" is the size of a regular desktop PC.
Some pictures are here:
[https://www.flickr.com/photos/31231773@N02/albums/7215762371...](https://www.flickr.com/photos/31231773@N02/albums/72157623717034546)

I have one. Even at the time it was considered a toy, too small to do anything
serious. Another 9401 model called "Advanced Entry" was significantly more
capable, and was the smallest anyone would actually buy. Documentation (last
updated in 2013, about 20 years after the machine was current):
[http://www-01.ibm.com/common/ssi/printableversion.wss?docURL...](http://www-01.ibm.com/common/ssi/printableversion.wss?docURL=/common/ssi/rep_sm/0/897/ENUS9401-150/index.html&request_locale=en)

The portable was more of a sales and training tool, with a base 8 MB of RAM
(maximum 16 MB in 1994, 56 MB in 1995) and billed as a single-user machine:
[https://www-01.ibm.com/common/ssi/cgi-
bin/ssialias?appname=s...](https://www-01.ibm.com/common/ssi/cgi-
bin/ssialias?appname=skmwww&htmlfid=897%2FENUS194-068&infotype=AN&mhq=9401%20as%2F400&mhsrc=ibmsearch_a&subtype=CA)

IBM also claimed the portable could be used for "low cost kiosks." The
starting price adjusted for inflation to 2019 was over $12k.

------
bluedino
>> Well, run businesses mostly. There are no games, no leisure programs, only
business. Just how IBM likes it I guess.

Oh, there are games!

[http://www.jcrcmds.com/jcrgames2.html](http://www.jcrcmds.com/jcrgames2.html)

Battleship, blackjack, minesweeper, video poker...

That site has a bunch of useful stuff on it, actually.

Zend also has PHP which you can install. And IBM has WebSphere which is based
on an _ancient_ version of Apache, you can actually serve web pages with it,
and build your own web apps that interact with DB2. Fun stuff!

What you want to do is find a copy of IBM iAccess tools (iNavigator etc) and
you can do some fun stuff with it.

[http://www-01.ibm.com/support/docview.wss?uid=nas8N1017477&a...](http://www-01.ibm.com/support/docview.wss?uid=nas8N1017477&aid=1)

~~~
ianai
Oh, those games are a good “hit” of AS400! It feels so nerdy to imagine a game
on an AS400, but also not because it’s still AS400

------
pwilson262
As as been pointed out elsewhere S/38 AS/400 OS is a SASOS (Single Address
Space Operating System). However, the other really new innovation was the
capability based security system. This was based on the 9 bit byte. Object
pointers had to have the 9th bit set throughout to be legal pointers. Only a
limited number of instructions could produce a validated pointer. It was
physically impossible to construct a pointer except through the security
system. I very much doubt that an AS/400 has ever been hacked.

------
peapicker
Many more comments here, via a link posted yesterday to a hackaday which then
linked to the original post link above:

[https://news.ycombinator.com/item?id=18897598](https://news.ycombinator.com/item?id=18897598)

------
ludwigvan
I recently wrote an article about how storing code in plain text files is a
local maximum we need to overcome as the software industry.

The db based file system in OS400 fascinates me, though I have little
experience with it.

[https://medium.com/@ustunozgur/the-nosql-database-every-
soft...](https://medium.com/@ustunozgur/the-nosql-database-every-software-
developer-uses-10c841278a13)

~~~
ianai
I’m thinking git was a response to this concern. Maybe adding some features to
git may answer your local maximum criticism.

------
jamexcb
I know many, many, many companies still using AS/400 daily. And in about 30m i
will be making a demo of a logistis software to be integrated with AS/400\.
It's still alive and in good shape!

------
yellowapple
"The operating system it runs is OS/400 and that is also the only OS it can
run, no Linux available for this system."

This ain't strictly true; Linux and AIX will both run on it, at least as
VMs/LPARs.

------
WorksOfBarry
I am using this system (IBM i) daily. Mostly supporting clients who want to
run Node.js (or some other open source package) on there system.

I also maintain a basic IDE for writing code on this OS (replacement for SEU,
which was used in the article) and IBM also supply Rational Developer for i.

\-
[https://github.com/WorksOfBarry/ILEditor](https://github.com/WorksOfBarry/ILEditor)
\- [https://www.ibm.com/uk-en/marketplace/rational-developer-
for...](https://www.ibm.com/uk-en/marketplace/rational-developer-for-i)

The OS gets one or two large patches a year, but generally not many new
'features'. I've done and still do my fair share of RPG and ILE C on this
system too.

------
ASalazarMX
> There are no games, no leisure programs, only business.

Back in the late 90s, for some reason I had to attend work the last week of
the year. There was barely anything to do, so I entertained myself doing an
AS/400 Reversi game. It had a rudimentary AI inspired by the way the CPU
played the same game on my cheap Ericsson phone: most squares had a value (3
for corners, 2 for notable squares and 1 for everything else), and it just
summed up the values of the squares that would be captured with each possible
move.

I was sure more games had to exist out there, but in retrospective, AS/400
were expensive to run, and I guess nobody wanted to be caught using it to make
or play games.

~~~
Moru
Everyone here were using their PC with terminal emulators so no need for
gaming on the AS/400 :-)

~~~
ASalazarMX
Pragmatically, yes, but where's the challenge in that?

~~~
Moru
Just an explanation on why there isn't much games on an AS/400

------
blhack
Wow, interesting! My first real job involved several as/400 machines. If the
OP of this blog is reading here, you should try to get a program called
"iSeries client access". There are GUIs for administering a lot of the things
now. It also comes with DB2 drivers and soforth.

------
mindcrime
Something like this is kinda how my whole career in the tech industry started.

A little backstory: I was taking classes at Brunswick Community College,
working on an A.S. in Computer Programming. I knew the instructor who taught a
lot of the programming classes, because I'd had him as an instructor on my
previous go-round at BCC, when I took a couple of programming classes as
electives.

Anyway, I signed up for a class titled something like "Survey of Operating
Systems", where I had presumed I'd learn all about Windows, and maybe some
kind of Unix (this was about 1996, so Linux wasn't ubiquitous yet). So I show
up for the first day of class, and the instructor was like "Oh, Phil, I have
something for you."

He proceeds to point me to a room with a huge behemoth of a machine, which
appears to be some kind of computer, along with several boxes of tape reels,
and a stack of bound manuals about as tall as myself. "Install the OS on that
AS/400, and get it running and connected to the Internet, and you're done for
the semester with an 'A'", he tells me.

It took a while... I mean, I was still pretty green in those days, and I'd
never touched an AS/400 before. But with lots of trial and error, digging
through manuals, and blood, sweat, and tears, I managed it. I guess he was
impressed, and took a special interest in helping me find a job, as a little
later he referred me to what would become my first job in the IT industry - as
an AS/400 operator / Netware administrator for a little scientific glassware
manufacturer in Wilmington.

There was no programming involved, but it paid better than working as a parts
clerk at Advance Auto Parts, and I got to _gasp_ work with computers
professionally! Hey, that was a big deal for this young kid in 1996. Even
better, it was an evening shift job, so I could still go to school by day, and
then work at night.

I wound up spending a couple of years doing a lot of AS/400 related work while
I was working my way through college. Never did any programming on them
professionally though, even though I took two semesters of RPG programming in
college.

Note: if you're wondering... the machine I had to work with was MUCH larger
than the one in the story linked here. I'm not sure what the vintage of the
thing was, but it was old enough that some company had decommissioned it and
then donated it to the college I was at. So I'm pretty sure it was several
generations older than the one shown in the article.

Also of note: the machine in question supported telnet, but as the article
notes, AS/400's use a 5250 terminal by default, not something like the more
familiar VT-100 (or related). Of course I didn't have a 5250 terminal emulator
program available, but it turns out simple telnet client was enough to at
least log in, even though it was hard to do some things since the AS/400
interface is so menu and command-key driven. I don't know if tn5250 existed
back then or not, but I found it and started using it at some point.

~~~
Moru
I learned programming on some old AS/400 in school. The server was standing at
the local state office and we had an ISDN connection there from school. I
remember the manual stack, it was a couple of meters in the shelf.

We used 286 computers with windows and a terminal emulator that converted the
control buttons to enter.

The server was shared with the states programmers as their test server so we
had to wait our turn for compiling and running code. Could be a good 20
minutes to get the output of the program on the printer sometimes :-)

Tried getting a job as an RPG programmer in some companies in the area but all
that was about to buy one ended up going with PC's instead. And the ones that
had an AS/400 decommissioned it so didn't need programmers. But I did some
work for the state, like fixing the y2k bug with birth year in the database
:-)

------
cyberferret
I recall helping IBM to implement an AS/400 system in a local government
department here back in the mid 80's. I cannot remember the exact model, but
it was definitely a lot larger than the one in the article. Basically the size
of two filing cabinets placed front to back. And beige, not black, which would
have been way cooler.

I wasn't in charge of the software on that - mainly just helped with hooking
it up to the local (Token Ring, IIRC) network in the building. I did however
look after the backups on a VAX PDP/8 on another floor in the same building!
:)

------
icedchai
My uncle's company used to have a System/36, predecessor to the AS/400\. It
was the size of a large refrigerator turned on its side. I think it had 256K
(yes, K) of RAM and 200 megabytes of HD. It had roughly 12 terminals and a
couple of huge line printers. Interesting stuff.

In the 90's, they replaced it with a bunch of networked PC's.

------
orionblastar
I remember using Showcase ODBC over Token Ring using IPX and Netboui for
Windows 3.x systems. Use the AS400 as a database.

------
NicoJuicy
In 2005, they still thaught RPG at school. I was actually pretty pissed that
it was already outdated.

I called it the matrix to the past. Because of the black screen with green
letters

------
RickJWagner
I'm a little jealous. The whole exploration/discovery angle sounds like great
fun.

