177 comments

[ 3.3 ms ] story [ 216 ms ] thread
I thought about doing something like this so I could turn the tickets I work on into paper tickets but never quite got around to it.

(I did buy a cheap receipt printer on eBay though and managed to burn it out in the first 10 minutes of printing. ProTip: a receipt printer with the width specified in inches is likely to be a quality printer by a reputable manufacturer, one specified in mm is likely to be a piece of junk from China.)

Adding a QR code would help a lot in terms of making a cyber-physical object where you could close the ticket by pointing at it...

What’s the reason behind the inches vs millimeters distinction? I understand it’s just a heuristic but I don’t get what the underlying cause is.
english == Made in America; Quality. metric == Chinese; Piece of crap

is the intention I think. Not a fair distinction imho, but to each their own.

I've had a few crap Chinese receipt printers. I do appreciate that they print Chinese characters because I print a lot of anime fan art and art reproductions of 19th century Japanese prints and like to put as much kanji as I can on the back sides. On the other hand other than some official Pokemon art that renders beautifully on thermal printers because it was thought through like the Ansel Adams Zone System

https://safebooru.donmai.us/posts/2477177

I do almost all this work with inkjet printers and rasterize it all myself.

(I wrote my own text rendering engine for vertical CJK text, not because I was unhappy with the results I got printing characters with uniformly square metrics but because I wanted western characters and dingbats I introduced to look good. Sooner or later I'll probably write my own text rendering engine for horizontal roman text because I haven't met a kerning engine I really like and because there are many typographical details like ordinals (e.g. 5ᵗʰ) that I'd like to have better control of.)

I am buying these off eBay in the United States. English units might mean "culturally sensitive" which is a tracer for quality.

A Zebra or NCR sold in the US will be marketed with English units, the same printer is probably marketed in the E.U. with metric units.

The people selling the off brand printer might not know or could care less what units are used in the area it is being marketed in, which is a tracer for them not caring about any other quality attributes of the product.

English Units? How many barleycorn wide does it print? And how many wapentake (that's 20 knights fees) did you pay?
(comment deleted)
I had one of these as well that you could print just by writing to a device file. I'm sure it had fancier formats for graphics and stuff but it was fun to just use some ascii art to get something printed.
I'd love to have something like this
Your Side Projects link to Github in the first sentence is 404.
Thanks for letting me know, a fix for that is going out now!
Building one of these is probably easier than wrangling the GitHub notifications settings into having a meaningful signal:noise
Literally why I built this in the first place. Work is one thing, but my side project issue notifications kind of just got lost in the mix of noise coming through my email, and I'd forget to check them out.
This is a really funny read for a Friday morning.

It should play an MP3 of a line cook in a busy diner shouting, "Order up!", and then he can stick it on a rotating order wheel hanging above his desk.

EDIT: One of these things: https://www.webstaurantstore.com/choice-stainless-steel-orde...

I hope he at least has one of those receipt spikes to stick it on when the issue is closed.
Those things always drive me crazy. Something about having a metal spike sticking up from a counter.

Although I’ve always had problems with sharp corners. For instance, if I’m reading in a chair and there’s a small table next to me and the corner is sharp, I can’t handle it and have to cover it (like set a book so it’s hanging over the edge). It bugs my eyes for some reason. Same if I’m watching TV and there’s furniture with sharp corners near the TV.

I really hate that this affects me so much, so mostly sharing in case someone else deals with this or knows what’s going on.

I had a friend in elementary school who suffered from the same thing. He never mentioned table corners, but he definitely requested that you don't hold pencils with the pointy bit up if you sit next to him.

Sounds like it sucks. Take care of yourself!

I'm sure the diner frycook would love to be able to send back every burger order he got with "Closed; won't fix".
Have you been inside a Domino's franchise when they get a new order? Their order systems play a happy tune.
A friend shared this, and my response then was that the author should go tell his plan to a line cook and see what response he gets :P

For those who haven't been around kitchen culture, it's common to joke about having nightmares about the sound of the ticket printer.

Is the sound objectionable or do you mean that it triggers a conditioned response?
Both. When a kitchen gets slammed by a sudden rush of customers, the way the kitchen hears it is the printer going brrr.
These printers are fun. I got one from a hardware swap meet a few years back and used the same software to work it into a public art project I did a bit later. You could listen to or record your own “dream” story to a kiosk, and upon leaving one, you’d get a paper receipt. It was a fun, tangible interaction that gave a bit of permanence to something purely audio.

https://justinmiller.io/services/dreamdial1.jpg

"instant photo" printers are another fun tangible thing like that! Polaroid nailed it way back when, everyone loves something instant and tangible like that.

You can get Fuji printers which use Instax film, or Canon makes a similar one they call the Selphy, or there's the Zink printer line as well.

Rather than the chmod of the printers /dev node, the user could probably be added to the `lp` group to grant the correct permissions.

"Just `chmod 777` it" as the universal solution to permission issues is usually solving the wrong problem.

Forgot to mention that in the article, but I tried that as well. Added `lp` group to both the pi and root users, to no avail.
To be fair, chmod 777 is a perfectly acceptable workaround for a single-user, single-purpose system.
There's something about a physical reference to information that you can't quite capture digitally. You can hand it to someone. You can use it as a prop to express your happiness or frustration. You can destroy.

I know this was a fun project but I hope we can capture more physical interactions in the future, and not just in VR.

You could literally burn a ticket. That would be so cathartic...
Sorry to be ‘that guy’ but it is also a little bit wasteful.
Premature optimisation considering supermarkets go through like 200 rolls of this stuff a week per till haha

If someone starts minting NFTs for issues I’m in your corner tho

Having done "post-it notes on a board" at an earlier job, I could not feel more different about it. Post-it notes sucked - they're not big enough to capture any history or context, and the types of tasks I was handed would be about 10-20 extra subtasks on their own.

I ended up trolling the system by simply adding post-it notes to post-it notes for subtasks as a protest against the fact that I could never keep any useful detail against them and the tasks themselves ranged between gigantic and functionally unsolvable (it was infrastructure work, so "done" didn't really exist).

I have a receipt printer I was using for grocery lists. I still haven't found a good use for it yet. I love how extremely fast it is though and it has auto cut. Maybe I can use it for a ticket system at work.
any kind of todo thing it would be good for or temporary labeling things with painter's tape.
I once tried a thermal paper print experiment for completed pomodoros to see if sense of accomplishment was improved with something physical.
And then you hang it on your kanban board ;-)
Bonus: Old stale issues automatically fade away!
Throw a QR code on there with a link to the issue to close the loop!
They mention that in the post at the end.
Fun fact: code page 437 didn't die with DOS. It's still what receipt printers default to, judging by all the mojibake variations on ”Tack för besöket, välkommen åter!” I've seen in daily life in Sweden.
This is a fun idea, but I've read thermal paper is surprisingly nasty stuff. [Edit: unless it's advertised as "phenol-free".] It's not just paper. It contains plastics (BPA or BPS) that you absorb through your skin when handling it. I'd avoid working with receipts at my desk all day. (I'd also avoid being a grocery store cashier...)

https://www.pca.state.mn.us/green-chemistry/bpa-thermal-pape...

BPA free thermal paper has been around for a while. A few years ago, I bought a box of it for a similar project (JIRA events -> Receipt printer)
I think "BPA free" means "BPS". I think that's less-studied but not necessarily better. [Edit: but "phenol-free" is likely actually safe, thanks for pointing that out. I should read my own link fully!]
The article linked in the comment says this:

"If you must give paper receipts, look for “phenol-free” paper, which is safer for human health and has fewer environmental effects. Three types that do not contain BPA or BPS and are competitively priced contain either ascorbic acid (vitamin C), urea-based Pergafast 201, or a technology without developers, Blue4est. The latter uses a coating that reveals an underlying dark layer when heat is applied."

BPA is hardly alone as a hormone disruptor in the world of plastics.
that explains why it tastes so bad
How do you know how it tastes?
He was joking. But maybe you are too?
What do you do with your receipts? If they weren't meant to be edible, you wouldn't get a complimentary one with every restaurant meal.
There's a great I Think You Should Leave skit about why it might taste so bad.
Yeah, the machine came with a few spools of BPA-free paper, but that just means there's a less-tested alternative like some of the responses are saying. I was a cashier for 4 years though, so this is probably a drop in the bucket for what's already in my system.
> Yeah, the machine came with a few spools of BPA-free paper [...]

Or so they said on AliExpress.

We would have a lot of cancer victims who happen to be cashiers in that case?
I found this in two minutes: https://pubmed.ncbi.nlm.nih.gov/29778011/
Insulin resistance isn't cancer (though I admit it's still troubling).
My threshold for "nasty" isn't "carcinogen". Not sure how that goalpost got moved, but let's move it back. The link I posted says this:

> The chemicals have been shown to be hazardous to reproductive systems in humans and animals and are linked with obesity and attention disorders.

If you spend more than two minutes looking into it you might find a link to cancer. I don't know. That is just the most concerning research I found in the short time I allotted to the task.
Interesting but that is n=54 and for a specific geomarket (common supply chain).
Why do they use thermal printing for receipts? Is it just cheaper because you don't have ink that runs out? Less moving parts so less maintenance?
That, and also speed. Thermal printing is fast compared to the alternatives.
As someone who once worked a job in retail where we printed receipts on dot matrix printers on triplicate paper, we longed for thermal printing at the time. Noise, speed, and jams were a common occurrence.
No trying to get cashiers to refill ink properly is, I assume, the main business benefit. The only thing they refill is paper, which should be dead simple on a decent thermal printer.
Fast, reliable, inexpensive, relatively quiet. Hard to beat.
Pros: faster, quieter, better quality, don't need to know how to load ribbon when it runs out.

Cons: fancy paper, fades over time, destroyed by even minor heat.

We switched from dot matrix receipts to thermal a few years ago and there were several very vocal complaints about the relative impermanence of a thermal receipt.

Reading the thread for "minor hear"

There was essentially no reasonable distance at which we could store the to-go pizzas from their accompanying thermal receipts where information the receipts contained would be recoverable.

Good point, I forgot about food. We don't sell anything hot, but a lot of our customers work out of trucks or vans and some complained that the receipts were unreadable after leaving them in their vehicles in the summer.
No ink cartridge/ribbon/toner, the head is "solid state", and they can be very, very fast as the head is a linear array the width of the printable area.

Also, the cynic in me says that thermal paper is exceptionally fragile and this benefits return policies. Thermal receipt paper falls apart readily when wet, bleaches quickly, and of course turns black if exposed to too much heat.

If you're never seen a thermal printer hooked up properly with proper software... those things are insanely fast. It can spit out a meter/yard long receipt in two seconds. Nothing else comes close.

It also uses paper in rolls, without requiring spools, and no ink/toner/ribbons to replace which would be both more complicated and take longer.

As a retail worker of 6 yrs I’m raising my eye at this…
no child labor laws where you live?
No, knowing obscure open source tech doesn't look great on a resume
If the author is here - please include pictures of the printer and output in the article!

There is an embedded twitter video, but it seems more aligned with the spirit of the project to use the traditional visual aids :)

