
Dogukan Tuna
hi!! I usually go by the "dthinky!" alias, though my name is Doğukan.
>> doing research.
>>> self-improving systems, thermodynamic simulators & RL/CUDA kernels.
building two things:
- Ultraresearch, a research lab building self-improving systems, starting with thermodynamic simulators and RL environments.
- Manuel AI, superhuman HVAC & energy reasoning.
excited about flourishing in a world with MAS at 100 trillion params, together.
staring at nature · thinking about thinking machines · prob. rn making fun with fable 5
Research
A running log of posts, experiments, and longer notes from the work. View all
- Aug 10, 2026
Building World's First Thermodynamic RL Engine for Fused Ising-Gibbs Sampling Kernels in CUDA - Jul 20, 2026
From Scaling to Recursively Self-Improving Research, with Just Big Agentic Computers - Apr 12, 2026
Verified Replay Distillation (VRD) recipe for continual learning in verifiable domains - Mar 25, 2026
autoresearch-mamba: Karpathy-Style Autoresearch for Mamba-2, Mamba-3, and Hybrid Mamba–Transformer MoE - Feb 1, 2026
On Compression, Computation and the Space Between
Neural Networks & New Kinds
Compression is how I think about learning. The tighter a model can compress its inputs, the more structure it has actually found. Kolmogorov complexity makes this precise. It measures the length of the shortest program that produces a given output, which turns out to be the theoretical floor for any compressor.
The Ultimate Compressor
K(X) = length of the shortest program that outputs X. For any computable compressor C and all strings X:
K(X) ≤ |C(X)| + K(C) + O(1)
via the simulation argument: run C inside a universal machine
The Catch
K(X) is uncomputable. You can never know the true shortest program. But a deep network is a finite parallel computer that approximates it with bounded resources.
Why Neural Nets are Compressors
- Neural nets can simulate arbitrary programs.
- They are small computers, circuits wired by data.
- SGD searches over the space of programs they can express.
Micro-Kolmogorov Complexity
Fix an architecture, then fit a network with SGD. The bit-length of the resulting weights is a practical proxy for description length:
minf ∈ F [ loss(f) + λ · micro-K(f) ]
micro-K(f) ≈ bit-length of weights in a fixed architecture
Shorter description length → better generalization.
I'm deeply invested in methods that make learning systems compress harder and generalize further.