Skip to content

Instantly share code, notes, and snippets.

View andrewchee's full-sized avatar

Andrew Chee andrewchee

View GitHub Profile
@andrewchee
andrewchee / llm-wiki.md
Created April 7, 2026 03:02 — forked from karpathy/llm-wiki.md
llm-wiki

LLM Wiki

A pattern for building personal knowledge bases using LLMs.

This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you.

The core idea

Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way.

Uniform scale wiggle:
w = wiggle(thisComp.layer("Control: Wiggle Frequency").effect("Slider Control")("Slider"),thisComp.layer("Control: Wiggle Amplitude").effect("Slider Control")("Slider"));
[w[0],w[0]]
based on
w = wiggle(5,30);
[w[0],w[0]]
# External stylesheets -------------------------
Utils.insertStylesheet = (url, callback) ->
styleElement = document.createElement("link")
styleElement.rel = "stylesheet"
styleElement.type = "text/css"
styleElement.href = url
styleElement.addEventListener "load", ->
callback(url) if callback
@andrewchee
andrewchee / p5.dom.js
Created August 17, 2017 18:01
Triangle Grid
/*! p5.dom.js v0.2.4 October 6, 2015 */
/**
* <p>The web is much more than just canvas and p5.dom makes it easy to interact
* with other HTML5 objects, including text, hyperlink, image, input, video,
* audio, and webcam.</p>
* <p>There is a set of creation methods, DOM manipulation methods, and
* an extended p5.Element that supports a range of HTML elements. See the
* <a href="https://github.com/processing/p5.js/wiki/Beyond-the-canvas">
* beyond the canvas tutorial</a> for a full overview of how this addon works.
*

Keybase proof

I hereby claim:

  • I am andrewchee on github.
  • I am andrewchee (https://keybase.io/andrewchee) on keybase.
  • I have a public key whose fingerprint is 3462 A0B7 19B3 70E0 B977 F0A9 0674 4820 E517 77DC

To claim this, I am signing this object:

@syntax-cursor-line: fade(#343d46, 0.5); // needs to be semi-transparent to show serach results
@syntax-bracket-matcher-background-color: lighten(@syntax-background-color, 8%);
// General Text Colors
@syntax-text-color: #c0c5ce;
@syntax-cursor-color: #c0c5ce;
@syntax-selection-color: #4f5b66;
@syntax-background-color: #1B1D1F; //#2b303b;
@syntax-comments-color: #65737e;
@import "syntax-variables";
atom-text-editor, atom-text-editor .gutter,
:host, :host .gutter {
background-color: @syntax-background-color;
color: @syntax-text-color;
}
atom-text-editor, :host {
.indent-guide {
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to make opened Markdown files always be soft wrapped:
#
# path = require 'path'
#
.document-library-tile {
background-color: #1AD6F8; padding: 20px;
}
.js-sort-title, .document-library-tile p {
color: #ffffff !important
}
.document-library-tile:nth-child(odd) {
background-color: #053873
}
.document-library-tile:hover {
@andrewchee
andrewchee / gist:a83b0b3f7980961061d0
Last active August 29, 2015 14:04
brew install rtmpdump
$ brew update
$ brew install rtmpdump
// if
/usr/local/.git: Permission denied
Error: Failure while executing: git init
// then
$ sudo chmod 777 /usr/local
$ brew update