IBM 5251 terminal USB conversion (but not what you think) – deskthority

This is a continuation of this post where I describe an IBM 5251 terminal I recently found. It is about a USB conversion, but not what you think…

terminal.jpg (241.32 KiB) Viewed 20309 times

This terminal is in good shape and doesn’t need a restoration at all, it doesn’t even need a deep cleaning, so an obvious question was what was I going to make with it to have some fun.

One possibility was the usual direct USB keyboard conversion (commonsense, xwhatsit) to use it in a modern machine, but I already have a converted Beamspring and I would have no use for another one. I also didn’t want to throw the keyboardless terminal away once the keyboard was converted.

Another possibility was plugging the terminal itself to something to use it, but I would need a System 36/38 or an appropriate AS/400, that I don’t have space for or desire to get. There is no way (or at least I haven’t discovered it) to plug this thing to a modern system, for several reasons:

Twinax_Stecker.jpg (223.49 KiB) Viewed 20309 times

The physical interface is Twinax cable, that is a weird dual core shielded cable similar to coaxial that is nowadays very obsolete. There are twinax ISA cards out there (I have one for an IBM 5160), but there is another problem with them.
The second problem is that the 5250 protocol is master-slave and the host acts always as a master, so even if you plug two terminals together or a terminal and a PC with an ISA card there is no way the terminals and the PC can talk to each other. The PC software available is terminal emulation software, not host emulation. The only hosts available are “real” hosts and as I said I don’t have one.
The third problem is that the 5250 terminals use EBCDIC character encoding, essentially proprietary IBM shit that was very different from the standard ASCII.

So I felt I only had a very heavy dead weight catching dust, beautiful but useless. I wanted to change this so I started this project to make a custom conversion with this objectives:

Build a physical interface to convert from Twinax to USB.
Build a protocol converter to read and write 5250 frames from/to a PC.
Program a terminal converter to adapt a Linux-friendly terminal to the available 5250 commands and EBCDIC charset.
Post an entry in desthority,net from the terminal (!).
Entertain me during the pandemic.
Do not burn too much money in the process.

I will leave the technical details for a later update, but I have managed to get all three components working, here is the converter prototype:

conv1.jpg (530.3 KiB) Viewed 20309 times

It is somehow like a “Frankenstein” of different parts: A physical interface based on a couple of SN7511X line drivers and a LM361 analog comparator, the wire protocol converter is implemented using a Teensy 4 (very powerful and easy to program indeed, I’ve fallen in love with it), and the terminal conversion is implemented with a Python script in the PC side (for Linux only).

And this is the final result, a bash shell on the 5251 that is now fully, or at least 99% VT52 compatible.

cmdline.jpg (207.31 KiB) Viewed 20309 times

Positive aspects from the project:

The 5251 is back to life.
Best keyboard ever in its original package.
Loud as hell.
No need to modify the terminal, just plug to the standard Twinax connector.
Can be used 152 meters away from the computer, if you have enough money to waste in such a cable.
Learnt a lot of stuff in the process.

Negative aspects :

