nhorozov.xyz — all content
Every page on the site, concatenated in BFS crawl order starting from the main page. Crawled from the live site on 2026-09-22.
Pages in this file:
- nhorozov.xyz
- programming
- mathematics
- About me
- Blog
- Thoughts
- Mandelbrot set
- Strange Attractors
- Word2vec
- rockets
- NEMI was really cool
- Newspapers to Numbers
- Hessian Nullspace continuation effect on rank of matricies
- Reversing Conway’s Game of Life using a Visual Transformer
- Model Rocketry
- thought-2026-09-21
- trustless things are neat
- thought 2026 09 19
- superrationality cosmic host (?)
- thought 2026 09 18
- things easy vs hard
- system 1 and 2
- ∴ in casual english
- thought 2026 09 16
- sleep placebo
- thought 2026 09 15
- agent coding thinking bottleneck
- revert vs reverse
nhorozov.xyz
Nickola Horozov’s personal website
I like programming, mathematics, and everything that falls between
You can learn more about me here
I have a blog and save quick thoughts
nhorozov.xyz/aboutme/programming
programming
I’ve been programming for a few years now and I love it. I started in 2019 with Python, and then switched to p5js and JavaScript because it was easier to share.
I then became interested in chaos theory from a book I read and I made several programs plotting strange attractors and the Mandelbrot set.
My programming accounts:
- p5js account, I use it a lot for testing things because my replit account hit the free trial limit
- Replit account, I’ve been using this since 2019
I’ve been a big fan of programming for a while now and these are some of my projects
Due to many of the dependencies of my projects in p5js implementing breaking changes in the years since I have worked on them, many of these will not work unless they are run with p5.js 1.x.x You can change this in the upper right corner of the screen by pressing the gear and then changing the version of the p5js libary. I have spent many years working here and some of my favorite work is here
- Mandelbrot set plotter in p5js - I elaborate on this here
- Strange attractor ploters in p5js - I elaborate on this here
- I wrote about these projects in a newspaper article in 7th grade
- Word2vec implementation - I elaborate on this here
nhorozov.xyz/aboutme/mathematics
mathematics
- During the pandemic I worked on a paper about the distribution of Gaussian primes and more generally primes in quadratic number fields, working alongside my father and his student. I wrote several Python programs to find the number of primes in angular slices of the complex plane and compare their densities. We found that our results very closely match and support the conjectures we sought to prove, like the idea that two slices with the same angle and radius will have similar amounts of primes as the radius goes to infinity.
- This year I’m taking Multivariable Calculus and teaching myself some more statistics
- This summer (11->12th) I audited Calc 3 and Lin Alg + Probability at Columbia
- Last summer I audited Linear Algebra
- Last year I took AP Calculus BC and was teaching myself some statistics so I could better crystallize my intuition about LLMs
- I often learn math in the context of computer science so many of my programs are math heavy Heres a list of some of the more math heavy ones:
- Mandelbrot set plotter in p5js - I elaborate more about this here
- Strange attractor ploters in p5js, plots the trajectory of a particle in a space and has some really cool properties. If you slightly alter the initial conditions of the program the particle will trace out a very different path. Also (ideally) the path of the particle is not self-intersecting. (However it is imposible for a descrete computer running forever to not have the particle self-intersect its previous path, because there are a finite number of positions it can be in). Further elaboration here
- Word2vec implementation, uses machine learning to quantify the meanings of words they take on in a corpus of text. Elaborated further here
About me
Hi, I’m a highschooler who enjoys things that make me think. I really like Quiz Bowl, Math, Computers, and Philosophy.
Blog + quick thoughts (most often updated)
My interests
Things I’m proud of/had fun doing
- attending nemi
- quantifying how words changed meaning from 1850-1950
- homemade word2vec implementation
- strange attractor plotters
Blog
I write down things I’m working on, and explainations of things I’ve done. I often write quick things in thoughts.
- Hessian Null-Space continuation affect on rank of matricies
- Attending NEMI - summer before 12th
- Newspapers to Numbers - 11th
- Reversing Conway’s Game of Life through time - 11th
- Model Rocketry - 9th
- Word2vec - 8th
- Strange Attractors - 7th grade
- Mandelbrot set - 7th grade
Thoughts
I write quick things that occur to me here. I write longer things in blog. Some of the stuff I’ve thought up a while ago and randomly recall them, so there might not be some consistent timeline of my thinking after I use this for a long enough time. I still think it shows a lot about what goes through my head on a daily basis. If you dont like clicking millions of links try this site as a single concatenated page
- 2026-09-21
- trustless things are neat
- thought 2026 09 19
- superrationality cosmic host (?)
- thought 2026 09 18
- things easy vs hard
- system 1 and 2
- ∴ in casual english
- thought 2026 09 16
- sleep placebo
- thought 2026 09 15
- agent coding thinking bottleneck
- revert vs reverse
nhorozov.xyz/blog/mandelbrot-set
Mandelbrot set
I wrote this program in Feburary of 7th grade, shortly after I wrote my strange attractor plotter.
In 7th grade I became interested in Chaos theorey while reading a book about it.
I forced myself to not look at other existing implementations of it online, and wrote my own. (You can tell I did this because wrote it such that the past values of z are stored in a list, and I manually implemented the complex arithmetic needed instiad of simplifying it further). I really liked how the value for z jumped arround the complex plane, and sometimes settled down at zero and sometimes zoomed off to infinity. I remember in 7th grade french class taking a piece of paper, and manually going through 4 iterations of the algorithm to see if a point (with relativly simple coordinates, like i+1) was in the set or out of it. I tinkered a lot with that program and used it to draw out various zoomed in parts of the set, which I put in a newspaper article for school later that month. Later in the article I wrote I section about my Strange Attractor plotters.
nhorozov.xyz/blog/strange attractors
Strange Attractors
I wrote this program in January of 7th grade.
I became interested in Chaos theory after reading a book on the subject. It described how a scientist working on weather models liked to experiment with various equations and run them on his computer, eventually finding a really nice looking shape with some really interesting properties. I found this pretty interesting, and when the actually showed me the formulas used to make this, I felt like I should chalenge myself and figure out how to work with these.

So now in 7th grade, years away from formally learning integration, I gave myself the task of trying to figure this out. So I aproached a teacher in the highschool, and when I showed him the formulas from the book, he told me they couldnt be solved. Which was true, they couldnt be explictily solved, but I wanted to figure out what Lorenz had done and get it to work. So I asked arround a little further, and I learned that dx/dt describes the change of x over the change in time. (I learned this written with the Greek letter Δ instead of ‘d’, so thats what I ended up using in my programs). I also learned that I could multiply both sides of each of the three equations by Δt, and got me into a good state to tinker arround with my program. It took me a long time to figure out what a good value for Δt should be, and I was very happy when my program was able to plot a nice visual of the attractor in less than an hour (which is what happened before I increased Δt by a few OoM).
Here is a visual of the Lorenz attractor I made

After this project I had this nagging feeling that I really didnt get what it meant for a set of such equations to be “explicitly solvable”. To try and fix this, I wrote a number of smaller programs in which I tried to plot different equations and got a circle to be plotted using ODEs.
Word2vec
I wrote this program in in 8th grade.
This program finds meaningful vectors that correspond to the meanings of the words it’s given. This program takes in all the words and symbols from the corpus, splits them up, takes the relative positions between the words, and then strongly compresses that information by training a neural network on it. The lower the blue line during training gets, the more compressed the data is. Once the neural network is trained on this information, different parts of the network store relevant information for different words. The incredible part of this is that this word-specific information in the neural network actually describes the coordinates of a meaningful point in an abstract space - not a normal 2D or 3D space as we are used to, but a much more complex 100D space. It is basically impossible to visualize anything in a 100 dimensional space, but many of the same rules and mathematics we are used to in lower dimensional space can still be used when we go to 100D. For example, we can still find the distance between two points in the same way as we would in 2D space, by applying the Pythagorean theorem. The reason these 100D points are interesting is because words with points that are closer to each other have similar meaning. And it gets even better because (when this method is applied to much larger collections of text), you can actually do literal arithmetic on the points the words correspond to. Google’s paper describing the word2vec system gives the example of vector(“King”) - vector(“Man”) + vector(“Woman”) giving a vector close to vector(“Queen”). By now it would probably be a good idea to say that ‘vector’ and ‘point’ mean mostly the same thing in this context (sometimes in the field of machine learning its helpful to look at the distance between two points in terms of the angle between them from the origin, and other times it’s helpful to rotate the points by an angle around the origin, so the word vector is often used) I find this system really interesting because it is one of the shortest ways I could find to automatically quantify the meanings of words. I first learned how this process works in 8th grade, and now (11th as I write this) I understand much more about this. The idea of turning words into vectors is a very powerful one, and gave me a very helpful inital intuition about how LLMs work. Inside the code, there is a variable named ‘corpus’ that I would recommend changing the content of and reruning the program.
rockets
In late 9th grade I wanted to land a model rocket. The easiest way to do this would be to place the center of mass underneath the center of thrust. First, I constructed and tested a version of the rocket made from my violin stand and 3 rocket motors arranged at the top of the rocket. Ideally, they would ignite at the same time and pull the rocket up. But when I couldn’t get the engines to ignite all at the same time, I needed to switch the design to a rocket with only one engine and 3 landing legs.
For this, I made a simulator in Python that took the thrust of the engines as they changed over time and showed when they would land. When I launched the second version of the rocket, the one with a single engine and 3 legs, it flew and flipped over and crashed. I believed the rocket would land correctly because the center of mass was below the center of weight. In the future will need to increase the distance between the two. One way to do this would be to put a more powerful motor. Below is me launching the rocket with one motor at my friends house.
That’s me with the welding helmet. The engine I used had an ejection charge in it and I wanted to make sure it didnt hurt me.
NEMI was really cool
I flew back from Europe on August 12th (alone, for the first time :) ) so I used my jetlag to my advantage to get to Boston. I woke up at midnight to catch a 3am bus to Boston and I met a lot of really cool people there. I only met one other person who works on mech interp before this, and it was really great there.
I half wanted to go to NEMI to meet more people that do this, and half to see if I could do it.
There was one project I was really interested in, from the first student speaker, in which they built a method that finds directions in the loss landscape where the curvature is minimal, and moves the neural net in one of those directions (along with training the new network to have similar behavior as the inital one). These two steps are then repeated a lot. While I was watching the presentation I was thinking that the new neural networks would probably be harder to compress their weights that the inital ones, in the sense that their internal structures would be more complex.
I later asked the presenter about how the rank of the matrices in the neural networks changes and while she said she hadn’t thought about it she figured from a graph of the RNN’s state that it increased there, which made me really happy because that intution about compressablity was right :)
I wonder if this happens for other neural nets when you apply this method, that the rank increases.
note from the future (20/09/2026), the actual methods the speaker presented considered the loss landscape with respect to a behavior-preserving metric. i didnt correct the above because i wrote it directly after nemi and wanted to save that. I tinker with the method in this post
nhorozov.xyz/blog/newspapers-to-numbers
Newspapers to Numbers
This was done for my English Honors class in mid 11th grade.
I have been interested in some time how words change meaning over time. My English teacher gave us an amazing month long assigment in which we had 2 weeks to learn everything we could on a subject, and 2 weeks to synthesize what we learned into something we would present. I wanted to use methods in machine learning and AI (like the idea of quantifying the meanings of words and representing them as vectors) to quantitativly model how language change. I looked into various datasets of historical text, and eventually settled on the Library of Congress’s collection of scanned newspapers from 1850-1950.
I wrote a program that trained a small ~11 million parameter BERT model on 300 megabytes of text. Each document I fed the model was prefixed with the year the document was from, so the model would learn the associations between the tokens for the year, and the rest of the newspaper exerpt. I found that the system was easier to train when it was given more documents that each were shorter, so I cut up each newspaper articles into 20 exerpts. To look at trends in how words change over time, I considered the document embeddedings the BERT model used to produce its distribution over its vocabulary, from its last hidden layer. I then took the embeddings in document-space the BERT model gave me for a series of strings containing a year and a term (eg. “YEAR: 1893 | Spanish Empire”). I took all these vectors and computed the consine distace between them and a base vector, such as BERT-vector(“Spanish empire”) ⋅ BERT-vector(“YEAR: 1893 | Spanish Empire). I then plotted the cosine distances between these ideas, as one stayed static through time, and one moved though time.
I trained a few such models, experimenting with different model sizes and amounts of training data. The largest one I tested was 110 million parameters and took nearly 16 hours of compute on my PC. I found that I could get better results from these systems if they were given more training data, not more parameters.
Here is my final slideshow with the graphs I made for this.
Not every year is represented in the dataset, and I’ve checked and those unrepresented years acount for most of the outliers.
nhorozov.xyz/blog/hnc rank tinkering
this is a draft, but its also not bad at the moment
Hessian Nullspace continuation effect on rank of matricies
Date: September 14 2026
This was tinkered around with over the course of a few hours, and written up over the course of a few days (after sep-14-26). I’m confident about my intuitions behind this but don’t fully understand all of the math. An example of this is eigendecomposition, which I can’t say I formally/rigourously know but I can clearly imagine what it would mean to have low eigenvalues in the eigendecomposition of a Hessian (there’s flatter bits in those directions, though they aren’t fully flat). I used GLM 5.3 flash for this, and my prompts are at the bottom of this post.
Intro
Last month I attended NEMI and a student presenter, Ann Huang, presented a project where they applied a method that moves the weights of a neural network in directions towards low-curvature regions of a loss landscape defined by a behavior similarity metric to the inital network (1/2 * |f_i(x)-f(x)|^2, averaged over a set of inputs). Because the Hessian only gives local low-curvature directions, they recompute it after moving the model a little in one of those directions. In the process they include an optional step of moving in flatter directions that also minimize CKA, or you could just pick a random flatter direction. They alternate nudging the model with the Hessian and gradient descent on a behavior preserving loss, and repeat this prosess many times. They call their method Hessian null space continuation (HNC). This is a really cool method.
They found that the internal structures learned change when HNC is applied.
When I watched the presentation I was thinking that these new networks are probably harder to compress in some way. I know that many powerful learning algorithms have a bias towards simplicity, and I knew that backpropagation and RL generally decreases the rank of the matrices in the neural networks, which is interesting because most matrices out there are really high-rank.
Because of this I figured the rank would probably increase when HNC is applied.
What I did
I trained 3 models from scratch, a MNIST MLP, an RNN for the 3 bit memory task from the presentation, and the transformer from Progress measures for grokking via mechanistic interpretability, recording their rank during training. I then applied HNC to each of them and measured the rank as it changed. I also considered how CKA-steering affected the rank.
(note: during this I didn’t know a ton about the different ways to calculate rank and the different kinds of it, and thought that the actual `numpy.linalg.matrix_rank would be the thing changing, I was wrong about that and GLM 5.3 flash suggested using stable rank and participation ratio)
GLM 5.3 flash did a lot of the heavy lifting here and was mostly given a detailed inital prompt (where i listed the models I wanted to apply HNC to, what I wanted to graph).
Here are some figures of the rank changing for multiple seeds, with phase A being the training and B being the HNC:
Graphs
note: looking at these graphs, I notice that they don’t all call rank the same thing (stable vs effective) and while they both measure the same calculation in the code, they’re labled sloppily (glm 5.3 flash made them when working). I will fix this soon
Part A (training from scratch)
We can see the rank generally fall when training the transformer from neel nanda’s grokking paper. Depending on the matrix, something it does sometimes is go down a lot and and come up a little. For seed 2 in the W_E matrix it actually keeps going down, which is cool.
Gradient decent has a bias towards simplicity and since (stable) rank is some kind of proxy to complexity (high-rank~high complexity), it makes sense to see it fall here. This part isn’t really new but I like it a lot.
i might do some interp of these models in the comming days.
Part B (HNC)
This part is more interesting. There is a general upward trend for the rank of the matrices but its not always and its not constant. You can most clearly (out of the three seeds) see a general rise in the rank this in the transformer. But some matrices’ rank increases while others’ decreases.
I think you can see it better in this seed (#2) because it got to a lower rank in part A than the other seeds.
(more) Discussion
…
all images
part A (training from scratch)
- phaseA_mlp.png
- phaseA_mlp_stable.png
- phaseA_mlp_task.png
- phaseA_rnn.png
- phaseA_rnn_stable.png
- phaseA_rnn_task.png
- phaseA_transformer.png
- phaseA_transformer_stable.png
- phaseA_transformer_task.png
part B (HNC)
- phaseB_mlp_seed0.png
- phaseB_mlp_seed1.png
- phaseB_mlp_seed2.png
- phaseB_rnn_seed0.png
- phaseB_rnn_seed1.png
- phaseB_rnn_seed2.png
- phaseB_transformer_seed0.png
- phaseB_transformer_seed1.png
- phaseB_transformer_seed2.png
Prompts I gave to the agent
Read and deeply understand the poster in this directory. More context: https://nhorozov.xyz/blog/nemi26.md. I want to apply this method to a series of simple models and use numpy.linalg.matrix_rank to see how the rank of the matricies in these models changes, as they are trained from scratch at their tasks, and then as the Hessian null space continuation method is applied. Gain a lot of comprehensive context about this project, reason deeply, and get back to me when you are ready to start.
This is good, for point 2 add the transformer from (https://www.alignmentforum.org/posts/N6WM6hs7RQMKDhYjB/a-mechanistic-interpretability-analysis-of-grokking) to the list of the three models that will be trained from scratch and then phase b, with both unsteered and CKA-steered applied to all of them. Start, and if you have questions about something or have unresovable issues with hardware stop working and ask me to help.
I gave my NEMI post to the agent because I partally describe the method there, though not very well.
you can find me at [the first two letters of my first name][my last name]@gmail.com
nhorozov.xyz/blog/conway-gol-reverse
Reversing Conway’s Game of Life using a Visual Transformer
TL;DR
Conway game of life is a deterministic cellular automata. I trained a system that produced possible candidate boards for what the previous time step looked like and checked them for correctness. With this I found some pretty cool patterns in the game.
Why I did this
I was interested in LLM-powered automatic proof machines and the ones I looked at have a statistical machine (the LLM) give possible answers to a deterministic checker (like LEAN). Its fine if the LLM hallucinates something unhelpful because the checker will discard it. This is a really cool system and the main reason I first wanted to work with Conway’s Game of Life was to play around and implement something like this.
Initially, I wanted to apply similar methods on a nondeterministic version of something like this(but with more options than one for what path it could take from the seed) but I chose to do this with GoL because it looked nicer.
In my mind I see axioms and proofs as something like this, that there exists some set of unprovable statements and definitions like x=x, []=0, and [0]=1, and we have some tools at our disposal to manipulate them into something else, like √2∉Q. Because all these theorems and proofs rest upon the same set axioms, and branch out from there, I imagine this as a tree.

(I got this image from here.)
(of course, because theorems will often build upon the work of more than one previous theorem, this doesn’t follow a tree in reality, but the analogy holds in this case)
The automatic theorem provers try to append a node to the right of this metaphorical tree, and check if the rest of the tree agrees with it. Within this analogy, I do something similar with my program for Conway’s Game of Life.
How it works
I have a vision transformer that takes in the board as a grayscale image, and outputs a series of distributions that represent how the board could’ve looked at the previous time step. After outputting the distributions (which don’t change; the model will always output the same distributions given the same input), the program picks many random configurations from the distributions of possible previous boards. It then check each of them through the Game of Life algorithm to see if they will result in the current board.
I originally considered reversing the board in patches, because the Game of Life rules only make local changes, but I figured it would be easier for the vision transformer if it had a larger view of the board.
Conways game of life is deterministic and while some boards are irreversible, most boards have multiple reversals. In other words, there often exist multiple boards that when played will lead to the same dynamics.
Given a board, only one thing can happen forwards in time, and (often) many things can happen backwards in time.
If we reverse this we can get another tree - similar to the one of math theorems
My goal with this was to find a board that when the GoL function is iterated upon it a few times it results in something specific. I give my program a seed board, an ‘axiom’ if you will, and it correctly guesses what boards exist that deterministically relate to it, ‘theorems’, until it reaches the depth I want it to.
nhorozov.xyz/blog/model-rocketry
Model Rocketry
In late 9th grade I wanted to land a model rocket. The easiest way to do this would be to place the center of mass underneath the center of thrust. First, I constructed and tested a version of the rocket made from my violin stand and 3 rocket motors arranged at the top of the rocket. Ideally, they would ignite at the same time and pull the rocket up. But when I couldn’t get the engines to ignite all at the same time, I needed to switch the design to a rocket with only one engine and 3 landing legs.
For this, I made a simulator in Python that took the thrust of the engines as they changed over time and showed when they would land. When I launched the second version of the rocket, the one with a single engine and 3 legs, it flew and flipped over and crashed. I believed the rocket would land correctly because the center of mass was below the center of weight. In the future will need to increase the distance between the two. One way to do this would be to put a more powerful motor. Below is me launching the rocket with one motor at my friends house.
That’s me with the welding helmet. The engine I used had an ejection charge in it and I wanted to make sure it didnt hurt me.
nhorozov.xyz/thoughts/2026-09-21
the other day i went to CAIAC, met some cool people and got their numbers.
Less Wrong is a bit intimidating and i figured it would be good for me to talk to people
nhorozov.xyz/thoughts/2026-09-20
trustless things are neat
i like systems in which many people each wanting different things can create something bigger.
if you want to evenly split a cookie with a friend, you can ask your friend to split it for you, and then you can pick the bigger piece. I like that a lot.
I never really had a good understanding of markets before reading the bitcoin whitepaper (~January 2025) and then i had a few brief moments of comprehension in which i could fit the whole system in working memory, and i really liked how you could engineer away a need for trust (with some tradeoffs, like that this depends on no one having >~50% of the compute)
nhorozov.xyz/thoughts/thought 2026 09 19
thought 2026 09 19
actually what i should be doing is rereading a few posts of the sequences every day because otherwise the compressed bits i recall from time to time are probably just high-octane fuel for motivated reasoning
doing that now
nhorozov.xyz/thoughts/superrationality cosmic host
superrationality cosmic host (?)
epistemic status: somewhat confident in the general intuitions, i might be using some terminology a little wrong though. all of this is fairly out there
i was reading bostrom’s cosmic host and i was thinking that superrationality might be common amoung SIs (cooperation without communication in the prisoners dilemma).
ASI (made by humans) probably wont have real superrationality for a while because our AIs are all trained on roughly the same training data with similar architectures, and should cooperate with each other much earlier. In FDT two identical agents always cooperate, and (i think, but probably) as they become more different they are less likely to cooperate. As you increase their intelligence theyre more likely to cooperate (bc superrationality). So whatever threshold of intelligence that needs to be passed for an entity to be superrational, we are probably going to see superrationality before we hit that threshold in our own AIs (assuming we keep making them smarter, which we might not for obvious safety reasons).
Superrationality would make sense to be a cosmic norm, and maybe intentionally seeking to create superrational ASI would be in line with that. A much safer way to do this would be to train an non-superintelegent AI to be superrational. This could be done by RL SFT’ing a synthetic reasoning trace in which the AI would try to reason what the other agent would do, and if it knows (somehow) the other is also superrational it would cooperate.
this was fun to think abt
18/09/2026 10:12:25
nhorozov.xyz/thoughts/thought 2026 09 18
thought 2026 09 18
thinking; the best possible actions you can take are probably not very different that the worst possible actions you can take. if you go all-out on solving world hunger by making food hyper-cheap to produce, imagine a meal costing a thousandth of a penny, then obesity might increase a lot. the specific details of your action matter a lot when you are trying to do the best possible thing, otherwise when exerting that effort you will miss/overshoot/overoptimize badly.
in ais a lot of safety work is dual-use for capabilties, an example being RLHF. worse than capabilties, which undersells the harm of RLHF, it also can teach smart models to be sycophantic and (sometimes, seen it) subtly passive aggressive.
(goodhart’s law)
nhorozov.xyz/thoughts/things easy vs hard
things easy vs hard
lowk easy things might be harder than hard things bc they are harder to be motivated abt
nhorozov.xyz/thoughts/system 1 and 2
system 1 and 2
a lot of ways to self-improve involve using your system 2 to guide your system 1 to be better. atomic habits talks about consciously setting your environment to have less distractions, and more reminders to do good things. doing this guides you system 1 (instinct) to make better choices.
the sequences teach your system 2 to be more rational, and specificly put your system 2 in a better position to guide your system 1.
im not fully sure about my phrasing about the sequences’ effect on the systems, i might update that in a future thought.
i thought about it a little more and i think rationality teaches you system2 to better use your system 1. an example being applying bayes rule to things, you have your system 1 come up with the priors and your system 2 actually multiplies everything out
nhorozov.xyz/thoughts/in casual english
∴ in casual english
i was recently thinking that ∴, the math symbol for ‘therefore’ should be used in english so it saves space. thinking about this more, the semicolen already does this pretty well.
While I can’t force myself to relax, I can control what I do before meditation; by listening to jazz beforehand I might be able to signal to my body that I will meditate soon.
(note from the future, 18/09/2026 07:23:07: i got the above sentence from a short essay we had to write in english clas about the habit we chose to do for a month)
17/09/2026,09:04:51
nhorozov.xyz/thoughts/thought 2026 09 16
thought 2026 09 16
just meditated again. study hall is good i think that was 30 minutes.listenign to lofi rn
nhorozov.xyz/thoughts/sleep placebo
sleep placebo
sometimes i wonder how much my persived amount of sleep affects me. im pretty sure i act more or less the same under 7 and 8 hours, but i think about them differently. if i could somehow hide any mention of times from me and be told to fall asleep by a program i could do some kind of double-blind sleep test, where i wouldnt know how well-rested i am. this would be really hard to do though because hiding any mentino of times from me isnt something i can control. if i were to do this i would need some kind of metric of how rested i am when i wake, and if this is some kind of cognitive test then i might become used to the style of questions after a bit.
nhorozov.xyz/thoughts/thought 2026 09 15
thought 2026 09 15
for english class our amazing teacher had us read atomic habits and for a project in this class we have to pick a habit and do it daily for 1 month. i really like packing my head full of information (i love learning), even when it overwelms me. so for my habit im meditating daily for 15-20 minutes with these nice guided meditation mp3s i found. i think this is either day 5 or 6 and im not really keeping track. i have study hall every other day at school, and i stay in the libary and meditate there for a bit. its usally prett quiet. today tho i was working on a presentation for another class and forgot to so i went home. i just meditated and i feel so at peace. :)
17:46:29
nhorozov.xyz/thoughts/agent coding thinking bottleneck
agent coding thinking bottleneck
i like agentic coding because it moves the bottleneck when coding to how well i can think about it. this is exactly where the bottlenck should be. i can think for a few hours and then give glm5.3 flash or qwen3.8-27b a complex and detailed task, and then i can think about something else. ive done this with a lot of things. my site is a lot easier to write to because i had my agent make a cli that lets me type markdown into nvim and then rsyncs it over to the site, along with running a pile of sed commands i can imagine would should be doing but dont know how to write them (to update other pages to link to the new post/thought).
the other day i spent a while thinking about a method i saw at a conference (which was super fun to attend) and when i typed my long prompt into my agent to run a few experiments for it, i could think about other things.
in case you are interested here are the prompts
Read and deeply understand the poster in this directory. More context: https://nhorozov.xyz/blog/nemi26.md. I want to apply this method to a series of simple models and use numpy.linalg.matrix_rank to see how the rank of the matricies in these models changes, as they are trained from scratch at their tasks, and then as the Hessian null space continuation method is applied. Gain a lot of comprehensive context about this project, reason deeply, and get back to me when you are ready to start.
This is good, for point 2 add the transformer from (https://www.alignmentforum.org/posts/N6WM6hs7RQMKDhYjB/a-mechanistic-interpretability-analysis-of-grokking) to the list of the three models that will be trained from scratch and then phase b, with both unsteered and CKA-steered applied to all of them. Start, and if you have questions about something or have unresovable issues with hardware stop working and ask me to help.
I added my blog post to the agent’s context because I explain more of the method there.
this was written sept 6 2026 at 10am
nhorozov.xyz/thoughts/revert vs reverse
revert vs reverse
I was just typing up an email and I used the word ‘revert’ in the inital draft. Going over it a second time, I thought about using the word ‘reverse’ there, and quickly searched them.
I see the definition being:
Revert means to return to a previous state or condition, while reverse means to move or turn in the opposite direction or to change something to its opposite.
and I think “Reverse means to turn around while revert means to move to a previous state, so reverse is more continuous and revert is more descrete”
I like how the more descrete of the two words ends in a sharper ‘t’ sound while the more continuous one ends in a softer “s” sound.