Marina Schwenk on Understanding Unit Testing and Modular Coding Using IBMiUnit

I wondered during March’s iChime how many of us were surprised to hear that our special guest had originally wanted to become an FBI investigator.  Fortunately for us, she’d found her real passion within the IBM i community while attending Gateway College and the Wisconsin Midrange User Group WMCPA. And apparently she was hard to restrain in her pursuit of software development.

About five years ago Marina felt at a loss for a good IBM i testing tool.

Granted, testing code is hardly a new concept. Formal testing tools have been around forever. But “unit testing is brand-new to the IBM i community. It’s hardly done and rarely talked about,” Marina explained.

She had originally started unit testing using Java-based tools JUnit and the open-source xUnit. And while RPGUnit is available, it has not been updated in some time. Even better would be a more recent, free open-source alternative to RPGUnit. Naturally she investigated; she dug for evidence that a solution existed. But the case went cold. So Marina developed her own: IBMiUnit.

What is IBMiUnit and how does it help in development?

Within the context of a use case pertaining to as you continue to modify code, test cases will identify if you’ve broken something, Marina stressed the importance of test-driven development (TDD), by which we develop test cases before we write any code, and demonstrated IBMiUnit’s capabilities for unit testing, to test and validate assertions, ensuring early on that code is working properly and existing functions aren’t being disrupted.

That’s how you build confidence in your existing code.

Since unit testing is bench testing, not in its environment, Marina advised that after unit testing should come integration testing in a test environment. Most larger companies will also have a quality-assurance department. But the whole idea is to test the code and get it clean and solid, she explained.

She noted two good additional points to consider: If you are changing the logic of your procedures, you should always re-test; and you will have a much better unit-testing experience when your code is modularized.

From the perspective of an industry veteran, the “big deals” about IBMiUnit might include:
  • It’s free and open-source.
  • Open source is still relatively new to the IBM i community; it’s a whole paradigm shift in how software is being distributed and consumed.
  • Now IBM i can support external environments and a variety of languages.

The takeaway for March iChime’s attendees: They’re going to commit more time to using a tool for unit testing, and they’re looking forward to trying IBMiUnit.

Find it on GitHub here: https://github.com/MarinaSchwenk/IBMiUnit

What did I take away? Marina’s technical development and presentation were great, as was the story of her journey from agent of investigation to agent of integration. But what impressed me at least as much was how much she’s accomplished in five years. Marina discussed another project she developed for error logging, specifically to identify when errors occur. Error messages are captured in a log table and can be interrogated which is helpful in debugging and error trapping. To download the source for this logging project, visit https://github.com/MarinaSchwenk/Logging

Hear more from Marina Schwenk in our Tech Talk at TechChannel: https://techchannel.com/SMB/01/2021/marina-schwenk-techtalk

Thank you, Marina, and to all who joined us in March.

Join us at iChime!

iChime reconvenes Thursday, April 8th, 2021 at 2:00 PM EST.

Special guest: “Swiss Army Knife” Richard Schoen on “See What i Can Do.”

Wondering how not to miss timely and relevant information in a friendly and casual setting in 2021? Sign up here to join us: https://www.centralparkdata.com/ichime-signup.html   

Is there a particular topic or special guest you would like to see? By all means, send us your thoughts at https://www.centralparkdata.com/contact.html

Dr. Frank Soltis inspires on iChime

During our February iChime meeting, the legendary Dr. Frank Soltis, who holds multiple hardware patents, took us through the high points and milestones of his fascinating 40-year career as an IBM chief scientist. This included, most notably to many, as chief architect for the AS/400. To record-breaking virtual attendance, he shared stories of evolution and emergence in terms of technological trends, culture, thought processes and cutting-edge machine design as well as insights to his own pioneer mindset and trail-blazing architectural activity.

Dr. Frank shared details of his journey, when, as a newly hired IBM systems architect working on the System/3(X) midrange business platform line, he was tasked with designing its next iteration as chief architect of the System/38. In line with innovation he had entertained while pursuing his Ph.D., Dr. Frank envisioned a single-level store methodology as, in summary, the least complex and most capable, and efficient way to proceed toward the future, especially with speed, adaptability and multiple-user functionality in mind.