It is still a heavy beast, I hardly can put it over the table.
The converter needs external power.
It is not the fastest terminal ever, specially for scrolling text, but it is perfectly usable
Lacks some important characters on screen. For example, in my spanish version there are no dollar ($), pad (#), or exclamation (!) characters (c’mon IBM…).
The original 5251 keyboard controller only supports three break keys (as those who use an external converter know well) so you have just one SHIFT, one CTRL and one ALT, and they have to end up in weird positions, so it’s not ideal for daily usage.
Probably the most expensive and troublesome way to get a simple Linux bash shell nowadays.

Now some pictures and videos of the working terminal.

Closeup of the adapter.

conv2.jpg (502.5 KiB) Viewed 20309 times

The adapter wired to the computer, to the terminal and to an external power supply.

conv3.jpg (474.66 KiB) Viewed 20309 times

A couple of screenshots.

banner.jpg (253.34 KiB) Viewed 20309 times

browser.jpg (256.5 KiB) Viewed 20309 times

Quick video showing the command line and a couple of apps, including browsing deskthority.net!

Note the insanity of the way IBM implemented the audible alert (BEL character) using the keyboard solenoid rattling like a machine gun. The first time I hear it I almost fell off the chair.

And this is the real killer app for this terminal, cmatrix!

cmatrix.gif (3.65 MiB) Viewed 20309 times

As I said the technical details will follow in later updates, but I suppose that people that could be interested in replicating this can be counted off the fingers of one hand…

COMMON 2023 Board Elections – COMMON

Submit Your Application

COMMON will begin accepting applications for the 2023 Board Elections starting on January 30, 2023. If you are interested in applying for the COMMON Board, please submit the application below.

The deadline to submit applications is

February 24, 2023

. The Nominating Committee will review all applications and conduct interviews with each potential candidate. A Slate will be presented to the Board for approval. 

The final Slate of candidates for the 2023 Board Elections will be announced and presented for voting by the membership beginning March 27, 2023 through April 26, 2023. The winners will be announced at the Meeting of the Members during POWERUp 2023 on April 27, 2023.

Learn more about the Board here.

If you have any questions about the Board Elections, please contact Manzoor Siddiqui at [email protected].

Common: iSee SQL Building Blocks – Dates and In-Line Functions

In this session, Scott and Tim will look at several key building blocks for better SQL. We will review Dates!  How do you move a decimal value to a Date value, what about a character value to a Date, we will look at some in-line functions that a key to easily being able to navigate the world of dates.

Scott Forstie

Db2 for i Business Architect

Scott Forstie is a Senior Technical Staff Member within IBM i development and spends most of his time working as the Db2 for i Business Architect. He has worked on IBM operating system development since joining IBM in 1989.

Scott is a frequently published author, speaker at industry events around the globe and can be found @Forstie_IBMi and [email protected]. Scott is an avid runner and enjoys cooking.

$i++ ?>

Tim Rowe

Business Architect Application Development & Systems Management for IBM i

Tim Rowe is the Business Architect for IBM i responsible for System Management and Application Development. He has a passion for modernization on IBM i and how we can continue to move IBM i into the world of ‘Normal’ . In his spare time he is a certified Soccer referee and enjoys refereeing games with his youngest son.

$i++ ?>

Key:

Complete

Next

Failed

Available

Locked

Video

Open to view video.

SQL Script

Open to download resource.

Open to download resource.

Guide to User Acceptance Testing. Preparation and Initiation

User Acceptance Testing
The ultimate guide

Preparation and Initiation

There are many things to consider in developing a plan; this covers the majority of considerations but may vary from project to project.

Understand and capture business processes

Know how the business operates to be able to test a change in an area. Is this information to be gained via documentation or key users?

The business processes may change, and as the UAT is implemented in a separate environment, you will need to know the new business process changes, including inputs, outputs, and outcomes.

You may want to document this understanding and associated data capture using a classic structure. However, the downside of this is it does not lend itself to multiple scenarios. In this case, you will need to support any process definition with the data variations that are required, both for input and output. 

If the project is largely revisions and additions to an already existing system, you may want to capture the existing process from production if the knowledge is not already available. You can use this to create text style instruction cases or even how-to videos, which users can refer to alongside data scenarios.

The UAT management tool should be used here to provide a) a repository for these assets and b) the ability to organize and hence reuse them.



How realistic is this approach?



What are the risks?



Where are the compromises?



Get feedback from product teams, business users and stakeholders for the time process.

Create or adapt test cases

It is important to look at Test Case coverage, identifying if you have covered all the processes and scenarios that need to be tested. This analysis is critical, and it may require considerable input from business users to create.

Some organizations opt to delegate this task entirely to the users, which is often the best route; however, if you take this approach, you will need inspection and reconciliation to ensure that you have achieved the necessary coverage level.

Check coverage

Two simple things you’ll need to consider for the coverage:

Do the test cases provide full coverage of the test scope?Maintain traceability between changes/requirements and test cases

Detail in test cases may vary

It is possible to perform effective UAT with very lightweight cases, but this depends on the system knowledge level of the users performing tests. If you don’t require extensive detail, there is no reason to put it in the test case.

Historically, detailed test cases and scripts also helped define what the tester was doing so any issues could be described in the context of that series of events. Modern UAT, however, uses capturing technology to show precisely what the user was doing and document their concerns and feedback.

Regardless of the approach, your UAT will take, test cases have become valuable assets that we want to re-use, and hence they need to be stored and organized in a way that supports that.

Things to consider

Organize test case repository and classification

Depending on who is preparing test cases, what help and guidance do they need?

Amend existing test cases, if available, to match the changes/requirements

Create test cases where they are needed

Consider the sequence and dependencies

Create test scripts

The same principles as outlined for test cases apply to any scripts which take instructions to the next level. The coverage and level of detail in relation to the skills and knowledge of the persons executing the tests. A purpose-designed organizational repository that makes scripts accessible, maintainable, referenceable, and reusable is fundamental for increasing organizational efficiency and avoiding frustration.

Things to consider

Create a standard script template if there is not an existing one.

Consider if detailed scripts for each test case are required.

Base the scripts on captured existing processes, if available.

The UAT management platform should support a script repository and linked to test cases.

Consider what format to hold the scripts in.

Are training aids required to assist in script execution?

Determine test data needs and strategy

There are two aspects of data that need to be initially considered:

Data aspects to consider

What data is needed to be processed

What supporting data is required

You’ll need to consider where the required data will come from, and this is inevitably based on what data is already available. This data needs to be treated as an asset; you should aim not to rebuild it or recreate it every time you go through a test cycle. Automation is sometimes used in this scenario to automatically create the data needed for subsequent testing and to carry it out when it is difficult to manage the condition of supporting data. However, the use of automation can be avoided in these scenarios by using a solution to manage data, this will allow for automation to be implemented in other areas which would benefit from it more.  

You can avoid this by utilizing available technology and virtualized environments, which will save considerable time and effort.

Things to consider

Plan where and how to provide test environments(s).

Can virtual environments be used?

Consider the backup and reset strategy for the data.

What supporting technology is required?

You will probably need to coordinate with IT, infrastructure teams.

Test the test scripts

If you have created test scripts to be given to the users, then you will need to check, for at least some of them, that they are workable and understandable.  If the users have created them you probably won’t need to.

Things to consider

Check both the content and format

Liaise with users to check their needs and the script or the scripts they have developed

Risk and priority assessment

There are times when a project doesn’t go to plan. To successfully achieve a competent and effective UAT, it is important to understand the critical testing areas and those that can be deemed as lower-risk. If the situation arose, it could be cut from the test. Through understanding these risks, you will need to prioritize important tests first.

Things to consider

Which tests are most important?

Are any tests able to be skipped?

As with any testing process, not all phases need to be implemented within every project, but each should be considered to achieve the best possible outcome.

Over the coming weeks, we will cover the whole approach to UAT in a  step-by-step guide.  If you have just found us you can catch up here on the Overview, Scope, Strategy, and Planning.

Coming up next – Detailed Plan

Let’s talk User Acceptance Testing

Our user acceptance testing solutions ensure your software is delivered

60%

faster with fewer errors, saving you thousands of dollars.

Fill in the form below or schedule a chat at a time to suit you

The post Guide to User Acceptance Testing. Preparation and Initiation appeared first on Original Software.

RT @RPGPGM: @WMCPA 😎Join the cool kids at the @WMCPA Spring Conference: – Wednesday March 15 @ 10:15 – 11:30 in Geneva 1 – Wednesday March…

IBMChampion Retweets (@IBMCRTWT) retweeted:

@WMCPA 😎Join the cool kids at the @WMCPA Spring Conference:
– Wednesday March 15 @ 10:15 – 11:30 in Geneva 1
– Wednesday March 15 @ 3:45 – 5:00 in Geneva 1
– Thursday March 16 @ 8:30 – 9:45 in Chicago
See you there! 🆒
💙#IBMi #rpgpgm #IBMChampion

– Simon Hutchinson (@RPGPGM) (in reply to WMCPA)14:43 – Feb 20, 2023

Verified by MonsterInsights