John Goerzen: Dot-Matrix Teletype Simulator Update and Request for Teletype Info
I recently wrote about wanting to have a teletype. Well, I have since realized that teletypes weigh hundreds of pounds, draw hundreds of watts, and aren't available on eBay for a reasonable price. Well I knew the hundreds of pounds bit, but still. I pretty well have had to give up on a real teletype.
So, now on to the next best thing: a teletype simulator. Enter the two free dot-matrix printers that found their way to my office earlier this week. One of them even works. I bicycled to the awesome local office supplies store (about 11 miles away) to buy a ribbon for it. This is the place that's been there since the 1890s. They still stock dot matrix ribbons, typewriter ribbons, and even fanfold paper.
On the project. Linux has its heritage in Unix, which was used with these devices. It can be made to work with them even now. But there's a trick: teletypes used a bidirectional serial link. Dot matrix printers have no keyboard. So we have to take input from a different device than we send output to.
A simple trick will do for that:
Now, here's the next problem. Dot-matrix printers have a line buffer. They don't start printing the line at all until they see CR or LF. Makes it annoying for interactive use. So I wrote a quick tool to insert into that pipeline. After a certain timeout after the input stops, it will force the printer to flush its buffer. Took a little while to figure out how to do that, too; turns out there's a command ESC J that takes an increment for vertical spacing in 1/216 inch, and accepts 0. So I can send \x1BJ\x00 to flush the buffer. I can run it like this:
That leaves another problem, though: the printhead is right over the text. (Even though it moves to the right of the printing position, and then moves back left for the next character to print.) I modified the program to roll the paper out a bit, and then reverse feed it to continue printing the line. But that is slow and, I suspect, tough on the stepper motor.
Also, I have crafted a terminfo file for the Epson-compatible dot-matrix printers (which are almost all of them), which can also be found at the above link.
So here's the question, for anyone that has used a real teletype:
Did the printhead obscure the text there too, or could you see the entire current line at all times?
So, now on to the next best thing: a teletype simulator. Enter the two free dot-matrix printers that found their way to my office earlier this week. One of them even works. I bicycled to the awesome local office supplies store (about 11 miles away) to buy a ribbon for it. This is the place that's been there since the 1890s. They still stock dot matrix ribbons, typewriter ribbons, and even fanfold paper.
On the project. Linux has its heritage in Unix, which was used with these devices. It can be made to work with them even now. But there's a trick: teletypes used a bidirectional serial link. Dot matrix printers have no keyboard. So we have to take input from a different device than we send output to.
A simple trick will do for that:
TERM=escpterm telnet localhost > /dev/lp0Now, here's the next problem. Dot-matrix printers have a line buffer. They don't start printing the line at all until they see CR or LF. Makes it annoying for interactive use. So I wrote a quick tool to insert into that pipeline. After a certain timeout after the input stops, it will force the printer to flush its buffer. Took a little while to figure out how to do that, too; turns out there's a command ESC J that takes an increment for vertical spacing in 1/216 inch, and accepts 0. So I can send \x1BJ\x00 to flush the buffer. I can run it like this:
TERM=escpterm telnet localhost escpbuf > /dev/lp0That leaves another problem, though: the printhead is right over the text. (Even though it moves to the right of the printing position, and then moves back left for the next character to print.) I modified the program to roll the paper out a bit, and then reverse feed it to continue printing the line. But that is slow and, I suspect, tough on the stepper motor.
Also, I have crafted a terminfo file for the Epson-compatible dot-matrix printers (which are almost all of them), which can also be found at the above link.
So here's the question, for anyone that has used a real teletype:
Did the printhead obscure the text there too, or could you see the entire current line at all times?
All "low quality" videos (which in fact have better quality than the streams had) from DebConf8 are now available for download at the
This week has been a little hectic, as I've been struggling with testing different versions of the
According to a recent article, 6 Common Website Mistakes That Cost Money are:
As everyone can see in the
Computer security is generally defined as the following:
I’ve had little time in the four years I’ve lived in Roslindale to get involved in community volunteer efforts. My wife Rachele, however, has devoted several years to efforts such as the Roslindale Community Center, 

Some interesting two days have just passed. I took the airplane from