Mood: relaxed
Audio: Random sh4d0wcounc1L radio playlist,
      currently: Qntal - Ab vox d'angel
Input device: wy325 terminal
====================================================================

Ah, another year, another phlog post! Yes yes, I realize it's already
February, but hey!   ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
This is gopher-      █▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▉███▇▅▃
space. Things do  ▐█▇▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▜▌              ▕████████
move slower. I'm  ██████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▜▎              ▐████████
writing this on  ▕█████▛                    ▐▏              ▐████████
one of my dumb   ▐▉████▎                    ▉               ▐████████
terminals and,   ██████                     ▊               ▐████████
as such, this   ▕█████▊                    ▕▋               ▐████████
phlog post will ▐█████▌                    ▐▍               ██▉██████
be... about     ██████▌                    ▐▎               ██▉███▉▉▉
terminals! ... ▕██████▌                    ▟                ██▉██▉▉▉▉
well, sort of, ▐████████▇▇▆▆▅▅▄▄▄▄▄▄▄▄▄▄▅▅▅▉▃▃▂▂▂▂▂▂▁▁▁▁▁▁ ▁█████▉▉▉▉
kind of,      ▗████████████████████████████▊        ▔▔▔▔▔▔▔▕██████▉▉▉
mostly.     ▗▞▘▂▞▜▌▂▂▂▂ ▁▁▁ ▏   ▔▗▔▄▔▔▃▘▔▕▇▞▘▗▅▃▖  ▄▖▄▄▄▄▃▃▟████████▀
         ▗▞▘▗▆▜▇█▂▆▂▂▂▁▁▁▅▔▖▔▖▙▂▋▝▂▝▁▆▆▆▖ ▁▟▙█▙█▙█▀▔        ▟████▛▘
There's  ▆▌▁▁▁▁▁  ▀▀▀▀▀▀▀▜████▇▇  ▀▀▀▘▀▇▘▗▟█▟▉▇▋▃ ▔        ▗▟███▛▘
something ▔▔ ▀▀▀▀▀▀▀▀▀▜▆▆▅▅▅▅▄▄▄▃▃▃▃▃▂▂▂▁▝▀▀▀▝▀▝▀▘        ▗███▛▘
quite comfy about writing              ▀▀▀▀▀▀▀▀▀▀▀▇▆▆▆▆▆▅▅███▘
up a bunch of stuff with just a terminal as input
device.  It's  very  hard to get  distracted.  My Wyse  and honeywell
terminals  both  still  need a bit more work  on their termcap files.
While there is a termcap for both on most  *nix  systems included  by
default,  these  default  termcaps are  full  of problematic mistakes
and missing features. The wyse  terminal  works relatively  well when
I configure it  with a vt220 personality for the most part  - there's
a  few keys that mess things up in vim, such as using the 'home' key,
but those are minor problems. However, the vt220 mode doesn't give me
access  to the colors  the terminal is capable of rendering  (among a
few other features)  -  there is also a plethora  of wy325-* termcaps
-  one for each of  the various terminal options, but those alas also
don't support color,  and  are broken in way more ways than the vt220
termcap.  I did  find a termcap  online for  this terminal  that adds
color support to the vt220 mode, and that one ALMOST worked. I had to
modify  it a bit,  and i now  have color in com and other programs on
SDF,  which  is  really  fun. It still  needs a few  tweaks  however.
Sometimes  com will send an escape  character  that will  disable the
terminal's line-wrap  setting,  causing long lines to be truncated at
random. Then, if people start writing unicode,  that will mess  it up
completely, and freeze the terminal.

Similarly, the honeywell  terminal  works  'ok'-ish for the most part
with  the  'vip-H'  termcap, but there's always the odd random escape
that will mess things up.  One  thing  that's  cool  about  the green
phosphor screen on the honeywell is that it has a really  cool  weird
glow under the blacklights in the room,  which makes it really fun to
use.

I may have mentioned in  earlier phlog posts that I've been writing a
sort  of 'modern'-ish implementation of TurboVision  in cpp  -  I had
initially decided to not use curses,  and  write my  own  ansi/termio
stuff for it,  so I wouldn't have to struggle  too  much with  broken
termcaps  for my  various  terms, but I think I might start over with
some of that  work  and  go  the opposite direction, and instead just.
. fix the termcaps...  because:

One of the biggest issues I have with the old terminals is that a lot
of modern applications just assume modern ansi escapes that work with
most terminal emulators, and don't use curses at all, and just output
raw escapes.  - This of course breaks everything if the terminal uses
different escapes. - So, in the spirit of not adding to the  problem,
I should probably just use curses.

I  saw  this  icky article  on  the  icky http the other day where an
opinionated  developer was complaining  about why  people  still  use
ncurses in <insert "modern" year> - his opinion was that,  given that
most terminals support plain ansi,  everyone should just output plain
ansi escapes (his argument for this was, because ansi escapes are not
some mystery rocket science), and I guess, from his perspective, less
painful than dealing with the ncurses c api (hating C is so hot right
now) - Ok, so the problem with this is obviously that you can't  just
assume all terminals support all ansi escapes in the same way. Clunky
C api's aside, having  a  concept of terminal  capabilities is a good
thing, I think. And old  terminals  becoming  less  and  less  usable
because software (and their developers) don't  bother  with  termcaps
is a bad thing. Old tech can still be useful!   ( I'm aware that I am
preaching to the choir here, this is gopher after all)  -   Still, if
this is the new reality, and given that the termcaps for old  obscure
terminals are less than perfect - maybe I should just write a screen/
tmux-like terminal emulation util. for physical terminals  that  just
translates "standard"  ansi  escapes  to  whatever  the  terminal  is
capable of rendering per it's termcap. Using a terminal emulator on a
physical terminal is a weird concept though. Also,  one  could  argue
that there isn't much standardized ansi, even among  modern  terminal
emulators. There are plenty of escapes that are unique to  xterm,  or
rxvt, vte, or whatever.  So  I still think that using curses would be
preferable to hard-coding escapes.

All that said, termcaps ARE a lot of work and a pain to write. It may
perhaps be a good idea to write a util that  translates  termcaps  to
something  like  json/yaml/ <insert your favorite config format>  and
back again. And if someone wants to write a curses alternative,  that
is fine with me too - but please don't ditch the concept of  checking
for terminal capabilities/mappings.

One invaluable resource in writing termcap files is terminal manuals,
and unfortunately, for a lot the more obscure  old  terminals,  these
can be very hard to come by these days.  Even online, bitsavers.org &
archive.org only have a limited selection. I recently managed to find
a manual for Honeywell VIP7800 terminals,  which  are  similar to the
one I have, so this has been a useful thing to have. Yet still, there
are  differences,  and having the actual manual for my terminal would
be even better.

I'm in the process of digitizing the VIP7800 manual,  it's  a tedious
process, but hopefully in the end I will have a PDF  I can  upload to
archive.org/bitsavers - I will also (soon) add a =WANTED= section  to
my phlog with a list of manuals I'm looking for, and maybe  I'll  get
lucky, and a kind soul will share with me one of their treasures.  :)