Skip to content

Instantly share code, notes, and snippets.

View mary-ext's full-sized avatar
💭
dreaming of bunnies

mary mary-ext

💭
dreaming of bunnies
View GitHub Profile
/**
* interface representing a cron schedule.
*/
export interface CronSchedule {
/** minute */
minute: number[];
/** hour */
hour: number[];
/** day of month */
dayOfMonth: number[];
@mary-ext
mary-ext / open-in-browser.sh
Last active April 11, 2025 11:57
fuzzel script for choosing which browser to open
#!/usr/bin/env bash
# display name to command mapping
declare -A browsers=(
["Firefox Developer Edition"]="firefox-developer-edition"
["Chrome Canary"]="google-chrome-canary"
["Brave"]="brave"
["Brave Nightly"]="brave-nightly"
)
@mary-ext
mary-ext / discord.txt
Last active March 28, 2025 15:08
make discord good ublock filter
! Hide top bar
discord.com##.visual-refresh:style(--custom-app-top-bar-height: 0px !important)
discord.com##.visual-refresh :is(.chat_f75fb0[data-has-border=true], .container__133bf, .container_a592e1):style(border-top: 0 !important)
discord.com##.visual-refresh :is(.sidebarListRounded_c48ade, .container__01ae2, .callContainer_cb9592):style(border-top: 0 !important; border-radius: 0 !important)
discord.com##.visual-refresh .scroller_ef3116:style(padding-block: var(--space-md) !important)
! Move the inbox button
discord.com##.bar_c38106:style(z-index: 1000 !important; overflow: hidden !important)
discord.com##.visual-refresh :is(.toolbar__9293f, .searchBar__1ac1c):style(margin-right: calc(var(--space-32) + var(--space-xs)) !important)
discord.com##.visual-refresh .recentsIcon_c99c29:style(position: fixed !important; top: var(--space-8) !important; right: var(--space-xs) !important)
@mary-ext
mary-ext / bsky-annoyances.txt
Last active April 17, 2025 21:34
custom scriptlet for removing Bluesky's annoyances
bsky.app##+js(user-bsky-annoyances.js)
main.bsky.dev##+js(user-bsky-annoyances.js)
||go.bsky.app/redirect$urlskip=?u
@mary-ext
mary-ext / bsky-video-tracking-block.txt
Last active February 14, 2025 00:22
remove Bluesky's video session tracking
bsky.app##+js(user-bsky-video-tracking-block.js)
main.bsky.dev##+js(user-bsky-video-tracking-block.js)
@mary-ext
mary-ext / bsky-regional-labeler-block.txt
Last active February 14, 2025 06:22
block Bluesky's regional moderation (currently on Germany and Brazil)
bsky.app##+js(user-bsky-regional-labeler-block.js)
main.bsky.dev##+js(user-bsky-regional-labeler-block.js)
@mary-ext
mary-ext / bsky-suggestions-block.txt
Last active February 14, 2025 06:22
block Bluesky's trending and suggestions
bsky.app##+js(user-bsky-suggestions-block.js)
main.bsky.dev##+js(user-bsky-suggestions-block.js)
@mary-ext
mary-ext / follow-abort-signal.ts
Created February 6, 2025 10:08
AbortSignal.any ponyfill
export const followAbortSignal = (signals: (AbortSignal | undefined)[]) => {
const controller = new AbortController();
const own = controller.signal;
for (let idx = 0, len = signals.length; idx < len; idx++) {
const signal = signals[idx];
if (!signal) {
continue;
}
@mary-ext
mary-ext / resize-observer.ts
Created January 22, 2025 09:09
Solid.js useResizeObserver
import { batch, onCleanup } from 'solid-js';
export type ResizeCallback = (entry: ResizeObserverEntry) => void;
interface ObserverStorage {
l: ResizeObserverEntry | undefined;
c: ResizeCallback | ResizeCallback[];
}
const sym = Symbol('resize-observers');
@mary-ext
mary-ext / middleware-monkeypatch.ts
Last active January 16, 2025 06:24
Middleware-style function monkeypatcher
type Procedure = (...args: any[]) => any;
type Methods<T> = keyof {
[K in keyof T as T[K] extends Procedure ? K : never]: T[K];
};
type Properties<T> = {
[K in keyof T]: T[K] extends Procedure ? never : K;
}[keyof T] &
(string | symbol);
type Classes<T> = {