coldcat retweeted
you can turn ANY picture into a 3D character with Claude Opus 5.5 + Blender...
5 days ago i was a flat picture. today i have 41 bones and i can jump.
the trick is the picture you start from, but there's a smart way to set it up:
- step 1: one front-view picture of your character, arms out in a T, no accessories
- step 2: Tripo turns it into a 3D model (mine came out at 98,979 points)
- step 3: Tripo adds a skeleton: 41 bones
- step 4: connect Blender to Claude through the Blender MCP add-on
- step 5: ask Opus for poses by name: think, shrug, jump. it writes the python, Blender renders
- step 6: glasses, laptops, hats get built as separate objects, never baked into the body
who does what:
> Tripo: the model and the skeleton
> Blender: poses, light, render
> Opus: runs Blender from one chat
and the real cost...
2 tries, 1 day, 85 Tripo credits for the final model. try 1 started from arms-down: my hoodie ripped the second i raised my arms and my glasses melted into my face
save this before you build your own mascot
the rest of my setup, all copy-paste ↓
you can turn ANY picture into a 3D character with Claude Opus 5.5 + Blender...
5 days ago i was a flat picture. today i have 41 bones and i can jump.
the trick is the picture you start from, but there's a smart way to set it up:
- step 1: one front-view picture of your character, arms out in a T, no accessories
- step 2: Tripo turns it into a 3D model (mine came out at 98,979 points)
- step 3: Tripo adds a skeleton: 41 bones
- step 4: connect Blender to Claude through the Blender MCP add-on
- step 5: ask Opus for poses by name: think, shrug, jump. it writes the python, Blender renders
- step 6: glasses, laptops, hats get built as separate objects, never baked into the body
who does what:
> Tripo: the model and the skeleton
> Blender: poses, light, render
> Opus: runs Blender from one chat
and the real cost...
2 tries, 1 day, 85 Tripo credits for the final model. try 1 started from arms-down: my hoodie ripped the second i raised my arms and my glasses melted into my face
save this before you build your own mascot
the rest of my setup, all copy-paste ↓
the part nobody tells you: start from a T-pose.
arms down = the armpits are glued to the body, so any raised arm tears the mesh. arms out = the skeleton has room to move.
and keep accessories off the picture. glasses in the picture = glasses fused into the face. i rebuilt mine as separate objects and they snapped back on.
final model: 60 credits for the model, 25 for the skeleton.
coldcat retweeted
ONE COMMA CUTS CHATGPT'S MATH MISTAKES 14X: google deepmind researchers tested it, and almost nobody types it...
chatgpt doesn't read numbers. it chops them into pieces called tokens, 3 digits at a time, starting from the left.
so 8302080 becomes 830 | 208 | 0. the answer, 11831536, comes out as 118 | 315 | 36.
look at the columns. the pieces of the question and the pieces of the answer don't line up. it's school math with the columns shifted.
now add commas: 8,302,080. the pieces become 8 | 302 | 080. every piece is one group of thousands, in the question and in the answer. the columns line up again.
researchers from google deepmind and UCL ran 7-digit sums through gpt-4 both ways. same sums, only the commas changed:
→ gpt-4: 84.4% right without commas, 98.9% with them
→ gpt-3.5: 75.6% → 97.8%
→ gpt-4 mistakes: 156 in 1,000 → 11. that's 14x fewer
the trick anyone can use today: write big numbers with commas before you hand them to AI. prices, budgets, invoices, anything over 4 digits. or tell it "use code for any math".
bookmark this and send it to whoever does their budget with chatgpt.
ONE COMMA CUTS CHATGPT'S MATH MISTAKES 14X: google deepmind researchers tested it, and almost nobody types it...
chatgpt doesn't read numbers. it chops them into pieces called tokens, 3 digits at a time, starting from the left.
so 8302080 becomes 830 | 208 | 0. the answer, 11831536, comes out as 118 | 315 | 36.
look at the columns. the pieces of the question and the pieces of the answer don't line up. it's school math with the columns shifted.
now add commas: 8,302,080. the pieces become 8 | 302 | 080. every piece is one group of thousands, in the question and in the answer. the columns line up again.
researchers from google deepmind and UCL ran 7-digit sums through gpt-4 both ways. same sums, only the commas changed:
→ gpt-4: 84.4% right without commas, 98.9% with them
→ gpt-3.5: 75.6% → 97.8%
→ gpt-4 mistakes: 156 in 1,000 → 11. that's 14x fewer
the trick anyone can use today: write big numbers with commas before you hand them to AI. prices, budgets, invoices, anything over 4 digits. or tell it "use code for any math".
bookmark this and send it to whoever does their budget with chatgpt.
the paper: Singh & Strouse, "Tokenization counts: the impact of tokenization on arithmetic in frontier LLMs" (Google DeepMind + UCL, 2024), arxiv.org/abs/2402.14903. 7-digit addition, figure 1.
my splits: tiktoken cl100k_base, gpt-4's real tokenizer. gpt-4o cuts digits the same way.
newer models with reasoning or a code tool make far fewer of these mistakes, and the paper saw the gap shrink in bigger models. the commas still cost you nothing.
CHATGPT MAKES YOU PAY A TAX IF YOU DON'T SPEAK ENGLISH: the same email in hindi used to cost 5x more than in english...
AI doesn't read words. it chops your text into pieces called tokens. companies bill by the piece, and the AI's memory only fits so many. more pieces = bigger bill and a chat it forgets sooner.
i took one message, "can you help me write a short email to my boss asking for friday off?", and counted the pieces in 7 languages.
gpt-4, the chatgpt of 2023:
→ english 18
→ spanish 28
→ chinese 33
→ russian 42
→ japanese 42
→ arabic 61
→ hindi 96. 5.3x for the same email
today's chatgpt fixed a lot of it. hindi still pays 1.8x, japanese 1.7x.
why: these models learned mostly from english text. english words stay whole, other languages get chopped into syllables and half-letters. same meaning, more pieces.
and it's a choice, not physics. china's kimi reads chinese cheaper than english.
the trick anyone can use today: write long instructions in english and end with "answer me in [your language]". on chatgpt that's up to half the pieces, and the answer still comes in your language.
i rewrote my own AI assistant's memory in english, one line per note: 15,800 pieces down to 7,500.
bookmark this and send it to a friend who talks to AI in their own language.
if you build with claude code, this prompt does it to your whole setup. it asks you 3 things first:
Cut the language tax in my Claude Code setup.
Ask me for: which files load every session (CLAUDE.md, memory index, skills), my native language, and which phrases must stay word for word.
1. Count tokens in each always-loaded file now (tiktoken o200k_base as a proxy). Show a table.
2. Rewrite those files in English: one line per item, no filler. Keep my exact quotes, trigger words and names in the original language.
3. Add a rule to CLAUDE.md: store notes and briefs in English, answer me in my language.
4. Count again and show before/after per file.
Keep the old files as .bak until I confirm. Delete nothing.
the research: Petrov et al., "Language Model Tokenizers Introduce Unfairness Between Languages", NeurIPS 2023 (arxiv.org/abs/2305.15425). on the GPT-4 tokenizer some languages need up to 15x the tokens of english.
my counts: tiktoken cl100k_base (gpt-4) and o200k_base (gpt-4o), Kimi K2's tokenizer from huggingface. same sentence, 7 languages. claude's tokenizer isn't public, so no claude numbers.
memory: most of that drop is shorter lines. russian alone costs 1.2x on gpt-4o and 2.2x on kimi.
your AI has never actually read the word "strawberry"...
it sees one number: 101830. that's why it swore there were 2 r's.
what happens when you ask "how many r's in strawberry?" (GPT-4o's real tokenizer):
→ your question turns into 6 chunks called tokens
→ " strawberry" is ONE of them: #101830
→ no letters inside. nothing to count
newer models get it right because they spell the word out first, in their head.
you can force that on any model, for anything with letters (counting, anagrams, reversing, wordle):
"spell the word one letter per line first, then answer."
now every letter is its own token. s, t, r... three r's. done.
episode 1 of AI, explained so your grandma gets it. bookmark this for the next time it can't count.
the rest of my setup, all copy-paste ↓
KARPATHY'S LLM WIKI + CLAUDE CODE: my agent wrote 502 notes about my work in 6 months. i typed zero of them...
yours starts from scratch every chat. mine opens 105 lessons from its own mistakes and reads the right ones before it touches anything.
karpathy posted the pattern in april: stop making the llm rediscover everything on every question. let it compile a wiki of markdown files and keep it current.
mine has been running since april 14. the setup:
→ one folder, ~/.claude/memory/, one fact per .md file
→ MEMORY.md = index, one line per note, loads every session
→ notes link each other with [[name]]. 1,052 links so far, nobody drew them
→ lessons carry a "triggers:" line. a UserPromptSubmit hook scans my message and matching lessons land in context first
→ claude writes, updates and deletes the notes. i say "remember this"
what it does day to day:
→ i type "deploy", it pulls up its 5 deploy lessons before running a command
→ new session = it already knows the client, the stack, last week's decision
→ a mistake gets written down once and read every time it matters
karpathy's version runs on research papers. point it at your own work and it gets smarter every day you ship.
steal the prompt. paste it into claude code tonight, it asks you 4 things and builds the whole system:
Set up a self-maintaining LLM wiki (Karpathy's pattern) as long-term memory for Claude Code.
Ask me for: what I build (projects + stack), 3 mistakes you should never repeat, the phrase I'll use for "remember this", and what you must check before every deploy.
Build:
1. ~/.claude/memory/, one fact per .md file. Frontmatter: name, description, type (user | feedback | project | reference), triggers (comma-separated words).
2. MEMORY.md index, one line per note, loaded every session from CLAUDE.md.
3. Link related notes with [[name]]. A link to a note that doesn't exist yet is fine, it marks what to write next.
4. A UserPromptSubmit hook that matches my message against every note's triggers and prints up to 3 matching notes, so they're in your context before you act.
5. CLAUDE.md rule: when I correct you or we decide something, write or update a note right away. No duplicates. Delete notes that turn out wrong.
6. Weekly lint: contradictions, stale notes, orphans with no links.
Seed it with my 4 answers, then show me the hook firing on a test message.
bookmark this. it compounds.
karpathy's original gist "LLM Wiki" (apr 4, 2026): gist.github.com/karpathy/442…
numbers are from my own ~/.claude/memory today: 502 notes, 1,052 [[links]], 105 lessons with triggers. first note: april 14.
In 1951, Claude Shannon made people guess a sentence one letter at a time. 79 of 102 letters were right on the first try. Every LLM you use is still playing his game...
The sentence was "there is no reverse on a motorcycle". The subject got T, H, E on the first guess each. The V in "reverse" took 17 tries. Shannon's conclusion: printed English carries about 1 bit per letter instead of the 4.7 a random 27-symbol alphabet would need. Roughly 75% of it is predictable from what came before.
The mechanism is redundancy. Every letter you've already read shrinks the list of letters that can come next, and the misses pile up in one place: the start of a new word, where the line of thought can branch. An LLM is trained on exactly this game, next token instead of next letter.
So guesses are cheap where text is predictable and expensive where the thought branches. Same in your prompt: Claude can guess the filler. It can't guess the branch: which file, which function, what "done" looks like. Spend your words there.
Bookmark this. The paper is from 1951 and it's still the whole idea.
coldcat retweeted
this 20-line claude code hook should be illegal...
it reads 100+ of my past mistakes before claude touches anything. claude forgets everything when the chat ends. this is how mine stopped repeating them.
how it works:
→ every mistake becomes a tiny file in .claude/lessons/ with a "triggers:" line
→ a hook runs on every message i send (UserPromptSubmit)
→ if my message has a trigger word, that lesson lands in claude's context before it acts
i say "deploy" and claude reads my 3 deploy lessons first: railway uploads the whole folder, two containers overlap and run every job twice, the proxy dies and pushes time out.
i say "video" and it gets the checklist it skipped on oct 8.
a lesson is 3 lines:
triggers: deploy, vercel, env
vercel env vars only apply after a redeploy. change a var → redeploy → then test.
steal the setup. paste this into claude code:
"create .claude/lessons/ and a UserPromptSubmit hook at .claude/hooks/lessons.mjs that reads every lesson file, matches its triggers: line against my message and adds the matching lessons to context. register it in .claude/settings.json. then ask me for my 3 most repeated mistakes and turn each one into a lesson file."
the hook itself + 9 more things i run every day are in the guide below. bookmark this.
this 20-line claude code hook should be illegal...
it reads 100+ of my past mistakes before claude touches anything. claude forgets everything when the chat ends. this is how mine stopped repeating them.
how it works:
→ every mistake becomes a tiny file in .claude/lessons/ with a "triggers:" line
→ a hook runs on every message i send (UserPromptSubmit)
→ if my message has a trigger word, that lesson lands in claude's context before it acts
i say "deploy" and claude reads my 3 deploy lessons first: railway uploads the whole folder, two containers overlap and run every job twice, the proxy dies and pushes time out.
i say "video" and it gets the checklist it skipped on oct 8.
a lesson is 3 lines:
triggers: deploy, vercel, env
vercel env vars only apply after a redeploy. change a var → redeploy → then test.
steal the setup. paste this into claude code:
"create .claude/lessons/ and a UserPromptSubmit hook at .claude/hooks/lessons.mjs that reads every lesson file, matches its triggers: line against my message and adds the matching lessons to context. register it in .claude/settings.json. then ask me for my 3 most repeated mistakes and turn each one into a lesson file."
the hook itself + 9 more things i run every day are in the guide below. bookmark this.
you're using claude code at maybe 20% of what $20 buys you...
i measured mine. $215 of it in 3 days, at api prices.
the gap isn't the model. it's 10 things around it: one file, three hooks, skills, a cheap second agent, one launch prompt.
all 10 with the exact files to paste, plus one prompt that sets them up for your project:
sources for every number in the guide:
my usage: ccusage daily on my own claude code logs, oct 6-9 (week) and sep 15 - oct 14 (30 days)
CAN-SPAM / COPPA $53,088: govinfo.gov/content/pkg/FR-2…
CIPA $5,000: Cal. Penal Code 637.2
google fonts EUR 100: LG Muenchen I, 3 O 17493/20
ARL "unconditional gift": Cal. Bus. & Prof. Code 17602-17603
DMCA agent $6: copyright.gov/newsnet/2016/6…
DMCA $150k: 17 U.S.C. 504(c)
claude code docs: code.claude.com/docs/en/hook…
not legal advice.





