Getting my daily news from a dot matrix printer

(aschmelyun.com)

481 points | by chrisdemarco 8 hours ago ago

152 comments

  • whartung 7 hours ago ago

    So, curiosity today.

    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!)

    • slsii 7 hours ago ago

      I just tested this on OS X, which doesn't expose printers through /dev/ in the way you're describing as far as I can tell. But apparently lp exists on OS X, so you can do echo "Hello printer" | lp -d <printer_name>, and find the name through lpstat -p.

      And sure enough, this works! Just tested on my new printer.

      • blenderob 7 hours ago ago

        Wow! What a delightful exchange this is! Curiosity asked and answered in 12 minutes! I literally got goosebumps on my arms as I read your comment and reached the last part where you say "this works!"

      • hawski 7 hours ago ago

        With macOS there is this one off topic thing regarding printing that always gets me. I once had a company Macbook and it connected to my old Brother printer without problems and only then (after almost ten years of having the printer) I discovered it has double sided printing. It just worked. I always wondered if there is a way to connect somehow to this machinery to get a macOS printer driver or whatever and emulate whatever is needed for this to work on Linux.

        • sangnoir 7 hours ago ago

          IIRC, Apple employed the maintainer[1] of CUPS - which is/was available on MacOS for network printing, and has been available on Linux for even longer. I would be surprised if the feature was not available on Linux for your printer.

          Edit: added footnote

          1. The chief maintainer - not the only maintainer, between 2007-2019

          • traceroute66 7 hours ago ago

            > which is/was available on MacOS for network printing

            Very much IS there in the background.

            See http://localhost:631/printers on your OS X machine.

            • iknowstuff an hour ago ago

              Safari can’t open the page “‎localhost:631/printers” because Safari can’t connect to the server “localhost”.

            • mcculley 4 hours ago ago

              I thought the default was disabled at some point. On my macOS laptop, I get:

              > 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.

              • traceroute66 2 hours ago ago

                > 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.

          • hawski 5 hours ago ago

            I know about CUPS. There is no real alternative on Linux, is there? But it doesn't work like on macOS. I am sure they added some of magic on top.

            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.

            • bch 3 hours ago ago

              > I know about CUPS. There is no real alternative on Linux, is there?

              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...

            • nextos an hour ago ago

              Usually, drivers for similar printers might work. There are also generic driver sets like Gutenprint. Nonetheless, note that CUPS now discourages the use of any drivers, and support will be removed in the future.

              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.

          • freetanga 4 hours ago ago

            I used this (CUPS) to add my Remarkable 1 as a Printer in MacOS. Worked like a charm, nothing to install on the laptop…

        • bee_rider 5 hours ago ago

          Huh, my first thought was that it ought to be somewhat mechanically obvious if the printer supports double sided printing. But now I’m thinking, some printers do just magically suck the paper back in for the second side, right? And I’m wondering if my printer might secretly support double sided printing as well.

          • hawski 4 hours ago ago

            Exactly this magical sucking the paper back. I was amazed.

            • bee_rider 3 hours ago ago

              Mine did not. I am, therefore, non-amazed. Mazed?

              • SllX 3 hours ago ago

                Whelmed.

        • daggersandscars 5 hours ago ago

          Are you using Brother's Linux printer driver for your device? If not, I'd start there.

          https://support.brother.com/g/b/midlink_productcategory.aspx...

          • hawski 5 hours ago ago

            It never offered the option in my case.

      • sgt 5 hours ago ago

        Works for me as well. This is a network printer available via WiFi.

    • dasfsi 7 hours ago ago

      I have an Epson LX-350, bought new a few years ago. It connects via USB (but there's also serial and parallel ports). When connected via usb it appeared as /dev/usblp0 or something like that, and yes just cat'ing to it worked. And presumably the customers who buy these things new want them compatible with whatever processes they already have (for the last 30-50 years), so it supports both ESC/P 2 as you'd expect and IBM's escape codes (which I didn't expect and the old matrix printers I had from the 90's didn't).

      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.

    • r3trohack3r 6 hours ago ago

      You can even do this with network printers, netcat a pdf to the open port and it will print.

      https://retrohacker.substack.com/p/bye-cups-printing-with-ne...

      • rwky 5 hours ago ago

        Just did this with my HP Envy injket and it worked, had no idea this was a thing it's very cool.

    • jolmg 3 hours ago ago

      > One of the things that this person does is simply echo to /dev/lp0.

      > 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.

      • mrighele 2 hours ago ago

        > Using the `lp`/`lpr` executable like in other comments requires the printer to be registered with CUPS first.

        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.

        [1] https://docs.freebsd.org/en/books/handbook/printing/

    • fionaellie 35 minutes ago ago

      Wow. That brings back a lot of memories. Those escape codes, figuring how to insert a form consistently (line it up with the mark on the left, maybe click it three times or press an insert button to suck it in a bit), then continual adjustments until things mostly fit. Good memories!

    • pm215 6 hours ago ago

      Back when I was at school in the 1990s, there was a dot matrix printer in the computer room still, which was the default printer for any of the computers on the network. One of the classic user errors was that somebody would try to print a document from Word and it would send a load of PostScript to the dot matrix printer, which would dutifully print it all out as PostScript source, wasting paper and printer ribbon until somebody told the printer to stop...

    • heroiccocoa an hour ago ago

      I wish we could go back to this uncomplicated UX. I just spent literally 2 hours setting up a brand new Epson ET-2850 printer for my dad. I'm quite disgusted at how slow, bloated and disjointed the process was. The printer ships with an android app, which worked fairly well, and, on the Epson website, some Microsoft Windows software, which was one of the worst software experiences I've ever had. The Wi-Fi setup is totally disjointed on the printer, app and windows release. You enter the Wi-Fi password via the app, which should then forward it to the printer. That's fine, it's better than using the dreadful printer interface. The printer saw the right SSID right away. No confirmation was given whether it connected or not. No big deal.

      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.

    • yellowapple 4 hours ago ago

      > So, if I plug a USB printer into a computer, and ls > /dev/usbXXX, will it print today? Does that still "just work"?

      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 :)

    • zzo38computer 6 hours ago ago

      > 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.

      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.

      • mmmlinux 6 hours ago ago

        Its not like a laser printer can really print line by line though.

        • ssl-3 6 hours ago ago

          An old HP laser printer will buffer plain text line-by-line, and will print a page once the last line is buffered.

          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.

          • tonyedgecombe 4 hours ago ago

            >will print a page once the last line is buffered.

            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.

    • gpvos 7 hours ago ago

      Well, that's easy to check out as long as you have a printer connected. It's going to depend on the printer. Doesn't work on my Brother laser printer on Linux, even if I send some valid Postscript to /dev/usb/lp0 . Piping it to lpr works of course, as long as you have a default printer selected.

      Once you've established that you can print basic text, you can expect that the printer's escape codes will work.

    • fluoridation 3 hours ago ago

      In my experience, inkjet printers can print line by line like teletypes, but laser printers can't.

    • saomcomrad56 3 hours ago ago

      I wonder if this works with a sharp M205 I have in storage.

    • kn100 3 hours ago ago

      I discovered this in the most amusing way ever accidentally a few years ago.

      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

    • jahewson 7 hours ago ago

      I guess your printer driver is free to emulate an LPT if it wants to.

  • hansonkd 7 hours ago ago

    I did something similar with a receipt printer.

    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.

    • autoexec 5 hours ago ago

      Receipt printers are fun but take care not to buy toxic paper https://www.consumerreports.org/cro/news/2014/03/the-health-...

    • aschmelyun 4 hours ago ago

      Receipt printers are a blast! I had a project from a couple years ago printing out GitHub tickets using a similar setup to what I have for this dot matrix printer.

    • ustad 7 hours ago ago

      Whats the printer you have? I’ve been thinking of getting one and did not know about the notification and external feature you mention.

      • hansonkd 7 hours ago ago

        I have a Rongta RP331.

        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.

      • PaulHoule 6 hours ago ago

        There are a lot of cheap Chinese dot matrix printers. As an American if you search by mm size you will find those, if you search by inches you will find more reputable (and culturally sensitive) brands.

        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)

    • mtoohig 7 hours ago ago

      Please share some of your code, I would like to see and get a feel for some personal ideas.

      • Instantnoodl 5 hours ago ago

        I use Thermal Printer for a different use-case (TTRPG stuff). Feel free to check it out :)

        https://github.com/BigJk/snd

        • jabroni_salad 4 hours ago ago

          wow I love this. I like using spellcards but havent had a good solution for items... might need to buy a receipt printer now.

      • hansonkd 7 hours ago ago

        I am currently working on an "input" interface to scan resposnes that I write from my typewriter and am planning on releasing a github repo on it when im done. conveniently you can type directly on the receipt printer if the response is short.

        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.

    • AStonesThrow 2 hours ago ago

      Whatever vendor(s) decided that the restaurant industry needed to switch over to thermal printers, I hope Cory Doctorow has a chat with them.

      "Let's just tape this thermal receipt to your to-go container, and ... refund? What do you mean refund?"

  • ale42 8 hours ago ago

    Matrix printers can actually do quite a lot... depending on the models, you can change fonts, use bold, underline, sometimes italic, double-width and double-height characters and even graphics (although often are relatively low resolutions like 90 or 180 DPI).

    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.

    • schlauerfox 7 hours ago ago

      My dad had a 4 color dot matrix printer in the 90s. Printing the pharaoh head from deluxe paint II took FOREVER but actually looked pretty. The paper was really warped after though. Still have it, but no idea where 4 color ribbons would be sourced.

      • sitkack 7 hours ago ago

        You could probably make your own multicolor ribbon.

    • aschmelyun 5 hours ago ago

      I’ve been wanting to explore more with this design-wise. There’s literally dozens of pages in the manual regarding font sizing, emphasis, italics, sub and superscripts, etc.

      Maybe for version 2.0!

    • smartmic 4 hours ago ago

      I remember printing huge banners in landscape mode on those endless paper rolls, basically ASCII art stuff which commands like figlet would produce today on a terminal (maybe it still supports printers as output?)

    • layer8 5 hours ago ago

      It would be fun to have a terminal that understands ESC/P, supporting different fonts and CPI and the like.

    • seanw444 8 hours ago ago

      That's pretty cool actually.

    • bitwize 6 hours ago ago

      Back in the day, one of the first desktop publishing programs out there was called Fancy Font by SoftCraft. It was a CP/M and later DOS program, so not a WYSIWYG page layout tool like PageMaker. Instead it used text documents formatted with a simple markup language.

      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.

  • Animats 3 hours ago ago

    I had this machine connected to a news feed for years.[1] It's the mechanism from a Model 14 Teletype tape printer. It's still in my living room, and the tape feeds out into a wire basket. It's driven by a Python program running on an old EeePC subnotebook.

    [1] https://aetherltd.com/refurbishing14.html

  • PaulHoule 6 hours ago ago

    For a while I’ve been printing “three-sided cards” which have an image on one side and a QR code with documentation on the other side

    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.

  • canpan 8 hours ago ago

    This is great! I am currently thinking about getting a weekend paper newspaper like FT weekend. Reason being: I read news on my phone too often. And the news create negative emotion without being useful. News on paper and only once per week would make me more relaxed. His paper printer news daily would be great to bridge the gap in between!

    On a side node: I love the dot matrix printer! Is there any hackable open source printer like this available?

    • i5heu 6 hours ago ago

      I cannot recommend FT. I tried to get their physical paper, never got one and although I made 3 calls and wrote about 10 mails to them they only would escalate my ticket after I unsubscribed and demanded a refund, this was after 3 weeks and a lot of time on my side.

      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.

      • eponeponepon 5 hours ago ago

        Are you in the UK and within some short distance of civilisation? If so, you very likely have a newsagent near by you and there's a surprisingly good chance they still do a paper delivery round.

        Obviously if you're in a hut up a mountain or live in Norfolk then this may be less useful advice for you.

  • milkshakes 8 hours ago ago

    > Additionally, since this is an experimental project, I wanted to remain super cheap for this data, free if at all possible.

    There's also NewsCatcher which is free for open source side projects:

    https://docs.google.com/forms/d/e/1FAIpQLSejrsj4a1ZQkIasiKCt...

    • aschmelyun 5 hours ago ago

      Oooh, awesome! Thanks for the heads up

  • Lonestar1440 7 hours ago ago

    Legitimately great product idea, I think? Just the idea of a personalized (truly! by you! Not by MSN or whomever), off-screen news feed every morning is cool. The idea that I could *also replace my alarm clock with a dot matrix printer* is even cooler.

    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!

  • bityard 7 hours ago ago

    Neat. Reminds me of when I (briefly) worked at a radio station. I forget basically all of the details now, but I'm pretty sure it would automatically dial up some Associated Press number, fetch the latest headlines, and send them to a dot-matrix printer. This was in the late 90's and it ran MS-DOS.

    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.

  • mesh 2 hours ago ago

    This brings back so many memories. When I was in graduate school in the mid 90s (economics and European politics), it was difficult to get detailed, daily news in English on Eastern Europe. Radio Free Europe / Radio Liberty (RFE/RL) was one of the best resources, with a daily email with an overview of news from the region.

    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.

  • acka 6 hours ago ago

    OP, are you sure that your printer has a serial port? That would be somewhat unusual I think, back in the day when I used many dot matrix printers, they all had parallel (Centronics) ports. The same model printer in the one eBay listing I found (sold, maybe bought by you?) also has a parallel port, clearly visible in a photo of its backside.

    • sanex 6 hours ago ago

      The link he provided to the adapter is a parallel to USB adapter even though he has it called a serial one.

      • aschmelyun 5 hours ago ago

        Yep, parallel! My bad, I’ll have to make some adjustments to the article.

      • acka 6 hours ago ago

        Ah, that explains it. Thanks for pointing this out.

    • cbm-vic-20 3 hours ago ago

      I've got a DEC LA75 Companion Printer that uses serial. Still works.

      https://www.computinghistory.org.uk/det/54829/DEC-LA75-Compa...

    • mmmlinux 6 hours ago ago

      I was wondering how he plugged it in and magically there was /dev/lp0. but it makes more sense if its a parallel than a serial adapter.

  • technothrasher 6 hours ago ago

    The headline gave me flashbacks of doing the Friday morning news slot for my college radio station back in the early 90's, and printing out the stories off our news feed that I wanted to read on the stations big noisy dot matrix printer.

  • chaps 3 hours ago ago

    Many years ago I worked at a company that had to print out every transaction with a dot-matrix printer every evening. It was my group's job to do very minimal maintenance on it like adding toner/paper and such. When filling the toner though, you had to screw the toner container onto a special.... gyrating.... setup just to make sure all toner came out. A thing that struck me about it was how uncannily, uh, sexual, it was in its gyrations.

    Does anybody have any idea what model of printer this might have been? I'd love to see a video of it again.

  • neilv 5 hours ago ago

    I used the sell Epson dot-matrix and laser printers, when I was 15 or so. And I also had an old, used Star Micronix Gemini 10X at home, before I got the Epson dealer employee discount.

    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.

    • chihuahua 2 hours ago ago

      I have to chuckle at hearing the euphemism "NLQ" for the first time in over 30 years. It seems like an admission that the quality was better than before, but still not great. Sounds a bit quaint - if printers were new in 2024, 9-pin printers would be "high quality", 2-pass printing would be "super quality", and 24-pin printing "extreme quality"

      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)

  • rbanffy 8 hours ago ago

    I've been thinking about getting myself an electronic typewriter and MITM the keyboard to turn it into a into a serial terminal. I can't afford a proper ASR-33, so I'll have to make it work with what I got.

    • hansonkd 7 hours ago ago

      My current project right now with my thermal printer is responding to emails via typewriter.

      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.

    • beala 5 hours ago ago
      • rbanffy 5 hours ago ago

        You made my job a whole lot easier. Thank you!

    • alchemist1e9 6 hours ago ago

      > I can't afford a proper ASR-33

      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.

      • rbanffy 5 hours ago ago

        The one that was in the Living Computer Museum was recently sold by Christie's.

  • donohoe 6 hours ago ago

    And there you have it folks - print is back! The old monolithic newspaper execs were right after all.

    That aside, this is a neat project and might be a fun weekend task.

  • freetanga 8 hours ago ago

    Cool project. I missed that sound. Hearing it again makes me realize how patient my folks were with my midnight debugging sessions…

    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)

    • FredPret 7 hours ago ago

      I miss the soundscape of old computers:

      - 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.

      • rockostrich 6 hours ago ago

        If you're looking for this sense of nostalgia in book form, I highly recommend reading "LaserWriter II" by Tamara Shopsin [1]. It's 90s tech nostalgia wrapped in a concise narrative about a college student going to work at a computer repair shop.

        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/#/

      • awiesenhofer 7 hours ago ago

        Just today at a shop I saw a self checkout terminal crash and reboot - featuring the old AMI boot screen and a nice POST beep. Made me wonder what ancient hardware might hide behind these modern cases and UIs.

      • toast0 5 hours ago ago

        > even I don't miss dial-up sounds though.

        I do. It's like the walk-up song to talking to my friends and having a good time.

  • JKCalhoun 7 hours ago ago

    The most interesting part of the article for me was the Gathering the Data section.

    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...

  • fdfgyu 2 hours ago ago

    I was just looking at buying a dot matrix printer for plotting data.

    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?

    • gaudystead 2 hours ago ago

      Receipt printer, maybe? Depends how wide you need it to be though.

  • throwup238 5 hours ago ago

    I'd use the Wikipedia current events portal [1] to generate the headlines/news. It’s less sensationalist that news headlines and contains a lot more global news.

    [1] https://en.wikipedia.org/wiki/Portal:Current_events

  • yalok 2 hours ago ago

    I remember printing the whole K & R "The C programming language" book on my dot-matrix printer, with some roll-paper, and then drilling the pages through to staple it with some thick paper clips wires. Legendary devices.

  • capitainenemo 3 hours ago ago

    A long time ago we used to output certain key server logs summarised to a dot matrix printer. It was a neat place to see the history at a glance, but the idea was also that it was an unhackable audit. Probably done more efficiently with WORM drives nowdays, but without that immediate tactile presence.

  • wgrover 4 hours ago ago

    Here's a Python script I wrote that generates storage bin labels and prints them using a cheap 2" by 3" label printer:

    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.

  • vetrom 5 hours ago ago

    Nifty project, this also reminds me of m68k.news which I think was on here a few years back. (source: https://github.com/ActionRetro/68k-news )

  • every 8 hours ago ago

    It's been a long time since I've heard that dot matrix sound. Wide carriage OKI Data and a big pile of green bar...

  • acomjean 7 hours ago ago

    In the early 90s my daily college paper had a dot matrix printer for the AP news feed. My last year I think they discontinued the service.

    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.

  • hggigg 7 hours ago ago

    I had something similar to this at home except it was a laser printer and it got a postscript file out of LaTeX which was parsed out from a bunch of Perl.

    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!

  • 0x0 3 hours ago ago

    A large chunk of that php code could probably be replaced with a call to https://www.php.net/wordwrap

  • codazoda 4 hours ago ago

    I’m fascinated with printing calculators. Does anyone know of a printer that will print on calculator paper roles and print A-Z numbers and some symbols, like demonstrated here?

    Edit: Looks like I just need a receipt printer, which comes in dot matrix or thermal. Whoa, I need one.

    • aaronblohowiak 4 hours ago ago

      Like a thermal printer in general or specifically attached to a calculator?

      • codazoda 4 hours ago ago

        There’s just something about the paper rolls. I was thinking dot matrix. I suppose either would work. I might buy one and do something like op did.

  • forinti 7 hours ago ago

    When I was in school, I would use an Epson LX80 to print a stencil for a Mimeograph. I would remove the tape so that it would hit the stencil harder.

    I still have the printer in a box. It's all yellowed out. Oh, the memories...

  • CSMastermind 5 hours ago ago

    There were startups back in the dot com boom days that were doing this when the internet first came out. "No need for newspaper delivery! You'll get it printed right at your house."

    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.

  • chillpenguin 5 hours ago ago

    I'm surprised that old printers like that go for $80-120 USD. I'm pretty sure you can buy a new inkjet for $50.

    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.

    • AlfredBarnes 4 hours ago ago

      I am also in this boat. I don't want to have to buy in for ink for $50 every 3 months.

  • Odenwaelder 8 hours ago ago

    I did something similar with a receipt printer, an Arduino and a PHP script in 2011. It got replaced by an iPhone very soon after, but I'm thinking of reviving it, because it forces you to filter what's important.

    • ortusdux 8 hours ago ago

      I've been wanting to do this for a while. I'd definitely recommend BPA free paper if you don't use it already!

  • aghilmort 8 hours ago ago

    so pure -- easily as awesome as this lovely post, (What Hath Woz Wrought)[https://news.ycombinator.com/item?id=41561321

    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

  • joeyparsons 8 hours ago ago

    til you can still easily buy continuously feedable paper for dot matrix printers on amazon - was wondering if that was a scarce resource for a project like this! kudos!

    • aschmelyun 5 hours ago ago

      It’s pretty expensive though! I got the smallest box I could, 1000 sheets, from Staples for $30.

    • awad 3 hours ago ago

      I've seen dot matrix still used at car dealerships so doesn't totally surprise me there'd still be plenty of industry uses

    • tonyedgecombe 4 hours ago ago

      You can still buy new impact printers.

      https://printronix.com/line-matrix-printers/

  • h2odragon 8 hours ago ago

    from '92 to '96 one of my jobs was producing a daily news summary from usenet and a feed of the Federal Register. delivered as 40 to 100 densely printed dot matrix pages. Couple boxes of paper a month. Re-inked ribbons so often they'd wear through.

    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.

    • pcardoso 8 hours ago ago

      Still have my LQ 100 in my parents attic, perhaps I could do something like this. Sadly I don't have the paper feeder (I only used A4 paper with it).

      • h2odragon 6 hours ago ago

        I pulled a couple out of my pile a few years ago to look at. The rubbers were pretty well gone on mine, belts gone, the rails had some sort of blooming corrosion.

        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...

  • keroton 2 hours ago ago

    This is the most Hacker News post ever made

  • ozarker 8 hours ago ago

    I love it. I’ve switched a lot of my news consumption to RSS. This feels like another step in that direction that I’d love to try.

  • exitb 7 hours ago ago

    It seems like an attractive concept. I tend to fluctuate between consuming too much news and getting fed up leading to not consuming any.

    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.

  • krylon 7 hours ago ago

    Until very recently, dot matrix printers were still common in doctors' offices in Germany (for reasons), and the sound they make always gives me huge wave of nostalgia, even bigger than hearing a fax/modem emitting its handshake sound.

    • kjs3 7 hours ago ago

      I periodically run into them in places that still use multipart forms (e.g. manufacturing, shippping/logistics).

      • aschmelyun 5 hours ago ago

        I was at a tires place that still uses them as of last month.

  • thesurlydev 6 hours ago ago

    This is fantastic. I can't remember the last time I've interfaced with a dot matrix printer. It might have been in college getting a print out of Fortran programs. Thanks for sharing!

  • SoftTalker 8 hours ago ago

    My first reaction was "why print, just send it to yourself as an email" but then realized that the major motivator for this project was to cut down on screen use.

  • HPsquared 8 hours ago ago

    Reminds me of the dusty stock ticker in Mr Burns' office:

    https://youtu.be/3iFxUCSTfRU

  • jprd 8 hours ago ago

    This is fantastic. I'm all in on this, here I come eBay!

  • guerrilla 5 hours ago ago

    Leave it to a PHP programmer to immediately disregard the security system as soon as he encounters it. ;)

    Interesting though. Been reading sbout old teletypes the last few days, so this is quite fitting for me.

  • bobek 4 hours ago ago

    Perfect, I do the same thing for daily quote.

  • snickmy 3 hours ago ago

    Glass onion's vibes

    • AshamedCaptain 2 hours ago ago

      And in the movie this was being use as a parody, to emphasize how much of a cargo culter the enterpreneur was...

  • jollyllama 8 hours ago ago

    I wonder how long before these pages fade. Could be good for archival purposes.

    • r2_pilot 5 hours ago ago

      From someone who hordes papers(j/k but if I don't get back to digitalizing them it might be considered more of a problem later on lol fortunately some of my reading and writing is supplanted by digital devices now)... You probably don't want to keep all of it. Most news doesn't even matter a week from when it was made. If you had to, it would be better to have an LLM or better summarize the year's end. Or maybe bury them in the backyard for future generations to potentially discover. But yeah there will be other copies of the news, and you don't have to store them these days

    • aschmelyun 5 hours ago ago

      It’s physical ink on paper, I feel like as long as you store it in a cool, dry place, you can probably get decades out of it if not more.

  • G_o_D 7 hours ago ago

    Back in time: Dont have fancy big screen monitors just echo > /dev/lp0. Like Redirect output to physical stdout

  • waymon 5 hours ago ago

    This is awesome. Well done.

  • zackproser 7 hours ago ago

    Very cool. Thanks for sharing

  • sneak 5 hours ago ago

    News headlines can cause just as much cognitive negative influence as news websites.

    Just skip the news entirely. It’s an utter waste of time. Your life will be better for it.

    • Applejinx 19 minutes ago ago

      I was looking for this comment as I saw one of the NYT headlines manufacturing counterfactuals towards whatever end. It cites a politician looking at worker migration to small, struggling towns, "and he fueled a fire that was already smouldering".

      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.

  • hiidef 7 hours ago ago

    hacker invents the newspaper

  • Krasnol 7 hours ago ago

    I miss the sound of those things. It was quite satisfying, and I'm not sure if it was because those were the first printers I've ever seen or because it really is a fascinating machine. That sound...as if someone would rip paper apart but nobody does and there are letters on it afterward...ASCII art was so awesome on them...

    ...my SO would kill me.

    • dugmartin 6 hours ago ago

      Yes - the sound on the video reminded me of waiting for my homework to print out in the 80s.

    • The_Blade 4 hours ago ago

      the sound is better than an hour with a high-end therapist, er, executive coach

  • hiidef 7 hours ago ago

    Hacker invents the newspaper

  • behindai 6 hours ago ago

    Very environmental

  • whall6 7 hours ago ago

    Why can’t people just simply exercise self control

    • chwilson 7 hours ago ago

      There are teams of potentially 100+ at big tech companies who’s sole purpose is to make their flavor of feed as addictive as neuron-activationally possible

      • whall6 an hour ago ago

        So we should just accept our fate. Got it

    • aschmelyun 5 hours ago ago

      I ask myself the same thing every day

    • bubblesnort 5 hours ago ago

      It got stuck in 1984.