Welcome to my personal notes!
the problem space of phase 2 is way bigger (permutations are coordinates 0 to 40k, orientation [phase 1] coordinates are just 0 to 2k)
time to find solution might even out though, since there are less available moves for phase 2 search
time will tell
May 30, 2024
it is really fast too, i am so hype
it should be easy from here, since all i need to do is add move/prune tables for the rest of the coordinates and write phase 2 search(which is basically the same thing)
rn i am just using the first solution i find, when phase 2 is done, if solutions are too long, i can go back and find better solutions for the whole thing
but for a scrambled cube i am getting solutions around 7 moves, which is totally fine
May 29, 2024
now i can generate the move tables, so i could theoretically do phase 1
it would be insanely slow though, because the tables don't use the symmetries yet, and i haven't done the pruning tables
ok im gonna ignore symmetry for now and just do pruning on the normal coords
then i should be able to write a version of phase1, which will tell me if i really need to implement symmetry(if solving phase 1 takes a really long time)
theoretically adding symmetry shouldn't even be all that much faster, it just reduces the table sizes
i think
ok pruning table are finished
May 28, 2024
the coordinates for the cube got me buggin
am having a hard time wrapping my head around the symmetries
fortunately, seems like once i finish that, i can compute the tables for everything, which is probably most of the way there
May 27, 2024
got the coordinates + moves working (basic cube sim)
now i can begin on the actual search algo (the hard part)
no way this project is going to take me over a month
i need to lock in
May 25, 2024
looking like kociemba algo is the move
https://kociemba.org/twophase.htm(korfs algo finds optimal solution, not ~solid solution quickly)
ok im gonna try to implement the alg, will probably end up being more challenging than extracting colors, but will be fun
May 23, 2024
ok now i have a simple threejs 3d rendering of the cube so you can verify the scan was correct
thing is you have to scan the face in a certain order(rotate cube right x3, down x1, down twice x1)
if i make a little animation it should be simple enough to use though
ideally you'd be able to show the faces at random, but that would require having to keep track of each piece (have i seen the orange/white edge? if so, then i need to rotate the face)
maybe better left for a future iteration
when it comes to solving, ideally i would not only write the notation of the moves, but actually show it as an animation on the user's cube
but that means i need to have an actually good way of rendering the cube and moves, not just a threejs cube shape with a single texture on each face
before i do that i am just going to implement solving the cube and showing the moves in notation form
interesting that solving cubes in fewest moves is not a fully solved problem
korf's algo seems to the best, but it is from 97
https://www.cs.princeton.edu/courses/archive/fall06/cos402/papers/korfrubik.pdfi wonder if deep learning techniques could work
well it is a "solved" problem in that you can always find the optimal solution, it just might take days(even on insane hardware)
May 20, 2024
ok extracting colors is probably good enough
now need to figure out how im gonna scan in entire cube, not just single side
May 19, 2024
can now extract colors of each sticker
this is basically where i got with python version
need to figure out better way to normalize colors so they are just one of six
May 18, 2024
re: cube solver
web version can now find center of each sticker
should be relatively straightforward to adapt the python code from here
might be a challenge when i have to eventually create a representation of the entire cube, not just a single face
time will tell
May 16, 2024
ok finally have object detection working in js
next step is to use opencvjs to extract colors
theoretically this should be simple because the api for js is similar to python, but getting the detection to work took me like 5 days so
never mind the detection works weird when the cube is near the edge of the screen
May 12, 2024
converting pytorch to tensorflow(so i can use tf.js) through onnx has been the worst experience of my life
ok i finally have the equivalent tfjs model for locating the cube(i think), but parsing the output is torture
i cant tell if the model is wrong or if i am parsing it wrong
probably both
May 10, 2024
once i get home i’ll finish the js refactor for rubiks cube
then im going fully indie dev
not interning anywhere => b2c saas
i hate to say it, but b2c saas is good way to get better at applied AI stuff
i barely even know what a KV cache is, i need to become an inference demon
I have fallen victim to the lies of webdev frameworks
reject modernity(nextjs) embrace tradition(jquery)
like i straight up have no idea what react does behind the scenes

May 7, 2024
can now extract colors of stickers and put them in the correct order, except sometimes my grid is flipped from how it should be
which seems to happen when cube is rotated
will fix tomorrow
can now extract the colors in the correct orientation
that took way to long
now, need to turn average sticker color into something like "red" or "blue"
ok that is done now too
next it to save each face and construct the full cube, but am gonna leave that until i convert it to web (in python rn)
converting should be relatively straightforward since opencv has a js library