When asked what the key to the AS/400’s success early on was, Dr. Frank attributed it largely to user groups, industry conferences, and also credited business-partners and customer advocacy.

Dr. Frank was a most engaging and inspiring guest.  As we approached the end of our meeting, many attendees “chimed-in” to personally thank Dr. Frank for the system which launched so many careers.  He was certain to remind us all, it was indeed a concerted effort with many, many people to thank; that a project of this scale could never be attributed to any one person. What a wonderful testament to IBM’s management and team collaboration. To read more about Dr. Frank, visit his Wikipedia page at https://en.wikipedia.org/wiki/Frank_Soltis.

Wondering how not to miss timely and relevant information in a friendly and casual setting month after month? Sign up here to join us: https://www.centralparkdata.com/ichime-signup.html  

Is there a particular topic or special guest you would like to see? By all means, send us your thoughts at https://www.centralparkdata.com/contact.html.

Jesse Gorzinski leads the way to Open-Source on IBM i

When I prompted Jesse Gorzinski, IBM’s Business Architect for open source on IBM i and creator of IBM i Access Client Solutions (ACS), “What is open source?” at the start of January’s iChime meeting, I was not surprised by his perfectly succinct reply.

“Open source is any application source code not only where there is a community for you to see the source code, but (that) also has some type of active contribution process by which you can suggest changes and make improvements to suit your needs,” Jesse explained. And “free” means freedom, not necessarily free of cost, he added.

One of the biggest challenges of using open source, he continued, is “the alphabet soup” of different technologies. But, he emphasized, that’s due more to the relative newness of open-source terminology to RPG developers, not to the validity of the methodology. Do not let that intimidate you, he urged as he shared his own journey from RPG developer to now-renowned open-source-on-IBM i expert — a reassuring story met by many nods of testament and a few “Hmmm”s of relief from many of the 60 attendees.

Jesse further explained how some processes which are already developed can easily be integrated into your existing applications and do much of the heavy lifting. Then he delivered to everyone just what they’d needed: a live, confident demonstration of Apache Camel (camel.apache.org), demonstrating with just a few lines of code how we could capture database changes which could be useful for other external applications.

During the session I polled attendees with a multiple-choice survey, asking, “What is your company’s attitude and readiness to adopt open-source solutions?”

Unsurprisingly, more than half (56 percent) replied, “We already have some in production and are always looking for new solutions to integrate.”  Clearly open-source solutions have already made their mark on our community.

What did I take away? The incredible depth of Jesse’s knowledge and passion for the ever-increasing adoption of open-source solutions, and how they clearly and quickly will enhance our existing applications to new heights.

Follow Jesse Gorzinski on Twitter here: https://twitter.com/ibmjesseg?lang=en  

If you want to join the open-source fun on IBM i, be sure to join one of the best collaboritive communities at https://ibmioss.ryver.com/application/signup/members/9tJsXDG7_iSSi1Q.

Already belong to the community? Click here to log back in https://ibmioss.ryver.com/application/login

iChime reconvenes at 2:00 p.m. EST Monday March 8, 2021 at 2:00PM EST.

Special guest: IBM Fresh Face ​Marina Schwenk on “Understanding Unit Testing and Modular Coding Using IBMiUnit, an RPG Unit Testing Framework.”

Wondering how not to miss timely and relevant information in a friendly and casual setting in 2021? Sign up here to join us: https://www.centralparkdata.com/ichime-signup.html   

Is there a particular topic or special guest you would like to see? By all means, send us your thoughts at https://www.centralparkdata.com/contact.html

The New York City familiar renews my optimism

2020 will long be remembered as the year the world stood still.  However, in our eternal quest to make lemonade from even the worst batch of lemons, we journey on.  2020, it is behind us.  Done. Goodbye, Sayonara, Adieu, Adios, Arrivederci, Auf Wiedersehen, Au Revoir, Cheerio…   

I have always enjoyed walking in the footsteps of my ancestors, it fosters a solid connection with my past.  I never imagined however the most recent set of steps I would be retracing would be my own.  In my endless quest to make lemonade from even the world’s worst collection of lemons, and more so in a perhaps desperate attempt to rebound to normalcy, I strolled around Manhattan on an unusually but always welcome warm January 2nd.

