Are you good at crafts or building things? What's something you've made and are proud of?
Since I’ve mainly been an I.T. guy, building things is sort of what we do, which I’ll demonstrate in a bit. But for actual physical objects, there are two that come to mind. First is a baby blanket I crocheted for my daughter. No fancy stitching, just the basic one, and I used a multi-colored yarn to make it look interesting. I spent hours and hours at night looping and pulling yarn and I’m quite proud of the result. The second thing is the recent basement remodel, replacing almost everything including ceiling tiles, doors, and paneling, replacing the old shag carpeting with vinyl flooring, and applying a fresh coat of paint. This was by far the biggest home project I’ve ever tackled, I learned a lot, and in the end, it’s a hell of an upgrade. I also know my limits; I don’t tackle plumbing or major electrical projects. Basically, anything that can ruin my house if done wrong I leave to the professionals. But with YouTube videos as a resource, I take on many more tasks than I used to.
I mentioned in response to a previous question that I wrote a new online admission system for Wright State University, and while those were by far the largest programs I’ve created, four other creations contain fond memories. First, and as part of the admission system effort, I wrote an online screen generator for IBM’s BMS (Basic Mapping Support). Instead of coding punch cards to describe a screen with field positions, lengths, validations, colors, etc., my program was visual. The programmer would bring up my blank screen and enter field names and labels where they wanted them to be, then attach the other attributes to them. Using the card approach, a single change to one field’s length may require dozens of changes to other fields to keep the screen nicely aligned. With my program that could be done in a few keystrokes. Nothing like it existed anywhere at the time and IBM came in to take a look at what I had done, interested in possibly buying it. While that never came about, I was pretty stoked that they had been interested.
Also while working at WSU, I wrote an assembler/VTAM program for the staff that types various input from the university’s departments onto punch cards. My primary purpose was to learn how VTAM programming worked, but also demonstrate to the staff how we could speed up data input and perform some field validation to avoid much of the input that had to be corrected from being typed incorrectly in the first place. This was not a really big effort, but the payback came during my interview with The Mead Corporation. The Manager of Technical Services, Shafter Pierce, asked me if I knew anything about VTAM programming in Assembler, as they needed to add VTAM support to their homegrown Fast Response online system, which only worked with TCAM, a similar but different communications frontend. I answered, to his dismay, that I did and explained what I had created at WSU. He probably thought that it was more likely that I was lying to get the job, but the in-depth answer I gave him left him no choice but to acknowledge I really knew how to program that. In my first year at Mead, I was given the task to add VTAM to Fast Response, which I did, the hardest part was figuring out exactly where in the millions of lines of Fast Response code to add my stuff. This is one of the biggest examples of something I did just because I wanted to learn something but then turned out to be really valuable in a future project. Seems to happen to me a lot.
My last programming example is the creation of three digital filing apps for the last two companies I worked for, Catalyst Paper and ND Paper. Damage Claims, Customer Service, and Accounts Payable all maintained many onsite filing cabinets, and a lot of offsite storage, for the many business documents they used to process orders, payments, and claims, but also needed to be kept for legal records retention requirements, generally seven years. Damage Claims was the first, and like the others that followed, the need for a digital solution was driven by running out of filing space, which would have caused more office space and filing cabinets to be acquired at considerable expense. After meeting with them, I quickly determined that everything they received, forms, photos, etc., was already coming in electronically, most through email and their attachments, but also from SAP, their ERP system, websites, and a few others. I put together a proof-of-concept demo system using Google App Script, which I had never used before, and rewrote it in Microsoft Powershell to make it more maintainable. After I retired, the Customer Service and Accounts Payable teams received permission to bring me in as a consultant and write similar systems for their needs. All these efforts resulted in the avoidance of more filing space and in some cases reduced the number of existing cabinets they needed, These systems also made document sharing easy and one of their favorite features, responding to the constant requests from internal auditors for documents, turned a typical request from a few hours to a few minutes. But by far the biggest feature, and certainly well-timed, was the ability to work from home as easily as being in the office. That wasn’t seen as a big benefit, more a nice-to-have, but then the COVID-19 lockdowns required everyone to work at home for over a year. Without these systems, they say they don’t know how they could have done their jobs.
Finally, the most boundary-pushing project I took on was for a graduate-level Operations Research class. We had learned about linear and integer programming and how they could be used to find the absolute best solution to many business problems. For one class assignment, we had to find a suitable problem, gather data and build an optimizing model. At that time I was managing the Network Services group at Mead and they were acquiring the Zellerbach distribution business to add to their Mead Merchants business unit. Zellerbach had 30 offices, including about 5 regional hubs. My data group’s task was to install networking circuits to all the offices with a second circuit into the hubs to provide redundancy. We created our parameters including a maximum of four drops per line and a maximum of 50% line utilization, which we based on sales volume compared to the existing Merchants locations. We turned over our requirements to AT&T to design the most cost-effective solution, but then I realized that maybe I could use this for my college project. After a week of contemplation, I figured this would make a great project. I had to write two PL/1 programs to generate every combination of cities that fit the restrictions, which generated a 30-row, 20,000+-column integer program for our mainframe-based linear programming software. I used distances between cities from our mainframe MileMaker software as a substitute for line cost. The model was configured to find the shortest total distance that met all the requirements. I submitted it to run at night and woke up the next morning with it still executing. I figured out at the program was spending most of its time swapping pages of memory to and from disk, a result of this being a huge matrix to solve. But as a systems programmer, I knew how to keep the swap dataset in memory, made that change, and submitted it again, and saw that it fixed the problem. It took several iterations to get a final network solution, and some of those tries demonstrated how close I was to bumping up against the maximum model I could solve. I turned my solution over to AT&T to price and compare it against their world-class INOS network design tool’s solution. My design beat theirs by $100 per month. Not a lot, but a win! I packaged up all the documentation for the assignment, about an inch thick, and submitted it as required at the final exam. The professor was looking at the various assignments turned in while we took the exam, usually spending 30 seconds to a minute on them. When he came to mine, he read for 5 minutes, got up from behind his desk, walked around the room, still reading, and walked out the door down the hallway, returning several minutes later. I figured he was impressed and I would get a good grade, which I did, an A+.