The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,733 other followers

Archive for May, 2022

MacOS: default PCL printer driver only allows monochrome (black&white/grayscale); default PostScript allows colour

Posted by jpluimers on 2022/05/23

Printing on MacOS can be less Plug&Play than one hopes for.

For default printer drivers on MacOS for the same printer:

  • Postscript allows colour and monochrome (black & white / grayscale)
  • PCL only allows monochrome (black & white / grayscale)

One solution for my OKI MC363 is to use the HP PCL driver and fake it as a HP Colour LaserJet 9500 (which provides a similar amount of memory, and colour duplex A4 printing)

Yes I know the OKI MC363 does PostScript, but like PCL implementations, some documents don’t run well with PostScript, some others don’t run well with PCL. Most documents run well with both PostScript and PCL, but one or the other is much faster. So it pays having both PCL and PostScript configurations at hand.

The Bonjour support of the OKI MC363 is flaky: often it prints pages with just PostScript headers, hence the dual PCL and PostScript configuration which is stable.

And yes: I do prefer PostScript over PCL as usually it is more accurate and has more tooling.

Related:

  • [Wayback] Macbook not showing color/B&W print optio… – Apple Community

    Sounds like you have created the printer using the Generic PCL Laser driver included with 10.9. This driver will only print in B&W and 300dpi with an option to up the resolution to 600dpi. So remove this printer and try adding it again, this time selecting the Lanier LD445c driver in the Use menu.

  • [Wayback] Printer and scanner drivers for Mac – Apple Support

    Many printers and scanners use driverless technologies such as AirPrint or IPP Everywhere, which don’t require additional drivers on your Mac. But third-party drivers might still be available for older devices that do require a driver. Always check for software updates before connecting the device to your Mac for the first time. If the appropriate driver is available from Apple, your Mac will install it automatically.

    This list is no longer updated.
    Many vendors of printers and scanners have adopted driverless technologies such as AirPrint, and they are no longer providing drivers for new devices. If your printer was made in the last several years, it probably doesn’t require a driver. This list is provided for reference purposes and is no longer being updated.

  • Avoid kludges like Hpijs / Pxlmono / Foomatic / GhostScript based solutions, as they are slow, take many more manual steps to configure and usually do not support duplex printing. The start of the pain is described at [Wayback/Archive.is] Describes how to set up OS X to print in color to a PCL printer.
  • [Wayback] El Capitan PCL printing – Apple Forum – Spiceworks

    Avoid Gutenprint if & wherever possible, that’s a stop-gap measure for companies that fail to step up and provide a driver, or for really ancient hardware that isn’t going to ever provide a driver for current Mac OS because the maker is long gone, etc.

    Ricoh is one printer manufacturer and where used one should of course look to them for a driver.

    Do not use Generic PCL, that is another stop-gap measure for where a proper driver is not available. If you use this, you will fail to get many (if not most) available printer features, and precision can also suffer.

    PCL drivers can sometimes be used in OS X but typically works very poorly or strangely. Your mileage will vary greatly.

    AirPrint is intended primarily to service wireless non-computer devices, and your printer vendor needs to provide support. 3rd-party software is available – as yet another stop-gap measure – but does not work well in my testing and is not production-ready.

    Normally, (for network printing) you want a proper and current printer and driver (and/or PPD) for same with postscript support.

More P&P woes:

–jeroen

Posted in Development, Power User, EPS/PostScript, Hardware, Apple, Mac OS X / OS X / MacOS, Printers, OKI Printers, OKI C332, MC342 printer/scanner, OKI MC363/MC363DNW | Leave a Comment »

Windows 8.1: default Windows Explorer to open “This PC” instead of “Libraries” without duplicating the taskbar icon

Posted by jpluimers on 2022/05/20

Every now and then you revisit old Windows versions. It seems a fact of life.

If course those lack more recent features, one of which is the default View with which Windows Explorer starts.

In Windows 10 you can switch it between “This PC” and “Quick Access”. Not so with Windows 8.1.

In Windows 8.1, when you have “Show Libraries” enabled, it will default to that. So the trick is to disable “Show Libraries” and refrain from using them. I never used them, so that is OK for my situation.

Based on:

Screenshot:

Read the rest of this entry »

Posted in Power User, Windows, Windows 10, Windows 8.1 | Leave a Comment »

To make Twitter a better place for visually impaired: please do without those fancy Unicode letters in your account and messages – Global Accessibility Awareness Day 2022 – #a11y

Posted by jpluimers on 2022/05/19

