Pixel graphics in terminal
github.com
github.com
a
b
and when you typed "b", it would emit: c
d
When I was about 8, I fooled with this peeking and poking pixels so that "a" and "b" bitmaps where the top and bottom halves of a double-height "a", through to the end of the alphabet. I imagined that this would make it easy for my grandparents to use computers. Never mind that they couldn't type, had no interest, and would never remember commands like "load $,8,1".edit: formatting
ah so THAT is how you could make graphics on those machines? wish I had known that back when I was 10 :-P
ah well, good times :)
'Fast' was not a word one would use to describe them, though, even compared to the matrix printers that took minutes for each page of high-resolution output.
Theoretical result: raised dots punched into the paper by the daisy wheel, able to be read by a blind person.
Actual result: the proportions were wrong for reading, and most of the time the paper jammed on the roller because of the padding.
Nice idea though.
(sound warning, there are some very raw tones)
[0]: https://www.youtube.com/watch?feature=player_detailpage&v=EV...
P.S. The REPL command line in TempleOS is very cool. You can even disassemble your shell functions.
I'm thinking a hybrid console meets explorer: When I type "ls *.png", why don't I get a sortable table? Or, if I mouseover a filename, get a preview?
I remember "type BBSAD.ANS" in the DOS days - you'd see an animated ANSI right in the terminal - but I can't type "view lolcat.png" in 2014 (without shifting focus to the GUI).
Maybe this is overkill and not worth it, but I've always felt there's room to make the CLI a little more GUI-like
One of the craziest hacks on graphics terminals was NCSA Telnet. It supported multiple detached Tek terminals as well as a raster graphics protocol called "ICR". It had its own TCP stack built in, and could offer these features even on DOS. One of the weirdest rigs I ever saw was a guy at college who browsed the web, with graphics, using NCSA Telnet on a PC/AT running PC-DOS, at a time when that computer was at least 10 years old.
http://phk.freebsd.dk/AducLoran/animation2.gif
...part of a Loran-C receiver made by Poul-Henning Kamp which aparently outputs these plots over its serial port.
http://phk.freebsd.dk/AducLoran/
To play with it, for example gnuplot can output on an xterm running in tektronix-mode. Open an Xterm, then...
* mkfifo /tmp/tek
* cat /tmp/tek
* Ctrl-Middle-Mouse menu:
- show tek window
- switch to tek window
- (in Tek window:) hide vt window
Open a second terminal (Xterm or any other) * start gnuplot, on the gnuplot-prompt
* set term tek40xx
* set output "/tmp/tek"
* plot tan(x) {or whatever you want to plot}
Using two separate terminal emulators, and the fifo, makes it easier to coordinate the two different modes, because frankly gnuplot doesn't switch sensibly between the two display modes and will clobber one or the other either with Tek control codes on the VT, or write the prompt over the graphics.The command line is contextually intelligent and presents interactive graphics and text. Not a simulation of a teletype on a simulation of a character terminal.
There's an Alpha workstation in my closet, waiting to have OpenGenera installed...
I hope he hasn't totally abandonded the idea but I wouldn't be surprised if he did.
> Or, if I mouseover a filename, get a preview? ...I can't type "view lolcat.png"
Most GUIs don't even do this. However, on OS X with iTerm you already can cmd-click the filename to open the file. Or use the Finder's QuickLook utility from the command line: qlmanage -p "$@" >& /dev/null &
Basically I see no need to merge the two. They operate perfectly well together and compliment each other. To extend the functionality you could simply write shell scripts which generate custom HTML and send it to a browser (or quicklook in the case of OS X).
Furthermore, a lot of these suggestions are already implemented in ipython notebooks, which is a REPL with graphical capabilities.
[1] http://terminals.classiccmp.org/wiki/index.php/DEC_VT340
https://mediacru.sh/plKQQj7ymWNT
The only limitation I've found is that the standard ppmtosixel conversion tool spits out 8-bit control-characters, but xterm seems to only recognise their 7-bit equivalents (hence the sed command in that screenshot).
https://news.ycombinator.com/item?id=7539648
Surprised that you missed it, so I'm still not quite sure if maybe I misunderstood something in your question, or you were just having some healthy holidays around that particular time :)
[EDIT] Oh! For more added fun, I've stumbled upon ReGIS's sibling for bitmaps, SIXEL; some pretty screenshots e.g. at:
http://web.archive.org/web/20140521194225/https://pypi.pytho... (submitted to the Wayback Machine, as it loads faster from there for me...)
[0]: https://github.com/aempirei/Chat-Art [1]: http://i.imgur.com/iN24OEG.png
If you want to give yourself a migraine, try playing through Quake2 using that as the output device...
Occasionally, I'd accidentally cat an executable file to the terminal and it would sometimes switch to a graphical mode and draw lines on the screen like an 80s BASIC program. Clearly there must be some control codes lurking in that executable that coincidentally work as graphical instructions.
I tried experimenting with cutting the file up and into pieces to narrow down the magic control codes, but the number of bytes with a value of 7 in that file started annoying the people around me.
They replaced those terminals with Windows PCs the next year.
[1]. Documentation: http://www.iterm2.com/images.html#/section/home
[2]. Example usage: http://i.imgur.com/oOibjuT.png
Are there any implementations for terminals running in other operating systems?
http://roartindon.blogspot.com/2014/02/20-years-of-impulse-t... (more detail from the author in the comments)
It doesn't do arbitrary raster yet, but it has a cleaner syntax and prettier graph than the python/javascript ones.
It was enough to be able to display some chunky looking but workable fractal images. Somewhat similar to the time I generated the like on a Dec something or other and printed them on the available dot matrix printer.
Fun, if much simpler, times.
Also maybe you could do color lines with ANSI.. although overlapping lines wouldn't work.
- Sierra was originally called On-Line Systems. A throwback to the Mother of all Demos, perhaps?
- There was a Japanese game company back in the 80s called StarCraft.
However, the only description of the choice in using "On-Line" is a conjecture in http://www.filfre.net/2011/10/ken-and-roberta/ :
> Specifically, he wanted to bring FORTRAN, as it happens the implementation language of the original Adventure (not that Ken likely knew this or cared), to the little Apple II. With that purpose in mind, he registered a company of his own, choosing to call it On-Line Systems, a name fairly typical of the vaguely futuristic, vaguely compound, but essentially meaningless names (Microsoft, anyone?) that were so common in the era.
http://www.reddit.com/r/somethingimade/comments/ctk8c/i_made...