Skip to content

Instantly share code, notes, and snippets.

View y0n1's full-sized avatar
:octocat:
...

y0n1 y0n1

:octocat:
...
View GitHub Profile
@y0n1
y0n1 / rpi-framework.md
Created May 7, 2026 09:06
The Research-Plan-Implement (RPI) framework

Brief on the Research-Plan-Implement (RPI) framework

The RPI (Research → Plan → Implement) framework is a structured, three-phase methodology for AI-assisted software development that trades raw speed for predictability and correctness by inserting explicit validation gates between each phase.

The Core Problem It Solves

When you ask an AI agent to "just implement" something, you're silently gambling that it correctly understands intent, discovers all relevant code, makes sound architectural decisions, doesn't hallucinate APIs, and stays in scope. Without structure, even capable models become unreliable code generators — producing context overflow, hallucinations, scope creep, and untestable output. RPI fixes this by separating meaning from execution: research and planning act as "compile steps" so that implementation becomes deterministic rather than live interpretation.[^1_1][^1_2]

The Three Phases

@y0n1
y0n1 / llm-wiki.md
Created May 4, 2026 10:35 — 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.

@y0n1
y0n1 / y0n1.zsh-theme
Created October 22, 2025 09:50
My custom ZSH theme bsed on 'intheloop' theme
# A multiline prompt with username, hostname, full path, return status, git branch, git dirty status, git remote status
local return_status="%{$fg[red]%}%(?..⏎)%{$reset_color%}"
local host_info=""
local host_color="green"
if [ -n "$SSH_CLIENT" ]; then
local host_info="%{$fg_bold[grey]%}[%{$reset_color%}%{$fg_bold[${host_color}]%}%n@%m%{$reset_color%}%{$fg_bold[grey]%}]%{$reset_color%} "
local host_color="red"
fi
@y0n1
y0n1 / enable-js-bsod.html
Created December 11, 2023 13:16
A BSOD for when JS is not enabled
<noscript>
<style>
noscript section,
noscript section * {
box-sizing: border-box;
text-align: center;
font-size: 2rem;
}
noscript > section {
@y0n1
y0n1 / google-chrome-enable-dark-mode.sh
Created February 13, 2023 11:24
Enables dark mode in Google Chrome for Linux
#! /usr/bin/env bash
set -euo pipefail
google_chrome_desktop_file="/usr/share/applications/google-chrome.desktop"
exec_directive="Exec=/usr/bin/google-chrome-stable"
dark_mode_flags="--enable-features=WebUIDarkMode --force-dark-mode"
replace_patterns="s#${exec_directive}#${exec_directive} ${dark_mode_flags}#g"
sed "${replace_patterns}" "${google_chrome_desktop_file}" | sudo tee "${google_chrome_desktop_file}"
@y0n1
y0n1 / 00_toggle-repo.sh
Last active September 9, 2021 21:07
A NetworkManager script for toggling repositories state after connecting or disconnecting from a VPN
#!/bin/bash
# Instructions:
# Place this file inside /etc/NetworkManager/dispatcher.d/
# sudo chown root:root 00_toggle-repo.sh
# sudo chmod +x 00_toggle-repo.sh
repos="rhel8-csb"
@y0n1
y0n1 / jenkins-decrypt.groovy
Created August 6, 2020 23:01 — forked from tuxfight3r/jenkins-decrypt.groovy
Decrypting Jenkins Password
#To Decrypt Jenkins Password from credentials.xml
#<username>jenkins</username>
#<passphrase>your-sercret-hash-S0SKVKUuFfUfrY3UhhUC3J</passphrase>
#go to the jenkins url
http://jenkins-host/script
#In the console paste the script
hashed_pw='your-sercret-hash-S0SKVKUuFfUfrY3UhhUC3J'
interface MainFuncAsync {
(args: string[]): Promise<number|void>
}
class ProgramEntryPoint {
static main: MainFuncAsync;
}
interface IProgramEntryPoint {
new(): ProgramEntryPoint
#! /bin/bash
SELF_SIGNED_CERTS_DIR="$PWD/.ssl"
[[ ! -d $SELF_SIGNED_CERTS_DIR ]] && mkdir $SELF_SIGNED_CERTS_DIR
rm -rf $SELF_SIGNED_CERTS_DIR/*
openssl req -newkey rsa:2048 -new -nodes \
-keyout $SELF_SIGNED_CERTS_DIR/private-key.pem \
-out $SELF_SIGNED_CERTS_DIR/csr.pem
openssl x509 -req -days 365 \
-in $SELF_SIGNED_CERTS_DIR/csr.pem \
@y0n1
y0n1 / Spinner.js
Last active August 18, 2020 14:23
class Spinner {
static #count = 0;
static #svgWrapperTemplate({ className, id, children }) {
return `
<svg id="${id}" class="${className}" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
${children}
</svg>
`;
}