Today is Global Accessibility Awareness Day, so it is a good day to write about a Twitter bot that tries to coerce people in having more accessible Twitter names and messages.

I knew I made a bookmark of [Wayback/Archive] Jacques Favreau on Twitter: “@Conundrum9999 @asciiArtHelpBot will make a little video of reading these things if anybody wants to try it out on a tweet.”

But when searching for it earlier this month, I could not find it (see below how in the end I did find it back).

The tweet was part of a thread that started with this tweet which very well describes why you should refrain from using fancy characters in Tweets or Twitter names:

[Wayback/Archive] Katie Mixtochtli – read my pinned – use alt text on Twitter: “Why you should avoid symbols and nonstandard letters in your twitter name if you want to be screen reader friendly: #DisabilityTwitter #disabilityinclusion Read on to see how “𝕁𝕒𝕞𝕖𝕤 – ʷʰᵉʳᵉ ⁱˢ ᵗʰᵉ ᵖʳᵒᵗᵉˢᵗ – ℂ𝕣𝕠𝕩𝕥𝕠𝕟 liked your reply” sounds to me 👇🏼”

The thread contains the long text you get when a screen reader reads that tweet. A video of that is below, and I saved the thread at [Wayback/Archive] Thread by @Conundrum9999 on Thread Reader App:

Read the rest of this entry »

Posted in accessibility (a11y), Awareness, Development, Inclusion / inclusive society, SocialMedia, Twitter, TwitterBot | Leave a Comment »

On Windows, keep the lifetime of relative pathnames as short as possible because of thread-safety issues

Posted by jpluimers on 2022/05/18

Subtitle:

GetFullPathName thread-unsafety because of SetCurrentDirectory isn’t, so derived functions (like Delphi GetDir/ChDir/TPath.GetFullPath, or .NET System.IO.Path.GetFullPath) are not thread-safe either (via The Old New Thing)

A while ago I got a big reminder because of [Wayback] What are these dire multithreading consequences that the GetFullPathName documentation is trying to warn me about? | The Old New Thing

The documentation for the Get­Full­Path­Name function contains this dire warning:

Multithreaded applications and shared library code should not use the GetFullPathName function and should avoid using relative path names. The current directory state written by the SetCurrentDirectory function is stored as a global variable in each process, therefore multithreaded applications cannot reliably use this value without possible data corruption from other threads that may also be reading or setting this value. This limitation also applies to the SetCurrentDirectory and GetCurrentDirectory functions. The exception being when the application is guaranteed to be running in a single thread, for example parsing file names from the command line argument string in the main thread prior to creating any additional threads. Using relative path names in multithreaded applications or shared library code can yield unpredictable results and is not supported.

Boy, this was a trip down memory lane, as subconsciously I was aware of this, but not consciously, so it was great seeing it all written down.

Since most of your Windows applications and services are multi-threaded by now (even if you don’t realise this, a cmd.exe instance already has multiple threads running).

It means that the current directory global process variable can be changed by any thread. Since GetFullPathName relies on this converting relative pathnames to absolute pathnames, it means that over time the conversion might give you different absolute pathnames.

Which means these all are not thread-safe:

Related: Much Turbo Pascal history (via What is a Delphi DCU file? – Stack Overflow)

–jeroen

Posted in Delphi, Development, Pascal, Software Development, Turbo Pascal, Windows Development | Leave a Comment »

A while ago @LarsFosdal praised Bruneau Babet for trying to offset the lack of Idera/EMBT customer communication and quality control: Lars Fosdal is right

Posted by jpluimers on 2022/05/17

Earlier this year, [Wayback/Archive] Lars Fosdal posted a long thread about Embarcadero/IDERA software quality and one special person trying to offset the lack.

It is important not just because of his opinion, but also because Lars posts rarely about his Delphi opinion. He is the kind of guy quietly working with Delphi and doing a lot of community support.

When he posts, it is important and should be a signal to be picked up by Embarcadero/IDERA. Until now, not so much of that.

The first tweet was this:

Bruneau Babet is the best developer advocate that Embarcadero can have! The man inexhaustibly and tirelessly deals with all our pesky questions and comes back with detailed, sensible, and HONEST answers.
@EmbarcaderoTech and @marcocantu should hire more people like Bruneau.

and the last tweet ended with this:

Idera/EMBT – please work on your customer communication and quality control – while you still have customers.

Read the rest of this entry »

Posted in Delphi, Development, Software Development | Leave a Comment »

 
%d bloggers like this: