Speed Up Web Pages Using Apache’s mod_deflate

Apache HTTP Server ProjectWhen we do performance assessments for web applications running on HTTP Server (Powered by Apache) for i, one of the first things we do is enable a powerful Apache extension called mod_deflate. Just as zipping up files on your PC saves space and accelerates file transfers, mod_deflate compresses output from your server before sending it over your network.

Does it really work? My tests show a speed improvement of 10 to 50 percent!

Read more

Git for All Your Code

IBM i + GitGit has become the de facto standard for open source version control. Nevertheless, while your team may be using Git for open source code, your traditional IBM i programs and other code may use no version control at all, or be stuck in a repository that is difficult to access.

In this article, we’ll cover why you might want to move code to Git and suggest tools that make the move practical for IBM i teams.

Read more

Troubleshooting “already been bootstrapped” Message on IBM i

Setting up the open source environment on IBM i from Access Client Solutions (ACS) is usually easy, but sometimes you can run into problems. The most common error is when ACS claims that the environment is already set up (“bootstrapped”), when in fact it isn’t. Confusing!

Read more

Visual Studio Code, RPG and Code Coverage

This is the second post in my series on RPG and COBOL development using Visual Studio Code and Code for IBM i. Today’s topic is Code Coverage.

What is Code Coverage?

This stackoverflow answer explains precisely what Code Coverage is:

Read more

How to Validate Self-Signed SSL / TLS Certificates from IBM i

(Co-authored by Gautier Dumas and Calvin Buckley)

When we use open source languages such as PHP, Python, and Node.js on IBM i to help companies build and access APIs and other resources, we expect these resources to be protected with encryption (for example, the https:// protocol). Further protection is provided by an SSL / TLS certificate that can be authorized, or signed, by a popular certificate authority such as Verisign,  Comodo, or Let’s Encrypt, or signed internally by the company itself.

Self-signed certificates are most useful in situations where public trust of a certificate is unnecessary, such as:

Read more

How to Measure Python Speed with QCachegrind

Python on IBM iWant to know which parts of your Python program take how much time? Which parts are slow, and how often they are called? Python includes tools to measure speed, but it’s not easy to visualize their meaning.

To make it easier, the QCachegrind tool graphically displays profiler output from a variety of languages. We first introduced our build of QCachegrind as a PHP tool, but you can put your Python programs under the QCachegrind microscope as well.

Read more

Free PHP on IBM i: from Basic edition to RPMs

open phpLast week, Perforce announced plans to withdraw Zend Server for IBM i “Basic” by June 2021. Filling the gap is license-free “community” PHP for IBM i, installable in RPM format.

Seiden Group has been assisting IBM i clients to adopt Community PHP since its introduction last year. We’ve helped with both first-time PHP installations and migrations from Basic.

Read more

Free and Open PHP on IBM i

open php ibm iA new flavor of PHP has arrived in IBM i-land. Some call it “free.” Some call it “community.” As described in a recent IT Jungle article, PHP is now available on IBM i as a lean RPM download that does not require Zend Server.

Our friends at IBM and Zend (now Perforce) have packaged a bare-bones PHP edition for customers who want PHP but don’t feel they need to purchase the extra tools of Zend Server.

I’ll share what our open source experts at Seiden Group have learned as we’ve installed and optimized both traditional Zend Server and “open” PHP for our customers.

Read more

Five Reasons We Use Git to Manage IBM i Source Code

GitIf recent customer requests for Git training are any indication, this popular, free, open source tool for managing source code is gaining momentum and will soon be mainstream on IBM i.

Read more

Integrate Python into CL and RPG on IBM i

python trainingPython has been gaining momentum for building utility applications on IBM i, such as creating/reading Excel files, data transfer, process automation, calling REST APIs such as Salesforce and ServiceNow, and application monitoring.

Although some have said that Python would become the “new CL,” one limitation remains. While Python can easily call CL, RPG, and COBOL programs, calls in the other direction—from CL, RPG or COBOL to Python—required extra effort.

Read more