Skip to content

Instantly share code, notes, and snippets.

View joonan30's full-sized avatar

Joon An joonan30

View GitHub Profile
@joonan30
joonan30 / claude-code-professor-workspace.md
Created October 3, 2026 09:13
교수 업무용 Claude Code 설정: Dropbox 분류 폴더마다 규칙 wiki 두기

교수 업무용 Claude Code 설정: Dropbox 분류 폴더마다 규칙 wiki 두기

교수 업무는 수업, 연구비, 논문, 학회, 학생지도처럼 종류가 많고, 종류마다 파일을 두는 방식과 일하는 순서가 다릅니다. 이 문서는 Dropbox를 업무 분류별 폴더로 나누고, 분류 폴더마다 규칙 wiki를 두어 Claude Code가 그 폴더의 규칙대로 일하게 만드는 방법을 정리한 것입니다. 제가 실제로 쓰는 구조를 다른 분들도 따라 할 수 있게 일반화했습니다. 명령과 경로는 macOS 기준입니다.

구조

~/Dropbox/
├── 학교-수업/                 ← Claude Code 세션은 여기서 연다
│ ├── AGENTS.md ← 진입점: 작업 시작과 끝, 작업별로 읽을 문서
@joonan30
joonan30 / notebooklm-wiki-validation-operating-rules.md
Created August 18, 2026 11:37
NotebookLM을 로컬 논문 위키의 2차 검증자로 쓰는 운영 규칙

NotebookLM을 로컬 논문 위키의 2차 검증자로 쓰는 운영 규칙

로컬 markdown 논문 지식베이스(위키)를 NotebookLM으로 교차검증하는 운영 규칙이다. An Lab의 llm-wiki 운영에서 추출했으며, 검증 세션 64회, PDF 업로드 2,277건, 주장 판정 512건의 실측 결과에 근거한다. 같은 구조의 지식베이스를 운영하는 사람이 그대로 따라 구축할 수 있도록 쓴다.

0. 전제

  • 로컬 지식베이스가 먼저 있어야 한다. 우리 구조는 papers/(정본 PDF), sources/(논문별 요약), wiki/(여러 논문을 합성한 페이지), logs/(실행 기록)다. 폴더 이름은 자유지만, 각 위키 페이지가 어떤 논문 PDF에 근거하는지 링크로 추적할 수 있어야 한다. 이 추적이 안 되면 아래의 manifest 동결이 불가능하다.
  • CLI는 오픈소스 notebooklm-py를 쓴다. 버전을 고정하고(uv tool install --force "notebooklm-py[browser,mcp]==0.8.1"), 여러 대의 컴퓨터를 쓰면 같은 버전을 맞춘다.
  • 계정 한도는 실측으로 notebook 200개, notebook당 source 약 50개다. 캠페인 설계 전에 이 한도를 먼저 계산한다.
@joonan30
joonan30 / CLAUDE.md
Created April 9, 2026 08:57
LLM Wiki — AI for Biology: Claude Code instructions for managing a personal research knowledge base (Karpathy LLM Wiki pattern)

LLM Wiki — AI for Biology

중요: Git 워크트리 사용 금지

모든 파일은 메인 브랜치에 직접 저장한다. Git worktree를 생성하지 않는다.

A personal knowledge base for AI/deep learning papers in biology research. Follows Karpathy's LLM Wiki pattern: Original PDF → LLM markdown summary (sources) → Structured wiki page (wiki).

Language policy: All wiki content is in English. Conversation with Claude can be in Korean or English.

@joonan30
joonan30 / AGENTS.md.template
Last active September 19, 2026 02:25
LLM Wiki: building a compounding knowledge base of academic papers with AI agents (revised 2026-08)
# LLM Wiki — [YOUR FIELD]
A personal knowledge base of [YOUR FIELD] papers, following [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/1dd0294ef9567971c1e4348a90d69285):
```
Original PDF → sources/*.md → wiki/{category}/*.md → wiki/overviews/ + wiki/concepts/
```
Language policy: all wiki content is in English. Conversation can be in any language.
library(rtracklayer)
library(tidyverse)
d <- rtracklayer::import('gencode.v19.annotation.gtf.gz') %>%
as.data.frame() %>%
filter(type == 'transcript')
@joonan30
joonan30 / mp.py
Last active August 30, 2019 05:33
mp.py
# python 3
import multiprocessing as mp
from multiprocessing import Pool, cpu_count
number_threads = 8
## Creating a pool for parallel processing
pool = mp.Pool(number_threads)
pool.imap_unordered(os.system, cmds )
pool.close()
# terminal color scheme
export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'
@joonan30
joonan30 / quickmeal.r
Last active April 13, 2018 23:42
Quick meal prep in R
# Get date
date = sapply(strsplit(as.character(Sys.Date()), '-', fixed = T), paste, collapse = "")
## biomart and AnnotationDbi
# Map a gene id to get an ENTREZ id.
require(AnnotationDbi)
require(org.Mm.eg.db) # mice
entrez = mapIds(org.Mm.eg.db,
keys=ens_gene, # has to be a vector
@joonan30
joonan30 / ansible.install.yaml
Created November 15, 2016 04:03
Ansible installation EC2 instance
---
- hosts: <hostname>
remote_user: ec2-user
vars:
s3_spiegel_path: user_s3bucket/path/
remote_spiegel_dir: data
tasks:
- name: Installing R
yum: name=R state=latest
@joonan30
joonan30 / test.py
Created November 6, 2016 01:24
# remove redundant lines and sort lines
import sys
match = []
with open(sys.argv[1]) as fh:
for line in fh:
if line in match:
pass
else:
match.append(pass)