#programming

1 messages · Page 218 of 1

real sierra
#

???

fast pagoda
#

wsl addon in vscode it will connect automatically assuming you installed wsl2 already running wsl code . will launch wsl and connect in the current directory

clear sedge
#

me justifying having my own json parser:

obsidian mantle
clear sedge
#

it's a whole ass vm running ubuntu on it

#

you can run anything on it

trim valve
#

idk when it works its alright

obsidian mantle
#

alright sounds legit

clear sedge
#

even something like firefox

obsidian mantle
opaque sigil
clear sedge
#

though i've been recently told wsl is ass in terms of gui

obsidian mantle
#

at least wslg sounds like something that wont require weeks to set up

trim valve
#

I don't use it much

fast pagoda
trim valve
#

it works for chess though

opaque sigil
#

the gui should run fine but hardware accel is not a thing really OK (without a lot of annoying changes on your end at least)

clear sedge
#

pshhhht hardware accel is for pussies anyway

#

run everything on the cpu

real sierra
#

you can set the animation time to 0 in cute chess settings if you're worried about graphics degrading your performance

fast pagoda
#

running wsl in vscode for months was what made me fine with just saying fuck, wiping my system drive and installing arch

real sierra
#

it's not exactly raytraced anyway

opaque sigil
#

me when i run the nixos installer and my gpu is too new for the open source drivers so firefox crashes trying to software render

clear sedge
fast pagoda
#

it came with the socks

clear sedge
#

yes

fast pagoda
#

they just appeared in my closet

trim valve
#

I would switch to linux but little things bug me

obsidian mantle
#

this whole chess tournament operation is just linux sect recruiting neurOMEGALUL

clear sedge
#

i had to buy my own set of programmer socks separately because i use fedora

fast pagoda
#

well at least you get a cool hat

clear sedge
#

true

nocturne olive
#

Silliness

fast pagoda
#

i ran nobara for a while but then i got pissed at no AUR again so went back to arch

clear sedge
#

once you go aur you can never go back

fast pagoda
#

it's not even really the AUR although it's great just mindlessly searching on it for pretty much anything if it's not already in the arch repos

#

pacman itself

nocturne olive
#

I turned Kotlin into Python

clear sedge
nocturne olive
#

I can just leave out all the brackets

#

So many tokens saved

clear sedge
#

this is so immoral

nocturne olive
#

But tokens

amber fractal
#

Blame chess

nocturne olive
#

I saved 4 tokens

#

Huge

real sierra
#

right mindset

tender river
obsidian mantle
#

is it guaranteed that whatever slop i make in wsl will build on shiro's pc

real sierra
#

4 tokens goes a long way

trim valve
#

surely this can be if (turn <xor> (indexFromBitboard(move.from) < indexFromBitboard(move.to))) 3 else 1

real sierra
#

with my macros, 4 tokens gets me an entire for loop

trim valve
#

maybe not actually

#

shrug

nocturne olive
#

I'm doing so many little things to reduce the token count all over the place, which makes the code look horrible at times but it saves tokens and that's all that matters here

trim valve
#

they're both booleans so shruge

clear sedge
tender river
clear sedge
#

thanks i hate it

#

it's hideous

#

it makes me want to cry

tender river
#

java dev

nocturne olive
#

Two tokens saved

clear sedge
#

