• noman-land 3 months ago |
    Super fun read.
    • all2 3 months ago |
      Can confirm.
  • gnat 3 months ago |
  • kevin_thibedeau 3 months ago |
    You're much better off getting an older TZ/TZe P-touch with a USB port from before the more recent enshittification. CUPS supports them well and there are utilities that can print images direct to them.
    • clumsysmurf 3 months ago |
      I was about to buy a D610BT or P710BT (to use on Mac) ... what enshittification should I know about?
      • voltagex_ 3 months ago |
        I think the protocols for those are reasonably well understood, but e.g. you can only print via USB from a Mac, Bluetooth was only on a phone AFAICR
        • crazysim 3 months ago |
          Been printing on my D610BT from my Mac via BT since I got it. Very handy as I don't need to fumble for a cable anymore.
    • dfox 3 months ago |
      If you are serious about printing labels and can program you should get yourself a Zebra label printer or Intermec/Honeywell one that has ZPL emulation (these tend to be cheaper than Zebra, so near the pricing of Brother consumer stuff, but more fiddly with media alignment). ZPL is this super weird language, but after few hours you will be printing any labels you want without dealing with CUPS or its filter chains. Totally indispensable tool when you do that is https://labelary.com/viewer.html (the fonts there are somewhat off from what the real hardware does, but the sizing more or less matches)

      Edit: another thing that you get with Zebra/Honeywell is that these printers do not use proprietary media and transfer ribbons (if you go with TTR model, which I would recommend) and you can source the consumables anywhere you want as long as it will mechanically fit. We even use Zebra printer with Epson-branded continuous DT uncut label media to print a beer tap-list. Along that path we even found what can be hardware bug in the printer: apparently you cannot get the print head to overheat, as the power supply will go into thermal shutdown well before that, but in all fairness the thing was not designed to print half a meter long mostly black “labels”.

      • kevin_thibedeau 3 months ago |
        Zebra printers only print on the surface and have the usual limitations of thermal printers. P-touch TZ uses thermal transfer which enables a variety of foreground and background colors, different cover laminates, ribbons, and heatshrink tubing. The laminated tapes are printed on the back of the lamination ensuring the image can't be removed and is immune to subsequent heat or fading with age.
      • kotaKat 3 months ago |
        Gonna chime in with a funny tip.

        The Zebra LP2844 is a workhorse 4x6 label printer.

        Zebra took the design and sells it as the "all new" ZP888 in China and other foreign markets at stupidly low costs. There are Alibaba sellers that will help you snag one back into the US for around $150-200 instead of the massive cost of Zebra's US products ;)

  • Lammy 3 months ago |
    Fun read and great debugging but I'm honestly really sick of this kind of attitude since it's essentially arguing for more churn and for more e-waste:

    > There's a CUPS version that's 10+ years old, Linux kernel almost old enough to drink, all of that r̶u̶n̶n̶i̶n̶g̶ crawling on an ARMv5.

    > but it seems that they have one specific design and they're happy to milk it for as long and as cheap as possible

    Like who fucking cares how old the CPU in a label printer is?

    • josephcsible 3 months ago |
      How is saying "stop manufacturing new stuff that's obsolete from day 1" advocating for e-waste?
      • parl_match 3 months ago |
        If it's an appliance, I would hardly think it's obsolete hardware if it's performing the required task. There are other issues, of course.
      • LeifCarrotson 3 months ago |
        "Obsolete" is a word with a cultural stigma attached, which is the belief that things which are older are worse.

        A label printer ought to be judged on its ability to print labels first and foremost. If it is designed such that it eventually must be discarded because it is no longer good at printing labels, that should reflect poorly on it.

        My label printer sits next to my stapler. The stapler is a Swingline from the 70s, I think my parents gave it to me when I was in college? Regardless, it cannot really be considered obsolete, because it staples just as well as it did when it was made. The latest advances in technology do not make new staplers function any better. Similarly, my label printer has a qwerty keyboard and does not need to keep pace with modern wifi standards, as long as 12mm ink/label cartridges are available (and they have been the same since the 90s) and the NiMH battery can be recharged, it will work just as well as when it was new.

        The smoothness of the gradient on the CUPS internal web server is so irrelevant to the merits of the label printer that it does not deserve to be mentioned. Some printers and chart plotters are very large, very expensive machines that can nonetheless function for decades, and fortunately, the CUPS project still supports them.

        It's unfortunate that one of the most desirable attributes of a printer is that it supports wireless networking, and that wireless networking security standards have as much churn as they do, which causes label printers like this one to become e-waste.

    • parl_match 3 months ago |
      > Like who fucking cares how old the CPU in a label printer is?

      I don't (usually) care about the CPU, but I do care about the update story. If they are shipping a very outdated cpu design, it likely runs a kernel that no longer gets security patches.

      • brudgers 3 months ago |
        If plausibly your label printer is an attack surface of significant consequence, a Dymo is the simplest thing that might work.

        https://www.staples.com/dymo-organizer-express-pro-industria...

        • throwup238 3 months ago |
          For bonus points, it looks like a legacy Star Trek phaser or something.
        • makmanalp 3 months ago |
          I feel a bit silly being excited about this, but of course there's a circa 50s office solution that requires no batteries and electronics. I don't know what I was thinking!
          • brudgers 3 months ago |
            I didn't mean to make you feel silly, sorry. Dymo was the logical extreme of my concern regarding security architecture.

            What I mean is there are three vectors for attacking a label printer: physical access, local network access, and internet access. If an attacker has physical access, your problem isn't the label printer, it's physical security. If an attacker has local network access to your label printer, your problem isn't the label printer it's network security.

            There are use cases where internet access is worth a security risk. In that case, device choice should reflect the risk. Consumer hardware has a different risk profile than commercial hardware. Enterprise hardware has a different profile too. Same with custom bespoke solutions from consultants.

            Updating the kernel on a consumer device typically means connecting the device to the internet because an internet connection is the most consumer friendly way to update it. For consumer devices convenience is generally more important than IT security.

            My gut reaction that led to my response is that security requires engineering analysis of budget, risks, and rewards. Hardening the Linux kernel of a Brother label printer isn't better engineering because the IT problem it addresses is more fundamental. Again, sorry for making you feel silly. It was not my intent.

            • makmanalp 3 months ago |
              Oh I'm sorry, I didn't mean it like that - I just meant as in feeling so excited like a child over what amounts to a manual labelmaker :-) No bad vibes at all on my end though. Very interesting about the rest though, thanks for the comment.
              • brudgers 3 months ago |
                They are cool and I almost bought one, that's why Dymo's were mentally at hand.

                Instead I bought the cheapest Brother on Amazon...it doesn't connect to the internet, just sits in a drawer. Maybe if I come across a Dymo in a thrift store, I'll have one too because they are kind of cool.

                Which reminds me, about 25 years ago I had a Kroy 80 in my studio. The Kroy 80 is a Dymo on steriods. https://munk.org/typecast/2012/08/17/kroy-80-80k-sales-broch...

        • Lammy 3 months ago |
          I especially love the aesthetic of the industrial ones that emboss steel or aluminum tape: https://makezine.com/article/science/tool-review-dymo-metal-...

          “If you’ve ever used one of Dymo’s small 1/4″ or 3/8″ plastic-embossing labelmakers (and who hasn’t?) you already understand how this tool works, and how to operate it. But in terms of construction quality and durability, the Tapewriter is as far removed from those cheap plastic embossers as a Mercedes is from a Kia. It’s 10″ long, weighs almost two pounds, and is made almost entirely from cast aluminum, with steel fittings here and there, and all held together with machine screws. The only polymer in the thing, as far as I can tell, is a rubber friction coating on the internal tape drive wheels.”

      • ryandrake 3 months ago |
        Not only this, but just how, during the hacking, the author noted how slipshod everything is:

        > Perhaps the most eyebrow-raising part of this whole adventure was seeing how messy and cluttered the base image was. Constructs like /etc/www, messy symlinks interconnecting different directories for seemingly no reason, things thrown around with zero understanding of how everything works, etc.

        Ancient kernel, ancient busybox, ancient vulnerable CUPS build, an authentication system that didn't really authenticate anything, vulnerabilities everywhere, and the base system just thrown together like amateur hour.

        I've always wanted to sit down with a Tech Lead of a product like this over coffee, and just pick his brain to understand how he considered any of this to be acceptable. I mean, do you just barely get it working one day with everything just hanging together in whatever way the last engineer left it? Then the next day the product ships, and you go home satisfied with how you did your job?

        • gumby 3 months ago |
          > Then the next day the product ships, and you go home satisfied with how you did your job?

          Yes.

          Programming is typically a blue collar job in Japan. Making a device means design it, build it, validate it, and ship it. The factory doesn’t change anything. You don’t revisit it; if the company wants a new version you design the new device and yes, in the process grab some stuff from prior versions if you want.

          Obviously not every company works this way (e.g. programmers have more status at places like SCEI or Nintendo; some car companies do step parts of their designs) but if you look at most industry you’ll find it’s pretty much as I describe.

    • RobotToaster 3 months ago |
      You have a point, but surely there would be no cost difference in using a newer processor that would be easier to issue firmware updates for in the future, and would be more energy efficient.
      • hiatus 3 months ago |
        > surely there would be no cost difference in using a newer processor

        How did you come to this conclusion?

    • mananaysiempre 3 months ago |
      The age of the CPU is of little consequence, except to the extent it reflects the underlying development practices. (Imagine joining a commercial project with a first release in 2020 and discovering it uses SourceSafe.) The age of software, though, is relevant, when that software is as sprawling as a Linux install.

      The thing about devices with a web interface is that they will end up Internet-exposed, and the thing about weak Internet-exposed hosts is that they will be assembled into a botnet. Mirai is probably a bit atypical because surveillance cameras are perhaps more likely than others to end up exposed, but I think it’s still worth applying its lessons to other appliances as well.

  • m463 3 months ago |
    do the the brother label printers have a backing to peel off?

    I had a dymo d1 style label printer years ago and liked it, but it was a pain to get the backing to come off the labels when you wanted to stick them. (dymo labelmanager pnp)

    Then I got a brother QL-1100 and it was a big step up. Labels easily come off the backing and if you want, 3rd party labels are cheap and available. I rarely pull out the dymo anymore. You can even print like from a database and it will spit out a pile of cut labels with no intervention. also linux software on github (haven't tried it)

    • RowanH 3 months ago |
      The PT-P models (we've got and a lot of our clients use the PT-P900W) - it does a very nifty "half cut" on laminated tape labels that makes it super easy to peel and stick.

      Love the API it has, aside from some quirks - we can control the printer from within our Android/iOS apps - literally can tell it to half cut the labels or not.

  • moogly 3 months ago |
    I'd like to hack my P-Touch to not waste 1" of tape every goddamn print for no discernible reason. I've read Brother's reason and I don't see it.
    • liminalsunset 3 months ago |
      Well fortunately, there is a setting that you can use to do "chain printing" where if you have a number of labels to print, it simply won't cut the last one it prints, and then you can send another job to the printer and it'll cut that one out and print the next (leaving the last thing it printed uncut, if you still have the box checked).

      I don't particularly doubt the waste of tape is somewhat necessary. The way TZe tape works is there's a double side sticky backing, a thin film with a coating of ink (selectively transfers, with the used tape re-rolled internally) when heated and pressed onto the sticky backing), and a clear coverlay. The problem is that because of the thickness of the cutter assembly (which is actually just a mechanized pair of scissors internally), there is about an inch of tape after the layers have been laminated, but before the tape is cut. The printer has to advance the tape to get it cut at the right place, but by the time it's gotten there, the tape now has a stub of white tape on it, which if not cut off, would get stuck to the next label.

      "Chain printing" solves this problem by letting the printer delay the "advance and cut" operation until it has something to fill the otherwise wasted inch with.

      • 037 3 months ago |
        I studied the mechanism, and while it’s true that some tape must be wasted, I think there is room for improvement (with a different idea or even small changes, given that I have a Dymo that uses the same mechanism but wastes much less tape). I simply believe there aren’t enough incentives to research something that saves tape.
      • 0xDEADFED5 3 months ago |
        Yep, as someone who has printed thousands of these damn labels in the past, this is the answer.
      • moogly 3 months ago |
        The chain printing is not so user friendly, I find; I just ended up typing out multiple labels with spaces inbetween instead, and cutting them with a pair of scissors.

        This (along with the chain printing) only works when you know you have a lot of (similar) labels to print beforehand.

        To me, it's also less about the cost of the wasted tape, and more about the extra litter it produces.

    • 037 3 months ago |
      I have the Brother P-Touch CUBE PT-P300BT and “pwned” it (not really) some time ago. Using this code as a starting point [1], I set it up with a FastAPI backend serving an HTML+JS frontend on a Raspberry Pi Zero 2 W. I connect to it using a browser, design the label, and it prints via Bluetooth. One of the first options I added to the interface is the “no feed” checkbox, which I use when I know I’ll print more than one label in sequence before cutting.

      My idea is to add another endpoint to the API so that using Whisper or Siri, I can say, “Print Eggs and today’s date” or “Print Coffee in medium size.” I use something similar with an Alfred workflow, but voice commands would be nice in the kitchen.

      I hate when someone talks about a project I’m interested in but doesn’t share any code. However, the entire thing is so ugly that I’ll never permit any other human being to see it. I’ll incorporate a Dead Man’s switch to delete everything or burn the Raspberry Pi, if needed.

      Anyway, it’s all very simple once you realize that Fabric.js [2] handles 80% of the interface and functionalities on the frontend. Probably with Aider [3] and Claude Sonnet 3.5, you can make it during breakfast (or 7 years: I’m a dev, so I’m VERY bad at time estimations).

      [1] https://gist.github.com/vsigler/98eafaf8cdf2374669e590328164...

      [2] https://github.com/fabricjs/fabric.js/

      [3] https://github.com/paul-gauthier/aider

      • kohbo 3 months ago |
        I love this idea. It never even occurred to me to try something like this but that just makes stumbling on comments like yours even better.
    • j45 3 months ago |
      There are other Brother printers that are not tape based, which use a continuous roll of label that it cuts and much better use of material.
    • MisterTea 3 months ago |
      The Brady I use at work is really good about not wasting tape. Of course it is not cheap but money well spent in a production environment. Their cloth tapes are awesome for wire marking.
  • metadat 3 months ago |
    I love the old-school font on this page. Reminds me of Word Perfect on the old Macintosh computers.

    > pxplus_ibm_vga8regular

    https://www.bing.com/search?q=%22pxplus_ibm_vga8regular%22+f...

    Why is it only available from seedy foreign font sites?

    • jasonjayr 3 months ago |
      Get it and more from the source:

      https://int10h.org/oldschool-pc-fonts/

      That happens to be my favorite programming font. I cut my teeth on qbasic/DOS, so in 2024 I still use that font in my linux terminals + VSCode :)

      • metadat 3 months ago |
        Wow, thank you so much for the reference! I must transition from a substack to a proper statically generated site so I can use this font, haha. Cheers!
  • Nectar0516 3 months ago |
    > # sorry for this being so long, i have no way to format it sanely x.x

    Here ya go, I fixed it (or just see the pastebin link if you're curious what it says):

        wget -O conffile https://pastebin.com/raw/eGfKdvh8
        curl ... \
          --data-urlencode 'org.cups.sid=1862ff74a0c01dd0fb444934e7e67e05' \
          --data-urlencode 'OP=config-server' \
          --data-urlencode "CUPSDCONF@conffile" \
          --data-urlencode 'SAVECHANGES=Save+Changes' >/dev/null
  • instagib 3 months ago |
    I realized after finishing a reel in a label maker that some have a negative film type reel to them that discharges when printing.

    Before throwing it away, I looked at it and it contained classified information.

    • dctoedt 3 months ago |
      > it contained classified information.

      Is that like the way that, in the days of typewriters, government people typing highly-sensitive information would sometimes burn the typewriter ribbon?

  • gotorazor 3 months ago |
    I don't do these things. I didn't realized that printers have CUPS server installed on them now. I find it kind of wild. Like, why?
  • markstos 3 months ago |
    I reduce the attack surface area of my label maker by unplugging it when not in use, which is most of the time. Also lowers the electric bill.
  • roywashere 3 months ago |
    I have a three year old Brother laser printer and for the longest time, I had problems using the wireless printing feature. My laptop would recognize the printer, install it but fail to print. Only using the USB cable it would work. Three months ago, I found the printer web UI using nmap and found there was an ‘update’ with a date of 2020 on it (so before I bought the printer) and I installed it and wireless printing now works flawlessly :-)