But, also, wow! Windows-only and AGPLv3 is not a combination I think I've ever seen before.
OSes that use plain text configuration files are easy to resurrect. Windows is fixed with reinstall the OS. Linux and BSD are fixed with editing a config file or reinstalling a single corrupt application / library.
Example of bad versus good design is DirectX shader compilation. Windows can only perform this while the game is running. Linux with WINE can perform this without the game running. Windows will have bad FPS during the first run / scene with many games because of this.
PS. Windows print system is really bad in the industrial environment because they do not follow label markup language stands. Number of label DSLs have a print quantity setting to save memory. Want 1000 copies printed, one print job with print quantity set to 1000. Windows spools up 1000 copies of the label and sends each to the printer. This eats up the memory on printers in no time. It also brakes the ability to clear the print queue just on the printer. Extra steps require the Windows print job to be canceled and they the printer's queue to be cleared. Otherwise The printer will receive the next 990 of the 1000 print job.
Example of bad API designs by Microsoft that gets pushed into production is `GetPrivateProfileString`[0]. This function returns a single key value from an INI file. This function will 1) Open the file, 2) Search the file for the Key, 3) Close the file. A better design would be to abstract the file so it is only open and closed once versus how many key values must be read from an INI file. It is like reading one BYTE of an IC at a time instead of batching the process.
NTFS cannot even free master file table space. Creating a lot of small files make it expand and never shrink.
Windows does not properly handle STDIN and STDOUT. Because of DOS being an applications versus a SHELL a person must compile an application as a GUI or CMD flagged, that is also bad design because a command line application must be re-design and re-complied as a GUI to hide the DOS console from showing when it runs and brakes all STDIN and STDOUT logging methods.
Microsoft still does not have proper offline updating. For some reason they falsely believe that everyone connects their computer to the Internet. Lot of air-gap machines in the automation industry. Big reason to move product host OS to BSD or Linux.
It is not fun trying to fix a corrupt registry or WMI repository. Even Microsoft sent out a Windows update to stop auto-backup of the registry because their low-end Surface laptops didn't have the hard-drive space to store them.
[0] https://learn.microsoft.com/en-us/windows/win32/api/winbase/...
I know I could make a PDF, sideload it to a Kindle, etc. Too many steps. I just want the display to appear as a printer on my phone.
Basically to do this you have a cups server that exposes itself as a network printer that prints to a specified PDF directory and then you have a program watching that directory for new files and if there's a new one it opens up whatever pdf viewer you want in full screen.
Setup a shared pdf printer: https://askubuntu.com/questions/1310867/how-to-set-up-shared...
For those unaware, at the CVS Pharmacy if you walk in and buy so much as a pack of gum, you're likely to walk out with at least 3 feet of receipt. They use them to tack on ads and coupons.
The thermal sensitive layer contains very large amounts of BPA in a dusty form that will easily contaminate your hands.
BPA is a major endocrine disruptor. They might say BPA-free, which would be technically correct, but that just means they'll use a near identical BPA variant that isn't proven to be an endocrine disruptor yet.
Handle with care, wash your hands, don't put them in the kitchen.
Abandonware.
Of course, CUPS based printing has had built in print to PDF for years...
[1] Common Unix Printing System
criddell•1mo ago
Oras•1mo ago
skeeter2020•1mo ago
edit: and goes deep into COM for device interfaces. Wow! blast from the past.
wolfi1•1mo ago
PeterStuer•1mo ago
jeroenhd•1mo ago
In theory you could maintain code paths for both, offering a slimmer package for Windows 10+, but that'd also cost more time and effort to maintain.
Also, not many people know Windows comes with an OCR API. It's extremely underused in my opinion.
atmanactive•1mo ago
https://github.com/microsoft/PowerToys