Skip to content

Instantly share code, notes, and snippets.

@santisbon
santisbon / bluesky-comments.tsx
Created November 25, 2024 06:20 — forked from emilyliu7321/bluesky-comments.tsx
Integrate Bluesky replies as your blog's comment section
"use client";
/* eslint-disable @next/next/no-img-element */
import Link from "next/link";
import { useState, useEffect } from 'react';
import {
AppBskyFeedDefs,
AppBskyFeedPost,
type AppBskyFeedGetPostThread,
} from "@atproto/api";
@santisbon
santisbon / latency.txt
Created October 27, 2024 20:52 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@santisbon
santisbon / sad-path.ts
Last active November 4, 2024 20:15 — forked from mozzius/sad-path.ts
Bluesky video upload - indirect upload. Sad path where you upload directly to your PDS. Takes a sec to process after posting.
import { AppBskyEmbedVideo, AtpAgent } from "npm:@atproto/api";
const userAgent = new AtpAgent({
service: prompt("Service URL (default: https://bsky.social):") ||
"https://bsky.social",
});
await userAgent.login({
identifier: prompt("Handle:")!,
password: prompt("Password:")!,
@santisbon
santisbon / happy-path.ts
Last active October 27, 2024 20:48 — forked from mozzius/happy-path.ts
Bluesky video upload - direct upload. Happy path, where you upload it directly to video.bsky.app.
import {
AppBskyEmbedVideo,
AppBskyVideoDefs,
AtpAgent,
BlobRef,
} from "npm:@atproto/api";
const userAgent = new AtpAgent({
service: prompt("Service URL (default: https://bsky.social):") ||
"https://bsky.social",
@santisbon
santisbon / Fedora.sh
Last active October 23, 2024 21:16
Fedora
sudo dnf up[grade]
# View repo list
dnf -v repolist --enabled [| grep Repo-baseurl]
# RPM Fusion repos (free and non-free)
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# On Fedora, we default to use the openh264 library, so you need the repository to be explicitely enabled
sudo dnf config-manager --enable fedora-cisco-openh264
@santisbon
santisbon / nordvpn.sh
Last active September 1, 2024 22:22
Common NordVPN commands on Linux
nordvpn login
nordvpn account
nordvpn settings
nordvpn status
nordvpn set analytics off
nordvpn set killswitch on
nordvpn set autoconnect on
nordvpn set threatprotectionlite on
@santisbon
santisbon / favicons.sh
Last active August 28, 2024 04:01
Fix issue where favicons are not updating on Safari for macOS.
# Go to Settings, Privacy & Security, Full Disk Access. Enable it for your terminal app and run:
rm -r ~/Library/Safari/Favicon\ Cache/*
@santisbon
santisbon / chase-offers.js
Last active August 25, 2024 16:36
Add all Chase Offers to your card with one click.
// Reference: https://www.reddit.com/r/ChaseSapphire/comments/18pb8w5/auto_add_all_offers_to_chase_card/
// You can show/hide the Favorites Bar with shift-command-B.
// Add a bookmark to your Favorites Bar with this as the address:
javascript:a=()=>{window.history.back(); setTimeout(c, Math.random() * 1000 + 300);}; c=()=> { btns=[...document.querySelectorAll('.r9jbij9')].filter(b => b.childNodes[1].childNodes[0].type !== 'ico_checkmark_filled'); b = btns.pop(); if (!b) return console.log('added all!'); b.childNodes[0].click(); setTimeout(a, Math.random() * 1000 + 300); }; c();
// Now go to your Chase Offers page and click on the bookmark.
@santisbon
santisbon / kubedf
Last active March 16, 2023 15:45 — forked from redmcg/kubedf
Bash script to show k8s PVC usage #k8s #kubernetes
#!/usr/bin/env bash
NODESAPI=/api/v1/nodes
function getNodes() {
kubectl get --raw $NODESAPI | jq -r '.items[].metadata.name'
}
function getPVCs() {
jq -s '[flatten | .[].pods[].volume[]? | select(has("pvcRef")) | '\
@santisbon
santisbon / emojos.sh
Last active March 16, 2023 15:47
Grab a list of emojos (custom emoji) supported by a Mastodon instance. Sort it, and remove patterns you're not interested in. #mastodon #emoji
# Use your instance domain
DOMAIN=hachyderm.io
EXCLUDE="blob|yeen|another|yetanother"
# Create the script file
cat << EOF > ~/emojos.sh
curl 'https://emojos.in/${DOMAIN}' -o emojos.htm
# Case-insensitive, print only the match rather than the entire line. Sort. Deduplicate. Redirect to file.
grep -io ':[a-zA-Z0-9]*_*[a-zA-Z0-9]*:' emojos.htm | sort | uniq -d > emojos.txt
# Filter out patterns (case-insensitive delete)