Creating a Virtual Printer Using Node.js [video]
youtube.com
youtube.com
Why not start with, "This project creates a virtual printer that advertises itself with Bonjour and writes a postscript file to local storage." Follow that with a simple statement about why that is cool and what you can do with the file, which is still not apparent.
Obfuscation has become the norm.
https://github.com/watson/ipp-encoder
I mention a few low hanging fruits in the talk like "print to bookkeeping" - but that's just one use-case. Consider that you can use it as a printing proxy and divert jobs to different printers or implement an authentication system or a payment system before printing. There are a lot of options...
Might even be able to combine with GPS info in the image to log where the receipt is from, etc.
This could be a pretty decent idea for adding to online bookkeeping services... so that you can tag receipts, for tracking the taxable portion of them, etc.
Advance print queues for printing services could be another thing...
This IPP server is cool, though I'm not sure what uses it has yet. Maybe just a handy way to print to disk without having to choose a folder and file name. Or use as a proxy to redirect print requests to different printers depending on size or type of print job. Or a way to queue up print requests until off-hours. This is just off the top of my head and I'll bet there are other cool uses as well.
Meanwhile I just enjoy developing in it every day. Other than having to maintain the odd ExtJS app, it's simply the best. cue triumphant sax
https://github.com/js-cookie/js-cookie/blob/master/src/js.co...
I'm sure js could be nice, but it never seems to be.
What you're looking at is a relatively poor example. In es6, that could be ...
exports default function...
without all the cruft around it, also the module itself could be cleaner. Similar to: var cookies = parse();
export function set({key, value, days=null}) {
...
}
export function get(key) {
...
}
export const remove = (key) => set({key, value:null});
export function parse(values = document && document.cookie || '') {
...
}The first step would be to understand the difference between weak/strong and dynamic/static typing.
Firstly, that's a strawman. I prefer strongly-typed dynamic languages and I still think JavaScript sucks.
Secondly, I think you're confusing strong vs. weak with dynamic vs. static. JavaScript's weak typing is unequivocally one of the worst things about the language.
I think you contradict this in the rest of your comment:
>Javascript is poorly designed because there are these rules you need to learn and because there are some language features that you just don't use.
One rule you've mentioned:
>using === over ==
Which is a result of weak typing. So maybe weak typing is a language feature "that you just don't use"? Which, according to you, makes weak typing a reason why JavaScript is poorly designed.
But your claim wasn't "weak typing was a bad design decision", it was "JavaScript's weak typing is unequivocally one of the worst things about the language". I think it's silly to call a mis-feature "unequivocally one of the worst things" when people who write javascript basically never run into, and when it can be completely avoided by using unintrusive tooling like a linter.
oh, and Visual Basic!!!
I didn't say JavaScript is all anyone needs for every situation, just that it's great imo.
It's been pretty hard so far though to figure out how to do this replacement in PostScript :(
(Although the "printer" part of the headline makes this sound much more fancy and hardware-oriented than what it is, yet another HTTP-based protocol that's parsed enough to work for a few use cases).
`Uncaught TypeError: PC Load Letter?`
What the fuck does that mean?any application that can be written in JavaScript, will eventually be written in JavaScript.
Printers suck a putting stuff on paper, doing a digital copy via a printer protocol doesn't fix that. It's neat and there might be some interesting use cases, but it doesn't fix what's wrong with printers.
I'm not even sure that printers where ever that great. Printers seems like devices that sort of peaked 40 years ago. Since then they have gradually decreased in quality. Printing 1000+ pages a day seems to be a little much to ask from many printers, they simply wear out to quickly. The whole process of looping paper around inside something that fits on a desk (sort of), combined with cheap plastic parts is a receipt for disaster.
Software-wise the manufacture should stop trying to add more feature that no one while ever use and instead work on making "cancel print job" actually work. The number of times a printer (driver?) has chosen to pick the wrong paper-tray is mind boggling. Why are there even multiple trays, we only ever need to print on standard A4 paper? Sadly picking a printer where the hardware quality will support the volume also result in feature bloat.
I really hate printers, and no amount of Javascript will make them any better.
If you get an old LaserJet they're industrial beasts. But no-one wants to pay money for a printer, so we end up with two markets: the very expensive, but good, professional printers, and the domestic horrible printers.
If you're printing 2 reams a day you can afford to invest in a decent printer.
> Why are there even multiple trays, we only ever need to print on standard A4 paper?
You only need that. A bunch of offices need to print on A4, and C5 envelopes, and sometimes A5 and sometimes on labels.
I understand that. My point was that perhaps it would easier to build high quality printer dedicated to specific tasks. I would guess that the majority of printers in something like financial departs won't ever print on more than one type of paper.
Honestly I don't even feel that paying for the expensive printer, like high-end HPs, will get you above "okay". They still do weird stuff and the internal plastic parts will break easily.
I don't print much, but I'm not sure where your problem lay. A typical low-end B&W LaserJet with a single tray is pretty damned close to what you are asking for, and they aren't that expensive.
The printer needs to be well built. The printer needs cheap ink, and no chipped cartridges, the ability to use generic ink, and ink cartridges that don't dry out. Then, and only then will I spend a lot on a printer.
The printer industry seems to have shot themselfs in the foot while being clever with chipped cartridges. People realized they don't need to print? I have a Epson r2400 collecting dust. I just got tired of paying over a hundred dollars for their pricy ink.
I am now so used to not printing; maybe I'll never return?