I'll make some edits to the article today to include those!
This is awesome. I'm a solo dev and I created an electron app named Label LIVE. I recently added an HTTP API so you can fire off label jobs using a POST request (or retrieve label PNGs via GET). What Label LIVE affords is a WYSIWYG imaging pipeline that can target many different thermal printers at the correct DPI, or generate/submit PDFs to a printer (system or network). If you mention this note and your project, I'll send you a free license for "testing." :D (and no, no direct Linux-Desktop support yet, sorry!) Read more at https://label.live/guides/automated-label-printing-integrati...
> Wrapping up and next steps

The only logical next step here is to get that metal spike thing, so you can stab closed issues on completion.

Get to etch them on stone - go further back in time.
Damnatio memoriae if the issue is actually "functions as intended" and that can be clearly seen from the documentation?
(comment deleted)
With a camera in the roof pointed at it that OCRs the most recently stabbed ticket and automatically marks it as 'done' with any comments you hand-wrote onto the slip of paper.
It's called a spindle.
No, I’m fairly sure the correct technical term is “metal spike thing”.

/s

This is how I work! I write my tasks on slips of paper and stab them on to the spike when done.

https://share.icloud.com/photos/0f3i7xv2QbOeofiM4atMtSCzA

That's a lovely system. I would definitely put my hand through the spike accidentally!
This is super cool!

Quick question though. Why go through all the hassle with the custom udev rule and dialout group if you are just using sudo to run the script after all?

This is awesome, I'd add a QR code with the link to the bottom (if possible on printer).

Then could scan with your phone to bring the issue up for immediate triage. I imagine lots of issues can be closed right away (or very quickly).

Heh, that's in the article under _Wrapping up and next steps_

> For the tickets themselves, a QR code could be added to link directly to the issue on GitHub. You could also add in more details from the issue itself like tags and severity.

If it could be closed right away, wouldn't you do that before you print it out? Perhaps I'm a luddite, but wouldn't typing the ticket number into a box almost certainly be faster than getting your phone out, turning it on and scanning the code?
The printers unusually can create barcodes and some of them also QR codes.

But it is also possible to print images. You can also configure them as standard printers and print via any common printing system (cups, windows spooler, …)