Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Tuesday December 04 2018, @03:01PM   Printer-friendly
from the portents-of-future-ecma-script dept.

The Enterprises Project writes about how the demand for several very specific, established skills, including COBOL, is increasing as boomers retire, taking their knowledge with them. Part of the skill gap between the old and the new is familiarity with the work flow and business processes.

Baby Boomers are retiring and taking with them the skills to run legacy technologies upon which organizations still (amazingly) rely – from AS/400 wrangling to COBOL development. That leaves many CIOs in a tight spot, trying to fill roles that not only require specialized knowledge no longer being taught but that most IT professionals agree also have limited long-term prospects. "Specific skill sets associated with mainframes, DB2 and Oracle, for example, are complex and require years of training, and can be challenging to find in young talent," says Graig Paglieri, president of Randstad Technologies.

Apparently, COBOL is still in use in 9 percent of businesses, mainly in finance and government. And so the demand for COBOL is gradually growing. If one has interest to pick up that plus one or more of the other legacy technologies, on top of something newer and trendier, there should be a possibility to clean up before the last of these jobs moves to India.

Earlier on SN:
Jean Sammet, Co-Designer of a Pioneering Computer Language, Dies at 89 (2017)
Banks Should Let Ancient Programming Language COBOL Die (2017)
Honesty in Employment Ads (2016)
3 Open Source Projects for Modern COBOL Development (2015)


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by The Mighty Buzzard on Tuesday December 04 2018, @03:14PM (29 children)

    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday December 04 2018, @03:14PM (#769577) Homepage Journal

    Specific skill sets associated with mainframes, DB2 and Oracle, for example, are complex and require years of training...

    Let's start off with s/training/experience/, because all training except OJT is shit compared to doing actual work with people who know what they're doing.

    That out of the way... For mastery maybe. Proficiency in a new language shouldn't take more than a couple months to acquire unless you have either no time to learn or no business programming anything ever.

    --
    My rights don't end where your fear begins.
    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Total=1
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 4, Insightful) by DannyB on Tuesday December 04 2018, @03:48PM (18 children)

    by DannyB (5839) Subscriber Badge on Tuesday December 04 2018, @03:48PM (#769607) Journal

    I work in Java. I believe it is the COBOL of the 21st century. I can't speak about COBOL, but . . .

    Learning "Java" is about a whole lot more than just learning a language. I might liken it to "learning Linux".

    The ecosystem is gigantic. An embarrassingly large treasure trove of open source riches.

    The JVM. The compilers for other languages that generate code for the JVM.

    The platforms it runs on.

    How to tune the JVM for large scale systems. The choice of garbage collectors and their tradeoffs.

    The choices of where to get your Open JDK from if you don't want to compile it yourself.
    https://aws.amazon.com/fr/corretto/ [amazon.com]
    https://github.com/corretto [github.com]
    https://adoptopenjdk.net/ [adoptopenjdk.net]
    https://github.com/AdoptOpenJDK [github.com]
    https://github.com/ojdkbuild/ojdkbuild [github.com]
    http://www.azul.com/downloads/zulu/ [azul.com]
    https://jdk.java.net/11/ [java.net]
    https://developers.redhat.com/products/openjdk/download/ [redhat.com]
    https://github.com/SAP/SapMachine [github.com]
    https://bell-sw.com/java.html [bell-sw.com]

    Proficiency in a new language shouldn't take more than a couple months to acquire unless you have either no time to learn or no business programming anything ever.

    You can probably learn to be writing code in a few months. But there is so much more to it.

    The language has evolved over time with great new features being added. If you're targeting an older system that is stuck on, say, Java 6, you have to know what features you CAN'T use.

    I'm sure there are a lot of things to know about COBOL too that are not so obvious. It has a history. An evolution. An ecosystem. Various compilers. Platforms. Possibly even different OS quirks.

    --
    To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
    • (Score: 3, Interesting) by The Mighty Buzzard on Tuesday December 04 2018, @04:33PM (2 children)

      by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday December 04 2018, @04:33PM (#769634) Homepage Journal

      Yes, I'm aware. And I don't want anyone who can't pick up both basic language proficiency and the ability to find out what else they need to know, when they need to know it, in a couple months working anywhere near me. I'm not asking they know the ins and outs of every obscure library or framework but they damned well better be able to read code and find information they're missing when it becomes relevant.

      --
      My rights don't end where your fear begins.
      • (Score: 2) by DannyB on Tuesday December 04 2018, @07:23PM (1 child)

        by DannyB (5839) Subscriber Badge on Tuesday December 04 2018, @07:23PM (#769710) Journal

        I would agree with that. I am just countering the, perhaps straw-man, manager who thinks that anyone can instantly pick up ten years of know how in a few months.

        --
        To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
    • (Score: 2) by darkfeline on Tuesday December 04 2018, @08:44PM (14 children)

      by darkfeline (1030) on Tuesday December 04 2018, @08:44PM (#769742) Homepage

      This is why Go will succeed. Having a dead simple language with no clever features, a single compiler with cross-compilation out of the box, testing and source formatting built in means one can be productive within a week, without having to waste time on trivialities.

      No, most use cases nowadays do not need custom GC optimizations.

      --
      Join the SDF Public Access UNIX System today!
      • (Score: 3, Insightful) by The Mighty Buzzard on Tuesday December 04 2018, @09:54PM (13 children)

        by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday December 04 2018, @09:54PM (#769781) Homepage Journal

        If you're relying on GC, I do not want to work with you. GC = "I don't understand how to manage memory for shit. Why can't The Computer do this for me?"

        --
        My rights don't end where your fear begins.
        • (Score: 4, Insightful) by DannyB on Tuesday December 04 2018, @10:42PM

          by DannyB (5839) Subscriber Badge on Tuesday December 04 2018, @10:42PM (#769822) Journal

          If you're relying on GC, I do not want to work with you. GC = "I don't understand how to manage memory for shit. Why can't The Computer do this for me?"

          There are several arguments here really.

          If you don't like GC, that's fine. There's nothing wrong with that. There are entire problem domains where that is in fact the proper view to have.

          We could all just write in C. Or assembly language. Or hex codes even. Yes, really. We could. Even flip front panel switches.

          So why don't we? Productivity. Because really what we're dancing around here is money.

          If I need an extra 64 GB of ram and more cpu cores but can beat my C++ competitor to market by six months, my boss won't even blink when I ask. And laugh all the way to the bank. I am not optimizing for bytes and cpu cycles. I'm optimizing for dollars. That's probably why so many banks and financial institutions use Java.

          Why do these high level languages exist, and why does GC exist?

          "A programming language is low level when its programs require attention to the irrelevant."
          - Alan J. Perlis.

          I can manage memory just fine actually. I did that for years and years with Pascal in the 80's, and C and C++ in the 90's. But it is irrelevant. Managing memory doesn't help me actually solve the actual problems that my code is designed to solve. It is unnecessary bookkeeping.

          We have these machines now called computers. They can take care of the unnecessary bookkeeping for us. Just like dishwashers can wash dishes for us.

          My final argument is this. For the programming problems I routinely solve, it would probably be fairly easy to manage memory. It is allocated and released in fairly simple patterns.

          Sometimes programs are very complex and do not have simple patterns of allocation and release. You begin to notice this in Lisp programs. GC was invented for a reason.

          There is another famous quote that I won't bother to look up, but the gist is this . . . in any sufficiently complex C++ program is a bug ridden, poorly specified, suboptimal ad-hoc garbage collector.

          Why can't The Computer do this for me?

          I know how to take square roots by hand. (A child of the 70's) But I use a pocket calculator.

          --
          To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
        • (Score: 2) by c0lo on Wednesday December 05 2018, @07:33AM (11 children)

          by c0lo (156) Subscriber Badge on Wednesday December 05 2018, @07:33AM (#770000) Journal

          If you're relying on GC, I do not want to work with you

          Either you fixed S/N unwillingly or you used a Perl implementation with explicit memory management?

          --
          https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
          • (Score: 2) by The Mighty Buzzard on Thursday December 06 2018, @12:07AM (10 children)

            by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday December 06 2018, @12:07AM (#770345) Homepage Journal

            I take it you've never done any mod_perl programming? You absolutely do memory management in it, though not of the typical variety. The vast majority of our code gets interpreted at runtime and then given the boot as soon as it's finished running. The same with data. Very few things are going to be worth keeping in memory given the stateless nature of web programming, so we don't for the most part.

            --
            My rights don't end where your fear begins.
            • (Score: 2) by c0lo on Thursday December 06 2018, @12:42AM (9 children)

              by c0lo (156) Subscriber Badge on Thursday December 06 2018, @12:42AM (#770375) Journal

              You absolutely do memory management in it, though not of the typical variety. The vast majority of our code gets interpreted at runtime and then given the boot as soon as it's finished running. The same with data.

              Riiight!
              I suppose you could call it "explicit memory management" for some values of "explicit memory management".

              --
              https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
              • (Score: 2) by The Mighty Buzzard on Thursday December 06 2018, @04:31AM (8 children)

                by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday December 06 2018, @04:31AM (#770485) Homepage Journal

                I'd call it extremely inefficient and ill-advised but then I think cgi should be written in a compiled language.

                --
                My rights don't end where your fear begins.
                • (Score: 2) by DannyB on Thursday December 06 2018, @02:40PM (5 children)

                  by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @02:40PM (#770652) Journal

                  I have to pinch my nose while I say this, but there is some merit to the idea that a cgi could be written in a compiled language, and NOT do any memory management. Just write the code as if you had GC. Simply do not deallocate anything. Just let go of pointers when you're done with them.

                  The idea here is that the CGI does some processing, and then its process is destroyed making any kind of memory management unnecessary. Why spend cycles cleaning up when the process is just going to exit almost immediately. I would call it an effective hack. Efficient to be sure. Saving developer time to be sure. Therefore economical, and that's what it's all about. Yet the geek in me screams that there is something bad about this.

                  --
                  To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
                  • (Score: 2) by The Mighty Buzzard on Thursday December 06 2018, @02:54PM (4 children)

                    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday December 06 2018, @02:54PM (#770662) Homepage Journal

                    I hate to say this but it depends largely on scope. If you're not taking up significant amounts of memory and not taking any at all up for significant amounts of time, it's fairly pointless to either explicitly free said memory or to implement a GC. It's not an approach you'd want to take with an OS or any program with a runtime longer than minutes at the most but freeing ALL of the memory a process is using by way of exiting is actually better than freeing just some of it (unless process creation/reaping overhead becomes an issue).

                    --
                    My rights don't end where your fear begins.
                    • (Score: 2) by DannyB on Thursday December 06 2018, @03:09PM (3 children)

                      by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @03:09PM (#770668) Journal

                      freeing ALL of the memory a process is using by way of exiting is actually better than freeing just some of it

                      Yep. That's the crux of the point I wanted to make.

                      Not a bad idea if process launching is cheap and efficient. See my related post on how Java (and .NET) take a very different approach where everything is native code, hot in memory, and directly wired into the web server's dispatch. No launching processes.

                      GC threads are always running, on other cpu cores. The deallocation of memory does not consume cpu cycles in the stream of processing the http request but at a completely different time and cpu core.

                      --
                      To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
                      • (Score: 2) by The Mighty Buzzard on Thursday December 06 2018, @03:23PM (2 children)

                        by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday December 06 2018, @03:23PM (#770678) Homepage Journal

                        mod_perl does something similar but allows you to decide what code and data is permanently resident and what is loaded at need. I don't particularly care for it but I'm not in the mood to rewrite the entire SN codebase either.

                        Rust has really freaking spoiled me on the memory allocation/deallocation front lately. Pretty much every memory allocation has an explicit or implicit lifetime (unless you go way out of your way to make this not so) and is freed immediately upon the end of that lifetime. It's not even a runtime enforced thing; you literally cannot compile something that tries a use-after-free.

                        --
                        My rights don't end where your fear begins.
                        • (Score: 2) by DannyB on Thursday December 06 2018, @07:30PM (1 child)

                          by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @07:30PM (#770796) Journal

                          Even with the concepts that Rust brings to help manage the 'ownership" of an allocation, there are programs that don't fit well.

                          I won't say it is impossible, just difficult enough that you probably won't see any. Try building a CAS (computer algebra system), or theorem proover, or Minimax type game AI without a GC.

                          Especially try to build any type of Logic Programming (eg, Prolog, Minikanren, etc) system, or Haskell (pervasive lazy evaluation) without GC, I doubt it could be done.

                          While Rust would seem fantastic for boot loaders, os kernels, device drivers, microcontrollers, etc, there are a lot of programs at the other high level end of the spectrum where GC is perfectly appropriate. And commercial applications like a web server where the GC cost is on a different thread and not inline on the same thread as the processing of the request. Servicing an HTTP request does not need to spend cycles doing any memory management. Even if the GC is less efficient -- just throw another few cpu cores at it. They're cheap by the dozen. If the economic case is to want to process requests as fast as possible, then don't spend cycles -- of request processing -- on memory management. But GC is not for everything or every use. However I find it interesting how pervasive it has become from the Lisp days. Visual Basic. Visual FoxPro. Perl. Python. JavaScript -- which also means Node.js. Java. C#. (Actually any language on the JVM or .NET runtime) All new languages like Go. And many more I have not listed.

                          --
                          To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
                          • (Score: 2) by The Mighty Buzzard on Thursday December 06 2018, @10:17PM

                            by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Thursday December 06 2018, @10:17PM (#770894) Homepage Journal

                            Honestly, if you're writing something in Perl that GC is even an issue in, you've utterly failed at picking the proper tool for the job IMO. Yes, you technically can write a script in Perl whose lifetime isn't measured in (fractional) seconds but why would you*? Perl's merits are that it is a fucking badass at mangling text. This shines like a motherfucker at scripts slightly more complicated than you want to write in Bash. It's even passable at marking up web pages if you don't do something silly like let the whole bloody script+interpreter+data stay in memory. Writing a video game or web browser in it would be bloody stupid though.

                            * I ask myself this every time I'm reminded of our IPN daemon for the site billing system. I have no idea why I wrote it in Perl except that possibly it was simple enough that it wasn't worth the mental page fault.

                            --
                            My rights don't end where your fear begins.
                • (Score: 2) by DannyB on Thursday December 06 2018, @02:51PM (1 child)

                  by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @02:51PM (#770660) Journal

                  This is sort of a companion post to what I just wrote.

                  A Java web app takes a very different approach than CGI.

                  The Java source is compiled to bytecode. The Java runtime then compiles this into native code -- for the type of OS and processor in use. Then another compiler comes along later and compiles that same code again, but spending a lot more time to compile it to much more efficient code -- very specific to the processor you have including the exact instruction set extensions your processor has.

                  All this code is hot in memory and all wired up to the web server it is installed into. When an HTTP request comes along, it is immediately directed to executable code that processes it. There are no interpreted "html" type pages. (Think like "php" or "jsp" where you embed code within an html style page) Those JSP pages (that you think of as html with embedded code) are turned inside out and literally compiled into code that contains "print statements" that emit the static html fragments directly into the bytestream going out to the browser.

                  An http request does not even launch a process. It is merely dispatch to an already allocated awaiting thread of executable code that directly processes the http request. Nothing is interpreted. No bytecodes. No files on disk are touched to process a request. No os processes are launched.

                  This is why it is so fast. At the cost of memory. But memory and cycles are cheap. dirt cheap And developer time is expensive and getting more expensive every day. And talented developers are hard to find. A limited resource. The economics are not to optimize for cpu cycles and bytes but to optimize for dollars. And ultimately we are all doing our work to make money. The economics trumps everything else. If a developer doesn't understand the basic economics of what they are doing, they probably never become a senior developer.

                  I'm not trying to 'sell' you on Java. Just explaining why there is some serious merit to why it is so heavily used when money is at stake.

                  --
                  To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
                  • (Score: 2) by DannyB on Thursday December 06 2018, @02:56PM

                    by DannyB (5839) Subscriber Badge on Thursday December 06 2018, @02:56PM (#770664) Journal

                    The fact that the bytecode is compiled twice, by two different compilers is why a Java web app seems to "warm up". It takes a few minutes before it becomes super fast.

                    --
                    To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
  • (Score: 3, Touché) by All Your Lawn Are Belong To Us on Tuesday December 04 2018, @04:46PM (4 children)

    by All Your Lawn Are Belong To Us (6553) on Tuesday December 04 2018, @04:46PM (#769646) Journal

    10 PRINT "You're right, Buzzard!"
    15 GOSUB 40
    20 GOTO 10
    40 PRINT "Although actually mastering a language takes significantly longer."
    50 RETURN

    --
    This sig for rent.
  • (Score: 4, Insightful) by donkeyhotay on Tuesday December 04 2018, @05:20PM (4 children)

    by donkeyhotay (2540) on Tuesday December 04 2018, @05:20PM (#769659)

    There is far, far more than language proficiency involved here.

    I am reminded of a client we had where I worked back about 1990. Their company had an IBM System 36 and the code was written in RPG II. They had one system operator who was pretty good at running reports and making backups, etc. Our company charged about $100/hr for coding and their board of directors felt like that was too much. The ambitious and somewhat naive system operator told them that she thought she might be able to do the work if they would send her to a class to learn RPG. A local trade school was offering a class in RPG taught on a Burroughs mini computer. The company told us that they would not need our services any longer and the system operator proudly informed me that she was going to be a coder. I wished her luck.

    About three weeks later we got a call from the client: could we please come down and make some modifications? When I arrived the system operator got up out of her chair and theatrically knelt down and bowed to me. "Whatever they're paying you, it's worth it," she declared. She told me that after a week in class she confidently logged on her system to do her first programming assignment. It was at that point that she realized that she had no idea where the editor was or how to run it. Had no idea how to compile her code. Had no idea how to execute the program once compiled. She was completely lost.

    If you work on one of the older style systems, such as an AS/400 type system, you have to do it all. You not only have to be the coder, but you have to be the system administrator, the DBA, the UI designer. You have to know the odd, proprietary architecture. You have to know the quirky editor and how it works. You have to do a lot of your work on the command line. You have to know the commands and the CL scripting language. You have to know how the screen files work and how to integrate them into your programs. It's more than just a couple months worth of work.

    • (Score: 3, Interesting) by The Mighty Buzzard on Tuesday December 04 2018, @06:23PM

      by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday December 04 2018, @06:23PM (#769685) Homepage Journal

      All of which is a long way of saying she was not even remotely proficient at the job.

      That was then and this is now though. Nowadays you probably wouldn't have received a call at all. She could have found most any information she needed to know online, though it may have taken some time.

      Today I don't mind people using the Internet as a repository of seldom needed knowledge. It's pretty much all out there somewhere and it doesn't take much longer to look something up than it does to already know it. After using it enough times, they will already know it.

      --
      My rights don't end where your fear begins.
    • (Score: 0) by Anonymous Coward on Tuesday December 04 2018, @09:54PM

      by Anonymous Coward on Tuesday December 04 2018, @09:54PM (#769780)

      I wasn't a coder but I worked on as/400 for 5 years and by the time I left I could write simple rpgle programs, I understood at least the basics of how screens work (maybe there are some advanced features I don't know). I wrote some CL programs at some point too but I've forgotten all of it by now. Heh WRKCFGSTS does.. uhm something.

      I'd argue that the point of these systems is that IBM takes over a lot of work for you. People from IBM would show up and replace parts, I guess automatically. Of course in the day of cloud hosting all this is very quaint and cute. I think owning an as/400 in 2018 is a sign that your top tech people don't like learning new things and the people above them are either extremely risk averse or out of touch.

      In the case of the company I worked at they're all sticking their heads in the ground while they depend on 2 elderly engineers to not die. One of who I can point to as the sole reason they've failed to migrate off the system in the 20 or so years that these things became a rarity. In the time I was there they wasted a small fortune upgrading their 400, as I started learning more and more about corporate development I'd ask him about things and he'd give me the unusual answer that "it was too complex, impossible" to simple questions like "Can we diagram the as/400's [not saying the name] workflow?"

      Since then I've come to understand that such situations are the result of poor engineering but personally I think he was lying because he enjoyed the dependent relationship that the 400 forced the entire enterprise to keep with him. He'll be dead within in 10 years and within a year of that something catastrophic will happen that would require his help by the end of that year. I think it's their wishful thinking that they're going to call in consultants from IBM to save them, it's what they do for their windows environment. But if the state of their 400 codebase is anything like their lead dev told me. Fat fucking chance.

      The 2000 employees of this company have been loyal as fuck all the while suffering indignities like 5 days of vacation a year and being told to stop going to the doctor so much because it's expensive. Getting constant false warnings of layoffs even as the company acquires 2 and 3 competitors at a time, all intended to get people to work harder and waste less.

      I will agree that you can't just take a community college class and be a dev. You might become a great programmer, but you're not taking anything over for awhile. You might be able to take someone like me who is a java dev and has some deeply repressed memories of as/400 and help prop up a REST facade so you can start chopping off parts of your shitball and roll it into little microservices.

      I would charge a fortune for such a headache though.

    • (Score: 0) by Anonymous Coward on Tuesday December 04 2018, @11:04PM

      by Anonymous Coward on Tuesday December 04 2018, @11:04PM (#769839)

      1) the system was not at fault nor do you have to multi-hatted to work on S/36 or AS/400. This is crap that consultants want you to belive to keep the their billing high.

      Been on these machine from System/3 model 3 days. 45 years.

      What you have to have is the ability to think in logic processing steps... that is it.

      Try a simple example: Put a hot dog on the table of your kids. Now write-out the steps.

      If you wrote "get a the hot dog out of the refrigerator... BUZZY you lose" What is a hot dog and what is a refrigerator.

      Like I said simple steps.

      PS: programmers today are wasteful "kids". If you need to learn to write code in 12kB. Learn to think in steps that get strung together to do a real job in real time. PS: there are VERY few real programmers today. Damn DEVOPS and CODERS - there is no programmers.

    • (Score: 2) by edIII on Wednesday December 05 2018, @03:04AM

      by edIII (791) on Wednesday December 05 2018, @03:04AM (#769926)

      If you work on one of the older style systems, such as an AS/400 type system, you have to do it all.

      Maybe. It was late 2000's when State Farm was still using AS/400 through all of their branch offices in the United States. I remember being hired because the branch office in question no longer had any terminals at all. Excuse me, they had ONE next to the AS/400, but it was barely working. They had a Windows 2000 Advanced Server with a special board in it that hooked up to the AS/400 with twinax. All of the terminals were Windows 95 machines running a special terminal emulator. It was really funny seeing the old terminal screen in a window next to Minesweeper :) Can't really remember all that much about it, except that all I really needed to do was to service the Windows server and replace the twinax card and configure it correctly again. I never actually touched the AS/400 part of the system.

      The real kicker was that it seemed entirely unsupported by State Farm I think, and the owner had purchased it himself so his employees could work on "real PCs", process PDFs and Word Docs, and still be able to tap into the AS/400 system that communicated with State Farm HQ. Otherwise, it would've been an IT guy coming out from corporate to fix it.

      I thought it was surreal myself, but not as surreal as it still being used in damn near 2019.

      --
      Technically, lunchtime is at any moment. It's just a wave function.