Skip to content

Instantly share code, notes, and snippets.

@uhop
uhop / SKILL.md
Created May 23, 2026 11:33 — forked from aparente/SKILL.md
tufte-viz Claude Code skill — Edward Tufte data visualization principles

name: tufte-viz description: | Ideate and critique data visualizations using Edward Tufte's principles from "The Visual Display of Quantitative Information." Use this skill when: (1) Designing new data visualizations or charts (2) Critiquing or improving existing visualizations (3) Reviewing dashboards or reports for graphical integrity (4) Deciding between visualization approaches (5) Reducing chartjunk or improving data-ink ratio (6) Planning small multiples or high-density displays

@uhop
uhop / gpg-ssh-setup.md
Created May 13, 2026 16:12 — forked from mcattarinussi/gpg-ssh-setup.md
A setup guide to use a personal gpg key for ssh authentication

GPG - SSH setup

Generating the master key

Here we create the master key. We want only Certify capability: we use the master key only to create the subkeys, Sign - Encrypt - Authenticate capabilities will be assigned to the subkeys.

Run the following command to start the master key generation process. Select the set your own capabilities creation process (type 8)

  ▶ gpg --full-generate-key --expert

gpg (GnuPG) 2.2.9; Copyright (C) 2018 Free Software Foundation, Inc.

@uhop
uhop / 𝗖𝗟𝗔𝗨𝗗𝗘.𝗺𝗱
Created February 25, 2026 05:41 — forked from CodeLeom/AGENT.𝗺𝗱
Best practices and workflows to use with Claude Code on every project
## Workflow Orchestration
### 1. Plan Node Default
- Enter plan mode for ANY non-trivial task (3+ steps or architectural decisions)
- If something goes sideways, STOP and re-plan immediately
- don't keep pushing
- Use plan mode for verification steps, not just building
- Write detailed specs upfront to reduce ambiguity
### 2. Subagent Strategy
@uhop
uhop / index.js
Created November 22, 2024 04:41
Fast pow() vs. slow pow()
const fastPow = (x, n) => {
if (x <= 0) return 0;
if (n === 0) return 1;
if (n === 1) return x;
const result = fastPow(x, n >> 1);
return (n & 1) ? result * x : result;
};
@uhop
uhop / dll.js
Last active July 27, 2024 19:30
Minimal circular SLL and DLL (lists).
// doubly linked list
const removeNode = node => {
node.prev.next = node.next;
node.next.prev = node.prev;
node.prev = node.next = node;
return node;
};
class DLL {
@uhop
uhop / min-heap-ext.js
Last active July 27, 2024 16:21
Minimal min-heap
import {up, down} from './min-heap.js';
// more efficient operations based on up() and down()
// WARNING: untested (if I wrote comprehensive tests it wouldn't be a gist, would it?)
const replaceTop = (heapArray, value, less) => {
const top = heapArray[0];
heapArray[0] = value;
down(heapArray, 0, less);
return top;

Shell scripting with Markdown documents

alias ~~~=":<<'~~~sh'";:<<'~~~sh'

@uhop
uhop / LC_COLORS.md
Created March 23, 2024 05:28 — forked from thomd/LC_COLORS.md
LSCOLORS & LS_COLORS

alternatively use: http://geoff.greer.fm/lscolors/

LSCOLORS

The value of this variable describes what color to use for which attribute when colors are enabled with CLICOLOR. This string is a concatenation of pairs of the format fb, where f is the foreground color and b is the background color.

The color designators are as follows:

a black

@uhop
uhop / 0.README.md
Created March 22, 2024 18:22 — forked from izabera/0.README.md
tput codes

This is the table from man 5 terminfo.

Do NOT hardcode terminal escape sequences. Use tput with the cap-names from the table below to get the right code for your terminal.

(P) indicates that padding may be specified
@uhop
uhop / ANSI.md
Created July 3, 2023 19:01 — forked from fnky/ANSI.md
ANSI Escape Codes

ANSI Escape Sequences

Standard escape codes are prefixed with Escape:

  • Ctrl-Key: ^[
  • Octal: \033
  • Unicode: \u001b
  • Hexadecimal: \x1B
  • Decimal: 27