Skip to content

Instantly share code, notes, and snippets.

View erbanku's full-sized avatar
Contributing to OSS

Cactus erbanku

Contributing to OSS
View GitHub Profile
@erbanku
erbanku / llm-wiki.md
Created April 20, 2026 13:53 — 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.

@erbanku
erbanku / workflow.js
Created April 19, 2026 07:28
Cloudflare Worker Telegram Bot, Used to Get UserIDs
/**
* Cloudflare Worker Telegram Bot
* Logic: Extracts metadata, handles /setup for menu, and provides individually
* copiable monospace fields with a full JSON dump.
*/
export default {
async fetch(request, env) {
const url = new URL(request.url);
(() => {
const LOG = '[Dify Batch Delete]';
const log = (...args) => console.log(LOG, ...args);
const err = (...args) => console.error(LOG, ...args);
const escapeRegExp = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const getCookie = (name) => {
const match = document.cookie.match(
@erbanku
erbanku / AutoHotkey replacement for Windows 11 Suggested Actions.ahk
Created March 16, 2026 12:48
AutoHotkey replacement for Windows 11 Suggested Actions Credit: https://pastebin.com/eD5Cpa1j
#Requires AutoHotkey v2.0
#SingleInstance Force
; Variable to store the last clipboard content
lastClipboard := ""
; Set up a timer to monitor the clipboard every 500ms
SetTimer(CheckClipboardAndWindow, 500)
CheckClipboardAndWindow() {
@erbanku
erbanku / README.md
Last active March 12, 2026 03:04
Dify.AI Workflows Exporter Tool

export-dify.ai-workflows.js

Export all Dify workflows/apps as YAML and download them as a ZIP.

Run

Open Dify Console (dify.ai) → DevTools → Console and run full script export-dify.ai-workflows.js

Output

@erbanku
erbanku / README.md
Last active March 11, 2026 14:49
Chrome saved tab groups cleanup tools and usage guide

Saved Tab Groups Cleanup Tool

This repository includes a local cleanup tool for removing Chrome saved tab groups directly from the profile sync database.

Use it only when Chrome is fully closed.

What It Does

The tool deletes LevelDB keys with the prefix:

@erbanku
erbanku / Resolve-WindowsGUID.ps1
Created March 7, 2026 13:48 — forked from davehull/Resolve-WindowsGUID.ps1
Useful for resolving some Windows GUIDs to human friendly values
<#
.SYNOPSIS
Resolves many Windows GUIDs to human friendly values.
.DESCRIPTION
Resolve-WindowsGUID.ps1 takes a GUID from a Windows system and attempts
to return a human friendly value from either a static list or from a
dynamically generated list of LogProvider GUIDs. There are undoubtedly
other GUIDs in use throughout Windows that will not fall into either of
these sets. If you encounter a GUID that you can't resolve via this
@erbanku
erbanku / claude_conversation_convertor.py
Last active March 6, 2026 05:28
Created by Cactus with ♥ using GitHub-CLI at Fri 03/06/2026 13:25 +08:00 (1772774756)
import json
import os
import re
import argparse
from datetime import datetime
def parse_time(ts: str):
try:
return datetime.fromisoformat(ts.replace("Z", "+00:00"))
@erbanku
erbanku / convert_memos.py
Last active February 11, 2026 07:52
Memos to Markdown Converter: Convert Memos (v0.21 tested) JSON export into a single Markdown file
import json
from datetime import datetime, timezone, timedelta
def safe_datetime(ts):
if ts is None or ts == 0:
return None
if ts > 9999999999:
ts = ts / 1000
try:
@erbanku
erbanku / conventional-commits-cheatsheet.md
Created January 12, 2026 03:00 — forked from qoomon/conventional-commits-cheatsheet.md
Conventional Commits Cheatsheet