Within minutes upon my arrival, inhaling the sweet scents and enveloped by the sounds of that which is New York City, I was transformed to a previous time which moments ago seemed so far off.  Indeed, it was the familiar that brought me back; as your familiar will endow a similar calm on you.

The massive tchotchkes collections.

Pigeons feasting on a benefactor’s generosity.

The 42nd Street subway and Times Square in its unwavering neon beauty, replete with New Year’s Eve confetti resting after its graceful midnight descent.

The welcoming and grateful signs broadcasting hope and optimism.

Central Park with its infinite views and stunning architecture.

And lastly, magnificent mosaic art in the subways.

While progress and spirit uplifting will present itself in fits and starts this year, my hope and optimism for 2021 is limitless.

iChime Year End Recap

It has been my absolute pleasure this year to present iChime members with a class of IBM i experts and other business professionals, and the depths of specialized knowledge and insights they have shared. Those who’ve attended have told me joining the meetings has well exceeded their expectations. To have access to these industry leaders is nothing short of amazing, and our appreciation for them is immeasurable.  As we are planning for 2021, we already have some esteemed guests scheduled. With that in mind, here is a look at some of our recent meetings.  I again thank our guests for the time they spent with us for the following:   

August 18

Mike Pavlak discussed technology in the Covid-19 era, including how remote team-management has changed from a company’s perspective, the fact that some jobs require us to work with others onsite, and how to effectively manage bedlam to sustain business as (not-so-) usual. Mike’s take on how the pandemic has impacted user groups ushered positive perspective with food for thought: User groups that have adapted their models to all-virtual have leveled the playing field, whether organically or intentionally, developing an international presence within a changing landscape whereby the newest and smallest of user groups can now compete with the largest and most well-established on a global scale.  Speakers may need to up their games regarding fresh content development though, as it won’t be so easy to recycle and reuse presentations they’ve already delivered elsewhere.

September 10

In his presentation “Exploring the New Power of Db2 for IBM i,” Scott Forstie discussed the latest features of IBM i Access Client Solutions (ACS) and demonstrated some of the newest IBM i Services. These included the robust IFS services, such as identifying large and/or unused files, and consuming a JSON web service. As a senior software engineer at IBM and the Db2 for i Business Architect, SQL development leader, and IBM i developerWorks content manager, Scott possesses a wealth of expertise pertaining to database, SQL and more, and he generously delivered to attendees. As a special bonus, he shared his entire SQL script with the group.

October 7

Dawn May’s presentation, “Understanding IBM i System Health and Performance,” clued us in on new features, including IBM i services specifically for performance, and how she reviews IBM i performance and system health using the many free IBM i tools already provided with the system. Dawn shared valuable tips on how to use system watches, managing system pools, Performance Data Investigator (PDI), data collection and analysis and more. She even made a superb recommendation to one of our members in real time, which reduced an SQL query run time from longer than four minutes to less than 5 seconds. Amazing! Big takeaway: There’s a vast array of free tools and performance and system-health information out there! You just need to know where to find it. (And now we do.)

November 5

Robin Tatam discussed best practices of securing IBM i and the database, among other things, in his iChime delivery of “IBM i Security Considerations, Common Threats and How to Address Them.” His professional insights ran the gamut, addressing the various methods of data encryption, Single Sign-On (SSO), and the importance of password maintenance and proper management and distribution of the QSECOFR user ID, and all object level of authority, as well as known vulnerabilities and how to quash them. IBM i is in fact the most securable platform on the planet. The key is to know how to secure it. Those who attended Robin’s essential presentation now have the key.

Always looking forward

Wondering how not to miss timely and relevant information in a friendly and casual setting in 2021? Sign up here to join us in the New Year: https://www.centralparkdata.com/ichime-signup.html  

Is there a particular topic or special guest you would like to see?  By all means send us your thoughts at https://www.centralparkdata.com/contact.html.

iChime reconvenes at 2:00 p.m. EST January 12, 2021. Special guest: 2019 IBM Fresh Face Marina Schwenk, presenting “Understanding Unit Testing and Modular Coding Using IBMiUnit, an RPG Unit Testing Framework.”

Susan Gantner and RDi shine at December’s iChime meeting

