btucker
A Survey of Weight Space Learning: Understanding, Representation, and Generation
https://arxiv.org/pdf/2603.10090 https://github.com/Zehong-Wang/Awesome-Weight-Space-Learning
Nov 2024: Don’t dismiss this; it may be the next platform shift. But the actual questions are still unsettled: scaling, usefulness, deployment, and business model.
May 2025: The model layer is already showing signs of commoditization, so the important question shifts toward deployment: products, use cases, UX, errors, and enterprise adoption.
Nov 2025: The capital cycle has become the story: everyone is spending because missing the platform shift is worse than overbuilding, but there is still no clarity on product shape, moats, or value capture. That creates bubble-like dynamics.
May 2026: Provisional thesis: models look likely to become infrastructure, while value probably moves up-stack into apps, workflows, product, proprietary data/context, GTM, and new questions made possible by cheap automation. But he is still explicitly calling this provisional.
It was a great reminder for a bunch of hotshot underclassmen that there were so many skills we all had yet to develop.
Unfortunately, I found the small context window makes the utility pretty limited.
Playground here: https://btucker.github.io/selkie/
One of the cool features is it can use kitty to output diagrams direct to the terminal (if kitty is supported like in ghostty).
I'm planning to blog about the whole process soon.
ETA: used Claude Code to reverse engineer it:
Insight ─────────────────────────────────────
Claude.app VM Architecture:
1. Uses Apple's Virtualization.framework (only on ARM64/Apple Silicon, macOS 13+)
2. Communication is via VirtioSocket (not stdio pipes directly to host)
3. The VM runs a full Linux system with EFI/GRUB boot
─────────────────────────────────────────────────
Confirmed Architecture
Claude Desktop App (Electron + Swift native bindings)
│
├─ @ant/claude-swift (swift_addon.node)
│ └─ Links: Virtualization.framework (arm64 only)
│
↓ Creates/Starts VM via VZVirtualMachine
│
┌───────────────────────────────────────────────────┐
│ Linux VM (claudevm.bundle) │
│ - rootfs.img (10GB, GPT/EFI bootable) │
│ - sessiondata.img (persistent session data) │
│ - 4 CPUs, 4GB RAM │
│ - Shared directory: /Users/<you> → mounted │
│ │
│ /usr/local/bin/claude ← SDK binary │
│ (copied from ~/.../claude-code-vm/2.1.5/) │
└───────────────────────────────────────────────────┘
↕ VirtioSocket (RPC)
ClaudeVMDaemonRPCClient.swift
↕
Node.js IPC layer
Key Components Found
┌────────────┬──────────────────────────────────────────────────────────────────┐
│ Component │ Location/Details │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ VM Bundle │ ~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/ │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ rootfs.img │ 10GB Linux root filesystem (GPT/EFI) │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ SDK binary │ ~/Library/Application Support/Claude/claude-code-vm/2.1.5/claude │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Logs │ ~/Library/Logs/Claude/claude_vm_swift.log and claude_vm_node.log │
└────────────┴──────────────────────────────────────────────────────────────────┘
Communication Flow
From the logs and symbols:
1. VM Start: Swift calls VZVirtualMachine.start() with EFI boot
2. Guest Ready: VM guest connects (takes ~6 seconds)
3. SDK Install: Copies /usr/local/bin/claude into VM
4. Process Spawn: RPC call to spawn /usr/local/bin/claude with args
The spawn command shows the actual invocation:
/usr/local/bin/claude --output-format stream-json --verbose \
--input-format stream-json --model claude-opus-4-5-20251101 \
--permission-prompt-tool stdio --mcp-config {...}Great Engineer + AI = Great Engineer++ (Where a great engineer isn't just someone who is a great coder, they also are a great communicator & collaborator, and love to learn)
Good Engineer + AI = Good Engineer
OK Engineer + AI = Mediocre Engineer
Interesting you're getting such slow speeds. Ask them if a tech can stop by and troubleshoot with you.
Of course the a vocal minority is fuming about higher density.
The key is to give it context so it can help you. For example, if you want it to help you with Spark configuration, give it the Spark docs. If you want it to help you write code, give it your codebase.
Tools like cursor and the like make this process very easy. You can also set up a local MCP server so the LLM can get the context and tools it needs on its own.
Explainer video: https://www.youtube.com/watch?v=yqefjmRVLTM
Also, Joel's midterm report: https://www.joelonsoftware.com/2005/07/07/project-aardvark-m...