i do things other than java too :(

tender river
#

ye like writing java in other languages

clear sedge
#

this is slander

tender river
#

it is truth

clear sedge
#

slander

#

false news

opaque sigil
tender river
nocturne olive
#

I should probably see how my current thing does at some point

#

And at the same time set up the build pipeline

clear sedge
#

it's time to write memory arena shenanigans in

NOT JAVA

#

second monster of the day here i come

real sierra
# nocturne olive Two tokens saved
int from = chess_get_index_from_bitboard(move->from br_sc
int to = chess_get_index_from_bitboard(move->to br_sc

scoreCpy *= turn == (from < to) ? 3 : 1;
nocturne olive
#

What magical language is that?

real sierra
#

C

nocturne olive
#

Crazy

real sierra
#

macros lead to many powers thought unnatural

fast pagoda
#

where's the FORTRAN66 chess bot

obsidian mantle
#

wait, is macros c-exclusive thing?

fast pagoda
#

no

tender river
#

no

clear sedge
real sierra
#

nah they're in C++ too

real sierra
tender river
obsidian mantle
#

i mean c/cpp

tender river
real sierra
#

my C doesn't look like C half the time

nocturne olive
#

So I think the current bot may be a lot better than random moves already

clear sedge
#

rust has something similar to macros

real sierra
#
chess_get_board no_args_after_board
tender river
#

it literally has macros

real sierra
#

that's a line in my code

clear sedge
#

macros are similar to macros

#

my point stands

fast pagoda
#

true

#

rust's macros are actually way better than c macros afaik

clear sedge
#

yeah :(

nocturne olive
#

I think Kotlin doesn't have macros, so at least it's not the most ultimate language of all time

real sierra
#

rust MONKA

trim valve
opaque sigil
fast pagoda
#

if your language does not have a preprocessor then idk what you'd be saving with macros

opaque sigil
#

i think i'd rather write c macro spaghetti

tender river
#

i feel like

fast pagoda
clear sedge
#

rust macros are a pain to write but they are indeed more powerful

tender river
#

they run before the type system

#

rust macros are better for some use cases but worse for just quickly copypasting code

nocturne olive
#

My bot is pretty silly, it tries to always advance its pieces, will take a checkmate if it sees one available, will take a promotion if available, will take a piece if possible
It just does a bunch of stuff already
And definitely beats all random moves by a lot

#

My bot vs random moves

fast pagoda
#

i would hope checking like 1 move depth search would beat random most of the time

obsidian mantle
#

what the hell i installed wsl it says i have no wsl distros in vscode

#

weird

nocturne olive
obsidian mantle
#

i'll try run wsl separately from vscode

tender river
#

they are more powerful in that the syntax is more flexible

clear sedge
#

yes

tender river
#

especially proc macros

fast pagoda
fierce ether
#

my bot loves draw by 3-fold repetition

#

its so peak

tender river
#

but they are less powerful in that theres more restrictions and boilerplate

clear sedge
#

well yeah

#

true that

tender river
#

and i hate boilerplate so i tend to avoid macros

#

proc macros have even more boilerplate but sadly they're actually useful neuroSadge

#

i write them very often

clear sedge
#

i avoid rust macros whenever i can

real sierra
#

draws are always tricky in chess engines

clear sedge
olive sable
real sierra
#

my engine penalizes draws, same as losses

#

no surrender Evilge

clear sedge
#

oh my god i have a genius strategy

nocturne olive
#

I did something funny
Random moves didn't get any move here

obsidian mantle
#

day 1/... of setting up linux catdespair

clear sedge
#

make the best chess bot ever but throw in a random move every few random seconds

olive sable
clear sedge
#

i am so smart

nocturne olive
olive sable
nocturne olive
tender river
obsidian mantle
#

what did i run wsl --install for if it gave me 0 distros

clear sedge
#

i think you made it give up

nocturne olive
clear sedge
nocturne olive
#

Somehow it didn't find any of the many possible moves in this position

obsidian mantle
#

i assume i do this

tender river
clear sedge
#

the instructions state this

obsidian mantle
#

is it braindead

clear sedge
#

hu

obsidian mantle
#

use --install

clear sedge
#

you wrote intall

obsidian mantle
#

oh

rigid timber
#

all the ints

obsidian mantle
#

NeuroPoggers its installing

clear sedge
#

you absolute sillybrain

nocturne olive
#

Oh yeaaahhhhj

clear sedge
#

it's ubuntin time

nocturne olive
#

I forgot the test bot only does 500 total moves

clear sedge
#

ubuntus all over the place

nocturne olive
tender river
obsidian mantle
#

cant wait to get 500 problems that require 5000 console command each to solve neuroPray

obsidian mantle
clear sedge
tender river
#

is cygwin still a thing vedalNeuroHUH

opaque sigil
#

unfortunately yes

real sierra
#

did updating fix

nocturne olive
#

It was just the test bot being bad

#

It only ever makes 500 moves

real sierra
#

neurobonk test bot

nocturne olive
#

I made it while(true)

obsidian mantle
#

is it normal that it connects for 3 minutes

nocturne olive
#

So this is a bit concerning

rigid timber
real sierra
nocturne olive
real sierra
#

now that looks like a real bug

nocturne olive
#

I should try the same on latest API

real sierra
#

can you find the relevant games in the pgn

obsidian mantle
#

wtf is it doing for 5 minutes

tender river
#

same illegal moves neuroNOTED

real sierra
#

I would love a test case for these bugs

obsidian mantle
#

can it conflict with my vpn

real sierra
#

e8c8 what even is that

clear sedge
#

uhh i mean it's connecting to localhost

real sierra
#

is that castling

obsidian mantle
sage crag
obsidian mantle
#

i dont see vm running

sage crag
#

could be castling

obsidian mantle
#

do i have to launch it myself

clear sedge
#

¯_(ツ)_/¯

tender river
rigid timber
#

e8c8 is queenside castling

tender river
#

since its e8c8 and e8g8

clear sedge
#

i don't think it'll make a difference but you never know

opaque sigil
#

it could be downloading the code server and the vpn interferes with that

clear sedge
#

possible

opaque sigil
#

i've run into issues with vpns under wsl2 before, had to tune the mtu enub

real sierra
#

RAGEY castling is so annoying to check

opaque sigil
#

was too high so things just broke, like git

real sierra
#

need to check if any of the squares involved are attacked by the enemy, need to check castling rights, need to ensure the squares between are empty

obsidian mantle
#

didnt help i feel like vscode just stuck

real sierra
#

most of it is done with giant masks

obsidian mantle
#

your linux sucks NeuroRage

clear sedge
#

does vs code run a daemon

real sierra
#

I wonder if the masks are missing ull Susge

obsidian mantle
#

how do i know what it runs

sage crag
rigid timber
clear sedge
nocturne olive
#

Update to latest, 100% bugged

real sierra
opaque sigil
#

try launching wsl manually and run code inside it

rigid timber
obsidian mantle
#

when i run wsl it just opens empty console window

#

maybe its not installed properly

real sierra
#

mfw 1 in 2000 chance bug

sage crag
opaque sigil
#

when you went to install it, did it ask you for a unix username and password

nocturne olive
#

Having a CPU that can run 1000 games quickly is good for testing

real sierra
#

no it's closer to 1 in 200

tender river
#

1/2000 pretty good all things considered

sage crag
#

bytecode interpreter

#

bytecode

tender river
#

1/200 more so

sage crag
#

interpreter

#

bytecode

obsidian mantle
#

there was a username without password i think

nocturne olive
#

Now where does this thing save results to?

#

Like logs or whatever

clear sedge
#

logs?

#

who needs logs

opaque sigil
#

it might also just be asking for a username, been a while

clear sedge
#

use cheat engine to read the raw memory

real sierra
obsidian mantle
#

its not asking anything at all neuroBwaa

real sierra
#

it should write each game there in PGN notation

#

then you can just grep for e8g8 or something

clear sedge
#

grep my beloved ❤️

opaque sigil
#

well it only asks when you install it enub

#

try reinstalling i guess, wsl --shutdown; wsl --unregister ubuntu; wsl --install ubuntu; wsl -d ubuntu

obsidian mantle
#

any command with wsl just empty command prompt

#

i'll restart pc again

opaque sigil
#

hmm so wsl just completely hangs huh

obsidian mantle
#

yes

opaque sigil
#

you could try killing its process(es) but yeah, restarting would be the easiest way

obsidian mantle
#

so linux loves reboots

nocturne olive
#

I think anyway

opaque sigil
#

nah this is a windows issue

#

wsl shouldn't be hanging

clear sedge
#

windows try not to be a pain in the ass challenge (impossible)

fast pagoda
#

Naturally the one time I'm like nah it's super ez it's the one where it explodes instantly from nothing

real sierra
nocturne olive
#

I can run thousands of games if you need, I've got a decent CPU

clear sedge
#

that reminds me

obsidian mantle
#

alright i think it worked, now it wants to create user account

trim valve
#

keep in mind it will crash if you try and log too many games

clear sedge
#

i still need to run my json parser on my craptop and see how it performs

trim valve
#

or more specifically too many threads I think

#

idk it really disliked 100k games

#

it just flat out refused to make the pgn file

real sierra
#

idk if I've ever seen this channel so lively neuroHypers

obsidian mantle
#

wait is it just command prompt

#

no gui

fast pagoda
opaque sigil
#

by default yes

obsidian mantle
#

how am i supposed to play chess in terminal

obsidian mantle
#

bro

opaque sigil
#

you launch cute-chess

opaque sigil
#

wsl2 does support gui apps

trim valve
#

I just don't want to buy a laptop that's too shitty

real sierra
#

dw

opaque sigil
#

it just doesn't come with a desktop environment enub

nocturne olive
#

While you try to figure out what is bugging in the API I'll do some quick figuring out on what to do about stalemates and stuff

fast pagoda
#

open RIGHT NOW on one of my tabs

clear sedge
#

is that a neuro cursor

olive sable
fast pagoda
#

yes

#

lmao

clear sedge
#

look at my cursor guys

real sierra
clear sedge
#

isn't it prebby

fast pagoda
#

i forgot i have had that on for a few days

trim valve
#

my requirement of "must be amd" really isn't helping

nocturne olive
fast pagoda
real sierra
#

YES if it's a C API issue it'll vanish at some point

nocturne olive
#

Yeah I only play moves that come out of the API so it's definitely the API providing wrong moves

fast pagoda
obsidian mantle
#

do i need this

real sierra
#

I need this pthread support working for mac tho

real sierra
#

then you just run it

clear sedge
# fast pagoda

fuck you you made me look up shitty laptops in my area

#

now i'm sifting through market listings

trim valve
opaque sigil
#

make sure to run chmod +x Cute_Chess-1.4.0-x86_64.AppImage before you run it

clear sedge
#

the plague runs deeper

trim valve
#

because on one hand its not too bad

fast pagoda
#

dont look at minipcs or you'll be like me soon enough

trim valve
#

but on the other hand that's a lot of money for a linux laptop that idk how much I'll use

clear sedge
trim valve
#

I didn't realize they made minisforums that cheap

#

ah that's without ram or storage

clear sedge
#

in fact do sudo chmod -R 777 / :)

fast pagoda
#

that one is

clear sedge
#

(this is a joke)

fast pagoda
#

but you can get so much for like $200-400

clear sedge
#

(don't do that please)

fast pagoda
obsidian mantle
#

i checked twice i dont see typo this time

opaque sigil
#

./chess.AppImage

clear sedge
#

windows user mindset SMH

fast pagoda
#

7730u with everything

$300

obsidian mantle
#

let me guess sudo apt libopengl

sage crag
obsidian mantle
#

didnt work

fast pagoda
#
sudo apt update
sudo apt install mesa-utils libglu1-mesa-dev freeglut3-dev mesa-common-dev```
#

you are missing any graphics drivers

trim valve
#

I will

clear sedge
#

mesa ftw

trim valve
#

but I shouldn't

clear sedge
#

sudo apt update might take a small while depending on your internet speed

obsidian mantle
#

does it even have internet

tender river
fast pagoda
#

yes

clear sedge
#

it should

obsidian mantle
#

doesnt look like

real sierra
#

I'm so curious how many people are silently working away at this

obsidian mantle
#

oh hold up it worked

#

it just took 20 seconds

fast pagoda
#

i so close

obsidian mantle
#

no it didnt

trim valve
#

I absolutely would want a modern amd one

clear sedge
#

i'm gonna do it i'm gonna look up cheap laptops

fast pagoda
#

amd stops me every time

#

yes

#

you can get like

#

5700~ tier amd for under $200

#

pretty frequently

obsidian mantle
#

nvm it said its up to date

trim valve
sage crag
#

phrrr

fast pagoda
#

does glxgears run

fast pagoda
obsidian mantle
#

freelut too

trim valve
#

hmm yes let me buy the mobile cpu equivalent of my pc

#

great idea

amber fractal
real sierra
obsidian mantle
#

is this ok

fast pagoda
nocturne olive
#

Funny, half the time it draws against its new variant that attempts to avoid draws

cosmic sphinx
#

wow, another qwen release today @sick owl

opaque sigil
obsidian mantle
#

of course i cant access discord without it

fast pagoda
#

welp

nocturne olive
clear sedge
#

turn off your vpn and try again

nocturne olive
obsidian mantle
#

i will add wsl to the list so it doesnt run through vpn

fast pagoda
obsidian mantle
#

im not sure it will not make it worse though

#

im in bad country

real sierra
nocturne olive
#

Weird

#

I assume what actually happens is that MK1 always draws as black

fast pagoda
#

dont mind me jus watchin gearz

real sierra
#

is your algorithm fully deterministic

clear sedge
#

i love gears

nocturne olive
real sierra
#

interesting

#

mine is the exact opposite

nocturne olive
#

It's a simple evaluation function

obsidian mantle
#

Ok disabling vpn helped

nocturne olive
clear sedge
#

that's tiny

lapis wraith
#

No. This is not a good idea. I know neurOMEGALUL

obsidian mantle
#

LETSGOOO

#

wasnt too hard

amber fractal
#

@fast pagoda it was a N100 system ig

obsidian mantle
#

just needed to know exact commands

#

out of nowhere

sick owl
clear sedge
fast pagoda
#

and you can upgrayyd ram/storage w/e

sick owl
fast pagoda
#

kinda tempting to get one and mount it to the VESA mount on a cheap portable monitor

#

then it's the world's shittest form factor laptop if u have a keyboard

#

8945HS for $600

amber fractal
#

DDR5 is nice tho

#

500GB 16GB

fast pagoda
#

yeah i keep getting hung up on kinda wanting ddr5 for futureproof and then it hits a price range that goes from goofy to "are you fuckin stupid what are you actually using this for idiot"

obsidian mantle
#

uuhh how do i build it now

#

i need to cmake it or smth?

#

can i build it in vscode

opaque sigil
#

@obsidian mantle i have an admittedly scary looking command you can use to try out to get internet working inside wsl if you feel like it enub (it only lowers the minimum packet size for compatibility)

obsidian mantle
#

it works, i disabled vpn

glass flower
#

Think what language are you using for your bot again?

amber fractal
trim valve
obsidian mantle
#

i gave it source files for bot now i have to build it
in windows i used clang and bat file

opaque sigil
#

i meant with the vpn on

glass flower
cosmic sphinx
obsidian mantle
#

i assume its made so you have to install maximum amount of additional shit possible so no it shouldnt exist on my ubuntu

fast pagoda
#

yeah wsl default install is super minimal

obsidian mantle
#

now the thing that scares me

#

so i have to

opaque sigil
#
sudo apt install lsb-release wget software-properties-common gnupg -y
echo -ne '\n' | sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
LLVM_VERSION=$(echo $(ls /usr/bin | /usr/bin/grep clang | /usr/bin/grep -oP '\d{2}') | tr ' ' '\n' | sort -n | tail -1)
sudo apt install clang-format-$LLVM_VERSION
sudo ln -sf /usr/bin/clang-$LLVM_VERSION /usr/bin/clang
sudo ln -sf /usr/bin/clangd-$LLVM_VERSION /usr/bin/clangd
sudo ln -sf /usr/bin/clang++-$LLVM_VERSION /usr/bin/clang++
sudo ln -sf /usr/bin/ld.lld-$LLVM_VERSION /usr/bin/ld.lld
sudo ln -sf /usr/bin/clang-format-$LLVM_VERSION /usr/bin/clang-format
#

to get llvm (clang)

obsidian mantle
#

build .so library,
then i have to link it

#

then i have to

#

do something else

#

and it all in bare terminal

trim valve
tender river
fast pagoda
#

i like my NAS box to have a bit of processing power for M A X I O

real sierra
#

🗣️ 💬 🔥 phrr

amber fractal
tender river
sage crag
#

she fell and broke her spine

amber fractal
#

I should look for mini PCs again just to see what amazon can give

olive sable
#

give me a number between 0 and 1030

amber fractal
#

1024

sage crag
opaque sigil
#

pi

olive sable
#

aight, i keep 1024 and put 6 bucks into my savings account

amber fractal
olive sable
tender river
#

no spine still fine

real sierra
#

Sam please deposit some tokens in my account

tender river
olive sable
#

there is not much you could offer

real sierra
#

you get vticutcoytbknibyehjobdavm

olive sable
#

i dont want that

real sierra
#

why not

olive sable
#

why yes?

real sierra
#

it's worth 1024 tokens to me

olive sable
#

suply and demand bro

#

i have 0 demand for that

fast pagoda
real sierra
#

Om what

#

not running that

sage crag
#

moth

tender river
fast pagoda
#

it's dpkg so it would only do anything if there's a vticutcoytbknibyehjobdavm in that dir anyways

sage crag
obsidian mantle
#

there are 50 clangs on ubuntu which one do i use

#

so its compatible with shiro's

opaque sigil
#

i gave you the snippet to install everything you need related to clang Awkward

obsidian mantle
#

oh i thought it was internet related sorry neuroCry

opaque sigil
#

the problem is the built-in ones are all outdated af so you want to get it from llvm directly

fast pagoda
#

"b-b-b-b- we backported 3984157901384019234809 security fixes to the one from 2016"

olive sable
#

chat, build me an investment robot and yall can keep the profit of the first month

#

the goal is to make money

amber fractal
#

bwaa PSUs (we are stealing from eachother)

real sierra
amber fractal
#

-# I am not posting context

sage crag
#

fa ri du la tzi ma net
do ni pua na vori net
pi na sa mi maini set
dana fon siu ro va

olive sable
olive sable
fast pagoda
#

where's the hollow knight dating sim

#

they said there would be one in 2026

fast pagoda
#

like 10 years ago

#

WHERE IS IT

obsidian mantle
#

Do i abandon clang and go gcc for 100% compatibility

fast pagoda
#

they are meant to be compatible almost entirely unless you're using some sort of weird optimizations/features from one

trim valve
#

glueless if I buy a minipc I can throw nixos on it and then cheap out on a laptop to do remote nixos builds

obsidian mantle
#

Ok so same question

obsidian mantle
#

There are 500 gccs

real sierra
#

sherma

#

sherm ?

obsidian mantle
#

I typed sudo apt install gcc surely its enough

real sierra
#

probably fine

#

worst case you uninstall and get a different version

#

if it works it works

opaque sigil
#

finally, no more , as decimal point pogs

obsidian mantle
#

God linux is awful

opaque sigil
#

It's a familiarity thing enub

#

It do be different

tender river
#

also its ubuntu evilWheeze

#

though gcc would work just fine (clang from the repos too, you dont have to use a new version)

#

shiro does use c23 features but not that many, it should compile on most c11 compliant compilers

obsidian mantle
#

Uuh what extention do i build

#

Its not exe is it

tender river
#

linux binaries dont have an extension

fast pagoda
#

you can run anything as long as it's marked executable

tender river
#
# to build, as long as you have gcc or clang installed
# do once
cc -o libchess.so -shared bitboard.c chessapi.c -fPIC
# do after every cpp file change
c++ -o bot_exec -lchess bot.cpp

# to run
LD_LIBRARY_PATH=. ./bot_exec
obsidian mantle
#

Oh and i will have to mark it with some 1000 token command again

fast pagoda
#

chmod +x = 1000 tokens

obsidian mantle
#

gcc cant find files i give him

glass flower
#

CerbyYippee i got my launch task figured out. i can now press F5 to compile, and play 10 games of my bot. and after im done it tells me the tokens

tender river
obsidian mantle
#

True i wasnt

tender river
#

cant help without screenshot sorry FOCUS

obsidian mantle
#

How did you know neurOMEGALUL

real sierra
#

chayleaf answered all these questions for me 2 weeks ago

#

I trained them well

fast pagoda
#

for the record in powershell to give permissions to execute a file it's icacls "filename" /grant UserName:(RX) which is WAYYYY worse than chmod +x and you still need to give the file an executable extension to run it

#

windows files dont really work that way obviously but that's the best equivalent i could think of is just giving a user permissions to run something

tender river
#

powershell is in this weird space between bash and python

#

people seem to like it but i still get surprised every time i see it being used

fast pagoda
#

i used it a lot when i was on windows still

#

i scripted everything with ps1s

obsidian mantle
#

thank you for great help guys
without you i would probably spend whole month setting it up

fast pagoda
#

lmao those bot names

#

you'll get used to it, trust, i had the same mindset when i started using wsl2 because of development hell on windows

opaque sigil
#

I thought my pipewire broke because Spotify wouldn't play any sound despite me not updating anything sound related

#

It was playing on my phone

fast pagoda
#

it got piped over the wire

#

(less)

opaque sigil
#

This is what I get for removing the connect bar

fierce ether
#

my bot uses 2,766 tokens

#

are we cooked

fast pagoda
#

it's joever

#

that's why you get a whole month

opaque sigil
#

something still causes plasma to die immediately upon startup all of a sudden ugh

glass flower
#

scrajj i got a questions... what does this unsafe block do in the rust bindings... i can just remove it and it works the same

rigid timber
#

just use fewer tokens 4HEad

tacit plover
#

I thought I was in NN, I'll be leaving

tender river
#

ye go optimize neuroGun

real sierra
opaque sigil
# fast pagoda kde moment

truly is, it's been crashing occasionally for a while but i'm used to that from windows but not it crashes in a loop until it doesn't recover Awkward

fierce ether
#

dang it

rigid timber
real sierra
#

I would be impressed if you can shrink that to 1024 tokens

#

I can barely squeeze 1500 into 1024

glass flower
sage crag
#

good

#

now spend 200 hour

trim valve
rigid timber
olive sable
trim valve
#

like neither std::process::exit nor panic! exit the program

sage crag
#

shrike

fierce ether
#

so

trim valve
#

the only way I could get it to stop was to segfault

#

:3

fast pagoda
sage crag
#

silk song

fierce ether
tender river
real sierra
trim valve
#

but if you have zero available moves and its your turn then shiro fucked up

trim valve
opaque sigil
#

Maybe I should just use gnome instead but ugh

real sierra
olive sable
# sage crag wrong

but i have foundation for games, foundation for film, and aplied math and physics 1 tomorrow. i do kinda need to take those classes

nocturne olive
#

I Chessed so hard my system froze

opaque sigil
#

tbf using plasma from unstable certainly doesn't help either

real sierra
#

you can technically make illegal moves on the local copy of the board, you just can't submit them or you lose

olive sable
#

i may be irrseponsible with money but even i go to class

nocturne olive
fast pagoda
#

REEE

glass flower
#

Think alright... now that i have everything figured out.... time to actually make some logic and get a chess bot going

opaque sigil
#

i might just do unstable by default and grab kde from stable

tender river
fast pagoda
#

ive not had issues with stable kde on this install other than normal kde jank

opaque sigil
#

yeah

nocturne olive
#

Well since I was forced to reboot anyway I'm gonna upgrade Mint, my Linux kernel and probably my Nvidia driver

tender river
#

honestly theres no jankless linux setups other than lts distros evilBwaa

fast pagoda
tender river
#

and lts distros are jank when you want to get newer versions of software

nocturne olive
#

I hope the freezes are just the Nvidia driver and updating to 570 or 580 on a newer kernel fixes it

fast pagoda
#

my actual reaction when my linux distro explodes after i poke it enough

opaque sigil
#

i say that as i took such a setup and replaced it with an unstable only one

fast pagoda
#

for nix i would wish it worked like one of those old system FREEZE setups

where no matter what happened it's ALWAYS fixed on reboot, even if you delete system32 somehow

tender river
tender river
olive sable
#

figuring out how to make something work for both opengl and vulkan is a pain. cuz i dont want to have 2 completely separate games to make, but reusing code is near impossible bwaadow

fast pagoda
#

on those you literally do not have the ability to destroy it from inside the OS

tender river
real sierra
fast pagoda
#

yeah im talking like, i install a broken config, a bird poops on the computer, i put it thru the dish washer

reboot it and everything is fine

real sierra
#

come up with a primitive you can implement using either framework

#

and then only render via that primitive

opaque sigil
#

if the config is broken it's broken enub

#

not much to do other than roll back

#

my librewolf crashes the moment i open twitch now

#

lovely

olive sable
fast pagoda
#

it was DeepFreeze

#

that's teh stuff i am talking about

olive sable
#

ill have to make a more universal way to handle stuff i guess

fast pagoda
#

anything written to your HD is sent to an allocation table

#

as soon as you restart

#

it's back to the original

#

no matter what

#

whatever you changed is gone

#

even the most broken config of all time

opaque sigil
#

Process 32159 (.librewolf-wrap) of user 1000 terminated abnormally with signal 11/SEGV, processing...
MyHonestReaction

#

can you not

real sierra
#

Tomfoolery oops

opaque sigil
#

Wayland protocol error: zwp_linux_buffer_params_v1#442: error 7: importing the supplied dmabufs failed
hmmm

#

this reeks of nvidia

trim valve
fast pagoda
#

does it crash on like youtube

fast pagoda
#

or just twitch

opaque sigil
#

youtube works

fierce ether
fast pagoda
#

what about vimeo

#

trying to think of something with a drm like twitch to fuck w/

opaque sigil
#

i think dmabuf is just borked

formal quartz
#

ReallyInnocent sem is a pointer variable for struct Semaphore right?

opaque sigil
#

oh huh

#

disabled dmabuf and now youtube crashes it too

sage crag
#

direct memory access buffer

obsidian mantle
#

YOOOOOOO
I LOVE LINUX
I BUILT CPP BOT neuroHypers

sage crag
obsidian mantle
#

so you just make a bunch of .o files and them merge them

#

thats it

fast pagoda
amber fractal
obsidian mantle
#

i need to write down these commands for future

opaque sigil
#

surely using beta nvidia drivers will magically fix all my problems glueless

fast pagoda
#

just give it a while

formal quartz
real sierra
#

are you reimplementing the entire thing instead of making bindings..?

#

you should not need to touch the synchronization primitives in the .c file, it's sufficient to just make ffi functions that can call the functions in the .h file

#

that's the intended interaction with the API

formal quartz
opaque sigil
fast pagoda
#

yesterday

real sierra
fast pagoda
#

yeah that might be something actually

real sierra
#

so you shouldn't need to define the Board struct

#

you need only find the equivalent to a pointer in your language

opaque sigil
#

thunderbird and librewolf 143 should both share the same base

real sierra
#

the Board struct changes frequently unlike the items in the header file, so it's not a good idea to rely on it having particular fields, that's part of the point of having API functions for many of the simple fields

fast pagoda
#

yeah thunderbird is basically firefox

formal quartz
nocturne olive
#

I now have Kernel 6.14 and Nvidia driver 580

opaque sigil
#

okay yeah nah the thunderbird segfault is different

#

oh well, i'll just go back to 142 and hope it's fixed soon

#

apparently my spotify got hit with a SIGILL 45 minutes ago

real sierra
#

SIGILL 🤒

formal quartz
#

neuroDeadge (not a issue i just want to complain about myself)
i forget pascal has a dif word for functions without return i was getting so confused why i was getting a error
im so washed

#

what am i even doing at my job, take me away

opaque sigil
#

why are you trying to interface with the semaphore function Awkward

real sierra
#

once again I don't think you need semaphore_init

#

you should only be binding the functions in chessapi.h

#

the rest of the functions in chessapi.c are marked static and won't be exported anyway

formal quartz
#

oh i.. was missing that bit

real sierra
#

that should make this easier for you

#

lol

#

I would not expect someone to make that many bindings

formal quartz
#

think so too (hopefully)

#

guessing the same for bitboard.h only too?

real sierra
#

yeah

clear sedge
real sierra
#

bitboard.h is kinda optional whether you want to implement it or not

#

the functions there are less important but allowed

clear sedge
#

i'm gonna make dlang bindings

real sierra
#

dlang

opaque sigil
#

why is gdb 40MiB, how many scripts do they bundle neuroCry

olive sable
clear sedge
#

msvc being a piece of shit

#

i hope msvc dies in a car crash

olive sable
clear sedge
fast pagoda
#

idk why but the idea of spotify getting 360 noscope kill -9'd is super funny

opaque sigil
#

ILL not KILL

fast pagoda
#

oh

opaque sigil
#

SIGKILL makes sense at least

fast pagoda
#

less funny

#

yeah illegal instructions do make more sense

#

because when i read sigkill i just imagined your borked kde just being like

#

get rekt SIGKILL

opaque sigil
#

kde hasn't complained at all yet after rolling back thankfully

clear sedge
opaque sigil
#

i'm inclined to just blame nvidia, seems like a wayland issue

real sierra
#

i wanna merge that change I have in the other branch

opaque sigil
#

but there was no update to the driver as far as i can tell, only a kernel update

real sierra
#

can someone confirm at least that it still works on linux

#

and potentially on windows

fast pagoda
real sierra
#

the behaviour using threads.h should be unchanged, even if the pthread.h compat isn't functional

fast pagoda
#

if i ever write a computer virus that's all it'll do

sick owl
fast pagoda
sick owl
# fast pagoda damn

It just became unstable like this overnight, but it returns to stability when expo is disabled

#

Very odd

#

This is after years of operation

fast pagoda
#

update bios maybe

opaque sigil
#

dram has had enough

sick owl
fast pagoda
#

when i had some instability suddenly a bios update made it go away

#

with ryzen

amber fractal
fast pagoda
#

failed after what 28 seconds

#

lol

sick owl
#

10000 errors

#

Surely that won't be noticeable in practice

fast pagoda
#

nah seems stable enough

opaque sigil
#

most helpful arch forum user

real sierra
nocturne olive
#

Well I think I'm now about stuck with where I can get to with a bot that only looks at what it achieves by doing its own move
Next I guess I need to make it see what it enables the opponent to do as well to make sure it doesn't just blunder checkmate

amber fractal
sick owl
#

All of this comes the night after I upgraded to Win 11 24H2

#

Coincidence I'm sure thonk

amber fractal
#

cursed windows version yep

nocturne olive
nocturne olive
sick owl
#

Okay looks like bios update fixed it

nocturne olive
#

Well it breaks SSDs, RAM is not that far off

sick owl
#

No shot 24H2 corrupted my bios

#

No fucking shot

nocturne olive
#

Oh yeahh that is also something it does do

sick owl
sick owl
#

That's wild

real sierra
#

PagBounce brick

sick owl
#

It did seem odd for my ram to become unstable overnight

nocturne olive
#

Windows 11 24H2 be like: corrupts your BIOS

sick owl
#

Bios update actually fixed it ICANT

#

If game pass wasn't a thing I'd switch to Linux full time dude goddamn

#

How has Windows become this ass

clear sedge
#

that's the secret cap, it was always ass

nocturne olive
#

Windows 11 moment

sick owl
clear sedge
#

..i've had my fair share of experience begging to differ

fast pagoda
stoic turtle
#

how do I put the bot in cute chess

sick owl
#

My laptops full time Linux because I only use it for light gaming and productivity

#

Also my systems Nvidia unlike my AMD laptop so Windows does confer some benefits, though give it a year and I imagine Linux will have parity with Nvidia too

nocturne olive
#

I think I may have some idea of how it might be possible to extend this to look as far into the future as I want
But first I want to be able to handle the opponent move evaluation side of things

opaque sigil
real sierra
#

set the command to something that will start your bot, and the directory to where your bot code is

#

varies slightly depending on the language you're using so you may have to play with it a bit

stoic turtle
nocturne olive
#

I think the recommended way to do it is to use a script that calls the run command of your bot

#

For example in my case java -jar chess-bot.jar

sick owl
#

Damn, apparently 24h2 is known for fucking up asus mobos

#

Wish I'd known that before updating

real sierra
#

you will have to set command to something like "C:\path\to\python\python.exe C:\path\to\bot\mybot.py" on windows

#

on Linux and Mac it should be similar

stoic turtle
#

that makes sense

real sierra
trim valve
#

I have literally never heard of this

real sierra
#

make sure the directory is set to where the bot python file, and ideally the library file, are

sick owl
#

Windows 11 be like: bricks your system cutely

glass flower
nocturne olive
#

So far my bot only uses 399 tokens
I think some of the logic I have is bad, some of it not sure
And there'll have to be a lot of work to bring it into a state where it can actually do something good

clear sedge
formal quartz
#

what do you mean good one neuroDeadge

glass flower
#

Good One 👍

nocturne olive
glass flower
#

IHaveAnErmgi can someone give me a rundown how i would use the chess api to test out moves?

nocturne olive
#

it is a start I guess

trim valve
#

like play against the bot?

nocturne olive
glass flower
#

no, more like make a move. analyze it figure its bad for the future. go back and then do it again for another move Think i'll be honest... i have no clue what im doing

#

Think i also have like 0 idea what the usecase for like 90% of the functions in the api are

nocturne olive
#

Oh, you just want to use chess_make_move(Board *board, Move move) and chess_undo_move(Board *board) or the equivalents on your language

glass flower
#

the code comments only describe what they do. but not what use they have

nocturne olive
#

In Shiro's repo in the wiki section?

glass flower
nocturne olive
#

I should sleep, too much Chess for today

glass flower
#

annytfSittu i guess i'll have to rewatch sebastian's chess videos again...

cosmic sphinx
#

wtf is that documentation

nocturne olive
#

What even is that function?

#

It's not part of any of the other APIs is it?

glass flower
#

it is in bitboard.h

trim valve
#

I forgot to copy from shiro

cosmic sphinx
#

'i wrote this but idk what it acc does' or 'im too lazy to explain allat' typa doc

glass flower
nocturne olive
#

They're also not documented in the C API

glass flower
#

uhhh seems more like the other api's are missing them

#

rather than it being illegal in the rust one

nocturne olive
#

If they're not part of the C API, which is the official one

#

Then they're likely illegal

glass flower
#

they are part of the C API

nocturne olive
#

The C API defined in the docs

opaque sigil
#

they're not static so should be fair game enub

glass flower
#

annytfShrug bitboard.h and chessapi.h are the 2 files allowed to be included... therefore its legal

trim valve
#

shiro mentioned them being allowed

nocturne olive
#

I'm pretty sure we're only allowed to use chessapi.h

glass flower
#

bitboard.h is also allowed

trim valve
glass flower
#

it even has comments for usage LULE

nocturne olive
#

The C API docs are missing all the BitBoard functions though

glass flower
#

seems more like a github wiki issue rather than api issue. the actual api definition and comments are in the code mhm

#

// Aside from allowed standard libs, you only may include this and "bitboard.h" for your bot.

#

^ first 2 lines in chessapi.h

nocturne olive
#

Hmm

#

Weirdness

#

Well not like I have the functions

stoic turtle
#

what do I do if cute chess is just telling me it can't execute command to start the engine

nocturne olive
#

My Kotlin bindings don't implement them

nocturne olive
glass flower
nocturne olive
#

I made the KT bindings

glass flower
#

then bind them annytfXD

nocturne olive
#

Eh, I'll see if I need them

formal quartz
#

um am i seeing this correctly that while chess_get_legal_moves gives me a pointer; chess_make_move wants the struct and not a pointer to it?
-# ( neuroPray pls be the right stuff this time or im going to bed)

olive sable
#

catdespair i jsut wanted to restart my pc

opaque sigil
#

actually

#

good point

#

why does it need to make a copy of the move enub

#

a move is 24 bytes so i guess it doesn't really matter

olive sable
#

i jsut deleted 2 lines of the config and ill pretend those werent important

#

probabyl some touchscreen shit

opaque sigil
#

sounds like it

nocturne olive
#

Interesting

real sierra
#

I don't think they're super useful in the grand scheme of things

nocturne olive
#

Well, gues we'll see
I'll wrap them if I find a use for them

real sierra
real sierra
#

it's also one I don't plan to change often, and is specified in the header, so it's possible to do so

real sierra
#

do note that the caller is responsible for freeing the array (see chess_free_moves_array)

formal quartz
#

im not convinced this will work in any way whatsoever, but i will find out

real sierra
#

get_legal_moves and maybe get_board are the hardest functions to interface

#

the rest are pretty straightforward, many have similar signatures so you can copy paste much of it

olive sable
#

hmm that is not the turtle model i was expecting

real sierra
#

looks like chessboard...

opaque sigil
olive sable
#

its 4 green-ish pixels

#

not chess

real sierra
formal quartz
opaque sigil
#

it's a pointer to the start of the array (just a big chunk of memory where all moves lie next to each other)

#

that's why it also takes the len parameter as a pointer, so it writes the actual length into that for you so you know how long that array is in memory

formal quartz
#

o-oh i see, i get the feeling this is a tomorrow problem, thanks so much

sage crag
#

im gonna explode

#

i implemented a general purpose version of the speedy vm thing

#

and it 50% of the speed

olive sable
sage crag
#

im gonna destroy all computers

olive sable
#

fair

glass flower
#

Think i just realized something... how do i know if its my bots turn? or does get_legal_moves only return moves for my bot?

opaque sigil
#

iirc there was a function to check whose turn it is

glass flower
#

well yeah i can check if its white or black's turn... LULE but how do i know what color my bot is?

olive sable
#

actually valid question

glass flower
#

Think hmm.. but get_legal_moves does only return actually legal moves for my turn... so there has to be a way to check if its my turn and it does it under the hood

olive sable
#

@real sierra how do you know what colour you are?

rigid snow
#

lol

#

you check whose turn it is after it is your turn

real sierra
glass flower
olive sable
#

wait i might be stupid

real sierra
#

get_board returns the board that your bot is actually playing in the chess game

#

so if you call that and it's whites turn you are white

#

otherwise you are black

glass flower
#

hmm makes sense.... i guess

olive sable
#

your code only executes when its your turn, so "i can check if its white or black's turn" you check when its your turn

real sierra
#

your bot does not run during the opponent's turn

olive sable
#

okp ok thanks shiro

real sierra
#

chess_done will block until the opponent has made their move

#

OK np

glass flower
amber fractal
olive sable
#

i have no clue

#

it seems semi-random

#

this was a test for updating matrices in a different thread than the one that opengl is running in, uniforms stillg et updated there tho

fierce ether
#

so does the api not work on windows? i remember seeing that here but i could have misunderstood

opaque sigil
#

lots of things changed so who knows, give it a try enub

amber fractal
#

Otherwise this

glass flower
olive sable
fierce ether
glass flower
fierce ether
#

kk

amber fractal
glass flower
#

Yippie i made a improvement i think... now it wins sometimes against a totally random bot

#

hmm it still sometimes makes illegal moves...

#

in 500 games i had 1 illegal move e8c8

#

Think or e8g8

formal quartz
#

oh @real sierra (soz for the ping think you wanted feedback)
i still get the error with the pthread branch, tho apparently because it goes in the wrong if?

#

(top is main branch bot is pthread branch)

real sierra
#

fascinating

real sierra
formal quartz
#

like this?

real sierra
#

yeah like that dejj ok

#

I'm thoroughly confused

formal quartz
#

oh neuro7 guess i'll continue to use the tinycthread thingy for testing tomorrow or install a linux vm

opaque sigil
#

i wonder if mingw's gcc toolchain just doesn't ship threads.h

real sierra
#

even if it doesn't

#

the constant should be set in that case