Some 60 IBM i professionals joined for this month’s iChime virtual meeting, availing themselves of a free opportunity to hear Susan Gantner, one of the most recognized speakers in the IBM i community, present “Best Practices of Modern Application Development Using Rational Developer for i (RDi).”

Among other things, Susan, discussed the importance of keeping current with skills and continuing education. She was very engaging and insightful, but that didn’t surprise me. What did surprise me: In all 90 minutes of the discussion, not once did Susan share her screen.

From our survey presented during the meeting, forty percent of the iChime members said they “always” use RDi for programming tasks. Twenty-four percent said “mostly.”

As those who use it know, RDi supports plugins. And many members may already be using the free, open source iSphere RDi plugin (http://isphere.sourceforge.net/), co-owned by Thomas Raddatz of Tools/400. To my further surprise during this meeting, Thomas “chimed-in” as well! I identified him to the group, he spoke briefly about recent enhancements to iSphere, and it was a thrill to have him among us.

Thank you to all who attended, and many thanks to our special guest and informative presenter, Susan Gantner.

iChime convenes again at 2:00 p.m. EST January 12th, 2021.

Special guest: 2019 IBM Fresh Face Marina Schwenk, presenting “Understanding Unit Testing and Modular Coding Using IBMi Unit, an RPG Unit Testing Framework.”

Sign up at: https://www.centralparkdata.com/ichime-signup.html   

We’d love to see you there! Until then, I wish you all a peaceful and joyful holiday season, and a prosperous 2021!

The time is NOW to retire the creaky old bones of fixed-format RPG

I was surprised to recently encounter a fellow veteran RPG developer who insists on using fixed-format despite all the advantages of the completely revamped, modern-language fully free-form version.  For starters, he defended fixed-format for its 1) “easier to read columnar format” and 2) “keeping the senior developers in their comfort zone is important.” All efforts and reasons to switch to free-format were soundly rejected.  Some of my reasons included:

  1. It’s flexible as businesses and technologies continue to evolve.
  2. The new efficient functions are only available in free-format.
  3. Newer coding techniques improve readability.
  4. Improved readability speeds up maintenance understanding.
  5. Maintenance can be done by a wider swath of developers.
  6. A wider swath of developers can deliver critical solutions faster.
  7. Delivering critical solutions faster……

Want more proof of continuous improvements to the language? Visit IBM’s RPG Cafe at www.ibm.biz/rpg_cafe. Despite the many redeeming qualities of free-format, we continue to propagate the old language simply because we can. All that legacy code “ain’t (necessarily) broke,” and computers are backward-compatible. But that’s no excuse for perpetuating the need for backward-compatibility. That should be considered a bonus, something buying us extra time to get up to speed and future-compatible.

We need to up our game.

