#programming
1 messages · Page 230 of 1
Added ALERT to the bwaa
no lmao
good
.. but wait, the week just started
https://fixupx.com/claudeai/status/1972706807345725773?t=pN1JCM5JfWoPWg1dbkFi_w&s=19
the best coding model in the world..
until gemini 3.0 drops atleast
This is hype for me as a wave terminal user
sorry warp

This is the big one imo
Though I will admit this comparison is pretty flattering for GPT 5 when you look at other benches if you want a non coding model
For coding and agentic use though I have no doubt this'll be the best by far
i mean it IS claude
AI 2027 is getting real 
small improvement only... assuming they aren't fabricated
what is a timezone am i right
should be somewhere in the atlantic
pacific
islands
+14 and -10 are some choices
also the +12 and -12
but that one feels slightly more sane
Might as well update on the FAQ frontend, This tends to be my prefered style and normally I'd get a noise texture behind it. It looks fine and not the most out of place.
Also decided to simply down from the orginal to save myself some backend work
have taken numerous programming classes in the past, was terrible at it! but this community really makes me want to get into it (again).
apparently Fourier has their robotics as open source (YT URL = -uKHgTWtSBg?t=518) ?
I just heard vedal in vod today talk about how Unitree charges much moolah, comparatively. hopefully this is useful info
small mod to the LLM part if ur going for the neuro feel it should be fine tuned and not built from scratch anyways
Yeah, I have that under the Custom catigory as a bit advanced compared to plug and play with an nvidia system
This is up on github if you want to commit there, or else I can add it here
whats the link
Everyone is editing the SVG as the rest is still under construction
If you want to use a tags feel free, or just links also work
ill probably do it tomorrow when i get up as im not signed in rn
but ill post the actual flask he uses when i get up
ty for helping, LLM was the one section I had no idea on as it moves decently fast
the more thought I give it the more I realize it is entirely possible to replicate neuro and the hard parts are not what you think
its not hard by itself no
he fine-tuned her on good data and she was pretty much a first of her kind on twitch
the intrusive thought of adding a light glint is winning
when im in an overengineering competition and my opponent is a developer
Yep, I went though so many ideas while doing this to try and keep it light on html and resources
gonna need webassembly by the end of it
I'm planning on stopping at CSS as I need to generate the html eventually
when a bug is so bad gemini says "youre right, what the fuck is the only appropriate response here"
The equivlant of a story's writing being so bad you have to ask wtf is happening instead of reading.
I'm 50/50 on it, I'll leave it for now. All I need to do now is to deal with the rest of the elements, those should just be soft outlines.
I'm probably going to undo the #programming border, but the rest of it seems to be fine. It is a different direction from the Neurocord FAQ but I think it'll be worth it considering how dense it is going to end up.
-# I've grown attached to the border, it is staying
t spawner
hi prismatic
eh, I really think mine sounds better
more fullness, less unwanted sounds being picked up
two different models, I don't think the higher fullness model is needed here and does have more noise
I also learned higher segment size=more fullness but more noise.. did ~1500 for "bleedless" and ~1000 for "fullness"
NeuroSynth mention when?
these are roformers
Eventually, whenever I finish the backend so I can add another table
Silly
I know I got the AI questions and the neuro projects section, but what other sections should I have 🤔
how to learn programming
like
where to start
and also info about the channel like my genchat one
sorta
How to start programming is a personal question for most, a general FAQ can only do so much; I'd probably point to pins anyways.
Info about the channel I also have to some degree.
I guess I could go more into common projects from channel members
yes good idea
would you like us to remind you in 3 days, or start liking microsoft now?
i hate them for a year straight
i am lol
Everything is better here
i just have to work with win

