Skip to content

Instantly share code, notes, and snippets.

View jasondavis's full-sized avatar

Jason Davis jasondavis

View GitHub Profile
@jasondavis
jasondavis / anime-js-scramble-text-playground.markdown
Created June 6, 2026 03:01
Anime.js Scramble Text playground
@jasondavis
jasondavis / index.html
Created June 6, 2026 01:49
Long shadow generator
<div class='demo'>
<div class='icons'>
<div class='app-icon app-icon-1'>
<p>&#9835;</p>
</div>
<div class='app-icon app-icon-2'>
<p>&#59176;</p>
</div>
<div class='app-icon app-icon-3'>
<p>&#9993;</p>
@jasondavis
jasondavis / List of JavaScript GUI libraries.md
Created May 8, 2026 23:39 — forked from SMUsamaShah/List of JavaScript GUI libraries.md
dat.gui alternatives to create GUI from JavaScript object

JavaScript GUI libraries

These libraries can be used to quickly create a GUI for configureable parameters using sliders, checkboxes, colors pickers etc

  1. Tweakpane https://github.com/cocopon/tweakpane Demo: https://cocopon.github.io/tweakpane/
  2. control-panel https://github.com/freeman-lab/control-panel
  3. ControlKit https://github.com/automat/controlkit.js
  4. guify https://github.com/colejd/guify Main site is down, here is the demo https://jons.website/projects/guify/index
  5. oui https://github.com/wearekuva/oui
  6. Palette.js https://github.com/lehni/palette.js
@jasondavis
jasondavis / getCampaignList.js
Created April 28, 2026 03:16 — forked from nicolevanderhoeven/getCampaignList.js
Writes Dataview query results to a Markdown note in Obsidian
function getNumOfGames(campaign) {
let numOfGames = app.plugins.plugins.dataview.api
.pages(`"ttrpgs/${campaign}"`)
.where(page => {
if (page.type === 'session') {
if (page.campaign === campaign) {
return true;
}
}
}).length
@jasondavis
jasondavis / returnStudyOptions.js
Created April 28, 2026 02:58 — forked from nicolevanderhoeven/returnStudyOptions.js
Script for use with the Obsidian Dataview and Templater plugins to return activity options given an amount of time available
/*
This script returns a list of activity options you could do (each defined by a Markdown file),
depending on how much time you have available.
REQUIRES:
- Obsidian: https://obsidian.md
- Obsidian Dataview plugin: https://blacksmithgu.github.io/obsidian-dataview/
- Obsidian Templater plugin: https://silentvoid13.github.io/Templater/
- this folder structure:
@jasondavis
jasondavis / llm-wiki.md
Created April 21, 2026 23:13 — 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.

@jasondavis
jasondavis / fakemenu.c
Created March 30, 2026 11:25 — forked from kjk/fakemenu.c
how to implement menu-like pop-up the right way in win32
/*****************************************************************************
* Sample program to demonstrate how a program can display a
* popup window which does not deactivate its parent. This
* can be used for things like a magnifying glass window or
* a pseudo-menu.
*****************************************************************************/
#define STRICT
#include <windows.h>
#define COMPILE_MULTIMON_STUBS
@jasondavis
jasondavis / microgpt.py
Created February 12, 2026 02:09 — forked from karpathy/microgpt.py
microgpt
"""
The most atomic way to train and inference a GPT in pure, dependency-free Python.
This file is the complete algorithm.
Everything else is just efficiency.
@karpathy
"""
import os # os.path.exists
import math # math.log, math.exp
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#SingleInstance, force
CreateMenu(LVMenu, PMenu), CreateHotkey("PGUP", "PGDN")
, qmenu := new MenuProp()
, item := new ItemProp()
, qmenu.Create(), qmenu.Show()
return
@jasondavis
jasondavis / RaindropTemplaterTemplate
Created September 9, 2025 19:34 — forked from rwmyers/RaindropTemplaterTemplate
Raindrop / Obsidian Integration
<%*
let raindrop = tp.user.raindrop;
let collections = await raindrop.collections();
let collection = await tp.system.suggester((item) => item.title, collections);
let raindrops = await raindrop.raindrops(collection._id);
let drop = await tp.system.suggester((item) => item.title, raindrops);
drop = await raindrop.raindrop(drop._id);
let title = drop.title
let url = drop.link