Repository navigation
Releases: gilramir/programmers-edc
Release list
predc 1.0.1 — the programmer's every-day carry
predc is a desktop of small tools a programmer reaches for weekly, in one
terminal window instead of ten browser tabs: an RPN calculator, a hex dump
viewer, a time zone converter, an ASCII chart, a Unicode decoder, base64 /
percent / C / HTML encoding both ways, a random value generator, an environment
variable browser, a calendar, and a pad of notes.
Each is a window on one desktop. They stay open while you work, any of them is
one Alt-key away from anywhere, and they share a clipboard with each other and
— when the terminal allows it — with the rest of the machine.
Installing
npm install -g programmers-edc # the command it installs is `predc`
predcThe npm package is programmers-edc because predc was taken; the command is
predc either way.
Node 20 or newer. That floor is Gren's rather than Turbo Vision's — the
compiler emits Array.prototype.toSpliced, which arrived in Node 20.
On linux-x64 nothing is compiled: a prebuilt binary ships inside the
tvision-node tarball, built against glibc 2.28, so it runs on anything from
CentOS 7's era onward. Everywhere else npm compiles Turbo Vision's 206 C++
sources at install time — about a minute, needing node-gyp's usual toolchain
and ncurses headers, and no cmake.
Or the tarball below, which needs neither npm nor a compiler
predc-1.0.1-linux-x64.tar.gz: unpack it, run ./predc, and the only thing the
machine needs is node. Verified on Debian 11 (glibc 2.31) and Debian 12; the
addon asks the loader for libc, libm, libpthread and a terminfo database and
nothing else.
What is underneath it
predc is the large example for three packages that anybody can build a terminal
application on — Turbo Vision, Borland's
1990 framework as revived by magiblot, bound to Node and driven from
Gren as an Elm-architecture program.
gilramir/gren-tvision |
the Gren API: windows, menus, dialogs, widgets and mouse handling described as data |
gren-tvision-runtime |
the JavaScript half — diffs the UI description and drives the binding. Also ships the pty test harness |
tvision-node |
the native addon: Turbo Vision through Node-API, with its blocking event loop inverted so Node keeps running |
Turbo Vision, from Gren
is the guided tour, with a screenshot of every widget.
1.0.1
A README-only change to the npm package page. The code is identical to 1.0.0
apart from the version string.
