Skip to content

Instantly share code, notes, and snippets.

View johnwheeler's full-sized avatar

John Wheeler johnwheeler

  • San Diego, California
View GitHub Profile
#!/usr/bin/env python
"""
pip install tiktoken requests
export OPENAI_API_KEY=<redact>
chmod +x prepare-commit-msg
mv prepare-commit-msg .git/hooks/
"""
import math
import { Button, Flex } from '@chakra-ui/react'
import { createMachine, guard, invoke, reduce, state, transition } from 'robot3'
import { useEffect, useState } from 'react'
import { createUseMachine } from 'robot-hooks'
const useMachine = createUseMachine(useEffect, useState)
// @formatter:off
const mergeIncoming = reduce((c, e) => ({ ...c, ...e.value }))
output_file="/Users/jwheeler/Desktop/combined_src_files.txt"
www_src_directory="/Users/jwheeler/Projects/demofun/www/src"
api_src_directory="/Users/jwheeler/Projects/demofun/api/src"
# Clear the output file if it already exists
> "$output_file"
# Function to process files
process_files() {
local directory=$1
<Flex w="full" h="full" alignItems="center" justifyContent={'center'} direction="column" gap={5}>
<Flex
padding={isMonitorDisplaySurface(recorder$.screenPreviewStream.get()) ? 0 : 5}
h="55%"
aspectRatio={16 / 9}
maxH="800px"
position="relative"
overflow="clip"
rounded="md"
shadow="md"
{
"id": "WCl2KUGffo0MXZu",
"clips": [
{
"id": "CnWB7ZArBwutHkB",
"events": [
{
"id": "4wa3M1GIsRaqQSo",
"type": "mousemove",
"position": {
@johnwheeler
johnwheeler / CLAUDE.md
Last active June 4, 2025 05:33
CLAUDE.md

screen.cam Project

A modern pnpm workspace project with NextJS and ChakraUI, structured for component-driven development with enterprise-grade code quality tools.

Repository: https://github.com/johnwheeler/screencam (Private)

IMPORTANT: This documentation should be kept concise and focused on essential information for development. Avoid adding comprehensive documentation unless it provides clear value for daily development workflow. When adding new sections, evaluate their importance relative to existing content.

IMPORTANT: The CLAUDE_BUILD environment variable is set by Claude Code to build to /tmp instead of .next, preventing interference with the dev server. This is why you see CLAUDE_BUILD=1 pnpm build in the commands.

================================================================================
TAP DATA EXTRACTED FROM: taps_from_capture.txt
================================================================================
Structure: 8 Programs (P=0-7) x 16 Pre-Delay Settings (PD=0-15)
Each combination has:
- 15 Feedback taps (TCB 16,18,20,22,24,26,28,30,32,34,36,38,40,42,44)
- 4 Left Audition taps (TCB 46,48,50,52)
- 4 Right Audition taps (TCB 54,56,58,60)
# SG-323 Gain Inversion Values
This document shows the gain inversion patterns for all 16 programs and 16 decay settings.
Inversion is determined by bit 7 of the GainCeiling PROM output:
- `+` = Non-inverted (bit 7 = 1, values 128-255)
- `-` = Inverted (bit 7 = 0, values 0-127)
## Programs Overview
@johnwheeler
johnwheeler / MDV-II Timing.md
Created March 21, 2026 17:10
MDV-II Timing
Prog Label Delay Samples Delay (ms) Delta
70 35 ms 1172 37.50 +2.50
71 55 ms 1758 56.26 +1.26
72 75 ms 2344 75.01 +0.01
73 115 ms 3516 112.51 -2.49
74 140 ms 4688 150.02 +10.02
75 155 ms 4922 157.50 +2.50
76 160 ms 5156 164.99 +4.99
77 170 ms 5391 172.51 +2.51
Prog Label Delay Samples Delay at 31250 Hz (ms) Delay at 44100 Hz (ms)
70 35 ms 1172 37.50 26.58
71 55 ms 1758 56.26 39.86
72 75 ms 2344 75.01 53.15
73 115 ms 3516 112.51 79.73
74 140 ms 4688 150.02 106.30
75 155 ms 4922 157.50 111.61
76 160 ms 5156 164.99 116.92
77 170 ms 5391 172.51 122.24