Hacker News new | past | comments | ask | show | jobs | submit login

It's been a while since I bought a printer that connected via any means other than Ethernet or Wifi, so the printer already needs to manage its own queue regardless of what the client computers do.

For printer that attach directly, there could be a daemon that arbitrates access and handles accounting or the system could simply allocate the printer to the logged-in user. For directly connected printers on multi-user systems, you'd want a real daemon, of course.

For daemons that mediate access, IMO the arbitration and accounting should be split from formatting and rasterization (if needed). For accounting and arbitration, the right way to do it is to speak something like Printer Job Language. I actually wrote a daemon like this years ago. I wonder if I still have the code. It actually counted pages regardless of how they were submitted.

Anyway, for a normal desktop machine, I think that the system daemon is silly these days.

I think you overestimate the queue size of a regular printer. Many still only have 32MB of RAM, so they can barely hold more than a few pages, if they have graphics. In my office, it's common for the OS queue to be waiting for the printer queue to free up some space.

So what?

If three users on a workstation each print a document that uses lots of RAM, two of them are going to have to wait no matter what.

My point is that you still want a workstation daemon for a networked printer, because the printer can't hold three documents in its queue, yet the other users don't want to have to manually retry printing until they get a spot in the queue.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact