Subfolders
Latest "Applications" files
Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » Plugins » uBlock Origin

Hide comments from blocked users on Reddit with uBlock Origin

Reddit collapses comments from blocked users so you have to click to read them, but does not hide them.

Add this custom rule to uBlock origin to completely hide comments from blocked users.

! https://www.reddit.com - hide blocked user
www.reddit.com##shreddit-comment.relative:has(.text-neutral-content-weak:has-text(Blocked User))

Workshop » Reference Section » Grimoires » IT » Platforms » MacOS » Apps

Things That Don’t Get Firefox To Start Loading Pages Again When It Decides It Doesn’t Want To

Firefox as of v 148 (actually a bit earlier than that, but that's what I'm on right now) frequently decides not to load pages anymore. You enter a URL or click on a link and get the status message "Waiting for [URL]..." and you can wait as long as you care to.

When this begins, your only choice is to restart Firefox.

Here is a list of "solutions" to the problem from around the web, which I have tried and found do not fix the problem:
• Turning off DNS-over-HTTPS in Firefox Settings
• Flushing MacOS's DNS cache.
• Going to about:networking and clearing Firefox's DNS cache
• Going into about:config and changing network.dns.disableIPv6 from false to true
• Opening in "troubleshooting mode" or disabling all extensions
• Turning VPN off
• Turning VPN on

Workshop » Reference Section » Grimoires » IT » Platforms » MacOS » Apps

iOS Shortcut to dictate your shopping list into Reminders.app

I uses this shortcut to dictate my shopping list into the iOS Reminders "Shopping" list. It breaks spoken lists on the word "and" to create separate shopping list items.

So I might run the shortcut, say the phrase "pickles and hot dogs and mustard", and it will add "pickles", "hot dogs", and "mustard" as separate checkbox items to the Shopping list in Reminders. It's handy for rattling off my shopping list as I'm staring into my fridge.

Obviously you need a list called "Shopping" set up in your Reminders app.

This shortcut executes the following steps:

  1. Dictate text - listens for spoken input. Make sure set to '''stop listening after pause'''.
  2. Split Dictated Text by Custom and - splits the text into a list with "and" as the delimiter
  3. Repeat with each item in Split Text - begins the loop that adds…
Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers

Firefox process manager keyboard shortcut

Shift+esc is the keystroke that will open Firefox's process manager tab.

Workshop » Reference Section » Grimoires » IT » Platforms » MacOS » Apps

Xbar/BitBar gives “Couldn’t Posix Spawn” for script.

Apple's quarantine system can cause this. Try

[code]chmod +x com.apple.quarantine /path/to/script.sh xattr -d com.apple.quarantine /path/to/script.sh[/code]

In my experience only the xattr is needed but the chmod might help and couldn't hurt.

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS

If CSS animations cause a layout shift during rendering, even if they’re on compositable attributes

If CSS animations cause a layout shift even if they're on compositable ettributes, look for clip paths, overflow:hidden, or css filters on them or their ancestors.

private » Programming Hacks Used In This Site

War And Precedence: Plugin positioning of unpositioned elements that aren’t yet positioned by later-loading stylesheets: A CSS Odyssey

So, I had a crazy problem. You'll notice that there's various draggable elements on this site... such as the "Kupietools" plugin tabs seen at left, the occasional "the site is being worked on right now" notices that pop up, etc. You can drag them around with your mouse.

This is done with a plugin (also available as a standalone javascript module, a few versions behind the plugin as I write this) that retrofits code onto various HTML elements by giving the plugin the classnames it needs to make interactive.

I was doing some optimization on the site loading to speed things up, such as getting WordPress to load a lot of CSS file late so as not to interfere with initial page load stats. (This is a whole art, beyond the scope of this article.)
Suddenly…

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » Plugins

Block Instagram share posts from Facebook’s “all” feed with uBlock Origin

Abstract:

With the browser plugin uBlock Origin, you can block shares from Instagram with the custom rule:

www.facebook.com##.html-div:has(a[href*="www.instagram.com"])

Note: Facebook changes their css often. This may not work for long.

Also, uBlock Origin is not always the fastest plugin, you may see the Instagram posts briefly on your screen before it removes them.

How to Block Instagram Shares from Facebook Using uBlock Origin: A Complete Guide

Social media platforms have become increasingly interconnected, with content from one platform frequently appearing on another. For Facebook users, this often means encountering Instagram shares in their news feed—sometimes from accounts they follow on both platforms, creating redundant content, and sometimes from accounts they don't follow on Instagram at all, courtesy of Facebook's algorithmic recommendations.

If you're looking to curate a cleaner Facebook experience by filtering out these Instagram cross-posts, browser extensions like uBlock Origin offer a powerful solution through custom…

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS

Determining which javascript script changed an element’s attribute

Determining which script changed an element's attribute

So, I had an issue where quite a while ago I added some js code that would open a [code]details[/code] disclosure element if it contained a named anchor that was included in the page's URL. For instance if you loaded the URL [code]https://thisdomain.com/somepage.html#blahblahblah[/code], and the page had [code][/code] hidden inside a closed [code]details[/code] element, it would open that element by setting the attribute "open" on the details element, and scroll to reveal the anchor.

The problem was, I needed to make some changes to how that code functioned, and I couldn't find where I had added the script that did that.

Long story short: I temporarily added this script to the head of the page, and then reloaded it with an #anchor added to the URL, in this case [code]https://michaelkupietz.com/literally-hundreds-capsule-reviews/#puzzlehead[/code]:

[code] // Override the open property setter to catch when…
Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS

Display “fixed” elements still scrolling, not fixed to page (also, if z-index not working properly)

I had an interesting problem where I set an image's CSS rules to display:fixed and it still scrolled with the page. Here's what I discovered:

In CSS, display:fixed means fixed with regard to the nearest ancestor stacking context, not necessarily to the page coordinates. You can reset the stacking context by adding a transform, will-change, or other attributes (list provided below) to an element. If an ancestor element resets the stacking context, any descendant of it with display:fixed will stay fixed with regard to it, but if it scrolls with the page, will scroll too.

Ditto for the CSS attribute z-index. A higher z-index is only in front of objects in its stacking context. A new stacking context, lower down on the page, can contain elements with a lower z-index but that nonetheless appear in front of it visually, because they're not in the same stacking context.

Josh Comeau's site…

Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS
Web Developer Reference: Comprehensive List of CSS Units

Web Developer Reference: Comprehensive List of CSS Units

Here’s a guide to all currently available CSS units, with explanations and common use notes. This includes all CSS units listed in MDN Web Docs as of 2025aug15.

Sections:

By Category Angle units
  • deg: Angle Degrees (360deg = full circle).
  • grad: Angle Gradians (400grad = full circle).
  • rad: Angle Radians (2πrad = full circle).
  • turn: Angle Turns (1turn = full circle).
    Used in transforms, gradients, and trigonometric functions.
          Frequency units
          • Hz: Hertz. Cycles per second (e.g., for aural/speech media).
          • kHz: Kilohertz (1000Hz). Rarely used in typical web CSS.
            Length Units: Absolute length units (fixed physical or device-referenced)
            • px: CSS pixel. The most common unit for on-screen layout. Scales with zoom; not a physical device pixel.
            • in: Inch (1in = 96px).
            • cm: Centimeter (1cm =…
            Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » CSS

            Getting Web Browsers Not To Blur Images on Retina Screens

            Unfortunately this must be set by site, but on retina screens on MacOS, many browsers blur small images, such as 88x31 buttons.

            You can overcome this, at least for the images on your site, by adding this CSS to your site:

            img, div {
            image-rendering: optimizeSpeed;
            image-rendering: -moz-crisp-edges;
            image-rendering: -webkit-optimize-contrast;
            image-rendering: optimize-contrast;
            image-rendering: pixelated;
            -ms-interpolation-mode: nearest-neighbor;
            }

            You should add any element that might have a CSS background image property to that selector. In this case I have added

            because I have many divs with background images on this site.

            This tip is from https://stackoverflow.com/questions/31908444/fix-for-blurry-images-on-browsers-used-by-a-mac-retina

            Workshop » Reference Section » Grimoires » IT » Platforms » MacOS » Apps

            How to fix if the “Save” button is grayed out in Photoshop CC 2017 save and export dialogs

            I don't know if this affects other versions of Photoshop, but on MacOS Photoshop CC 2017 frequently starts unexpectedly graying out all save buttons when you have made changes to your file and should be able to save.

            The secret is to resize and move around the dialog. Drag the lower right corner to make it bigger and smaller a few times, and try dragging the whole dialog to the upper left corner of the screen and making it small.

            This fixes it for me.

            Workshop » Reference Section » Grimoires » IT » Applications » Web Browsers » Addons

            Filtering LinkedIn Posts, Notifications, and Comments by keyword

            I use the uBlock Origin browser plugin to filter my LinkedIn Posts, Notifications, and Comments to hide anything containing objectionable topics. uBlock Origin allows you to add custom rules to block web content.

            How to use and setup uBlock Origin is beyond the scope of this post. It's not hard, figure it out and then come back. What you want to know how to do is add your own custom rules.

            Let's say, for purposes of these example, I want to block all mentions of someone named Grump.

            The simplest version: block a single word

            The following three rules hide Posts, Comments, and Notifications, respectively, that contain the word "grump", whether as a separate word, or as part of other words, such as "grumpier".

            Posts: www.linkedin.com##div:has( > .ember-view.occludable-update:has(div.fie-impression-container:has-text(/grump/i)))
            Comments: www.linkedin.com##.comments-replies-list > .comments-thread-entity > .comments-thread-item > .comments-comment-entity--reply.comments-comment-entity:has-text(/grump/i)
            Notifications: www.linkedin.com##div[data-finite-scroll-hotkey-item]:has-text(/grump/i)

            That's the basics. But…

            Workshop » Reference Section » Grimoires » IT » Applications » FileMaker Pro

            Get names of all input fields in a FileMaker Pro table

            ExecuteSQL ( "SELECT FieldName FROM FileMaker_Fields WHERE TableName='[TABLE NAME]' AND FieldClass='Normal'",",","¶")