41

Virtual Card Read-Punch – Punch, Read, Execute Virtual Punch Cards

 4 years ago
source link: https://www.tuicool.com/articles/UjIjIrj
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

About This Project

The Virtual Card Read-Punch is meant to convey the joys of punch card processing to a modern audience. You may edit, produce and download a stack of virtual punch cards (PNG images of the respective cards), read a stack back in, and, should it represent source code for one of the supported runtimes, execute it. All processing is is done exclusively in the browser and no resources or data are uploaded to a server or transmitted otherwise.

Supported runtimes are for the time being Python, Perl, and JavaScript. (Some of the more traditional languages, like FORTRAN or COBOL should be supported in the future, as well.) Some special encodings and the type of runtime automatically selected depend on the chosen type of card. For modern languages, the source code is punched in a meaningful upper-case representation in order to conform to the limitations of traditional punch cards, but is recovered in its original form by the card reader. More traditional type of cards, however, are confined to the restrictions of the character sets used in traditional punch card processing. — Please refer to the respective notes provided in the punch section.

For a quick test, here’s atest stack (ZIP-archive, 146 cards) for an interactive game of Tic Tac Toe written in Python 2. Simply go to the reader section, drop the downloaded ZIP-file onto the marked drop-zone, and watch the cards being fed through the reader. Once the extracted text appears below, you’re ready to execute the program.

zuQjUvz.png!web

Resources & Credits

The Virtual Card Read-Punch is based on theVirtual Keypunch and theVirtual Card Reader and cards should be mostly compatible. Third party resources used are the Skulpt in-browser runtime for Python, the Perl.js Microperl environment (here slightly adapted as “emPerl”), JSZip , as well as the “FileSaver.js” utility by Eli Grey, which comes bundled with JSZip. Further, fonts provided by Google Fonts are utilized by the project.

Images representing the various functional sections are from IBM promotional material and reference manual for the IBM 1401, International Business Machines Corporation, 1959, 1960/62. (Mind that the character sets actually used for the punch cards are those of the IBM 029 , which was introduced in 1964 for the IBM System/360 series, asking for a bit of artistic license, regarding the imagery.)

E7rAjaI.png!web

Code grid, punch codes and card-print encodings of the IBM 029 key punch, E’L character set.

(Image: IBM Field Engineering Maintenance Manual, 29 Card Punch; Apr. 1969; p. 4-39, annotations by me, N.L.)

GDPR Notice

No cookie or person related data is processed or stored at masswerk.at. However, a GDPR-compliant, anonymized request is submitted to Google Analytics (purpose: overall access statistics). Further, fonts are loaded from Google Fonts (purpose: functional) and advertising may be embedded via Google Adsense (personalization option: off).

For Google settings and compliances, please refer to Google’s privacy statement and Google Analytics Opt-out .


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK