Gregory Simmons
Gregory Simmons is a software engineer with PC Richard & Son. He started on the IBM i platform in 1994, graduated with a degree in Computer Information Systems in 1997, and has been working on the OS/400 and IBM i platform ever since. He has been a registered instructor with the IBM Academic Initiative since 2007, holds a COMMON Application Developer certification, and was recently acknowledged with a speaker award at POWERUp23 as well as a Level 1 Contributor badge with IBM. When he’s not trying to figure out how to speed up legacy programs, he enjoys hiking, backpacking, SCUBA diving, hunting, and fishing.
-
Guru: Speeding Up RPG By Reducing I/O Operations, Part 2
June 12, 2023 Gregory Simmons
Legacy code. Often one admits they have legacy code either with a chuckle or a wince. Nonetheless, it usually is admitted with bad connotations. We must remember though – legacy code becomes legacy code because it works. It performs its tasks day in and day out for many years and is forgotten about. Only the squeaky wheel gets the grease, right?
The problem with this code is that, while it works, decades slip by, and technology evolves. As these decades roll along, we don’t just end up with a few programs that fit this ‘legacy code’ stereotype, we often end …
Read more -
Guru: Watch Out For This Pitfall When Working With Integer Columns
May 22, 2023 Gregory Simmons
Remember that awesome jungle game where you had to guide the hero through a series of increasingly hard obstacles to gather treasure? Jumping over snakes, scorpions, and rolling logs, swinging on vines over alligators –your timing had to be just right. Pitfall Harry survived in a world of 255 screens, each of which were 160 x 192 pixels and a dazzling 128 colors! Well today, I want to make you aware of a pitfall which caught me off guard a while back. I hope this article will help you avoid my pitfall.
There I was, writing my code, happy as …
Read more -
Guru: Speeding Up RPG By Reducing I/O Operations, Part 1
May 8, 2023 Gregory Simmons
Perhaps one of the easiest ways to speed up an RPG program is to reduce the number of I/O operations it needs to perform. In this article let’s explore one simple method for moving toward dataset processing.
Here I have a simple RPG program. Okay, admittedly, we don’t often get to write “simple” RPG programs, but for this example, I have stripped the RPG program down to just the read loop so I can demonstrate the conversion.
1 Dcl-f AcctMstr Usage(*Input) Keyed; 2 Dcl-pr entry ExtPgm('RPGRPT1'); 3 n Packed(3:0); 4 End-Pr; 5 Dcl-pi entry; 6 inBranch Packed(3:0); 7 End-pi; 8
… Read more