as user player
win is ok, in case i run only browser and games
but as programmer/enthusiast
i fucking HATE windows!
I use macos
get the best of most worlds
unix based
good for programming
good for general tasks
also decent for gaming if you know where to look
and also genuinely just a nice os
(I use sonoma on my main laptop)
(tahoe is quite nice but they did remove the launchpad)
Beyond those, I'm not sure if anything I need here. Can't really do the art board as we don't have enough memes that aren't lilac or triangle. Could do small project cameos like bime or bingo.
-# I would like a credit board honestly
Also even more locked down than Windows, apps that haven't been updated in a couple years stop working, only runs on Apple hardware officially and is thus massively expensive
not really
i mean
its less customizable
but there's also less need for customization
as for apps not working
literally just bypass the quarantine
thats the issue msot of the time
nice...
id use linux anyway
arch with rolling....
btw, i never encountered issues with arch update in 6+ month
I will probably install linux eventually
Nah I'd Linux
sonoma will get sunsetted eventually
i used mac for almost a week straight but there were just a couple things that pulled me back to my windows machine a few days ago
one, tony (the gui neuro api tool) doesn't support dark mode on macos, so it's black text on black, and for some strange reason double quotes kept changing to the fancy double quote symbols even after explicitly replacing those with " in text
two, there's one game i've been playing but there's no native mac build, and even through crossover it just wouldn't work, and even if i had it running through my windows machine and parsec'd in from my mac, there's latency of like 100ms and i'd be getting a sub-par graphical experience
i'll move on to sequoia but once i get to tahoe i'm probably dual booting linux
that will be in quite a while
double boot mac to linux is something new
the main reason i havent done it is because
- i like macos
- i still have a year of applecare+ already paid for and i dont want to void it since its genuinely useful for light repairs
there are distros for arm64
the walled garden has him locked up tight
i dont use an iphone and dont want one
i own an ipad and never use it
dont want airpods
Until PipeWire decides to play nice with OBS I'm probably going to have to keep dualbooting Bazzite and Windows sadly, I keep getting some issue where I can only "screenshare" one window/screen at a time (something something buffer idfk) but other than that I aint ever touching Windows again
dont care for really anything apple except a macbook
sure, but why not just linux in first place then?
Actually it's probably doing that because it's installed on an hdd oops 
because I genuinely do like macos quite a lot
Just use PipeWire-Pulse for backcompat if you have issues?
windows is INCREDIBLY clunky in comparison
I wasn't aware that was a thing, am linux babby, will look into
PipeWire-Pulse is an additional thing for PipeWire that effectively implements the entire PulseAudio system for legacy compatibility
Once I'm done grinding omega planetes in mhwilds I'll give that a peek 
For my remote desktop solution I use the pulse source provided by it to stream audio over ffmpeg
It gets the audio over, even if with some latency as to be expected from remote audio
also, them*
-# the delayed reaction lol
oops
I recently gotten into modding for I game I love playing, not as difficult as what some of you do (which scares me sometimes), but it brings me a lot of joy.
still has nothing on node_modules
rust hot reload
:o
this month in a nutshell for me
September 1st
...
September 8th
...
September 22nd
very annoying setup process 
Web site: lindows.com (not active) Origin: USA Category: Desktop Desktop environment: KDE Architecture: x86 Based on: Debian Wikipedia: Media: Install CD The last version | Released: 4.0.302 | June 22…
it's kinda funny that they didn't throw this in the trash by like 2015
the idea is linux for windows users
the idea of usable desktop linux? linux would never
david plants vs zombies
what was supposed to happen
yes

reply to almost a month ago
i was so confused
did you spend like 3 days building 1 struct
it validates most of the gltf as it parses, i didn't spend a thousand lines of code just transcribing json into c++-readable data
that's cool if you need that
but if you're like building a game engine i wouldn't bother
chat is this real
i don't care, i want full control at my fingertips
chat am i real
Is single-thread core power still important in the current year
I feel like it should be?
do you think you are real?
no you're a product of my imagination
isn't x3d an evidence it is?
Anyone learning from python programming codes
you are as real as that thing with the tree falling in a forrest
it mostly depends on interpretation
chat is anything real
kinda
We are not much more complex than trees technically
Therefore even if we see the tree falling
It might still be not real
you dont see anything, there aree jsut wavy wobly thingies shooting into your eyes. you dont hear anything, the space in which you exist it just vibrating
everything around you is 99.999% made of nothing
the world as we see it doesnt exist, we jsut get controlled schocks in a way that paints the world in a specific way
My audience is mentally ill heart 

