29 ms·
I built a receipt printer for GitHub issues
- sejad 5y ago
- jaredlt 5y agoI enjoyed the response on Twitter https://twitter.com/aschmelyun/status/1507043742167060487?t=lBzBixa23A64laDfPwKf_w&s=19 https://twitter.com/aschmelyun/status/1507043742167060487?t=...
- KennyBlanken 5y ago"Ma'am this is a Github"
- PaulHoule 5y agoI 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...
- jonpalmisc 5y agoWhat’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.
- w0m 5y agoenglish == Made in America; Quality. metric == Chinese; Piece of crap is the intention I think. Not a fair distinction imho, but to each their own.
- PaulHoule 5y agoI'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 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.)
- PaulHoule 5y agoI 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.
- Handytinge 5y agoEnglish Units? How many barleycorn wide does it print? And how many wapentake (that's 20 knights fees) did you pay?
- deleted 5y ago[deleted]
- kevincox 5y agoI 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.
- fractalf 5y agoVery kool! Good job :)
- chagaif 5y agoI'd love to have something like this
- notimpotent 5y agoYour Side Projects link to Github in the first sentence is 404.
- aschmelyun 5y agoThanks for letting me know, a fix for that is going out now!
- tpict 5y agoBuilding one of these is probably easier than wrangling the GitHub notifications settings into having a meaningful signal:noise
- aschmelyun 5y agoLiterally 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.
- gotaquestion 5y agoThis 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-order-wheel-ticket-holder-16-clips-with-pedestal-base/176CHKWHL16.html https://www.webstaurantstore.com/choice-stainless-steel-orde...
- jasonwatkinspdx 5y agoA 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.
- nescioquid 5y agoIs the sound objectionable or do you mean that it triggers a conditioned response?
- jasonwatkinspdx 5y agoBoth. When a kitchen gets slammed by a sudden rush of customers, the way the kitchen hears it is the printer going brrr.
- anamexis 5y agoI hope he at least has one of those receipt spikes to stick it on when the issue is closed.
- pottertheotter 5y agoThose 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.
- incanus77 5y agoThese 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 https://justinmiller.io/services/dreamdial1.jpg
- paulmd 5y ago"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.
- zdw 5y agoRather 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.
- aschmelyun 5y agoForgot 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.
- Nextgrid 5y agoTo be fair, chmod 777 is a perfectly acceptable workaround for a single-user, single-purpose system.
- daenz 5y agoThere'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.
- a_wild_dandan 5y agoYou could literally burn a ticket. That would be so cathartic...
- urbandw311er 5y agoSorry to be ‘that guy’ but it is also a little bit wasteful.
- corobo 5y agoPremature 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
- XorNot 5y agoHaving 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).
- dcchambers 5y agoThis is amazing.
- post_break 5y agoI 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.
- weaksauce 5y agoany kind of todo thing it would be good for or temporary labeling things with painter's tape.
- briandoll 5y agoVery cool, reminded me of one of our fist winners of the first GitHub Data Challenge, where someone made a daily newspaper out of their GitHub feed using a thermal printer: https://github.com/alx/Le-Github https://github.com/alx/Le-Github via https://github.blog/2012-06-12-github-data-challenge-winners/ https://github.blog/2012-06-12-github-data-challenge-winners...
- fmakunbound 5y agoI once tried a thermal paper print experiment for completed pomodoros to see if sense of accomplishment was improved with something physical.
- jbverschoor 5y agoAnd then you hang it on your kanban board ;-)
- nsenifty 5y agoBonus: Old stale issues automatically fade away!
- toomuchtodo 5y agoThrow a QR code on there with a link to the issue to close the loop!
- leovander 5y agoThey mention that in the post at the end.
- TazeTSchnitzel 5y agoFun 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.
- scottlamb 5y agoThis 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-paper https://www.pca.state.mn.us/green-chemistry/bpa-thermal-pape...
- turtlebits 5y agoBPA 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)
- scottlamb 5y agoI 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!]
- flotzam 5y agoYeah they're "BPA free" in roughly the same sense that 1P-LSD is "LSD free" Those blue receipt papers seem okay though: https://www.koehlerpaper.com/en/products/Thermal-paper/Blue4est-thermal-paper.php https://www.koehlerpaper.com/en/products/Thermal-paper/Blue4...
- outworlder 5y agoThe 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."
- CodeWriter23 5y ago
- dqpb 5y agoNice. Any time you submit a bug, you give the maintainer a little bit of cancer.
- popotamonga 5y agois thermal paper bad?
- latexr 5y agohttps://news.ycombinator.com/item?id=30804319 https://news.ycombinator.com/item?id=30804319
- throwaway599281 5y agoyes, it's full of BPA. https://www.pca.state.mn.us/green-chemistry/bpa-thermal-paper https://www.pca.state.mn.us/green-chemistry/bpa-thermal-pape...
- blt 5y agoIf 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 :)
- aschmelyun 5y agoI'll make some edits to the article today to include those!
- semireg 5y agoThis 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-integration-with-production-processes https://label.live/guides/automated-label-printing-integrati...
- julianlam 5y ago> 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.
- the_arun 5y agoGet to etch them on stone - go further back in time.
- jacobmartin 5y agoDamnatio memoriae if the issue is actually "functions as intended" and that can be clearly seen from the documentation?
- deleted 5y ago[deleted]
- staindk 5y agoWith 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.
- jen729w 5y agoThis 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 https://share.icloud.com/photos/0f3i7xv2QbOeofiM4atMtSCzA
- d0gsg0w00f 5y agoThat's way more civilized than I was expecting. I was thinking something more like this https://www.istockphoto.com/photo/dozens-of-food-and-drink-receipts-spiked-on-a-straight-rod-paper-spike-gm1163697532-319621163 https://www.istockphoto.com/photo/dozens-of-food-and-drink-r...
- 5y ago
- 0x0 5y agoThis 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?
- tevon 5y agoThis 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).
- Darkphibre 5y agoHeh, 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.
- dev_tty01 5y agoIf 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?
- andix 5y agoThe 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, …)
- JackMcMack 5y agoA long time ago we tried to do something similar with a jira kanban board. We were using thermal printer paper with a repositional adhesive, like post-it notes. You need a printer with integrated cutter, the Epson TM-88 used here will work. You can directly print and stick. For our use case the 80mm width was a tad too small. If you're printing "landscape" on the thermal printer, the text is not big enough to fit a ticket title in a reasonably sized sticky note. It works, but it's not really readable from more than a few meters. The paper is from MaxStick (no affiliation). Depending on your use case, pick a glue pattern without full coverage (e.g. center adhesive), so you can easily move the paper without having to pry your fingernails under an edge. https://maxstick.com/ https://maxstick.com/ https://github.com/wannessels/stickyprint https://github.com/wannessels/stickyprint
- ryatkins 5y agoYeah PHP! You rock!
- ianbicking 5y agoKind of tangential, but I think it could be a lot of fun to make a "boardgame" computer that has a thermal printer, some number displays, and some buttons. It wouldn't try to run the whole game, but would only assist. It could print out scoresheets or special tokens, roll dice, keep track of a few numbers, that sort of thing. Maybe a barcode/QR scanner so you could round trip, like scan a printout and then choose an option as described on that printout. The printer in particular could open up all kinds of generative and variable interactions or play pieces in a game while still preserving the physical tracking of the game. Maybe with some plastic holders you could even turn the printouts into rough cards...
- knute 5y agoWhen I was DMing a D&D campaign I had an idea for using a receipt printer to print a "token" that would represent items that the players acquired and they could keep it or pass it around or turn it back in after it was used or destroyed.
- trynewideas 5y agoYou weren't alone: https://github.com/BigJk/snd https://github.com/BigJk/snd
- kuang_eleven 5y agoAlthough not a tangible as what you suggest, there already is a trend in modern board gaming to have app-assisted games, usually to manage hidden state and real-time elements, and primarily in cooperative games. A couple examples are Space Alert, X-COM and Mansions of Madness 2e.
- alttab 5y agoYou should get a camera and write an OCR scanner that automatically scans the receipts as they are printed, then pushes it into a DB so you can view all your issues via a simple web application, replete with tracking, reminders, and then an e-mail integration that e-mails the opener of the issue when you put a comment on the receipt that's printed and rescanned.
- tristor 5y agoThis is rather clever satire.
- nixpulvis 5y agoThis is rather clever commentary.
- eckza 5y agoWeb 2.0 -> Web 1.0 -> Web 2.0 adapter.
- bmn__ 5y agohttps://thedailywtf.com/articles/Web_0_0x2e_1 https://thedailywtf.com/articles/Web_0_0x2e_1
- gilleain 5y agoYes the wooden table was the first thing that came to mind. Oddly enough I have recently been drawing geometric designs, and then got the idea to draw them with a drawing ro bot. The current process is : 1. Draw design with ruler and compass 2. Photograph paper 3. Edge-detect image in Inkscape 4. Draw over the edge detected lines and save to SVG 5. Possibly convert to a graph, and run the Chinese postman algorithm over it 6. Convert graph to turtle commands and send to robot So not far off. Also step 2 often involves a wooden surface...
- Spooky23 5y agoThank you for posting this. I remember when i first saw the “I hate Oracle Club”, I laughed to the point my coworkers were worried about me. :)
- geniium 5y agoWhen I read this I want to instantly go on one of your github and create an "test printer" issue :evil-grins:
- leipert 5y agoI would recommend switching to their Events API. Webhooks are great until they aren’t. Querying the Events API means you are able to resume if GitHub, your network or your Raspberry Pi was down. And bonus, your pi doesn’t need to be exposed to the world.
- bob1029 5y agoLearned this one the hard way. Events are definitely the way to go. You can guarantee perfect synchronization of state if you use it carefully (i.e. as a log you replay as needed).
- aschmelyun 5y agoOoh, that's good to know. I'll keep that in mind for Version 2!
- throwra620 5y ago
- daenz 5y agoPull vs push? Why not both! Then you'll get the benefits of low latency and robustness.
- scode2 5y agoWhat is the point of setting up the udev group if you're just going to run php as root anyways?
- mirchiseth 5y agoimagine denial of paper attack
- iamjackg 5y agoI bought all the equipment to do something like this a while ago, and wanted to set up a script that would print a daily briefing every morning. Then I realized that I would basically be generating tons of garbage for an absolutely frivolous purpose, so I never did it. I did end up reusing the printer to turn it into a Game Boy Printer, though! ...And I make sure to only print pictures I plan on keeping. ;) https://github.com/iamjackg/esp32-phomemo-gameboy-printer https://github.com/iamjackg/esp32-phomemo-gameboy-printer
- tootie 5y agoI did this at work once. We had receipt printers for a kiosk thing we were building and I printed Jira tickets on it. Nobody thought it was funny except me.
- teeray 5y agoI hope he has a metal spike to spear them all onto when he’s closed them
- EsotericAlgo 5y agoThese printers also have an expansion network card. A decade ago I worked on a project to deploy a couple hundred of these to a restaurant chain as part of a POC for an online ordering program for pickup orders. The requirement for each franchisee was to acquire a static IP and configure one of these printers to bind that static address using a network card that replaced the serial connection. The online interface from the vendor was configured with that static address and sent text over TCP to print the incoming orders. The printer than just printed whatever it received. The project was initially deployed without any whitelisting or authentication (at the vendors behest) so for a couple months these printers were printing a mixture of garbage and scan attempts from random devices connecting. It was quite humorous at the time but scares the hell out of me given the other things that were on that internal network. The project failed for other reasons, but it looks like that particular vendor is still around.
- andix 5y agoThey are quite fast (200mm/s). If you send a malicious job you have 12m of paper sticking out of the printer within a minute :D
- gopaz 5y agoFujitsu fp-2200 can print 400mm/s, it's quite mind boggling how fast the paper comes out :) Also if you hold feed while power on you get a interactive menu, printed on paper. Probably works on Epson printers also
- peter303 5y agoI wouldnt be surprised if this applies to other Hondas than listed, e.g. FIT, Accord ...
- Felger 5y agoPrinting GitHub issues on receipt ? Are you trying to compete with the FED's money printing rate ?
- deleted 5y ago[deleted]
- mottiden 5y agoThis is so good. I love it!
- jddil 5y agoFantastic idea, I hope we see a resurgence in this type of tactile, physical tech. I also wish there was a metal spike to put closed issues on as mentioned in another comment, lol. Just makes sense.
- daneel_w 5y agoI don't mean to critique the creation, but nobody would bat an eye at an identical solution printing the issues on a normal A4 desktop printer. The lyrical praise and the raving reviews entirely hinge on the gimmicky and "comic" detail of a receipt printer being used instead. Is the hacker community really this under-stimulated?
- jddil 5y agoThe UX between a A4 desktop printer and a receipt printer is different, this is almost in the realm of a practical solution to a real tech problem (almost). Also, not speaking for others but I enjoyed it because it's a great example of the hacker mindset and their willingness to write a blogpost to share it with others made my day slightly better.
- phphphphp 5y agoIf you look close enough at anything (and everything) you can reduce it in the same way. The sum of human experience is just meaningless stimulation: if receipt paper is the thing that stimulates us today, so be it, it’s no less valid than watching a rocket zoom into space. What is it to be human if not to enjoy whimsy?
- amelius 5y agoHuh? A rocket sending a telescope into space is much greater news than a receipt printer connected to yet another data source.
- phphphphp 5y agositting at your computer watching a video in a news article of rocket going into space is not contributing to a satellite launch, it’s no more valid of an activity than enjoying the whimsy of someone using a receipt printer
- amelius 5y agoWe're not just consuming news here, we're a discussion board.
- warmfusion 5y agoI did something like this but linked it to Slack and put the printer in our office. If you responded to a message with a printer emoji she (Her name was Tilly) would print the message (could even print images/first frame of gifs) in black and white. https://hackaday.io/project/21191-tilly-the-slack-printer https://hackaday.io/project/21191-tilly-the-slack-printer
- analog31 5y agoThanks for this. It motivates me to finally get my Dymo label printer under Linux control. My last remaining use of Windows is printing out serial number stickers for my side project. The numbers are just plain text, so it shouldn't be hard to switch over, but seeing this work is a nice reminder to get it working.
- naikrovek 5y agothis is flipping awesome. I have ADHD so when something isn't in front of me I can easily forget it exists. a physical stack of todos is absolutely perfect for me. thank you for submitting this. I have already ordered a thermal printer and have begun work on a similar setup. this is going to help me so much!
- iamahackerguy 5y agoYou should get a camera and write an OCR scanner that automatically scans the receipts as they are printed, then pushes it into a DB so you can view all your issues via a simple web application, replete with tracking, reminders, and then an e-mail integration that e-mails the opener of the issue when you put a comment on the receipt that's printed and rescanned.
- wwwigham 5y agoOh man, a friend of mine did exactly the same thing back in college, but using a tessel instead of a rpi: https://github.com/JRJurman/automated-ticket-printer https://github.com/JRJurman/automated-ticket-printer In action: https://www.youtube.com/watch?v=sOBhAbXNgUI https://www.youtube.com/watch?v=sOBhAbXNgUI IIRC, he actually used it on coop for awhile with a physical ticket spike to store completed tickets on. It's pretty cool to see when the issue volume is just right.
- tirrex 5y agoThis should be improved further. Add a scanner to read handwritten answer and post it as the response.
- teknopaul 5y agoIn other news: a guy I know seriously had the bright idea of DJ music events for deaf people. He is looking for funding if anyone fancies a punt on the ridiculous.
- blurker 5y agoThe title of this article is clickbait. You didn't build a receipt printer, you bought and used one. And I'm particularly disappointed because I've been looking to actually build a thermal printer and your clickbait title got my hopes up.
- runeks 5y agoI wrote some software with two other guys for a restaurant in Copenhagen. I did the backend for an automated seat allocation system, while other guys wrote a web app for browsing and ordering menu items. The restaurant insisted that the orders be printed as paper slips, while the guys had imagined a PC running the ticket system software (that the chefs would interact with). In the end they did exactly what the linked post describes (but for another ticket system — Zendesk IIRC): an RPi connected to a thermal ticket printer, using some open source library for converting from the ticket data fetched from the API to the format required by the printer.
- glacials 5y agoThis is cool and quirky, but if the core problem is really just “when you email me I might forget to reply” I’d first look at reducing noise, not adding signal. For all its weird preachy branding, the idea of inbox zero is a great for implicitly turning emails into todo items.
- hacknews20 5y agoCool! Side note, did you know a lot if these receipts contain PBA? In an experiment it was proved that people who handle many receipts, like Cashiers at tills, with PBA in them have much higher levels in their blood.
- CodeWriter23 5y agoPics or it didn’t happen