portal RL simulator for TAS runs is progressing nicely. goal is to be able to spawn 10k+ instances on a single machine. i’m coming for the world record…I can almost taste it
I would disagree on libraries. I have had a lot of fun and gotten good results coding a CSV parsing library by hand (with some AI assistance, which has largely not been useful). It just forces you to be more ambitious—if previously you were going to create a library, now it must be the best library in its class. There’s still a lot of low hanging fruit out there especially wrt performance optimization
@mnafees I just find Rust to be more enjoyable to write, and I like the nicer type system. But in objective terms, there isn’t a super strong reason to use it over Go
it brings me no joy to report this . but every Thursday DoorDash has a “ dashpass trivia” and if you win you get a $5 coupon which isn’t a lot but it allows me to have a single bean and cheese burrito delivered for just $12 . there’s not a lot keeping me alive
openAI and anthropic keep posting their so called “models” and their so called “proofs” of “mathematical findings”. when will a model beat the portal 1 speedrunning record. that’s when I will recognize that AGI has come
@meganeoleary i have been laying in wait, searching for an opportunity to get revenge for you saying that i wouldn’t know about the 90s because it was before my time
Peter Elias, who invented the Elias gamma, delta, and omega codes, died at home of Creutzfeldt–Jakob disease. Phil Katz, creator of ZIP, died from alcoholism and was found dead amidst liquor bottles and suitcases of sexual paraphernalia. Now it is our turn to study compression.
for some more context, inside_quotes is a bool that tracks the previous chunk's ending quote state. By xoring it with the current chunk's quote locations, it inserts a 1 at the LSB, essentially inverting the prefix-xor calculation. Saturating subtraction turns that bool into either 0 or u64::MAX, which can then be xored with the prefix-xor output, also flipping the quote state. The speedup happens because the quote locations are in a vector register coming from the SIMD pipeline, and the clmul64 (pmull underneath) call also expects a vector register, so having to convert to a general purpose register in between those steps has a large cost.
it's very fun finding small tweaks in your code that can enhance performance dramatically. it can also be somewhat humbling. I was able to get a 10% speedup by just avoiding a move from vector to general registers. I had previously considered this code fully optimized, and had spent hours and hours optimizing the SIMD pipeline prior. Hopefully I can find a few more instances of dumb mistakes like this and get to 3.5GB/s :)
this was surprisingly easy to make! the inspiration was from Enter The Void, and I was able to get claude to create a Python script, which outputted an FCPXML file to generate the many variants of type faces and effects along with timing data. Just required some cleanup in Final Cut.