Slides for my #BHEU2017#CLKscrew talk on breaking TEEs with energy management mechanisms are posted. https://t.co/SUwv6PFTRY with PoC codebase https://t.co/9P1vf7hMpW
Andrej Karpathy stopped using AI to write code.
The co-founder of OpenAI. The man who built Tesla's Autopilot vision team from scratch. The person who coined the term "vibe coding."
In April 2026, he announced that a large fraction of his LLM token budget was no longer going into manipulating code, it was going into manipulating knowledge.
Then he published a single markdown file on GitHub explaining what he had built instead.
It got 17 million views. 13,000 GitHub stars. Dozens of community implementations within a week.
He called it the LLM Wiki. And the idea behind it is so simple it is almost embarrassing that nobody published it sooner.
Here is the problem it solves.
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 is 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 works this way. ChatGPT file uploads work this way. Most RAG systems work this way.
Every session starts from zero. The AI never learns the territory. It just searches it again.
Karpathy's pattern is the opposite. Instead of retrieving from raw documents every time, the LLM builds and maintains a persistent, structured wiki — and answers questions from the compiled knowledge rather than the raw fragments.
Here is how the architecture works. Three layers.
**Layer 1 — Raw sources.** Your curated documents. Articles, papers, PDFs, meeting notes, screenshots. These are immutable — the LLM reads them but never modifies them. This is your source of truth. The moment you start editing raw files by hand, you have two systems of record and no way to tell which one is true.
**Layer 2 — The wiki.** A directory of LLM-generated markdown files. Summaries, entity pages, concept pages, comparisons, a master index, a chronological log. The LLM owns this layer entirely. It creates pages, updates them when new sources arrive, maintains cross-references, and keeps everything consistent. You read it. The LLM writes it.
**Layer 3 — The schema.** A CLAUDE.md or AGENTS.md file that tells the LLM how the wiki is structured, what conventions to follow, and what workflows to run. This is the config that turns a generic chatbot into a disciplined wiki maintainer.
Karpathy's phrase captures the whole thing: "Obsidian is the IDE. The LLM is the programmer. The wiki is the codebase."
Here is what happens when you drop a new source into the system.
You save an article into raw/. You tell the LLM to ingest it. The LLM reads the source, writes a summary page, updates the master index, creates or updates entity pages for every person, company, or concept mentioned, creates or updates concept pages for every idea, adds cross-references between related pages, and logs the ingest in the activity record.
A single source might touch 10 to 15 wiki pages. This is the bookkeeping that humans abandon — filing, cross-referencing, updating related entries, noting contradictions. The exact work that kills every personal knowledge system you have ever started.
The LLM does it tirelessly. Every time. Without forgetting.
Here is the key distinction from RAG.
RAG re-derives an answer from raw chunks on every query and accumulates nothing. The LLM Wiki compiles sources into structured, linked pages once — and questions are answered from that built artifact. The analogy: raw/ is source code, wiki/ is the compiled executable. Knowledge that is compiled is retrieved. Knowledge that is not is rediscovered from scratch.
And here is the rule Karpathy emphasizes most.
Lint the knowledge. Treat the wiki like code and run health checks. Ask the model to find contradictions between pages, surface low-confidence claims, list orphan pages, and flag entities that drifted into two spellings. A contradiction is information — it means two sources disagree and now you know where to look. Skipping the lint is how a wiki quietly rots while the graph still looks impressive.
Start small. Begin with ten sources, not ten thousand. Get ingest, query, and lint to feel natural before you add complexity. The first few ingests will be messy. Naming conventions will change. That is normal. A small wiki you actually use beats a beautiful architecture you abandon in week three.
The community response tells you how much this resonated.
Within a week of Karpathy's gist, the community produced dozens of implementations full Python agents, Obsidian integrations, wiki compilers, web interfaces. The pattern works with Claude Code, Codex, OpenCode, Gemini CLI, and any LLM agent that can read and write files.
You do not need any of them. The entire system works with nothing but an LLM agent and a file system. Paste the pattern into your CLAUDE.md and Claude Code becomes your wiki maintainer.
Here is why this matters more than another AI tool.
Every personal knowledge system you have ever tried Notion, Evernote, Roam, Obsidian, died the same way. Not because the tool was bad. Because the maintenance was unsustainable. The filing. The tagging. The cross-referencing. The updating when new information arrived. The bookkeeping that makes a knowledge base useful is the exact work nobody wants to do.
Karpathy's insight is that the bookkeeping is exactly what LLMs are good at. Tirelessly reading, summarizing, filing, linking, updating, and maintaining consistency — without getting bored, without forgetting, without deciding it is too tedious and abandoning the project in week four.
You curate sources and ask questions. The LLM does the bookkeeping. The wiki compounds over time every source you add and every question you ask makes it richer.
The tedious part of maintaining a knowledge base is not the reading or the thinking.
It is the bookkeeping.
And the bookkeeping just got automated.
Source: Andrej Karpathy · GitHub Gist · AI Builder Club · Vanja. io · MindStudio · April 2026
( Link in the comments)
🚨 Anthropic's own team just showed how to actually use Claude Code properly.
30 minutes. free. the person who created Claude Code.
watch the workshop. bookmark it.
worth more than every $500 course you almost bought.
you've been using Claude without knowing 40 of its commands.
Then read the guide below.
🤯 The level of sophistication of the XZ attack is very impressive! I tried to make sense of the analysis in a single page (which was quite complicated)!
I hope it helps to make sense of the information out there. Please treat the information "as is" while the analysis progresses! 🧐 #infosec #xz
Improved transportation networks can enable export expansion by promoting interaction between exporting firms, facilitating knowledge spillovers.
Today on VoxDev, @LinTianEcon@INSEAD & Yue Yu @UofT outline their research on high-speed rail in China: https://t.co/VQyY5EUT0h
My fun weekend hack: llama2.c 🦙🤠
https://t.co/CUoF0l07oX
Lets you train a baby Llama 2 model in PyTorch, then inference it with one 500-line file with no dependencies, in pure C. My pretrained model (on TinyStories) samples stories in fp32 at 18 tok/s on my MacBook Air M1 CPU.
What if we set GPT-4 free in Minecraft? ���️
I’m excited to announce Voyager, the first lifelong learning agent that plays Minecraft purely in-context. Voyager continuously improves itself by writing, refining, committing, and retrieving *code* from a skill library.
GPT-4 unlocks a new paradigm: “training” is code execution rather than gradient descent. “Trained model” is a codebase of skills that Voyager iteratively composes, rather than matrices of floats. We are pushing no-gradient architecture to its limit.
Voyager rapidly becomes a seasoned explorer. In Minecraft, it obtains 3.3× more unique items, travels 2.3× longer distances, and unlocks key tech tree milestones up to 15.3× faster than prior methods.
We open-source everything. Let generalist agents emerge in Minecraft! Welcome you all to try today: https://t.co/1d3YocozsI
Paper: https://t.co/JcWEasgtyI
Code: https://t.co/KsvVf7rcl0
Deep dive with me: 🧵
This is a baby GPT with two tokens 0/1 and context length of 3, viewing it as a finite state markov chain. It was trained on the sequence "111101111011110" for 50 iterations. The parameters and the architecture of the Transformer modifies the probabilities on the arrows.
E.g. we can see that:
- state 101 deterministically transitions to 011 in the training data, so the probability of that transition becomes higher (79%). Not near 100% because we only did 50 steps of optimization.
- state 111 goes to 111 and 110 with 50% probability each, which the model almost learns (45%, 55%).
- states like 000 are never encountered during training, but have relatively sharp transition probabilities, e.g. 73% of going to 001. This is a consequence of inductive biases in the Transformer. One might imagine wanting this to be 50%, except in a real deployment almost every input sequence is unique, not present in the training data verbatim.
Not really sure where I was going with this :D, I think it's interesting to train/study tiny GPTs because it becomes tractable to visualize and get an intuitive sense of the entire dynamical system. Play with here: https://t.co/8jdceMLpqy
capa version 5.1.0 adds a new feature extractor using Binary Ninja - contributed by the @vector35 team. Thanks! We've also added a protobuf format for result documents and fixed several bugs. Plus over 60 rules have been added/improved.
https://t.co/gWbLkjgYG9
This is the biggest, most impactful cryptographic result in years, and nobody is talking about it. You can have a whole successful career and not discover something half as important as this.
Here are some slides about the V8 Sandboxing project that I prepared for an internal talk but figured I could also share more widely: https://t.co/dbjyjYwvxn
We found a way to defeat pointer authentication (and forge kernel pointers from userspace) on the Apple M1 via a new hardware attack.
Here’s how it works-
https://t.co/6Kz3jnRtwI
How Can One Know When To Trust Hardware and Software?
A group of experts convened by Lawfare has been working on the answer to that question since 2019.
Here's the results: https://t.co/24gr3wcfFG
High-performance QEMU tracing of all PCs and memory accesses (read/write + addr + size + value read/written). Capable of doing about 2 x86 cycles/MIPS instruction with full tracing. Here's a cool demo video of watching all memory accesses in real-time! https://t.co/O2LDQ3IwRi
My paper: "Playing for K(H)eaps: Understanding and Improving Linux Kernel Exploit Reliability" just got listed in USENIX Sec 22 recently. The systematic study was the key to my recent success in kctf. Check it out!https://t.co/8ZXxkjIfoz
No ReadProcessMemory / WriteProcessMemory due to monitoring? Do not despair. You still can get/set data in the remote process.
@x86matthew has one of the answers. Great work!
https://t.co/XRv0GXhY49
Full system, hypervisor accelerated, incremental snapshot fuzzing with Intel PT coverage engine enabling full protocol stateful fuzzing via Nyx-Net! Getting roughly 1000 exec/s/core on dnsmasq. This is followup work to kAFL/RedQueen. Kudos to the authors @is_eqv and @ms_s3c!