Mike DeAngelo
t/a A+ Consulting Services, Inc.
P.O. Box 220
East Texas, PA 18046-0220
610-398-1118 (Voice Mail)
Email: aplus@rcn.com

Writing APL Code Since 1973

The following details a thorough (albeit, not complete) description of my world through the eyes of APL (A Programming Language).
It is not in chronological order but instead grouped by the different "flavors" of APL.
First off, no discussion of APL would be complete without giving credit to Kenneth Iverson (12/17/1920 - 10/19/2004), the "Father of APL". Though I never met him (but did work with one of his sons at Morgan Stanley), much of the success I've experienced throughout my career was a direct result of his dazzling creation!
In the beginning ..... STSC (Scientific Time Sharing Corp.)
Plug the phone in where? What's an acoustic coupler? Connect charges, CPU charges? White Plains? Funny typeball, noisy typewriter, coding on paper? Shared variables? My first contact with the APL language, learned through an in-house course taught by STSC at Union Labor Life Insurance Company in New York City, my first job after graduating from Long Island University with a Bachelor of Science Degree in Mathematics. Assignments included the automation of regulatory annual financial statement filing. At The Guardian Life Insurance Company in New York City and Bethlehem, PA, I used STSC APL in automated group policy renewals and calculation of reserve factors by regional office.
A computer that fits on a desk? ..... APL*Plus PC, APL*Plus II 386 (Manugistics)
My first venture into the PC world. After purchasing the APL*Plus software for my own personal use on my first PC (an excruciatingly slow XT clone), I put my experience to use in a consulting assignment at Bethlehem Steel Corporation where I migrated a legacy application from IBM VSAPL to APL*Plus PC on several 286 and 386 PC's. It was during this assignment that I became familiar with and implemented the quad-WIN functions for a more user friendly interface.

With the experience gained at Bethlehem Steel, I went on to several other consulting (and W2) assignments using the APL*Plus family of application development packages at:
  • Cornell Medical Center (in-Vitro Fertilization Statistical System)
  • Saladin (Petroleum Market Analysis)
  • Littlewood Shain Inc. (Banking and Financial Software)
  • Lennon Kress (Retirement Community Management Package)
  • The Hartford (Insurance)

  • I also began to write the early versions of the A+ Thoroughbred Race Handicapper using my personal version of APL*Plus PC. It was during this process that I acquired experience in the use of the "runtime" interpreter designed to accomodate the distribution of software written in APL to users who didn't have an APL interpreter on their PC's. I advertised and distributed the early versions of the program through a "shareware" magazine called "The Software Labs". As the program title implies, it was designed to predict the outcome of thoroughbred horse races using readily available statistics in newspaper format (The Daily Racing Form) as input. At first, the program required manual data entry using "one line at a time" prompts and later on utilized the quad-WIN screen driven interface. When I learned that electronic data files were available containing the same input that users of my program were entering manually, I contacted the company providing the data, Bloodstock Research Information Systems (BRIS) and they were enthusiatically cooperative encouraging me to implement an automated "front end" which I coded to accept their data as input. They also provided free advertising for my program and their customer base was largely responsible for making my program a huge success beyond my wildest expectations. And much of my customer base started purchasing data files from BRIS, my first lesson in "partnering". With this sudden success, I dumped the XT clone and dot matrix printer (actually donated them to a church group) and bought my first serious PC, a Gateway 2000 486/33 "screamer" with a 15" monitor! Only set me back about $3,500. Two Mb of RAM and a 200 Mb hard drive. The envy of the block. A former coworker would joke with me about how the lights in my neighborhood would all dim when I powered up.
    Working with the big boys ..... I.P. Sharp Mainframe APL
    My first contact with this platform was at the Corporate Offices of XEROX Corporation in Stamford, CT. It was a short term consulting assignment to extract data from CRS (Corporate Reporting System) and provide a feed to a PC based external system used by the Auditing Department. This was not a "glamorous" assignment but my exposure to I.P. Sharp APL greatly assisted me in a later consulting assignment at Morgan Stanley Dean Witter Discover in New York City. It was at Morgan Stanley that I had my first real contact with literally dozens of APL programmers, all concentrated in the same office. The learning experience was tremendous as I rubbed elbows with some of the most talented people I have ever met in one place and picked up many skills and techniques. It was also my first experience wearing a "beeper" that went off at all hours of the night for the purposes of troubleshooting software issues experienced by Morgan Stanley employees in Tokyo and Hong Kong as well as correcting the "human errors" in external data feeds. I left Morgan Stanley after the Y2K Project and never used I.P. Sharp APL again but the experience I gained there specifically in the areas of team play and customer service have proven to be priceless.
    GUI, the way to fly ..... APL+Win (APL2000/Cognos)
    This is where the real fun started, writing fully compatible Windows applications. While working at Morgan Stanley, it became apparent to me that I needed to pay more attention to my horse racing software as customers were inquiring as to when A+ Thoroughbred would enter the world of Windows. I signed up for a two day course at APL2000's office in Princeton, NJ and took advantage of a "migration offer" available to registered users of APL*Plus II and obtained version 1.0 of APL*Win. After struggling through the sparse documentation of the earliest Windows version, with the help of an immensely capable, outgoing, friendly - and PATIENT customer support representative (thanks John!) at APL2000 in Rockville, MD, I slowly but surely learned the essentials of becoming a proficient Windows programmer. APL2000's website, specifically APLDN (APL2000 Developer Network Forum) was (and continues to be) instrumental in my continued development as an informed Windows APL Programmer. It was on this forum that I learned many "tricks" that assisted me in developing software to enhance A+ Thorobred (now on version 10.01) as well as automating many peripheral tasks that were previously manual efforts.

    I developed a sales program that integrated with PayPal. Customers would purchase daily reports from my website www.aplusthorobred.com and PayPal would quickly send me an email notifying me of a sale. By incorporating a third party program called DBX Analyzer, I was able to receive and process orders automatically in the APL environment using APL functions running in a 24x7 mode on a dedicated computer. Checking for new orders every 60 seconds, customers would get their reports emailed to them typically within three minutes of purchase. Thanks to APLDN, I also learned how to incorporate keystroke emulation software into my programs allowing me to automate tasks like web browsing, downloading and saving data files. For websites that employ "Captcha" screens to require a "real human" interface, I met the challenge by incorporating a third party program called Snag It to take a snapshot of the Captcha screen and send the image to a cell phone via email. One could then enter the information into an email reply that would be received in APL where the keystrokes solving the Captcha would allow the web session to continue. I also used APL to generate HTML files for the constantly changing pages on my website as well as initiating FTP sessions to make those pages available to the web community.
    Another perspective ..... Dyalog APL (Dyadic Systems, UK)
    I worked at CheckFree (Fiserve) for about three years on their legacy system in a UNIX environment. My least favorite APL platform, quite outdated and "cludgy". Dyalog's Windows APL is much better in my opinion and very similar to APL2000's Windows APL.
    Throughout my many years of APL programming, I've learned that the possibilities are limitless!
    If you can think it, you can do it!
    If your organization has the need for someone with decades of APL experience, someone who loves the language so much that my automobile license plate says "APL PGMR", shoot me an email at:
    Mike DeAngelo, A+ Consulting Services, Inc.