"up to"
they mean that if you but the brightness to 1 nit and only use your laptop to play music you might be able to reach 24 hours
marketing
yeah
if you do ms word or something the whole time
They starting working on the power grid, i have no electricity now 
i have an arch install i have not booted in like 1.5 years how bad is it going to explode when i update
i'm actually curious i wanna try
where bootloader
imagine being belgian
Imagine not having electricity 
of course windows deleted systemd boot from the efi partition it shared with it because why wouldn’t it do that
wait... you don't have electricity?
Refer to 4.47pm central european time

waaaaa
Awa
Bwaa

waaaaa



oh it apparently didn’t it’s just the entry it deleted
but then i dug deeper, and [so and so]...

hi
does anybody want to help me create a local ai
so i can show off my class and use it
if yes, i would be thankful

holy moly
fogot item
classic geez
We can help you help yourself, depending on what your looking for
i need to get my ollama working on wsl
and make it like Neuro-sama
not to bully vedal
but like have fun
https://airi.moeru.ai/docs/en/
best place i could find

It is a github if you look a bit further
why would it be
hey guys @bitter quartz is trying to make an ai with a hosting of a free server and their using ollama btw help them

do i get token counter from here? https://github.com/chayleaf/toknt/releases/tag/latest
jar is archive in linux?
jar is a java archive file, that you can execute
wait its not
also you can open jar files as archive yes
jars work on both windows and linux
just run java -jar file.jar path/to/your-file.c
sudo apt install java first?

not so easy
you probably want the 2nd
i recommend installing sdkman