May 6, 2024
getting center of each sticker is 90% perfect
sometimes a single frame will miss a sticker
sometimes a frame will put a point not even on the cube
definitely looking good though
ok getting bounds/center of individual stickers is done
now, need to get color of sticker and assign it to distinct color ("red","green",etc.)
May 5, 2024
for cube solver, i can get bounds of individual stickers, but only if cube is directly facing camera
which is probably fine, it is just a little less cool
looking pretty good right now, can ~fairly reliably get center of each sticker
definitely need to work on it a bit though, still looks a little glitchy
May 4, 2024
i should do some computer vision stuff
have been wanting to make a rubiks cube solver
its been done tons of times, but would be fun regardless
re: cube solver
currently annotating data, is there a standard annotation tool people use?
rn i am using cvat.ai, but seems like there should be a local alternative (having to upload images to website seems unnecessary)
should i become a vim goblin
https://vim-adventures.com/ok i have realtime cube detection from the webcam working
next step: time will tell
May 2, 2024
ok school is over, time to start actually doing things
April 25, 2024
https://dreamsongs.com/WorseIsBetter.htmlApril 17, 2024
https://www.youtube.com/watch?v=vfbndRTlsg4April 7, 2024
may dabble in some crypto trading this summer
seems fun
April 5, 2024
Feynman’s lectures came in🙏
soon I will know whether I should do pure math or physics major
April 4, 2024
every time i try to write an essay for my website or substack, i just get to a point where i think every point i make is so obvious that there is no point of writing the essay at all
and i have no idea if that is actually true or if it is just a result of me thinking about a specific subject for a while
April 2, 2024
listening to most recent dwarkesh pod, interpretability is so interesting
i did not realize that there was this much progress, i feel like i only ever hear about papers about novel architectures
strong ideas loosely held
April 1, 2024
dwarkesh liked my tweet🥲
March 31, 2024
i am going to start posting on substack, writing the first essay rn
March 30, 2024
https://meltingasphalt.com/crony-beliefs/March 28, 2024
it should not be the case that i can learn an entire exam's worth of content in ~4 hours
need to find good stats and physics textbooks for this summer
March 27, 2024
gonna make a lil project to talk in french back and forth with model
openai's tts sounds really good, it's just expensive
March 26, 2024
https://www.applieddivinitystudies.com/2020/09/28/polymath/language learning apps are so bad
i could easily build a better one
finally finished the steve jobs bio
re: nonfiction, im gonna try to go broader in scope
i feel like most of the nonfiction i read is business/tech/startups, which is fine, but i feel like im missing out
israel book is a good start
maybe ill work through a physics textbook this summer
college classes are just wrappers on textbooks
March 24, 2024
roon liked my tweet🥲
March 21, 2024
im just gonna use random forest, im desperate
ok im at 70% validation accuracy with random forests
its finished
4am, bracket is not even bad
lgtm
March 20, 2024
i have spent all day, nothing is working
anytime loss goes down, test loss goes up
maybe ill ditch the player stats, and just use team-wide stats instead
ok i've given up on player level stats
March 19, 2024
model not training :(
one day a model of mine will start learning first try
model is over fitting like crazy
might need different architecture
tomorrow is the deadline, i need to lock in
March 18, 2024
rate limited on the stats website :(
there may be a python package
why did i not look for that before
rate limited on that too :(
wondering if it would be illegal to host/publish the ncaa data, since it seems like most places make it hard to access en masse
ok found some data
first attempt is just getting average stats for top 10 players with most minutes played for each team
will feed two teams into basic model with mse error
there are probably some cool architectures I could use, but will save those for later
March 17, 2024
i wonder if there is a big collection of college basketball stats
could be fun to do some visualizations for march madness
tonight am gonna get average stats of every team in past ~20 years
March 16, 2024
mootr is pretty much finished
mootr is pretty much finished
thank god
March 15, 2024
finishing mootr this weekend
i should have more time now to work on projects
March 14, 2024
https://youtu.be/8Bk0kkRPmjEMarch 11, 2024
i need to watch more Bresson
ranking movies is becoming too difficult
maybe i should just sort alphabetically
ranking them feels contradictory somehow
energy models are lowkey confusing
how are you gonna tell me you have gradient descent during sampling
doesn't that require crazy compute during training
would be really fun to try to implement, although algorithm at the end of the paper is really scary looking
great lecture:
https://www.youtube.com/watch?v=kpulMklVmRU&ab_channel=cwkxMarch 10, 2024
https://arxiv.org/abs/1811.02486March 9, 2024
https://www.that.se/Q-starwell i guess oai implemented it first
this was posted by some anon with like 200 followers though, so idk how reliable it is
jimmy_apples follows it🤷♂️
guess i should learn what an energy based model is
March 8, 2024
i should read hpmor
what lecun talks about in the latest lex pod is exactly what i said about an architecture where models think before they speak
pretty cool
maybe i should stop dismissing my ideas for ml as dumb
what he says at 1:18:00 is almost what i said verbatim
the “thought” would just be a single vector of some fixed length, and the model slowly optimizes that vector, instead of adding a single token each step
then, after n iterations, you have a refined thought, which can be translated into English
as you write out a paragraph, the “thought”, updates too, just like how our brains work
i guess you’d have to decide between these two options:
the first one is probably easier to implement, would be fun to try it
I really ought to do some work on the music generation though
and I REALLY ought to finish mootr
here's how i think it could work:

March 4, 2024
I like the idea of some architecture allowing models to “think”, where they aren’t just spitting out the next token based on everything before, but spit out some ideas or excepts, then translate that into English
then during the first step you can do some search to generate the ideas, and do unmasked attention on that to do the “translation”
February 22, 2024
https://arxiv.org/pdf/1908.09257.pdf