• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact

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: Service Programs And Activation Groups – Design Decisions That Matter

    February 9, 2026 Gregory Simmons

    If you have been writing service programs for a while, you might treat binding like flipping a light switch: write some code, compile it, bind it, done. It works – until it doesn’t. Behind the scenes, IBM i is doing a lot more than just connecting your program to a library of procedures. And if you’re not paying attention to activation groups and how you structure your service programs, you might be setting yourself up for sluggish performance or debugging nightmares down the road.

    Let’s demystify what is really happening when you bind and why activation groups deserve more of …

    Read more
  • Guru: Binder Source Is Your Service Program’s Owner’s Manual

    February 2, 2026 Gregory Simmons

    If service programs are the backbone of modular RPG development, then binder source is the owner’s manual you didn’t know you needed. It’s not glamorous, but it’s the piece that ties everything together: Controlling what you export, defining your public API, and managing change over time. Yet, far too many shops treat binder source as optional – if they use it at all. That’s a mistake.

    Let’s start with what binder source actually does. When you create a service program, you need to tell the system which procedures should be visible to callers. You could just use EXPORT(*ALL) and call …

    Read more
  • Guru: Access Client Solutions 1.1.9.11 – Security First, With Continued Investment In SQL Tooling

    January 26, 2026 Gregory Simmons

    Big Blue has released IBM i Access Client Solutions (ACS) version 1.1.9.11, and while the release is anchored by an important security fix, it also reflects IBM’s continued investment in the SQL tooling that has become central to day-to-day IBM i development and administration. This is not a feature-heavy update on its own, but it arrives after a series of releases that have steadily expanded the usefulness of both Run SQL Scripts and SQL Performance Center.

    The primary driver for upgrading to ACS 1.1.9.11 is the remediation of CVE-2025-66516, an XML External Entity vulnerability related to how ACS processes certain …

    Read more
  • Guru: Taming The CRTSRVPGM Command – Options That Can Save Your Sanity

    January 19, 2026 Gregory Simmons

    If you have ever run CRTSRVPGM without paying attention to its parameters, you are not alone. Many developers just accept the defaults and move on, only to discover later that those defaults can introduce subtle bugs or unnecessary headaches. The command looks simple, but it is packed with options that can either make your life easier or create a ticking time bomb in your system. Let’s talk about a couple of the most important ones.

    One parameter that deserves special attention is OPTION. By default, this parameter is blank, which seems harmless, but that blank value means you’re allowing duplicate …

    Read more
  • Guru: CRTSRVPGM Parameters That Can Save or Sink You

    January 12, 2026 Gregory Simmons

    It was 2 a.m., and the phone wouldn’t stop ringing. A production job had failed, and the error logs weren’t making any sense. After an hour of digging, the culprit finally revealed itself: the wrong procedure had been bound in a service program. Somehow, a silent duplicate had snuck through, and everything downstream was broken. If you’ve ever been in that situation, you know that “it compiles, it runs” is the worst mindset you can have when creating service programs. The parameters on CRTSRVPGM exist for a reason, and ignoring them can turn a simple build into a nightmare at …

    Read more
  • Guru: A First Look at Bob, The IBM i Assistant That’s Closer Than You Think

    December 8, 2025 Gregory Simmons

    I recently was granted early access to IBM’s new Project Bob, and I have been putting the Bob-IDE through its paces to understand what IBM is aiming for and what IBM i developers should expect as the offering matures. Bob is IBM’s emerging AI-powered development assistant and IDE ecosystem designed to modernize how developers work on the IBM i.

    One of the first things that stands out is that the Bob-IDE is not an extension like the older WCA4i project, which was in extension form. IBM learned a lot from that experience, and those lessons led them to take a …

    Read more
  • Guru: When Attention Turns To You – Writing Your Own ATTN Program

    September 22, 2025 Gregory Simmons

    Most IBM i users press the Attention key without much thought. They’re used to the familiar system-supplied menu popping up, or maybe a command line depending on how their profile is configured. But buried in the system is a powerful customization point: you can assign your own ATTN program. Doing so gives you the ability to intercept that key and provide functionality tailored exactly to your shop’s needs. There are three main ways to establish an attention program, each with its own strengths and tradeoffs.

    The most obvious method is at the user profile level. Within the profile’s attributes is …

    Read more
  • Guru: WCA4i And Granite – Because You’ve Got Bigger Things To Build

    September 15, 2025 Gregory Simmons

    They said AI would change everything. Then most of it turned into chatbot demos and marketing decks. But watsonX Code Assistant for i (WCA4i for short), backed by IBM’s own Granite large language model, is doing something IBM i developers might actually care about: Helping you understand, transform, and evolve legacy code without tossing decades of business logic into the fire.

    WCA4i isn’t trying to slap a web UI over your green screens or auto-generate JavaScript for the sake of buzzwords. It’s aimed at something deeper – leveraging an AI foundation model that’s actually trained on IBM i code and …

    Read more
  • Guru: When Procedure Driven RPG Really Works

    July 14, 2025 Gregory Simmons

    In the vast and varied ecosystems of Earth, few interactions between species have captured the imagination of scientists and casual observers alike as much as the relationship between bottlenose dolphins and puffer fish. This curious dance, often involving the deliberate provocation of the puffer fish to trigger its natural defense mechanism, has led to many interpretations – from simple play to speculative pharmacological experimentation. I submit to you today, that in the digital ocean of RPG development, developers should interact with their procedures in ways that, to the outside eye, might seem equally cryptic, yet are deeply intentional, meticulously orchestrated, …

    Read more
  • Guru: Unlocking The Power Of %CONCAT And %CONCATARR In RPG

    April 14, 2025 Gregory Simmons

    When working with strings in RPG, especially in modern free-format code, the %CONCAT and %CONCATARR built-in functions (BIFs) offer efficient and readable solutions for combining strings. These functions simplify the process of concatenating multiple string values, making your code cleaner and easier to maintain. In this article, we will explore how they work and demonstrate their practical applications.

    The %CONCAT BIF allows you to combine multiple strings. It’s a more efficient and readable alternative to traditional concatenation using the + operator.

    Here’s a simple example:

    **Free
    Ctl-Opt Main(CONCAT_1) ActGrp(*Caller);
    
    Dcl-Pr pause ExtProc('sleep');
      time_to_sleep Uns(10) Value;
    End-Pr;
    
    Dcl-Proc CONCAT_1;
    
      Dcl-S firstName 
    …

    Read more

Previous Articles

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • IBM Starts Winding Down Power10 System Sales
  • Guru: Service Programs And Activation Groups – Design Decisions That Matter
  • Strategic Topics To Think About For 2026, Part 1
  • Shield Gooses Performance Of Nagios Monitoring Tool, Adds AI Reporting
  • IBM i PTF Guide, Volume 28, Number 6
  • Rolling The Die In 2026: IBM i Predictions, Take Two
  • Perhaps 2026 Is The Year For Power Systems To Boom A Little
  • Guru: Binder Source Is Your Service Program’s Owner’s Manual
  • Skills Displaces Cybersecurity As Top Concern For IBM i Shops
  • IBM i PTF Guide, Volume 28, Number 5

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle