Discover gists
| import fs from "fs"; | |
| import { KarabinerRules } from "./types"; | |
| import { createHyperSubLayers, app, open, rectangle, shell, generateUnsetForEveryKey } from "./utils"; | |
| const rules: KarabinerRules[] = [ | |
| { | |
| description: "Hyper Key (⌃⌥⇧⌘)", | |
| manipulators: [ | |
| { | |
| description: "Right_CMd -> Hyper Key", | |
| from: { |
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.
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.
| Latency Comparison Numbers (~2012 except when noted) | |
| ---------------------------------- | |
| L1 cache reference 0.5 ns | |
| Branch mispredict 5 ns | |
| L2 cache reference 7 ns 14x L1 cache | |
| Mutex lock/unlock 25 ns | |
| Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
| Compress 1K bytes with Zippy 3,000 ns 3 us | |
| Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
| Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
[Redhat recommends][redhat-swap-link] swap should be at-least 1.5-2x size of available ram. Having low swap can result in degraded system performance when ram usage is high, to further increase the swap size we can take below steps
Below commands should be executed as root
- Create Swap file of 25GB
dd if=/dev/zero of=/swapfile1 bs=1024M count=25Notes on Martin Kleppmann's excellent Designing Data-Intensive Applications.
- Data Systems
- Dimensions to consider when thinking about data systems: access patterns, performance characteristics, implementations.
- Modern data systems often blur the lines between databases, caches, streams, etc.
- Reliability
- Systems should perform the expected function at a given level of performance, and be tolerant to faults and user mistakes
- Fault: One component of a system deviating from its spec. Prefer tolerating faults over preventing them (except for things like security issues). Faults stem from hardware failures, software failures, and human error (in a study, config errors caused most outages).
한국어 번역 (Korean translation): nikke-pc-launcher-compromise_ko.md
Caution
From 2026-09-27, four official JavaScript files on Level Infinite's CDN contained attacker code. The NIKKE PC launcher loads these files. From Oct 23 at the latest, opening the launcher could install a remote-control agent: while the launcher was open, the attacker could run any command on your machine, read any file and take screenshots.
Update, 2026-11-03 22:40 GMT: three of the files were replaced on Nov 3 at 17:04, 17:13 and 17:21 GMT. The fourth, FeedList.feb647c9.js, was cleaned at the origin on Oct 28, but two CDN servers still delivered the modified copy at 22:26 GMT. The attacker's server no longer answered at 18:31 GMT. None of this undoes anything on machines that were already infected, and the old files may still be in your launcher's cache. **Do not open the NIKKE PC launcher until Level Infinite confirms the fix,
| import json | |
| import sqlite3 | |
| import os | |
| DB_PATH = "C:/ProgramData/Cold Turkey/data-app.db" | |
| def activate(): |
