The Virtual Card Read-Punch
Select a function. (A card stack must be loaded and parsed first, before executing.)
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.
For a quick test, here’s a stack for an interactive game of Tic Tac Toe (ZIP-archive, 146 cards) written in Python 2. (And here’s another, smaller one, a simple Mandelbrot set renderer in Perl and in JS.) 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.
Resources & Credits
The Virtual Card Read-Punch is based on the Virtual Keypunch and the Virtual 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 “em-Perl”), 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.)
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.
- Loading resources. Please stand by…
Drop a virtual card stack (zip or images) here or select them by the file dialog: