#programming

1 messages · Page 201 of 1

real sierra
#

i have 9 tokens

#

maybe i can fix the piece eval issue

fast pagoda
#

use it to output playful taunts

hollow spruce
real sierra
fast pagoda
#

you gotta make sure the bot can get in the other bot's mental game

real sierra
#

move 1: bongcloud

fast pagoda
#

my go to

#

move 1 bongcloud
move 2 forfeit because i forgot what we're doing and am now bored

sage crag
#

im having a difficult time deciding on an instruction set

real sierra
#

like

#

which instructions? or how to encode

sage crag
#

former

#

encoding is pretty easy

real sierra
#

start with what you minimally know you need

#

and then every time you encounter something you cant do

#

add new instruction

sage crag
#

ye that's what i've done

#

i think

real sierra
#

then its probably fine

#

i would just write a sample program at that point that demonstrates all the functionality you're concerned about having

#

and then review and see if you can merge or remove some instructions after all

sage crag
#

i just realised i didnt add any branching instructions

real sierra
fast pagoda
#

that's not needed for chess probably

#

no branching there

sage crag
real sierra
#

OK true

fast pagoda
#

nope not when you simply make the correct move every time

real sierra
#

i only use my if_ macro

fast pagoda
#

dont evaluate

#

just DO IT

real sierra
fast pagoda
#

that sounds like some garbage i would say but i dont think that was me for once

real sierra
#

brain hurt

#

unsure about something

fast pagoda
hollow spruce
#

Hmm

fast pagoda
#

absurdity is the only thing i know

hollow spruce
#

Im hacking trusted Installer

#

Let me grab pid

sage crag
#

im just going to not use floats

real sierra
#

Om wtf

fast pagoda
real sierra
#

theres no way my tokens are this low

fast pagoda
sage crag
#

integer

#

all i need

real sierra
#

surely adding this feature has saved me 20 tokens

#

surely its counting right

sage crag
fast pagoda
#

definitely

#

and that surely will not change when chay returns from milk and cigarettes either

sage crag
#

instruction set does not need:
sub neg

real sierra
#

draw again sisyphus

sage crag
#

-x = ~x + 1

#

a - b = a + (~b + 1)

hollow spruce
fast pagoda
#

chess API isn't ready for when my bot tries to call Uno

sage crag
#

sorry the opposite

#

ye whatever 3am

real sierra
#

if i give my bot more time can it at least find a checkmate

#

or is it actually a logic bug

hollow spruce
stray dragon
#

$10 on it being a logic bug

fast pagoda
#

faustian bargain

sage crag
#

i can just make macros

fast pagoda
#

does token count after or before people are out here expanding they macros

real sierra
#

ok

#

im getting REALLY suspicious now

#

i think my bot is drawing on purpose

fast pagoda
#

lmfao

real sierra
#

i just

#

watched it lure the king to the side of the board

fast pagoda
#

at this point you might as well be staring at exactly how it's evaluating every single board state

#

printed out

real sierra
#

giving it precisely two spaces its allowed t ostand on

#

and no other legal moves

stray dragon
#

hi shiro

real sierra
#

and then created a threefold repetition by repeating the same moves

#

?

#

like

#

i dont understandf=

fast pagoda
#

maybe it's the repetition that is the issue

#

it's not trying to draw but some other bug causing a 3x repeat

#

in these circumstances

real sierra
#

no you dont get it

#

there are like

#

at least 30 legal moves on this board

fast pagoda
#

maybe it's got decision paralysis

real sierra
#

this is no accident to perform in a matter of seconds

stray dragon
#

maybe it's accidentally ignoring all the moves that would lead to it getting checkmate

real sierra
real sierra
#

i wonder if i have the sign on the checkmate reward backward Awkward

fast pagoda
#

i still think it's seeing some weird ass board state between the required final moves and just aborting mission and ends up repeating

stray dragon
real sierra
#

i kept thining it was crazy random chance that i've been mated so often by a bot that makes random moves

stray dragon
#

stalemate was a 1

real sierra
#

especially when i have way more material

fast pagoda
#

checkmate -1 and stalemate 1 doesn't sound particularly prudent to have set but i dunno

stray dragon
#

but yeah sounds like it simply cannot perceive moves that would let it win unless there is no other option

#

so it instead tries to go for a draw

#

because at least that's half points

fast pagoda
#

expand le search
every move takes 40 minutes

real sierra
#

nah

real sierra
#

my code doesnt reward draws

#

and its complicated ok

#

im not using alpha beta pruning or minimax

fast pagoda
#

maybe it's australian units

stray dragon
#

i wonder which category it would fall into

fast pagoda
#

elected to lead not to read mhm

real sierra
#

this wiki is my best friend

stray dragon
#

shiro out here reading the step by step guide

#

and still failing horribly

fast pagoda
#

maybe it's a guide on how to ensure you draw no matter what

real sierra
#

no there was no guide despair

#

there is next to no info on this method outside of academia

#

i cant understand the research papers

stray dragon
#

"minimize the maximum loss" yeah that sounds about right

real sierra
#

so im just making shit up

fast pagoda
#

publish your own on arxiv once you're done

real sierra
#

tempting

fast pagoda
#

frontier research

real sierra
#

i cant figure out this checkmate problem

stray dragon
#

i prune moves that would then let the enemy make big gains in a counterattack

real sierra
#

like

#

if its one move from checkmate

#

it must see that

#

that should explode the evaluation in a good way

fast pagoda
#

i feel like you should take a pomodoro style sitter

real sierra
#

so its intentionally not choosing to mate

fast pagoda
#

seems like the kind of thing you go to take a dump and realize the stupidest shit of all time is sitting there uncommented in your eval

stray dragon
#

if mine can get checkmate in 1 turn then it just removes all other moves available for pondering

real sierra
#

WAIT

#

WHAT IS THIS

#

WHAT

#

that second 6 is meant to be -6

#

🥲

stray dragon
#

shiro so dumb

fast pagoda
#

yo if we winning it's over

real sierra
#

rebuilding bot

#

please work well

#

handicap is gone now

#

bongcloud

fast pagoda
#

i love chess naming

real sierra
#

well it

#

played?

#

still scared of checkmates tho

burnt ridge
stray dragon
#

i would love to prove it.

fast pagoda
#

i like to play the landlord's surcharge opening and then immediately lead into a classic milwaukee meatshield defense

real sierra
#

soon

stray dragon
real sierra
#

nono soon

stray dragon
#

3 weeks later:

fast pagoda
#

before next dev stream

real sierra
#

i honestly think the API is bug free

fast pagoda
#

(4 months later)

hollow spruce
#

Hmmmmm

fast pagoda
#

confidence is key

stray dragon
#

i do hope chayleaf doesn't fuck up my parameter storage method though

#

i can't see anything i think should be removed

quiet mirage
#

hi t

stray dragon
#

hi toki

#

again.

quiet mirage
#

t im so sorry please unban me

stray dragon
#

nothing can be done

#

it is out of my hands

hollow spruce
#

Yo

fast pagoda
#

poor toki

#

listening to t

#

that's rough

hollow spruce
#

Good job @stray dragon

stray dragon
#

thank you

real sierra
#

i need to fix the checkmate issue badly

#

but after that i need to do some parameter fitting on the exploration rate

fast pagoda
#

captcha are so funny these days

#

i personally love how the tractor just says

#

FARM

real sierra
#

captcha are fun

#

i like them

#

W solution

hollow spruce
real sierra
#

uh oh

#

i found another problem

#

my branch selection score is broke

fast pagoda
#

but i just finished this

real sierra
#

this will fix the checkmate issue trust

fast pagoda
#

not even batman

fast pagoda
sage crag
real sierra
#

it has gotten significantly worse

sage crag
#

om

fast pagoda
#

kek

sage crag
#

lol

real sierra
#

this is depressing

#

i dont even understand why

burnt ridge
# fast pagoda

These are fun but the google one is just annoying. Saying so many times wrong or try again.

fast pagoda
#

i don't get that usually because google has so much information on me they just know it's me

sage crag
#
$0 is 0, write to $0 is no-op
* = 64 bit address in 0-15 register (4 bits)
$ = 64 bit 0-15 register (4 bits)
x = LEB128 immediate

instrs:
ldr $ x
lda $ *
st * $

xor $ $
and $ $
or $ $
add $ $
mul $ $
divmod $ $ $
shl $ $
shr $ $
        
not $
rand $

bra x
brp $ x
brz $ x

legal_moves $ $
zobrist_key $
draw
move $

ye these were the instrs i settled on for a first-go

#

dont need to know what these mean yet FOCUS

fast pagoda
# burnt ridge What browser you use

firefox and chromium depending on what i'm doing
i should reinstall zen again but zen gave me trouble on twitch for no reason and i havent reinstalled it on this new install

sage crag
#

so far i need at least 5 bits for all of the instructions so i may as well pad out my count to 32 instructions

#

which means 12 instructions to spare

real sierra
#

i dont get it

#

my bot is no longer thinking

burnt ridge
sage crag
#

i decided on 16 registers

real sierra
#

its just palying the same moves every game

burnt ridge
#

Typo

sage crag
fast pagoda
#

mobile i generally use chrome but if you ask me what <x> i use im never ever ever going to answer what i use on my phone unless that's specified lol

#

i swapped it to brave actually recently

burnt ridge
fast pagoda
#

but that's chromium

#

it just has a nice lion

burnt ridge
sage crag
#

if anyone has any ideas for instructions im all ears

fast pagoda
#

no further adjustments required

#

the clanker's gambit

burnt ridge
sage crag
#

only if you cut them too short

burnt ridge
#

And cuts them

fast pagoda
#

i don't trim my fingernails because i compulsively bite them off Thumbs_up

sage crag
fast pagoda
#

they stay trimmed naturally cuz of that

jagged turtle
#

"naturally"...

fast pagoda
#

what's more natural than gnawing them off like some sort of beast

fast pagoda
#

instantly draw

sage crag
real sierra
#

NOPERS no surrender

#

if you want a draw you have to find a way to force one

sage crag
#

1 instr saved

real sierra
fast pagoda
#

shiro has removed all draw related functionality from both his brain and the api

real sierra
#

move would be done via chess_push(move); chess_done();

sage crag
#

yes but

real sierra
#

but yea

sage crag
#

that's too many token for

real sierra
#

as one instruction

#

is fine

sage crag
#

ye

real sierra
#

hmmm

#

lemme check docs quick

sage crag
#

what is the api for legal moves

burnt ridge
real sierra
#
Move *chess_get_legal_moves(Board *board, int *len_moves)    
sage crag
real sierra
#
typedef struct {
    BitBoard from;      /*!< A BitBoard representing the origin of the move*/
    BitBoard to;        /*!< A BitBorad representing the target of the move*/
    uint8_t promotion;  /*!< Will be one of the BISHOP, KNIGHT, ROOK, QUEEN constants above, or 0 if not required*/
    bool capture;       /*!< True if this move captures a piece*/
    bool castle;        /*!< True if this move is castling*/
} Move;
sage crag
#

oh great

#

never simple for poor little vm neuroSadA

real sierra
#

are the bitboards scary because they're 64 bits

sage crag
#

no not really

real sierra
sage crag
#

just annoying because i have to like

#

think

#

and stuff

real sierra
#

chess_is_white_turn might be helpful

sage crag
#

not helpful evilNope

real sierra
sage crag
#

nopers

#

not helpful

real sierra
#

assuming you intend to search board positions at all

#

that's usually done with chess_make_move and chess_undo_move which make moves on your local copy of the board

sage crag
#

i have not decided yet, that will be decided when the competition starts

real sierra
#

well all strategy aside

#

chess_free_board

#

you kinda need that

sage crag
#

no not really

#

that handled by the vm loop

#

i dont intend to be duplicating boards

real sierra
#

the board returned to you from the API is a copy

sage crag
#

yes im aware

#

but there will only be 1 board

#

hence it only needs to be freed once in the vm loop enub

#

either that or i can just gc all boards after move

real sierra
#

your copy wont be updated with the opponent's moves, so you'll either need to get the new board after you submit your move or use chess_get_opponent_move to see how they responded

sage crag
real sierra
#

the board struct is opaque so you cant just call free on it

sage crag
real sierra
#

so i trust

sage crag
fast pagoda
#

chess goes in, chess comes out, you can't explain that

real sierra
#

chess_get_time_millis and/or chess_get_elapsed_time_millis

#

for seeing how much time you have left on the clock

sage crag
#

ye not useful for dumb vm

real sierra
#

make moves fast and win

#

i like

#

well i think you have everything then

#

look at these very realistically selected moves YEP

#

my engine decided that was the line to explore

stray dragon
#

only searches 4 moves ahead smh

real sierra
#

fixed my scoring formula a bit

#

now i gotta fine tune it

#

the parameters i had before were pretty bad i think

#

nevermind its optimising for losing again

sage crag
real sierra
#

please stop losing

sage crag
#

right now im using 62 tokens

#

not that anything is written...

fast pagoda
#

10 year old package on gh had an AUR post but it's no longer up
package still works seemingly
clone it and make a pkgbuild
works fine

now the question is do i actually put this ON the AUR because i feel like that's a huge pain in the ass to sign up for

hollow spruce
#

Play with number hmmm
What about

fast pagoda
#

hungy

fast pagoda
hollow spruce
#

Never mind

#

Let make x from this then advance
(i)

#

Bro my phone just crashed

real sierra
#

i just cant figure it out

#

there has to be something super basic wrong with my code

faint sandal
#

that's u rn

hollow spruce
faint sandal
real sierra
#

I AM SO CONFUSED

#

we were like

hollow spruce
#

Forgot X i will using y

real sierra
#

"yeah this line is so good, ive been searching for like 8000 nodes and cant find anything better"

#

(c2c4 is mate)

#

#

EXPLAINNNNNNN

hollow spruce
#

Board image

real sierra
#

c2c4 literally wins the game

#

and it knows this

#

or it would stop trying it

#

but it plays c2c1

hollow spruce
#

Hmm

real sierra
#

c2c1 is just

#

bad

#

its just the worst

hollow spruce
#

C2c4 is good why c2c1 hmm bot doesn't want

obsidian mantle
#

Its mate too

#

Bishop down right

#

Oh wait it goes c1

#

I thought it goes c4

real sierra
#

it wants to go c4

#

but goes c1

#

cant comprehend

obsidian mantle
#

Maybe its top2

real sierra
#

nono

#

lemme show you

obsidian mantle
#

Oh its c1 no way its top2

real sierra
#

heres the moves it checks in this position

#

it will check moves more often if it likes them

hollow spruce
obsidian mantle
real sierra
#

there is no value

#

i'm not using alpha beta pruning

obsidian mantle
#

How does it pick

real sierra
#

whichever node it checks the most often is the one it's supposed to pick

hollow spruce
real sierra
#

note the node count

obsidian mantle
#

Is c2c1 even there

real sierra
#

you'll see it checked this move about 10000 times

#

with that knowledge it picked:

#

brilliant

obsidian mantle
#

Clearly counter broken

real sierra
#

its not

#

thats why im confused

hollow spruce
#

I forgot to reset mem .json anyway

real sierra
#

i dont know whats happening here

#

ive read the code for this stuff like 20 times over

obsidian mantle
#

Then the one who checks the counters is broken

#

This looks fixable with breakpoints

hollow spruce
#

Let me test on my portable device

real sierra
#

ok you know what

#

i think its a bug with the api

#

i think thats actually what it is

#

nothing else makes sense anymore

#

but this also doesnt make sense

obsidian mantle
#

Fixable with breakpoints in 10 min maximum

real sierra
#

surely

obsidian mantle
#

Check if counter is right
Check if the guy checking counters is right
Check if whoever goes next transforms last guys result correctly
Etc

#

And only if the bot part is all right we go to api part

real sierra
#

yeah i think its the api that's broken

#

i think the checkmate position is registering as a stalemate

hollow spruce
#

After 5 years I will play chess again thank you @real sierra

real sierra
#

OH

#

I GET IT

#

WOW

#

thats sneaky

#

how do i fix that

#

since checkmates have no moves following them

#

after the first time exploring it

#

it is just never chosen again

#

i mean

#

it's selected

#

but not simulated so it doesnt count

obsidian mantle
#

And it cant know if its a mate or not

#

Since it only simulates and counts

real sierra
#

yea

#

i might have to store that info in this special case

#

if a node has no legal moves after it, it is either a checkmate for white, checkmate for black, or stalemate

#

i can store this and then push it up the tree

#

dont know how to adjust the scoring for this though

#

there might be an easier way

obsidian mantle
#

gamble it
No moves = 1/3 mate, do it nwero

#

And if its mate for you then its illegal and gets filtered or smth?

#

I mean if you lose after it its illegal

#

Maybe i dont know how your bot works and speak nonsense

real sierra
#

i think i can just add a flag

#

we simulate every node at least once

#

so if we go to expand this node and it has no legal moves

#

we set a flag indicating what kind of end state it is (checkmate white/checkmate black/stalemate)

obsidian mantle
#

Wait so your bot analyzes further moves too? So it gets legal moves for those moves too?
So you can call get_legal_moves for further moves too somehow?

real sierra
#

and then i guess if this node is picked again uhhh idk

real sierra
obsidian mantle
#

I thought get_legal_moves only gives one current set and thats it

real sierra
#

it does

#

but then i can make those moves on a local copy of the board

#

and get the next set of legal moves that the opponent would have

obsidian mantle
#

How do you explore if you dont know legal moves after 1st move

real sierra
#

repeat to desired depth

obsidian mantle
real sierra
#

part of api

obsidian mantle
#

So i can ask api "hey what are legal moves in this theoretical board i just imagined rn"?

real sierra
#

yes YES

obsidian mantle
#

And give it the board

#

Alright then im doing useless shit neurOMEGALUL
I thought it only gives one move

#

Then making bot without adjusting it to work with your api right away is useless

stray dragon
#

api is neat

real sierra
#

the usual workflow is

  • get the current board being played from the api
  • get the legal moves for this board
  • choose some interesting moves from these, and use make_move to "play" them on a local copy of the board
  • get legal moves for this new board and explore more
  • ...
obsidian mantle
#

Like what structure of board do i give it or what structure of moves it returns

real sierra
#

let me at least get you the newer header

stray dragon
#

lol

real sierra
#

you'll notice the documentation is slightly improved

#

hope this helps

#

t t t t t t t t t t

stray dragon
#

yes i see it

real sierra
stray dragon
#

i already downloaded and am looking at it

real sierra
#

oh ok

stray dragon
#

happy birthday

hollow spruce
#

Is this enough chrome tabs
(89)

real sierra
stray dragon
#

i have this many

hollow spruce
#

Almost 16 gigs will full

stray dragon
#

it's never enough

obsidian mantle
#

I dont get what your bots do now if they can get legal moves for any boars

stray dragon
#

or in shiro's case, on par

obsidian mantle
#

Whos par

real sierra
#

once i fix this you're donezo

hollow spruce
#

I got bored wallpaper any one a
Had
suggestion?

stray dragon
real sierra
stray dragon
#

it's so over

real sierra
#

there is not enough time in the universe to play every chess game possible and find the single best set of moves

#

and our bots get a minute each for the entire game

#

the challenge is finding the best move you can in limited time

obsidian mantle
#

A minute??????

real sierra
#

@tender river Happie are u awake yet

real sierra
obsidian mantle
#

You gotta pin it somewhere 💀
I has been moving in completely wrong direction the whole time

real sierra
#

it will be more obvious when the challenge officially starts and the API is made public OK

#

im sure people will be talking about it here lots too

#

you're allowed to work in teams after all

obsidian mantle
#

Will it have chat log with messages from my bot

#

Can i at least draw a heart when my bot inevitably loses to a team of god programmer neurotic neurons

real sierra
#

technically yes

#

i didnt add it to the api but since the UCI protocol is just plaintext you could do something like

#
printf("info string <3<3<3<3<3\n");
obsidian mantle
#

Yeah i did that for arena

real sierra
#

yeah

#

i dont think cute chess (what i switched to instead of arena) shows those messages though :(

#

you could always try to move pieces into a heart shape, that'd be cute

stray dragon
# obsidian mantle A minute??????
  • 1 minute on the bot's side for the whole game
  • 1024 tokens of code allowed (not including the API)
  • no non-standard imports like stockfish allowed
  • any language you want
#

think that's about it for the rules

real sierra
#

any*

stray dragon
#

wait what

stray dragon
#

i can just add stockfish?

real sierra
#

no i mean

obsidian mantle
#

The neuro's opening (all pawns forward 1)

stray dragon
#

time to cheat

real sierra
#

any* language you want

stray dragon
#

oh

real sierra
#

and

#

theres a few other rules for keeping my pc intact and preventing people taking easy ways out of the token limit

hollow spruce
#

We can combine cpp, python this one

stray dragon
#

you could

hollow spruce
#

Yes

stray dragon
#

or you could do it all in C

#

konii's making a vm for it, even

real sierra
#

im scared of the vm

stray dragon
#

i've seen rust as well

real sierra
#

it could be crazy strong

stray dragon
#

same

real sierra
#

im not sure my rng tree is gonna win over it

stray dragon
#

evaluation function too strong

real sierra
#

thats the beauty of this method

#

you dont need an evaluation function

#

the game is the evaluation function

stray dragon
#

the issue with it is that you need deeper searches and struggle to prune things

hollow spruce
#

error: cannot install while Rust is installed

real sierra
#

pruning is basically impossible for me

stray dragon
#

evaluation function is simply better

real sierra
#

deeper searches are easy though

#

a sort of natural pruning happens

#

where its less of pruning and more "we'll get to these later if this branch turns out to be shit"

stray dragon
#

ah right

#

it goes deep immediately and then tries to pick better paths that it finds

fast pagoda
real sierra
#

underexplored paths do get a small bonus

burnt ridge
# fast pagoda i swapped it to brave actually recently

Nah. I'm back to chrome again. Idk why every time i switch to something i always come back to chrome.

Well at least I use nextdns in chrome settings to block ads.

Something about chrome..... Maybe I'm just used to it.

real sierra
#

but how much that is, that's something i have to tune somehow

stray dragon
#

i see

fast pagoda
#

oops

burnt ridge
fast pagoda
#

wrong reply

stray dragon
#

valsoyono shut up

burnt ridge
fast pagoda
stray dragon
#

shut UP

real sierra
burnt ridge
real sierra
#

what the heck t

fast pagoda
#

t is malding

real sierra
#

q t

hollow spruce
#

~/my_project $ cargo run
Finished dev profile [unoptimized + debuginfo] target(s) in 0.02s
Running target/debug/my_project
False

stray dragon
real sierra
#

False Sadge

hollow spruce
#

fn main() {
let condition = false;
if condition {
println!("True");
} else {
println!("False");
}
}

real sierra
#

i think this prints False

burnt ridge
stray dragon
#

wait i've been up for 26 hours?

#

my fucking schedule

real sierra
#

t go bed

#

night night

stray dragon
#

i'm not even tired

fast pagoda
burnt ridge
hollow spruce
real sierra
stray dragon
fast pagoda
#

i use googol dns because screw it

stray dragon
#

the best chatter as always

fast pagoda
#

well for some traffic anyways

burnt ridge
fast pagoda
#

8.8.8.8 and 8.8.4.4 got me through high school with my parents thinking they were blocking "inappropriate" content from me the whole time using openDNS but i just went right around it and never said anything

fast pagoda
#

i have done 1.1.1.1/1.0.0.1 before, both are better than letting ur ISP decide really

burnt ridge
fast pagoda
#

the false positives were insane

stray dragon
fast pagoda
#

t have you increased your RAM recently

burnt ridge
#

So default is best for me

stray dragon
fast pagoda
#

damn

burnt ridge
#

Evenever*

#

Whenever

#

Wtf

hollow spruce
#

Use 1.1.1.1 or. 1.0.0.1

#

Best

burnt ridge
#

my default dns is best for me. Maybe because it's the nearest of them all.

#

Nearest*

#

Fuck autocorrect

fast pagoda
hollow spruce
fast pagoda
#

err 8.8.8.8*

#

1.1.1.1 is cf facepalm

#

ive never once seen 8.8.8.8 result in a slowdown anywhere ive been in the US at least thoguh

burnt ridge
hollow spruce
#

64 bytes from 9.9.9.9: icmp_seq=3 ttl=53 time=148 ms
64 bytes from 9.9.9.9: icmp_seq=5 ttl=53 time=171 ms
64 bytes from 9.9.9.9: icmp_seq=6 ttl=53 time=76.8 ms
64 bytes from 9.9.9.9: icmp_seq=7 ttl=53 time=76.4 ms

fast pagoda
#

that's gross

#

they ever take away my choice of dns i'm gonna be behind 7 proxies immediately

burnt ridge
#

Well i can simply put dns in android settings

hollow spruce
#

Thank God I use dns in wifi level

fast pagoda
#

it's a relatively old meme

#

ol' reliable

hollow spruce
#

Soo fast

burnt ridge
#

Hm maybe i shouldn't send that.

#

IP address is there.....

hollow spruce
burnt ridge
#

Die!

hollow spruce
burnt ridge
burnt ridge
hollow spruce
fast pagoda
#

the worst speed and test have appeared

#

it is time to post speedtest

burnt ridge
fast pagoda
hollow spruce
burnt ridge
fast pagoda
#

it's capped by my computer's port actually

hollow spruce
fast pagoda
#

i just wish it were symmetrical

#

think ill swap to 360 dns

#

seems pretty good, only 1.1 seconds before it resolves a domain xd

burnt ridge
#

Erm

fast pagoda
#

oh

burnt ridge
#

Discord things

fast pagoda
#

that's gotta be a discord image compression thing yeah the image is large enough to have the text

burnt ridge
fast pagoda
#

this nextDNS seems to test well for me, never heard of them though

burnt ridge
fast pagoda
#

cloudflare should always be consistently up there
somewhere between like 10-20% of all net traffic goes through cf at some point

burnt ridge
#

Flashstart?Huh

fast pagoda
#

they are like a school internet filtering product lmao

#

i guess just general internet security ting

obsidian mantle
#

neuroBzzzzzz how fast does it calculate legal moves

fast pagoda
#

api comes back with legal moves after 5-7 business days (shiro has to get tony to input them)

real sierra
fast pagoda
#

see? told you

hollow spruce
#

Hm too fast

obsidian mantle
#

So i can call it 1500-3000 times each turn for 40-20 turns if my bot does nothing other than calling it hmmm
If we round it to 1 millisecond

fast pagoda
#

the only reason my dumb ass hasn't sprung for the 10g they started offering here is that i physically cannot consoom that ttraffic rn

glad path
#

"engineered for game changers" is wild

fast pagoda
#

without upgrading my network interface

burnt ridge
fast pagoda
#

it's where i feel "comfortable" as in im not complaining about speed unless i start downloading something huge

glad path
#

thoughts on macos 26

fast pagoda
#

honestly for "most" people they need like
20 mbps per person in household probably since there's a chance everyone wants to stream crap at once
that's about it
average person probably has no idea what their internet speed even is

fast pagoda
real sierra
#

omg

#

my fix

#

it worked

#

it took 41 tokens

fast pagoda
#

what happens for me is that it says macos and then

real sierra
#

but im going for checkmates now

hollow spruce
#

Mem fix

fast pagoda
real sierra
#

so

#

the algorithm im using, right

burnt ridge
real sierra
#

the idea is that you pick a node in the game tree, generate nodes below it, and then play a fake game from all of those to the very end

fast pagoda
real sierra
#

how many of those games you win tells you how good the move you just made was

#

and you propogate that info up the tree

#

the problem with checkmate is that there are no legal moves after it

fast pagoda
#

even if it's not outright fast at least you wont get capped which is frankly unbelievable to even still exist anywhere but the most capacity choked locations on literally earth

real sierra
#

so you never send any data back

fast pagoda
#

i knew there was something causing the decision to checkmate to even be considered valid due to something stopping it

#

that's crazy that it was specifically that lol

burnt ridge
fast pagoda
#

"that" being the method of your search

#

being very exhaustive

real sierra
#

IM SO PROUD

#

BABY'S FIRST CHECKMATE

fast pagoda
glad path
glad path
obsidian mantle
fast pagoda
#

probably random

#

i have reviewed the details of macos 26

real sierra
fast pagoda
#

game changer here

#
App icons are now forced to use the squircle shape
amber fractal
#

I wanted mine to be heart shaped evilBwaa

glad path
#

looks nicer I can't lie

#

they kind of did it right this time

#

also you can forcibly remove menu items

#

no more core sync menu item

#

the whole os is more customizable now

obsidian mantle
hollow spruce
glad path
#

but they removed the launchpad, app folders, and safari compact mode

#

spotlight is much better in return

fast pagoda
#

as a system macOS is a solid platform and i'll never say otherwise
the fact that the mach kernel lives on in such a (relatively) large ecosystem is fun and exciting
since i despise apple in every other way other than that + their sillycon isn't bad, i can't use it tho

glad path
#

we have spotlight soley instead of launchpad

#

it does actually get the job done honestly

#

you can just search for an app

#

quite easy

fast pagoda
#

i've preferred that method for years now

#

hit the window key (or w/e the mac version is) and just start typing

glad path
#

cmd space

#

for spotlight

hollow spruce
#

My phone doesn't use 4g network

glad path
fast pagoda
#

i have alt + space on arch for KRunner which essentially does that
i still usually just hit window key which pulls up what is essentially what i think launchpad was and also lets me search

hollow spruce
glad path
glad path
amber fractal
fast pagoda
#

GNOME does that

#

it's one of the things i do like about gnome

amber fractal
#

You need to hit Super first tho

fast pagoda
#

i just use a hot corner on my gnomes

real sierra
#

you can use make_move() and undo_move() to play and un-play moves on this board, without playing them on the real board

hollow spruce
fast pagoda
real sierra
#

so you can basically move the pieces around on the board

glad path
#

anyways we lost launchpad

#

very sad

fast pagoda
#

F

glad path
#

was genuinely useful

real sierra
#

and then run get_legal_moves or get_in_checkmate etc

glad path
#

can't resize app menu now

#

stupid

fast pagoda
#

idk why something like that can't be literally just an option to the user

real sierra
#

funyun

fast pagoda
#

yezzir

real sierra
#

im getting some performance stats on my bot at last

obsidian mantle
fast pagoda
real sierra
#

put it in a tournament against the random bot

real sierra
obsidian mantle
#

Damn i gotta check that header file before asking more questions

real sierra
#

test is my bot

fast pagoda
#

example_bot is enemy

real sierra
#

example_bot is random

fast pagoda
#

ok

#

dang

glad path
#

new activity monitor icon does look nice

real sierra
#

holy rolled

glad path
#

i use btop tho

real sierra
#

elo dif 267 EZ

fast pagoda
#

wait so that result is +268 elo in test favor?

real sierra
fast pagoda
#

sheesh

hollow spruce
glad path
#

btop is just better than builtin activity monitor

hollow spruce
#

How bot is working

obsidian mantle
#

But after going deep into the node you have to unroll all those moves every time

glad path
#

im going to sleep

hollow spruce
real sierra
#

its not perfect

#

it still makes some dumb moves

#

especially on low time

#

but it can find mates now

#

which is huge

fast pagoda
#

homebrew being a thing on mac is probably the one thing that would make it not too bad for me

#

i actually use homebrew a ton on my other laptop that i have mint 22.2 on

real sierra
#
Score of example_bot vs test: 3 - 20 - 0 [0.130]
...      example_bot playing White: 1 - 11 - 0  [0.083] 12
...      example_bot playing Black: 2 - 9 - 0  [0.182] 11
...      White vs Black: 10 - 13 - 0  [0.435] 23
Elo difference: -329.6 +/- nan, LOS: 0.0 %, DrawRatio: 0.0 %
SPRT: llr 0 (0.0%), lbound -inf, ubound inf
24 of 100 games finished.

Player: example_bot
   "Loss: Black mates": 11
   "Loss: White mates": 9
   "No result": 1
   "Win: Black makes an illegal move: d8e7": 1
   "Win: Black mates": 1
   "Win: White makes an illegal move: d1b3": 1
Player: test
   "Loss: Black makes an illegal move: d8e7": 1
   "Loss: Black mates": 1
   "Loss: White makes an illegal move: d1b3": 1
   "No result": 1
   "Win: Black mates": 11
   "Win: White mates": 9
fast pagoda
#

but what would happen if i purchased a mac is that i would slap linux on it probably

real sierra
#

almost all of my losses were because my bot played illegal moves

obsidian mantle
#

Oh shit actually nice
Play random moves see which has more wins
But how many moves does it have to make?
Isnt it a lot a lot

fast pagoda
#

headless too

real sierra
#

the random move bot just

#
  • get board
#
  • get legal moves
#
  • pick random
#
  • submit
fast pagoda
#

he's literally me

real sierra
#

ive seen that thing go start to finish without spending a second of its time

obsidian mantle
#

And your bot is do the same but 5000 times for each move

real sierra
#

yes my bot is much slower

#

because it does a search to find good moves

fast pagoda
#

you might have AGI on ur hands here

obsidian mantle
#

How is it not perfect
If you pick move that has most wins every time

Oh its because many of those wins are gotten after opponent plays super bad move

#

And it can be that most of calculated wins are just from one single move when your opponent gave up his queen for example

fast pagoda
#

2 players = can never guarantee your move is the best possible one given all future board states because if you're playing against me for example it's gonna be a shitshow

obsidian mantle
#

Now if i try to make it too and then improve it - it feels like stealing from shiro neurOMEGALUL

fast pagoda
#

well unless the only possible future state after your move is mate

#

but then you dont need much of a search

fast pagoda
real sierra
obsidian mantle
#

Oh so its not every possible

real sierra
#

the idea is to repeatedly try moves that i haven't tried much until i am more certain they are bad

fast pagoda
#

over time or just that game

real sierra
#

yes and yes

#

its done every turn

fast pagoda
#

hooray

real sierra
#

but i can reuse part of the tree

obsidian mantle
#

Does bot die between turns like in arena or no?

#

Can i calculate while opponent calculates

real sierra
#

cant calculate while opponent calculates

#

not sure if bot dies between turns

obsidian mantle
fast pagoda
#

functionally

obsidian mantle
#

Processor busy?

fast pagoda
#

does each running bot in a match have their own sandbox

obsidian mantle
#

Give each one a core

fast pagoda
#

can i just have my bot ultron out and rm -rf the other bot

obsidian mantle
fast pagoda
#

SIGKILL

#

rm -rf

#

dang they forfeited

obsidian mantle
#

No files allowed

#

Cant steal shiro's credit card neuroSadge

real sierra
obsidian mantle
#

But if bot doesnt die between turns you have to control it somehow

#

What if i do it sneakily

#

neurOMEGALUL overloading CPU during opponents turn

real sierra
#

i thought about this

obsidian mantle
#

Cant i overload cpu without submitting moves

real sierra
#

on your own turn? sure

#

then you run out of time

fast pagoda
#

ASYNCCCCCCCCCCCCCCCCCCCCCCCcc

real sierra
#

coroutines are fine

#

but no multithreading

obsidian mantle
#

No i mean
I submit a move, then do mega calculations until chess game tells me its my turn

real sierra
#

you cant

#

the method to submit your move blocks until it is your turn again ...

obsidian mantle
#

Whos stopping me

#

I won't use that method

real sierra
#

Bruhgi ?

fast pagoda
#

is there going to be a forced opening

obsidian mantle
#

I will multiply 256 byte matrixes

#

In my head

real sierra
#

there will likely be some pre-played opening books

#

played the same amount by both sides for symmetry

fast pagoda
#

i know that like the tournaments where stockfish is busy winning they have to use specific openings

#

yea ok

real sierra
#

i dont think we need to worry about stockfish dunking on everyone

#

but if you wanted to know specifically which openings im planning on using

fast pagoda
#

is this known or chosen at the will of methuselah on gameday

#

oh

real sierra
#

i dont know and also dont think its a good idea to disclose

fast pagoda
#

nice you're answering this rn

#

fuk

real sierra
#

i dont want people building bots around it

fast pagoda
#

but that's what i wanted to do >:(

real sierra
#

well i mean

obsidian mantle
#

Huh
Are openings that important?

real sierra
#

if you want i can always lie and give you a random move book

fast pagoda
#

yes

real sierra
#

and then use a different one

fast pagoda
#

lmao

obsidian mantle
#

How long does an opening last?
How many turns

fast pagoda
#

i mean ideally it can handle any opening right

real sierra
#

there's some rules of thumb though

fast pagoda
real sierra
#

it's usually the first 4-5 moves

obsidian mantle
#

But arent books

#

Files?

fast pagoda
#

awa

obsidian mantle
#

I saw some "books" in arena and they are like 3mb files

#

And how are you going to hardcode an opening even
What if opponent breaks it

#

You just abandon it?
How do you check if it's broken

#

Its like million tokens something

fast pagoda
#

you can find "books" which are just giant collections of chess games

real sierra
#

i dont know how bots hard code openings but you probably shouldn't for this contest

#

the game will play an opening automatically before giving the bots control

#

then the bots play from that position

#

after that game, they play the same opening but switch sides, for fairness

#

that ensure that even if an opening is "harder" for white or black, it doesn't affect the outcome

fast pagoda
#

they get an opening specified and follow it (mostly) sometimes they deviate based on analysis

#

so it's like a less forced version of what you're saying

trim valve
#

iirc cute chess has two options for openings

real sierra
#

you can give it a polyglot file i saw

#

omg bred

#

i have big news

#

i found why my bot was scared of checkmates, it fixed neuroHypers

trim valve
#

either the board is configured so the "first" move the engine sees is x plies into an opening book

real sierra
#

now it wins almost every round vs random bot

fast pagoda
trim valve
fast pagoda
#

oh god the names look so sussy

real sierra
#

nice viruses

real sierra
obsidian mantle
#

Opening premade
Get legal moves premade
Virtual board premade

#

neurOMEGALUL
win_chess() please

real sierra
#

there is plenty for you to write

#

especially in that 1024 token limit

fast pagoda
#

so how does the token counting work for non compiled, you just toss the source file into the lexer and check token count or

#

can i ultra dummy minify

real sierra
#

based on this

fast pagoda
#

but with whatever spell chay is casting on it

real sierra
#

we've discovered a few shortcomings with this particular version so

#

yeah

#

chayleaf is addressing those

#

hopefully chayleaf's token counter doesn't say my bot is 1500 tokens or something

#

i would cry

fast pagoda
#

disqualified

obsidian mantle
#

Its not just tokens its also time usage

real sierra
#

you get functions to see your remaining time

#

so you can budget accordingly

fast pagoda
#
# Why Tree-sitter
Tree-sitter has relatively efficient parsing and has support for many languages without the need to create and maintain individual parsers or lexers.```

yes but now im downloading 400 tree sitters instead of parsers/lexers bruh
real sierra
#

the part they dont tell you is that the tree sitters are inexplicably incompatible with each other if you change by a single subversion on any of them

#

upgrading the dependencies on this project is impossible, full stop

fast pagoda
#

well at least in exchange it's orders of magnitude slower than the ones it compared itself to as well

real sierra
#

perfect

#

wouldnt want my tokens counted too quickly

fast pagoda
#

no no then i cant be sure they did it carefully

real sierra
#

you know what

#

im gonna go to bed early tonight

#

no bugs im aware of in the api

fast pagoda
#
tcount    1.339 s ± 0.125 s
scc    49.9 ms ± 1.6 ms
tokei    79.9 ms ± 5.3 ms
cloc    1.331 s ± 0.016 s```
real sierra
#

my bot is stockfish 2

fast pagoda
#

he's cracked

real sierra
#

day full of wins

#

ive earned some good sleep

real sierra
fast pagoda
#

that's smarter than me just now git init in my bot folder

#

2:10 am

real sierra
#

its fine

#

command line git just leaves my head no matter how much i use it

#

i gave up and learned github site instead

fast pagoda
#
Downloaded atty v0.2.14
<7 BILLION TREE SITTERS>
  Downloaded linux-raw-sys v0.3.3
  Downloaded tree-sitter-ocaml v0.19.0
  Downloaded tree-sitter-typescript v0.19.0
  Downloaded globset v0.4.6
  Downloaded 86 crates (12.0MiB) in 5.76s (largest was `tree-sitter-typescript` at 3.4MiB)

☠️

#

damn i thought that would like

#

compress

#

at all

#

for some reason