In a recent post on LinkedIn (https://www.linkedin.com/feed/update/urn:li:activity:6722136424189186048) I asked how many shops and developers are committed to fixed-format RPG, and why. Most, regardless of age and experience, were advocates of free-format, and rightly so. As several commenters noted, the difference between the older and newer forms is not about the ability to write quality code; you can write good or bad code in either fixed or free, or any other language for that matter. They’re correct. It’s really about being comfortable, confident and accountable for the futures of our employers, our customers, our co-workers and our industry. For that, we must be willing to grow. And growth requires change; it demands leaving one’s comfort zone to learn and practice new things.

While my fellow RPG veteran argued perhaps the most “redeeming” quality of fixed format is that it does not require developers to change, I reject that notion. It is incumbent upon leadership to demand high quality code. Moreover, talented newer-generation developers who know free format and understand its virtues may not (or more likely probably not) stick around a shop that forces them into fixed only.

To the “old-timers” resistant to change, I urge: Do not be afraid to venture out. Remember who you are. You started out as the ultimate adventurers, lured by the dare-we-imagine possibilities of what was once the stuff of science fiction. You turned cool concepts into possibilities and imagination into real-world experiences. And you’ve watched — even led — with awe the trends that land us here on the tech-forged cusp of the year 2021. Consider what your employer, peers and customers need from you now. Are you delivering something that sets them up for business growth — or for limitation, frustration, and stagnation?  Choose your legacy.

Top Three Lessons From a 25-Year Journey

This final quarter of 2020 marks 25 years of dedication to development, innovation and service here at Central Park Data Systems. The journey through the infinitely progressive technology landscape has been at times a sprint, over time a marathon, and for sure, in uncertain economic times and times of retrospect quite an interesting stroll. Albeit a brief stroll, as the pace at which technology advances leaves us little time to linger.

Yet the reflection is warranted, if not necessary. It helps keep us grounded within our powerfully compelling virtual universe and properly directed as industry professionals amid constant change. And celebration here at CPDS is also time worth spent, as the spirit evokes a sense of gratitude for and stewardship of all the gifts we’ve realized along the way — the three most prolific of which just keep on giving, so I share them with you:

  1. Technical expertise – I embarked on this journey in 1995 as a team of one. Within two years, increasing recognition of the potential threat of Y2K had spawned epic panic worldwide. Luck had my back as four very talented developers joined the team and together we continued in stride over that mountain to the other side. Since then we have focused largely on development of application solutions to help bridge the gaps between user and enterprise applications and services that meet the growing demands of technology’s increasingly rapid acceleration. As application development continues to evolve, it has shifted to become more reliant upon external services, modernization and extending overall value and utility. We continue to apply our knowledge and skills to meet these critical yet exciting challenges, enhancing and modernizing applications and holding ourselves accountable daily to our end goal: to best exploit and leverage powerful tooling and technologies so our customers and fellow developers within the IBM i community are always in line with their own end goals.
  2. Mentorship – I don’t believe in too many “accidents” in such a synergistic world. Yet as if by chance, more business owners, tech peers and others than I can count have risen since the start to play key roles in my professional development and business navigation. Looking back I see how they’ve educated, enlightened, inspired and advised me in ways they were never obligated to do.  That spirit prevails at CPDS as we strive to give back in mentorship and support to veteran developers and startup entrepreneurs throughout the IBM i community by way of continuing education and our steadfast commitment to the IBM i platform. This includes speaking at conferences, assisting and hosting user groups, tutorial video creation, industry blogging and writing, and, as of most recently, representing as an IBM Champion and as the founder and host of the new iChime virtual meeting group, all to help others to grow and succeed as we continue to do. To this end, consider two questions for a moment: Where do you see yourself in the year ahead in terms of mentorship? And what is a mentor, really? Non-scientifically speaking, I suspect it is a hybrid breed, a cut above the average, inspired by his or her own sense of gratitude for and stewardship of the gifts of professional wisdom and integrity cultivated along one’s own journey. Find your mentors, and/or become one to others — even if “accidentally.”   I promise you: The rewards are endless.
  3. Teamwork – Above all else, I attribute the longevity of CPDS to its exceptional team of like-minded staff. I am convinced that more than anything  it is singularity in mindset that has delivered us to celebrating what in 2020 seems like light years together. While essentially simple, that mindset is perhaps the most powerful driver into the ever-unfolding future: It’s an ongoing commitment, in lock-step with our company mission, to deliver well-tested, reliable working solutions and nothing short of excellence in service to our customers worldwide.

If I could inspire in you anything at this point of reflection, it would be to heed and develop these three elements as they pertain to your own work, and to keep giving it all your best. You can never give too much of a good thing because, as you’ll witness, you won’t actually lose it. You keep getting it back, as it perpetually returns, in one form or another, to its generous and diligent source.  To everyone I have met on this wonderful journey, a very sincere and heartfelt thank you.  

Being an IBM Champion

“Congratulations, you’re an IBM Champion!”  And so went the email subject line I received in late 2018 for the upcoming calendar year.  The email continued, “Hello, and welcome! After reviewing and evaluating your contributions to the IBM technology community over the past 12 months, IBM is happy to announce that you have been selected as an IBM Champion for 2019.“  As I am now finishing my second year as an IBM Champion, I would like to share what the program means to me, the benefits of the program, and information about the nomination process itself.

On being an IBM Champion

Being a part of this program has positioned my career to a higher trajectory.  Below I have listed just a few of the many reasons of what being an IBM Champion means to me.

  • Community – Being a speaker in the IBM i community for many years has allowed me to expand my business relationships and friendships with like-minded professionals quite literally around the globe.   It is true, with the added value of the Champion program, that my professional universe has expanded many, many times, giving me unique access to some of the top people in their area of expertise.  There is an inherent global camaraderie that is second to none.
  • Validation – The IBM Champion program is highly respected in the community and belonging to this program affirms my commitment to both IBM and my overall career goals.  It also creates incentive to not only continue my community contributions, but to expand how I deliver this expertise.
  • Success begets success – Having access to relevant industry information enhances my professional standing.  It also provides me with the opportunities to more deeply research technologies and movements that I may not have been exposed to otherwise.  This in turn allows me to share topical information with my own customers and business associates.  It is a true circle of knowledge distribution. 

Some recent cool examples of events I learned about through the program:

IBM Expert TV – www.ibm.biz/experttv – Free shows, featuring expert advice on AI, automation and cloud

Call for Code – www.ibm.biz/callforcode – “Invites developers and problem solvers around the world to build solutions that fight back against the most pressing issues of our time.”

Project Debater – www.ibm.biz/debater – “The first AI system that can debate humans on complex topics.” In addition, you can join in on an active debate at www.ibm.com/debatable

The benefits: Champions to the left of me, champions to the right

The Champion program is not about one platform or technology.  Instead, its members span a wide breadth of IBM expertise and experience.  For example, my specialty is IBM i and I am listed in the Power Champion group.  Champions are nominated and selected every 12 months, and the term runs from January 1st to December 31st.    From the IBM Champion website – “IBM Champions are experts and thought leaders around IBM products, offerings, and technology. And they are driven to share their knowledge and expertise to help others.”

To learn much more about the program details, visit the IBM Champion website www.ibm.biz/champions.  On this site you will be introduced to the program director, Libby Ingrassia.  Watch this informative welcome video, in less than four minutes you will have a much deeper understanding of the program’s full scope and mission.

Qualifications and nominations

Quoting again from the IBM website, “IBM Champions are experts and thought leaders around IBM products, offerings, and technology. And they are driven to share their knowledge and expertise to help others. IBM Champions are often answering questions, creating content, running user groups and events, and helping others in the community to better understand the possibilities their investment in IBM offerings brings.”

You can nominate yourself or someone else who you feel fits these criteria.  Learn more about the nomination process, including currently supported areas at https://developer.ibm.com/champions/#.  **IMPORTANT** The nomination period will run through November 30th, 2020.

Putting it all together

The richness of access to and learning from top experts in many areas of technology is fantastic.  Whether you are in the program or not, you can get readily engaged with IBM champions by searching for #ibmchampion on the popular social media platforms.

IBM’s Access Client Solutions highlighted in iChime

IBM’s Access Client Solutions (“ACS”) was featured at the July 28th, 2020 meeting of iChime.  Special guest Tim Rowe offered a live demonstration of the many features and recent enhancements to this product as well as additions to IBM i services.  Amazing!  One great example was a quick way to interrogate directory sizes in the IFS.  These new features will provide developers an even quicker path to adopting SQL into their application toolbox.  Any developer or system admin who is not using this very powerful tool is surely not taking advantage of one of the best ways to interact with IBM i. To learn more about ACS including how to download it, visit https://www.ibm.com/support/pages/ibm-i-access-client-solutions.

Another item worth noting is Tim and Scott Forstie’s free video blog series iSee. These videos are hosted by COMMON and are available to both members and non-members.  These informative videos are worth your time and will accelerate your adoption and productivity in using ACS.  To learn more you should visit https://learn.common.org/products/ibm-isee-video-blog and click on the “Content” tab.

You are welcome to join!

Our next meeting is scheduled for Tuesday, August 18th, 2020 at 2:00PM Eastern (New York) time.  Mike Pavlak will kick off our discussion with how technology is evolving in the era of Covid. Mike has been working with IBM midrange developing applications using RPG & CL, managed IT development and IT for power protection manufacturer Tripp Lite.  An advocate of open source solutions, he now works as a Solution Architect with Profound Logic. In addition to several roles as a volunteer with COMMON Mike also teaches part time at Moraine Valley Community College in Suburban Chicago.

To register and be notified of future meetings, visit www.centralparkdata.com/iChime.