Entries by Alan Seiden

Code for IBM i Fridays: A Free Seiden Community Event

The Code for i extension to Visual Studio Code (VS Code) has become ever more popular and powerful. It’s also free and open source. In the open source spirit, Seiden Group has been hosting online gatherings to share, learn, solve problems, and contribute improvements to Code for i. Hosted by Alan Seiden, the meetings often include guests such as Liam Allan, the originator of Code for i.

CDQuery: An Alternative to Db2 Web Query

After IBM abruptly withdrew Db2 Web Query from marketing last October, clients began asking for a replacement. A solution was at hand with CDQuery—a fascinating analytics package developed by our valued international partner CDInvest, led by IBM Champion Koen Decorte. The feedback on CDQuery has been so positive that we’re working with Koen and his team to bring CDQuery to the North American market. We’re recommending it to clients who need to replace Web Query.

Which PHP Versions Get Critical Security Updates?

Although there are many reasons—including performance—to update to newer PHP releases, the number one reason is to avoid losing security updates. Each version of PHP (7.4, 8.0, 8.1, 8.2, 8.3, etc.) has three years of support before it is considered end of life. For two years, it gets bug fixes and all security fixes. In the third year, it gets only critical security fixes. After that, nothing!

How to Protect Secure Websites & APIs from Certificates Expiring

If you have encrypted your website, API, Telnet server, or other service with TLS (SSL), good for you! Now, do you know when those certificates will expire? If they expire without renewal, your service could become unavailable without warning. In the past, to find expiration dates for digital certificates on IBM i, you’d either have to look in the Digital Certificate Manager (DCM), call the Retrieve Certificate Information (QYCURTVCI, QycuRetrieveCertificateInfo) API, or keep extremely good notes! CERTIFICATE_INFO, an IBM i service recently delivered by IBM, solves all this. This SQL table function, documented here, returns a result table that contains…

Node.js v20 and Other Updated Packages Require New IBM i Repositories

As we mentioned in our article on installing ODBC via yum, the latest IBM i open source packages require new repositories. A notable example is Node.js v20. When we hear users say, “I don’t see Node.js v20 listed in available packages, and yum returns ‘No package nodejs20 available‘,” the reason invariably is that the new repositories, ibmi-base and ibmi-release, have not been installed.

What IBM i Users Should Check when Learning of an Open Source Security Vulnerability

A client asked about a vulnerability found in libwebp, which is used by PHP’s image-handling gd extension. My first step was to find a reputable source for details. According to this trusted article about the vulnerability, the issue affected only libwebp versions 1.3.1 and earlier. I checked our own system and found we had a patched version from IBM, so we were safe. The client was, too. Here is the procedure you can use for checking the version of this or any other open source package on IBM i.

APCu Extension Added to Seiden CP+ PHP

PHP sites and APIs on IBM i have a new way to run even faster. As noted in our CP+ PHP Changelog, we have added the APCu extension to our PHP distribution. The APC User Cache (APCu) extension is an “in-memory key-value store for PHP” that evolved from the old APC extension (minus the opcode caching). We added APCu at the request of a Linux PHP user who migrated their PHP application to the IBM i to simplify their architecture.

Finding Security Fixes for Apache on IBM i

The Apache-based IBM HTTP Server for i is a vital defense in web and API security for IBM i. As such, it requires regular attention. IBM Support’s PCI Compliance web page is a resource we use to help our clients protect their systems. Even if your organization does not process, store, or transmit credit card information, applying the PTFs recommended for PCI compliance constitutes a general best practice for IBM i web and API security.

Our Favorite ibm_db2 Settings for PHP

When supporting our Seiden CP+ PHP, we found that documentation for the “classic” ibm_db2 extension for IBM i wasn’t easy to find. To help ourselves as well as others, we updated the PHP.net manual to describe each ibm_db2.i5_* setting. This blog post links to that manual page and highlights a few of our favorite ibm_db2 settings.