The Epson LQ printers were incredible machines. the one (an a half) I used for that job did that, plus millions of mailing labels, with hardly a burp. There were some part swaps and a couple of printheads, iirc.
unless you've got very lucky it's probably a real refurbishment job to make one run today. Quick look suggest Epson 9pin and 24pin form feed impact printers are still being made.
https://epson.com/For-Work/Printers/Impact-Dot-Matrix/LQ-590...
One funny thing I did once for a escape-room-like game, was a box with only a parallel printer connector on it. When connected to the printer, it was parasite-powered from one of the control lines of the parallel port (it was just a tiny PIC microcontroller drawing a few hundred µA) and was sending a hint to the printer.
It originally worked by taking advantage of the high-resolution graphics mode present in Epson dot-matrix printers, which were capable of platen microadjustments as small as 1/3 the pitch between the pins in the print head, allowing for 3 times the vertical resolution the head alone could give. Fancy Font rendered the text on the computer and sent it as graphics in this special high-resolution mode, yielding results that were as close as you could get to typeset for home equipment in the early 1980s.
Later versions of Fancy Font had drivers for early laser printers like the OG HP LaserJet. But when the Mac came out... the writing was on the wall for such a system.
Maybe for version 2.0!
There's also NewsCatcher which is free for open source side projects:
https://docs.google.com/forms/d/e/1FAIpQLSejrsj4a1ZQkIasiKCt...
On a side node: I love the dot matrix printer! Is there any hackable open source printer like this available?
That is why I am also super interested in just printing news from the net for myself, so I do not need to keep watching on a screen.
Obviously if you're in a hut up a mountain or live in Norfolk then this may be less useful advice for you.
On the other hand, when the author wanted to push Unicode on this, I felt old and immediately pictured Epsons old wire bound manuals outlining supported characters (a subset of ASCII if I recall)
- the POST beep
- the sound a floppy drive makes after inserting
- the infernal scream of a dot matrix printer
- even I don't miss dial-up sounds though.
I also recommend her memoir "Arbitrary Stupid Goal" [2] but that has a lot less tech nostalgia and just a lot of funny anecdotes about her family and their diner on the Lower East Side.
[1] https://us.macmillan.com/books/9780374602581/laserwriterii [2] https://www.tamarashopsin.com/asgfaq/#/
I do. It's like the walk-up song to talking to my friends and having a good time.
Email comes in -> prints to receipt printer -> I type up the response via electronic typewriter -> hit scan on my scanner -> sent a response -> confirmation printed on receipt printer.
PoC worked well.
Right now I am building out how to correlate what I scan to who it is supposed to respond to. So I working on some GPT magic to do that. Also since I am using OCR I don't have a way verify that the final content of the email after OCR.
So still a work in progress and not something I am using day to day.
More modern (90s) electronic typewriters with a screen (I guess you would call them word processors) could be a better way... But I like the click clack of each key stroke.
If one could afford a proper ASR-33 then where could one find one?
Asking for a friend. Watchlist on Ebay hasn’t produced anything in years.
picturing room full of dot matrix printers, fax machines, & thermal printers & modems & old-school saving programs to cassette recordings
all talking to each other via mic relay where each uses AI to subtly detect what character each other just printed via audio and we can read their LLM convos
BTW, I like how this is literally just a daily newspaper. Something that we’ve figured out at least hundreds of years ago, but effectively lost to an infinite breaking news cycle.
a thermal usb receipt printer is like $75 dollars and easily controlled by python. Super easy to print out images and QR codes. and the autocut functionality makes it easy to segment messages. Additionally the receipt printer is nice because you can activate the bell inside as an additional "notification" and has an extra control for a cash drawer that I am thinking of hooking into to control a light or something.
I had it set up for emails and every morning it would print off my calendar.
I think the interface works well especially if you pair it with a physical control like buttons or NFC reader. That way you can issue "commands" and get output. Like I had one NFC card to make it print my calendar, one for unread emails, etc.
I have some more features I want to add to it. Its very fun way to cut down on screen time, but ironically i have spent more screen time coding with it and setting it up then it probably has saved me. lol.
The thing I wish it could do different is that when printing a single line, the autocutter hides it, so you have to line feed about 5 times until the line you printed is visible.
If i did it different, maybe i would try to find a printer that is able to do reverse line feed so I can "peek" at a single line and then not waste paper. but i think those are about 3-4 times more expensive.
I bought two Chinese printers, one burned up pretty quick when I was testing it but I might have been printing too much black. The other is fine I think but really I am not so motivated to make thermal prints when I have a good quality inkjet. (My best thermal print was a small Lusamine
https://safebooru.org/index.php?page=post&s=view&id=1821741
which demonstrates how Nintendo official art is designed to render on cheap screens like the Nintendo 3DS)
Right now all my credentials are hardcoded so i can't push out what I have without some cleanup, but I can point you to some of the libraries: python-escpos and nfcpy were what I used for the bulk of it.
"Let's just tape this thermal receipt to your to-go container, and ... refund? What do you mean refund?"
A couple of months in, my naive Perl parser broke and I woke up to half a ream of paper with "a" printed continually down the left hand side of the page.
Now I don't bother!
Editors would take the stories and type them into our system again. The agony was mitigated by the fact we didn’t run a ton of AP stories and better ways were entirely obvious back then.
...my SO would kill me.
In case the author is reading: on most printers of the day, you could set the font via control codes and many printers even had variable-width fonts.
I could easily customize the php to hit my own news sources, but wouldn't know where to begin doing the hardware side on my own. Probably many others in this spot.
I'd buy it, for way more than the cost of an old printer, if it was available on the market!
One of the things that this person does is simply echo to /dev/lp0.
Which is all you did back in the day. Shove text down the interface, and the printer printed.
Now, while we have very fancy modern printers, they're still printers with a long legacy. Even back in the day, early HP laser printers worked like this. Shove data down the wire, and it printed (Courier 10, 66 lines per page). Only the Apple Laserwriter didn't really do this (I don't think) because it was an exclusively PostScript printer. Instead, you shoved PostScript down the wire.
As the printers evolved, the language that was sent to them got more complicated. But even so, they still had a long line of backward compatibility.
So, if I plug a USB printer into a computer, and ls > /dev/usbXXX, will it print today? Does that still "just work"?
If I do that with an EPSON and send it EPSON MX-80 escape codes -- does it still work? It wouldn't surprise me either way, but I'm just curious if someone knows. They're very black boxy today (to me anyway).
(Anyone else remember the joys of getting reports to fit on pre-printed, multi-copy NCR forms? What fun that was!)
What's perhaps more surprising, my macbook had an inbuilt driver for generic epson printers and it worked. It was not very good, it printed as graphics but it was there for some reason.
Not sure about modern inkjet and laser printers though. An inkjet Epson I used to have once did support raw ESC/P codes though, but it was 20 years ago.
And sure enough, this works! Just tested on my new printer.
Edit: added footnote
1. The chief maintainer - not the only maintainer, between 2007-2019
Very much IS there in the background.
See http://localhost:631/printers on your OS X machine.
> Web Interface is Disabled
> The web interface is currently disabled. Run “cupsctl WebInterface=yes” to enable it.
But I cannot remember if I disabled that.
Its ok, you're not going mad. ;)
They disabled it by default as part of security hardening a few releases back. Probably around the same time they stopped shipping PHP and other stuff.
CUPS is still running the printing in the background, its just the web UI that's been disabled. IIRC.
On macOS I think it either recognized my printer or I had to select it from a list. I don't remember which for sure. It was a few years ago.
On Linux my Brother printer is not on the list. Brother offers a deb and rpm packages which may be obsolete for all I know. Then you have to install it manually. But in my case it never offered double sided printing.
For years I am using a crutch in terms of Android driver and Brother's own app. This despite being offered by the producer doesn't offer double sided printing either. It doesn't even give ability to print in grayscale.
I don't know what lifting "real" is doing here, but lpd(8)[0] (line printer daemon) is what we used to use, and printcap(5)[1] to configure. It was general enough that you could make a music playlist system out of it[2].
[0] https://man.netbsd.org/lpd.8
[1] https://man.netbsd.org/printcap.5
[2] https://patrick.wagstrom.net/weblog/2003/05/23/lpdforfunandm...
They claim that modern printers implement IPP and that should be the preferred protocol for printing. In IPP, printers advertise capabilities and are able to handle different high-level printing requests.
https://support.brother.com/g/b/midlink_productcategory.aspx...
Once you've established that you can print basic text, you can expect that the printer's escape codes will work.
It would be possible to write a PostScript program that emulates ESC/P (or PCL), although then you would have to send an entire page (or a page break) before the page would be printed, unlike the old dot-matrix line printers that you can print one line at a time, PostScript can only print one page at a time.
That buffer could have several random programs' outputs in it, all just dumped as simply as possible to /dev/lp0 (or lpt1 or whatever), and it works.
A LaserWriter can't do these things.
You could usually set a timeout to eject the page if no data had been received for a while.
>A LaserWriter can't do these things.
The LaserWriter could emulate a Diablo printer which would do the same thing. It wouldn't accept PostScript then though.
https://retrohacker.substack.com/p/bye-cups-printing-with-ne...
I can't attest to whether piping directly to the device works, but I routinely do stuff like
lpr -o raw -P $SOME_CUPS_PRINTER < $SOME_FILE
Back when I was doing warehouse IT work I'd hand-write ZPL code and shove it directly into Zebra printers for things like asset tags, printed instructions on equipment, etc. This was also my approach for various tools I wrote to automate the printing of packing slips and shipping labels - except these programs had to run on Windows machines, and I tell ya hwat Windows sure doesn't make it as easy as CUPS does.More recently I dusted off that particular skillset in order to print a bunch of labels for my kitchen. ZPL really ain't that bad of a language; sure beats trying to write PostScript or PCL by hand :)
https://x.com/normankev141/status/1146547923758538755?t=oZrj...
text of tweet: So I bought a networked printer recently and as you do decided to try connecting to it a few different undocumented ways. I tried telneting to it. It turns out that whatever you type, it prints typewriter style. That was a pleasant and hilarious surprise. #internetofshit
> So, if I plug a USB printer into a computer, and ls > /dev/usbXXX, will it print today? Does that still "just work"?
Both of the following worked for me:
printf 'hello\f' > /dev/usb/lp0
printf 'hello\f' | nc -N $printer_ip 9100
This is on a Brother laser printer. Its programming guide is linked next to its manual online. The language is PCL, but you don't really need to know much about it to get simple stuff printed.Neither of the above involve CUPS. Using the `lp`/`lpr` executable like in other comments requires the printer to be registered with CUPS first.
For `ls >`, the printer expects DOS line endings. `\n` just moves to a new line without "returning the carriage", so you need to pipe through `sed 's/$/\r/'` or use `nc -C`.
With the USB connection, you can print multiple times to build a single page and it won't come out until you provide the form feed. With the TCP connection, the page will be printed when the connection is closed.
In modern Linux distros, lp/lpd are usually shims provided for backward compatibility, but it doesn't have to be that way. For example FreeBSD seems to provide support for lpd without for cups [1], although I don't see any real advantage in doing that.
The software on their website was a Windows executable .exe file that seemed outdated even 10 years ago. To complete the last few steps, the printer network connection had to be set up once again, even though I had already previously connected it. Each attempt would take around 10-20 minutes, only to fail. The network errors and troubleshooting steps were incredibly generic and unhelpful. The worst part, until that point, was that the printer shipped with outdated firmware, and I did an online firmware update via the printer itself, confirming that the printer's Internet connection had indeed already been established. Rebooting the printer did not help. It turned out that, despite only just downloading the Windows executable that same hour from the Epson website, they were shipping an old version .exe, with some bug that causes the network setup to not be detected. However, it never prompted me to update. Only after restarting the Windows computer, and then re-opening the .exe, did some update trigger, and it allowed me to finish setting through to the last step of the installer to download the rest of the bloat and let the printer appear in the list of available printers on the network on the computer.
I then did a test print via an iPad. Took about 15 seconds.
Because honestly, this would be a project better targeted for a large e-ink display. Maybe you've even seen the photo of the large wall-hanging e-ink display that in fact displays the day's news [1].
[1] https://www.reddit.com/r/eink/comments/11febnk/eink_newspape...
I still have the printer in a box. It's all yellowed out. Oh, the memories...
That aside, this is a neat project and might be a fun weekend task.
https://www.computinghistory.org.uk/det/54829/DEC-LA75-Compa...
https://mastodon.social/@UP8/111013706271196029
the “third” side is the web site linked by the QR code.
I got bored with photography and made up a character who goes around with a cheap lens and always keeps the aperture around f/18 or more, uses heavy processing, color grades and shoots a standard non-standard aspect ratio so it looks like he’s using some weird camera from an alternate timeline.
I just started printing this series and came to the conclusion that 4x5 can be easily made by cutting down a 4x6 but instead of cutting it I’d have an inch to put in a QR code and documentation on the front: similarly I could cut down a 5x7 to a square 5x5 and fit documentation in there. I have a few boxes of glossy paper that aren’t printable on the back and I think I’m going to use the, that way. (Found out later that instagram has a 4x5 standard and that my sports photos taken with a good lens really look good in that format)
One question though is what the documentation looks like and I am split between: (1) minimal changes to what I have, (2) some kind of fake dot matrix or other effect that looks like an old printer that might have been built into that fantasy camera or (3) something that makes he most of what the inkjet printer can do.
Interesting though. Been reading sbout old teletypes the last few days, so this is quite fitting for me.
If I wanted to do something similar, what is the cheapest type of printers I should be looking at? Dot matrix does seem awesome for the vibes, but I could be happy with something else as well. Any recommendations? I do like the idea of buying something old.
It's hard to make out the dots in the photo, but I'd guess this is probably around a 24-pin, printing in near-letter-quality (NLQ) mode, and (barely) doing true descenders.
Note how straight the vertical lines of the line-drawing-character box at the top. If it was alternating printing one line while moving the printhead to the right, then the next line while moving printhead left, the slight imprecision of the drive in many printers would tend to be visible when the pixels of the line don't quite line up. Or if it's doing NLQ mode, it might be printing bidirectionally on the same line, overlapping dots, and might be more forgiving.
I would guess this model probably has features like italic and bold (or at least double-strike), maybe condensed, double-wide, toggle from 10cpi and 12cpi, etc. And you can usually mix those within a page, like you know that you can print twice as many characters horizontally at condensed in just a small spot of the page, and do the layout arithmetic based on that. That printer might also do bitmaps, and/or let you define characters.
If you can't find the doc for a particular model, but it might be some degree of Epson-compatible, search for "epson esc/p printer" documentation, and see what codes work. And know about form-feed, for a smooth finish to your page.
Or, if you you just want to treat it as an 80x66-character array, but get a little fancy within that, in a one-hour project, you can make a shell script that fetches data with Curl, generate HTML, and pipe it through something like `w3m` or `elinks` for formatting. Or use Svelte and pull in 100 packages from NPM to print to the vintage thing.
For a more telegram-y aesthetic, you might be able to source yellow paper (search keywords "tractor-feed", "continuous form"), preferably unperforated. For more computer-y, search keyword "greenbar". A 9-pin or similar printer will look more vintage than the crisp one in the article, or you can try running a 24-pin in draft/fast mode.
In the video, you can see it's doing both of the techniques you mentioned: each line in printed in 2 passes, both in the same direction, presumably for better alignment. But the next line is printed in the opposite direction, again with 2 passes.
In the 1980s, I had first a 9-pin printer (Star SG10) and then a 24-pin printer (NEC P6)
Just skip the news entirely. It’s an utter waste of time. Your life will be better for it.
My understanding of THAT story is that the town is very protective of the black workers who moved there to work, and that it wasn't the politician but his subordinate who 'turned his sights' there, and did so to say horrible things about those people with no evidence. That's my understanding of what that story is. To claim 'he fueled a fire that was already smouldering' seems a wildly irresponsible thing to say as a headline.
Maybe try pulling from the Associated Press? I'm a bit at a loss. You can at least avoid bad faith headlines.
Today it probably seems nearly unimaginable to teens that we used to have to get newspapers delivered and before you got the paper you just didn't know what had happened.
Edit: Looks like I just need a receipt printer, which comes in dot matrix or thermal. Whoa, I need one.
https://github.com/wgrover/jamie
The name 'jamie' is in honor of Mythbuster Jamie Hyneman's meticulously labeled storage bins at M5 Industries.
The code uses a brute-force search to fit the specified text on the label using the largest possible font size.
Does anybody have any idea what model of printer this might have been? I'd love to see a video of it again.
Everything about dot matrix printers suck for data, except the roll of paper that can print arbitrarily long logs.
To the community, other than a dot matrix, what other roll paper based printers can I use for this?
I would print this out every single day on an old dot matrix printer so I could then take it to the library where I would read it with everything else.
Can find the archives (in a not very user friendly format) here: https://www.rferl.org/Newsline
btw, second best source of daily news in English in Eastern Europe was shortwave.