I have a working theory that any software used by programmers will eventually get excellent (or be replaced with something excellent). And everything else stays vaguely mediocre.
Postgresql? Excellent. The tooling to allow non-programmers to edit data in postgres? Halfbaked. Sound cancellation in macbooks for video calls? Fantastic. The software bank tellers use? Garbage. Github? Fantastic. Github equivalent for non programmers (eg people with folders full of Word docs)? 404 not found.
Anyway, the fact that modern printer drivers are garbage should come as no surprise. Who amongst us cares enough to fix them? RMS was probably one of the last competent programmers who will bother writing clean, minimal printer drivers. I expect the world will become paperless before HP cleans up their act.
I have the same problem at the moment with my Wacom tablet - the hardware is great but the software is truly awful, and apparently it phones home regularly. Software for artists is unfortunately off the golden path.
I seriously think the world would be better off if programming were seriously taught in schools, on a level equivalent to language, math, science, etc.
If we start with Scratch in early grade school and work up to C in high school, so many more people would be comfortable and efficient using computers, and would have the understanding necessary to understand the legislation of tech.
This would take a decade+ to pay off/have the bank tellers know to program, but it seems like the best long term plan.
I really like this phrasing. I'm not really an engineer. My code is mostly rough, but it is functional and does what I need it to. I don't program to build a skyscraper, I program so my computer can do a thing I need it to do.
You'd need a native iPad app to capture and transmit pen events, and then something on the desktop side to receive the events and turn them into the equivalent wacom tablet events. How does wacom send tablet events to apps? Is it a named socket or something? It shouldn't be too hard to emulate. I wonder if anyone's made something like that in the app store.
Mind you, I'd much rather if Apple baked it into macos through Sidecar.
But Sidecar is also pretty half-baked and Apple is flakey about supporting features like in general, so who knows how it will all pan out.
I very purposefully position my monitor so that my main console window is viewed, with my head level. It is also horizontally centred on the mid-left of that console.
This is because most text, eg bash work, vi of files or code, rests there.
In this way, my head is not tilted down, or eyes tilted down constantly. My head is mostly centred, and looking straight ahead.
I find that elsewise, my body follows the constant downward look, either slouching or the neck bent forwards.
Why do you belief your monitor should be positioned, so you are looking downward constantly?
Hence the top of the monitor being at eye level, is problematic. I think the best scenario is most-often level.
I wonder, I grew up before laptops and smartphones. These often result is down-gazing a lot. Hmm.
At the end of the day, if you’re finding that something helps to reduce long-term fatigue then it’s probably not too bad, but don’t forget that slouching in your chair feels good however it’s terrible ergonomically - this is similar. Comfortable short term, but not always long term.
All of these recommend at or slightly below eye level:
https://www.ors.od.nih.gov/sr/dohs/Documents/Computer%20Work...
https://www.osha.gov/SLTC/etools/computerworkstations/compon...
https://www.ccohs.ca/oshanswers/ergonomics/office/monitor_po...
https://www.worksafe.qld.gov.au/__data/assets/pdf_file/0006/...
https://www.mayoclinic.org/healthy-lifestyle/adult-health/in...
Etc..
The search I ran in google was “monitor ergonomics gov”
It's certainly not non-existent.
(There's now browser based versions of MS Office apps that can simultaneously edit documents stored and automatically version controlled in SharePoint)
In some ways it was truly awful, to mention two examples:
- a reason for using it was to automatically apply Azure Information Protection to documents. All well and good until it turns out the mechanism can trivially be subverted, so trivially that we found out by accident by not following the exact login procedure.
- the usability makes is comparable to Oracle software. I have extensive experience with that too, but I can't say which is worse.
Hmmm... I think.. sometimes. There's also software that gets excellent, becomes big, becomes profitable, and squeezes out everything else. Then becomes mediocre. word and google docs?
Most programmers rarely using office suites and prefer to use plain text editors. This has gone so far that developers prefer a sadistically under-featured file-format (.md) to office files.
.md files avoid the copy paste font/size mess by being plain text and rendering in the reader's choice of font. Bold, italics, hyperlinks and such are all explicitly added, easy to Ctrl + F for and aren't hidden behind finicky context menus as in standard word processors.
Literally anyone with a computer that has a ASCII or Unicode compatible text editor can open a .md file and get useful info.
Even better, add a little bit of lightweight extra tooling, and now you've generated a nice looking html page, if you need to make something with fancier presentation.
The only thing I miss is the ability to embed images in the md file itself, but even that is not hard to work around.
Obviously I keep software on hand that can deal with docx/odf, but I'd really rather just keep it simple, due to the fact that I'm stupid.
And doesn't have a proper spec. The best we have is https://commonmark.org
Ah, the tell of someone who has never implemented printing.
Pagination across different paper sizes when content is dynamic/interactive and includes things like section headers that you need keep with text and images and tables that users expect to not split across pages with their custom choices of margins, page-numbers, page titles etc. So many other issues like ensuring monochrome prints are legible, implementing print previews etc.
Oh boy. Some might think implementing math from papers is hard but no, it's this sort of thing. You'll be fixing problems with it for the life-time of the product.
If things are different now, it certainly was not during the brief time Wave was around.
In fact, in general, a human being must actually lay these things out by hand for print if that is the desired medium.
In the end, the user doesn't care. They want the printed page to be usable. If the browser makes it usable, excellent! If it doesn't, than the product is bad and an alternative must be found.
Sure, Google, being in control of Chrome, could implement a browser-level page layout engine.
Unfortunately, there is obviously no way to make a good general purpose layout engine, so that will never fly. Any site that wants to offer printing as a paid feautre must implement their own printable version, no question.
It seems like the driver should detect paper size, broadcast a compatible print area/capabilities to something above, and then stand by to make any dot it can in the allowed area.
Why would the hardware driver need to deal with pagination, layout, or print previews (beyond advertising capabilities accurately)?
I've always imagined that drivers are hard on the hardware side. It is really difficult to reliably place dots on a page with the requisite precision/reliability at the price-point to which we have all become accustomed.
It was about not being able to customize the behavior, lacking the access to source code, not about “crappiness.”
“ In 1980, Stallman and some other hackers at the AI Lab were refused access to the source code for the software of a newly installed laser printer, the Xerox 9700. Stallman had modified the software for the Lab's previous laser printer (the XGP, Xerographic Printer), so it electronically messaged a user when the person's job was printed, and would message all logged-in users waiting for print jobs if the printer was jammed. Not being able to add these features to the new printer was a major inconvenience, as the printer was on a different floor from most of the users. This experience convinced Stallman of people's need to be able to freely modify the software they use.[29]”
That is an anachronistic claim which sounds logical to the reader in 2020 but doesn’t match the environment of decades ago. The feature he added could have been based on, from perspective of the producer of the printer, completely non existing API.
That is, something available to different customers, but completely specific to the setup of every customer.
Additionally, it was the principle that mattered to RMS. One can often do some reverse engineering intervention to achieve the desired modification even based on the closed source, but it’s still against the conceptual advantages of working on the codebase which is by policy free. As in:
“Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software.”
https://www.gnu.org/philosophy/free-sw.en.html
The principle works even once the network messaging API in some environment is standardized and starts to allow some, from that point on, “standard feature”.
They’re $30 with barely used toner cartridge, and have worked no effort on Mac / Linux / Windows for me.
Whoa, is this a thing? I know gov surveillance is in depth, but wow.
I'd love to read more, is there a good place to read about this?
Color laser printers can't be trusted.
Color inkjet printers probably can't either. Networked printers should not be granted internet access. The printer vendor is your enemy, not an ally.
I've never trusted printer vendors (or any vendors to be honest.), and I don't give printers inet access, but the yellow dots are news to me.