get sdkman
NOW
or don't i'm not your mom
sounds like an add MODS
no :(


nice thank you guys 
i just need it to run token counter program 
anyone?
don't bother with sdkman, it's a waste of time here 
we have SDKMAn at home.
sdkman at home:

thanks for the cake btw :3
To be fair I have a good reason to do this 
wtf is this 
do i even want to know
nix config
so you can call different java versions by swapping the command
at least that's how I'd finish off this
asdf & mise are also great for managing dev tool versions
Intellij and Rider doesn't know how to handle nix devenvs so its easier this way
Because the birthday boy is asking, this is all I got until more commits come in
I thought that was an embed frick

uhhhhhh
it looks a little cursed
@bitter quartz
you mean me?
im a boy now i guess
yes
@bitter quartz
🏳️⚧️

You know I forgot to check, sorry about that 
uugh...
im trans so its okay

that's no gnome, that's vir brevis diaboli
NO FUCKING SHOT it just works
i remember seeing something like this in the console when trying to study pointers...
i checked the news earlier and didn't seem there was anything that would need manual intervention so makes sense that it just works ig
An app must have broken surelt
you basically just replaced the entire system
the days of arch just dying because you dont update it constantly are long over
*rch linux (derogatory)
now go find all the .pacnew files you need to put in place
gnome theme broke a bit, one gnome tweak doesn't appear and a kernel module i manually patched didn't install, and gpu driver is weird and stripy but that's about it
like the display output is stripy idk how explain 
this will do i suppose
and they move
weird
Is it a wayland scaling bug perhaps (I am just shooting blind at the issue)
gnome dropping that backend probably
they've been making steps to completely removing it
gnome would like to call it a skill issue, get new hardware
It is always nvidia
linux users trying not to blame nvidia for 1 minute (impossible)
i blame linux users
freeing more and more tokens
this code is becoming an absolute abomination 
lymsmssmararama

How many macros definitions 
9 but im looking for more
Surely you have lists with commas 
installed plasma, all issues fixed 
Seems about right
delim
Sora 2 introduction in two minutes in case anyone is interested 
sadwink maybe
i use pclose for that one
closing parentheses
name it herbert
soup
looks quite good
bwaa
the model is good but i think the tiktok like app is very cool and will hopefully keep slopmakers in their own bubble
<- bwaa
<- bwaa
<- bwaa
<- bwaa
bwaa

just use normal Paint, there's not really much difference between the two...
you missed


I can see it

while (true) {} awful
tips
its literally used 1 time
while (1) {
...
}
``` (6 token)
```c
x:
...
goto x;
``` (5 token)
but goto is more tokens


AND i cant save tokens with angy




cut it down to 468
still much work to do

hmmm
can i macros part of variable name
yes with pasting
#define ermify(x) x_##erm
what even is the point, part of variable name itself is useless token-wise
some_var 1 token
so x r 3 tokens
why did i want to do it
wont work need concat macro
what does ## do
i have recursion in a prototype of my bot, and having stage1 and stage2 and stage3 wasn't that optimal
so your example turns to
x_ermify(x) erm
so i made a macro to take STAGE(1) and concat it into stage1
saved a few tokens
that's a usecase
#define ermify(x) x_##erm
ermify(hello) => hello_erm
wait no i messed up
ohh
i will say that it does NOT like taking variables as an input unless those variables are also within a macro
if i want to do for(int i; i++<10;){STAGE(i)(function inputs);} then it just tries to do stagei(function inputs) every iteration
wait t you're a genius
wait no you're not
I already bake inputs into my macros to avoid ()
I thought it was new tech for a second
ok I just don't want to be at university rn I'm going home
I'll come back later
my usage:
probably still a better way to do that but that requires much thinking and i'd rather try alternative search methods first

it saves me like 40 tokens
how...
are you using multiline if statements every 2 lines or something
you need like 45 appearances of ){ for it to save that many tokens
seems excessive
I have struct defs and a lot of functions
i found that in some cases, removing the functions and replacing them with macros was better
that's why I have a } return rv; } void macro

I inline what I can
i see
int erm(int x) {
return x + 1;
}
// can be
#define erm(x) ({ x + 1; })

I need to rewrite my bot entirely
the architecture just doesn't support TTs as written
and that's the general case, obviously with erm(x) in this case you can rewrite it as #define erm(x) x+1

the entire game tree must be stored as a hash table instead of linked list
and I need to bake in mechanisms to prevent backpropogation looping
I think maybe if I shrink the bits used in the hash from 24 to 16
and then use the new 8 bits to store the depth of the occurrence
then I can avoid silly loops
and still get most of the benefit
kid named application
thinking...
im got

emote name 
uploaded by [redacted]
should I just have arrays for each parameter
depends on how you tend to utilise the values
they have different locality and cache properties
thats mostly it
e.g. instead of
struct {
int erm;
char e;
} items[10];
I go
int erm[10];
char e[10];
then passing struct is just passing index
fields accessed by erm[i] instead of item->erm
if you need as ptr you can replace &item->erm with (erm + i)
why even use char
for nice syntax I can even i[erm]
entry size matters for TT 
memory footprint is why I only use 24 of the 64 hash bits
can't store any more in mem limit
prof vanished and has been replaced
can't you just index a few bits and then store the full hash in the entry to properly compare it
yeah but that's not really the point
I don't have the tokens to invest in proper bucketing for my hash table
char global_mem[50];
#define erm (int*)global_mem
#define e global_mem + 40
maybe something like this will have practical application
so I just ignore collisions

I think collisions are rare enough that even if I lose one or two games to collisions i don't care
yeah not worth the tokens
the tokens are better spent improving the bot elsewhere
so my hash table just stores one entry per index
and does not store the full hash period

i see
collision? oh well, hope we generate better RNG hash values next time
I still haven't continued my bot because I still have no clue why it's broken
Has anyone tried to reproduce the bug with my relevant parts of the code?
i looked at the bindings and didnt understand a thing
what is the context? can you not just check for equality in the event of a hash collision?
It's fairly simple, it's nearly direct bindings to the C API
Anyone read those new research papers released yesterday from MIT and Deepmind, specifically the CHIMERA tests for visual models?
the context is the mini chess bot contest
About how they work or how to use them?
my source code length (complexity is maybe a better word?) has a limit
so I need to decide carefully what features I allocate that fixed budget toward
i wanted to trace that function that crashes, how it works and how can it crash
but i saw no code at all
its direct binding and i have no idea how it works
Where it has the same name as the C function it just directly calls the C function
but then ...
why does it crash
I don't care about the crash, I care about the return value causing the exception
there is some tricky part about function being enum but returning 0 converted to enum
and that enum doesnt have 0 in it
is that right?
This is why
shiro add 0 NO_PIECE 
Now you know where the exception comes from, now figure out why the 0 comes into it
try it what if that works @nocturne olive add it into enum
its returning 0 which is not a member of enum
what if it becomes a member
It would work, but I want to fix the 0 being returned in the first place
what do you want it to return if there is no piece?
ohhh
It's not about what causes the exception, it's about what causes the thing that causes the exception to trigger in this case
show sequence of moves when it crashes 
I'm checking the pieces either after making the move in the location the piece should end up in after the move, or before the move the location the piece starts in
Literally starting from default board state
And recursing
need exact sequence
then you can put that sequence manually so there is no doubt the code is correct
Yeah I know it can return 0, once the root cause is identified and fixed for the INCORRECT 0 though I'll just make an invalid value return null
It's not 1 sequence, just grab the code I provided in the GitHub issue, make it compileable and run it
Then you can get whatever info you want
nono i meant
you need one concrete sequence
a2a3 b2b3 something
then you do
makemove(a2a3)
makemove(b2b3)
and so on
https://github.com/polyglotprog/simple-hash-functions/blob/main/demo/hash_functions.h
#define kr_hash uint64_t h = 0; while(h += *s + 31 * h, *s++);
int main() {
char *s = "test";
kr_hash
return h;
}
m
no clue how good this hash function is but i made it smaller

If you want to figure it out you can just get what you need from the code I provided, I don't know how to get you what you want in any other form than a sequence of printed Move objects
but i dont even need that 
im using cpp
i using board hashes
hash table is storing position info after all
why not give it a glance


i have ice cream
I love kotlin I love how every line has 10 hidden operations

so kotlin is c-based
THAT'S WHAT I'M SAYING
a + b => add(a,b) 
thats why you can almost directly take functions
can I have some 
It's a JVM language
kotlin runs primarily on the jvm
does it make jvm a c-based thing
or is c that good anyone can take its functions
JVM implementation can be whatever based
or does it work in any-to-any language
no, the developers were just smart enough to add support for one of the most bare necessities of a worthwhile language
if you're here in 5 min sure. im not getting the box out of the freezer once i put it back tho
can you define "c-based"?
omw 
where do i get the shiro emotes?
i probably lack critical programming knowledge about how languages work
I'll actually be in Belgium in March no joke
my language which i work in at job treats DWORD and UINT32 as different types and you have to do DWORD_TO_UINT and back 
kotlin, cpp, whatever
everything looks like a miracle to me
dword size based on architecture

calm down I'm going to a wedding lol
i think it stays in roughly the same place relative to the earth's center
(a, b) => _.+(_) 
There, that's 3 move sequences that bug
its always 32bits in my field, there is literally not a single thing that has it other way

polymorphism is Planning Ahead™

and my code is stuffed with UINT_TO_DWORD(DWORD_TO_UINT(x - b))
Oh wait I messed up
I didn't quite correctly remove stuff
because dword - dword isnt allowed
Wait just a moment

is it just a macro that type casts
they're the same size idk what the point is
DWORD is just an outdated WinAPI type
the point is to block dumb people from messing up their variables and get more warnings (that are errors in this ide)
its literally u32 and u32
no sign no nothing
cant get_bit from uints
must convert to dword
its not global, there are some IDEs that figured it out and dont do this shit
but some do
gonna make my own OS where long is 2 bytes 
i'm gonna make my own os where long is 1 bit
2 is long 😩
Well now I'm even more confused
I'm doing something wrong and not getting the moves removed when they should be from the moves made list
if i want 8 bytes do i gotta do long long long long?
just make everything 8bytes 
no that's also 2 bytes
wtf
horror
you have to make 4 different longs

and compute them accordingly like they are part of one long


long
longer
longerer
longest
honestly I kinda like this, it's very unambiguous
you have 2 longs
and you see if you add 1 to 65535 first long then you add 1 to second long
and have 1 and 0 long
you obviously can't do math between a long and longer
the best part is that longerer is more characters than longest
if(sizeof(int) == sizeof(long long)) {
fprintf(stderr, "L bozo pick a better os\n");
exit(1);
}```
long_to_longer 
honestly based
I don't support inferior operating systems
don't run my godly code on garbage
real and trude

shorter is longer than longer
So I'm clearly doing something wrong, there is a code path that doesn't correctly undo moves and I don't know where it is
SINCE WHEN HAS THIS BEEN HERE?
I think I found what ruins things
Oh, no
It's not it

Well still, that was a potential issue source but not the source of this issue
There is still code paths not accounted for
I did not expected it to be so weird
Have I been an idiot this whole time?
i still dont like inability to check if the square is empty
I'll fix that once I fully identify where the issue comes from and confirm that the API is not at fault and I'm the idiot here
wait you're right
that sucks
i do it couple of times
oh actually i do it every step to get raw square value
its just 1 line
but it works in c?
stupid ass enums
it returns 0
oh so i'm good
still seems weird
why start from 1
is shiro matlab brained
smh
Ok so apparently tracking the move sequence length was all I needed to figure out I'm somehow an idiot
I have NO IDEA where the code path that breaks is though
fixed?
But wasting more tokens on having the early returns handled right on the spot does appear to have cleared the issue
there should be "piecetype" for no-piece
I still don't know what the exact code path that caused it was though
because it exists
AKA null
just 0
No null better
you can use it in arrays
i only know lua's null
when you can check if variable itself exists
very cool
In Kotlin null acts as the absense of a value but still has a type
So you can use it in an array like Array<PieceType?> where the ? means nullable
how will that array look like
Just like a regular JVM array?
[null, 1, 2 ,..]?
Except some elements are null
so array can have random types 
[null, PieceType.PAWN, PieceType.BISHOP, ...]
Since it's an array of PieceType
can you have array which is [int, float, null, int, foo()]
Eh, that would be an Array<Any?> but nobody sensible would use that
coool
iirc lua has same thing
idk why it was useful
anyway
sooo i shrunk my bot to 700 tokens
plenty of space
improvements ahead
My bot is apparently incredibly slow at 3 recursion
this weekend is going to be busy
Probably because I'm doing the most horrible recursion implementation possible
i just do "my_turn->enemy_turn->my_turn->enemy_turn"
no pruning yet
adding +1 makes moves last 15+ seconds
but analysis is alright so it doesnt suck completely
heavy surface recursion
3 recursion levels where each recursion level goes trough all moves on the bot's turn and all moves on all enemy turns coming off recursively on each of those enemy moves until max depth is reached for me causes moves to take minutes
I don't know which part is the slow one
I hope it's at least still going and not just stuck in some kind of infinite loop
upgrade from "happy birthday" to "happy anniversary"
every level of recursion should be like x20-40 slower than previous level
unless you got very little moves
shiro getting married 
It's still not done I started it I don't even know how long ago
I hope I haven't caused a different edge case code path that crashes it somehow
the cursed irony of this is not only that I'm not the one getting married, but that the wedding is on my birthday
Let me just remove some useless debugging code
what a coincidence 🎂
100% chance
very rare very coincidental
what isn't on your birthday


are you sure you're not
93%

what happened to the other 7%
hungry
???
you heard her
ated the percents
is inhaling mild amount of bleach bad

yeah second hand smoke

smoking bleach 
konii how many days do I have to live
unless you are allergic to bleach (it exist)

in what context did you inhale bleach
probably fine

I have photos with a side by side of before/after which are pretty funny
before inhaling bleach/after inhaling bleach
if you were cleaning the bathroom I'd be a lot more worried
Could've been worse, could've mixed it with some acid
nah just dish soap
that's fine that's a base
who would've guessed my uni does not actually deep clean
despite saying they do
believing anything the university says
universities are one of the worst businesses in existence
the amount of platitudes they provide to avoid meaningful change is unbelievable
tho if it free then I guess not as bad
Would be cool to know why 3 levels of recursion is so horribly slow

I have no clue how to profile something like this
maybe you have heavy processing like me
when i remove all processing i can go deeper
its 20x20x20x20x20... average per every level
chess is a very exponential problem
so if you have 1 second calculation on some level, next level will be 20
or move if you got 40 moves
complexity is something like (moves evaluated per depth) ^ (depth)
so increasing the depth will explode your time taken
best way to tackle that is to shrink the base and evaluate fewer moves to a greater depth
small performance gains matter too but I think they have a dismayingly small impact in the big picture
I just wonder what consumes the mos time here since it's been taking literally like 10 minutes or something by now

a board on average has like 25 moves for each side or something like that
how long does it take if you have 1 less level of recursion
so you would expect each depth added to take 25² times longer than (depth-1), one factor of 25 per color
It's semi fast
i mean, 1 second, 10 seconds?
Like a couple seconds
if you count 1 level as full move then its even more
its 30x30 seconds 900 seconds
15 minutes

gotta do at least some very basic pruning, not every move is worth searching
same
^
i have no pruning yet
pruning is crirical
pruning is for people without quantum computers
good pruning is one of the hard things
Yeah I stop on any move that leads to a draw or checkmate I think

even if it's just a super basic heuristic to consider only a subset of the legal moves
pretty sure Shiro won't run the tournament on a quantum computer
smh Shiro
evaluating this requires simulating deeper, this isn't pruning
shiro can you run tournament on quantum computer please
shiro please run on a quantum computer so everything can be precalculated to depth 10000

I'm gonna guess when doing 3 full moves from the start position basically no moves are not being evaluated
well yeah, that's how it would be
quantum computer is not in the budget sorry
you can't win in 3 moves
So I guess that may be why it's so slow
you can in 4
you're essentially trying to simulate the entire game tree
which is just not feasible 
3 < 4
the humble e4 e5 qg4 
my bot won couple of games in 3-4 turns i think
very astute
that famous mate
I'm famous for my math knowledge
Yeah this bot is too dumb to be continued using
I'm gonna have to start over from scratch
you don't, just add some pruning
I'm also starting from scratch om

how many bits do you think is sufficient to store the chess turn count
i thought about that but sounds bad
so the tournament will be a bunch of half-finished bots 
I'm too dumb for this stuff
I'm gonna have to look up what actual Chess engines do and just copy techniques
I'm thinking 8 bits should be enough, if my bot takes any longer than that it deserves to lose
actually not bad if you see that all your calculations took like 0.2 seconds (for example late game with minimum amount of moves)
f3 e6 h3 and mate is next move 
thats only 2 moves, or a total of 4 ply

it's not a cop out to research some chess engine techniques, choosing which to implement and how is equally a challenge
I think you will find inspiration through research but I don't think it will make it any easier

ye the token limit is there for a reason
I was just kinda avoiding it for MK1 to see what I could do fully on my own
I guess I've reached my limit at a bot that recurses 2 steps and loses to a bot that doesn't recurse at all
omw to make a bot that exclusively uses piece-square tables and nothing else...
it's not wasted time, you've learned a lot about what works and what doesn't, and the general pattern you're using is still valid

Well I guess I do now have a lot more Kotlin STD functions at my disposal

if you squint, this is what NN bots do
true
just lots of really fucked up piece square tables
NNUE in 1k tokens 
sssssss
I'm not surprised at all
yeah about what i'm doing lol
It would be funny to try a NN approach but that would take me learning how to implement very complex stuff and I don't think I want to bother with that
really not that complex honestly

- you'll probably want to tune some values over time
harder than you give it credit for if you've never done it
real, I wouldn't know where to begin
it's matmul + optimizer + some sense as to how to set it up
Well it would require me to figure out how to make data for this kinda stuff, how to get a model trained in Python translated to Kotlin, how to compute it manually in Kotlin, and how to efficiently store the model
again, each of those is harder than you give it credit for if you've never done it
especially in a token limited situation
doesn't need to be in python
you're thinking massive models
Well PyTorch is all I know for training
I don't know how to implement backpropegation from scratch
calculus 
don't really need backprop for a tiny neural net
determine the backpropogation formula from the partial derivatives and code it in
but yeah also
you're probably not training while bot is running
it might help with training, sure, but for something this small? doesn't really matter much
Yeah thus probably would train in Python if I was to do it since there you get PyTorch
did you just parameter sweep or something
or do it empirically
But I don't know how to do much of anything other than use preformatted datasets
i've just done SGD over the whole thing, get loss function, update based on change on loss
And I only know how to use a PyTorch model in PyTorch
I know what half of those things mean
Anyway I don't think I'll be doing a NN for this Chess thing, probably just trying again but with research this time
how sgd without backprop
no backprop -> no credit assignment -> no useful parameter updates
wqwqwqwqw
wrong
remove before microwaving
Doing whatever other Chess engine thingies do
oh well
rererererer
MCTS avoids these shenanigans 
What is that?

monte-carlo tree search
MCTS is what I use for my bot
it wastes so many tokens do not recommend
actual token fire
simply:
add random values to the parameters
test the neural network and get the loss
compare it to loss from last step
scale the added random values depending on that difference
repeat

if necessary i add backprop













-1 token saved

