#programming

1 messages · Page 183 of 1

rigid snow
#

or some other heuristic shit idk

olive sable
rigid snow
olive sable
#

its not specifically that it needs to be an artist channel

rigid snow
#

yeah

olive sable
#

cuz otherwise neuro would qualify

#

and i tried it

#

and it didnt work

#

you cant go from short to music, you need to go from short to youtube notation to yt music

rigid snow
amber fractal
#

Can confirm the not a music channel, as I grabbed a skit from someone who does music and only their music worked.

rigid snow
#

i think it's ai allowing content that's music related, my youtube music recommended is literally all production content

#

not music

real sierra
#

downloaded the UCI spec

#

filename has a (1) after it

#

wtf is this notepad formatting

amber fractal
rigid snow
#

i have a music based meme in recommended but can't share because rule 3

amber fractal
#

That checks out

#

I have one thing I can test

faint sandal
#

chat what do you think of this article as a regular end-user

#

I wanna see what most normal users think

sage crag
#

nyaaaaaaa

olive sable
#

first of all i think their formatting looks a bit odd

#

havign the 3rd author on a newline for no reason bothers me

faint sandal
#

that aside SMH

olive sable
#

the image is higher than the title

faint sandal
#

I'm talking about the content

olive sable
#

ah

#

ok

faint sandal
#

I'm not affiliated with this company

olive sable
#

first part, i dont like EDR spying on me

faint sandal
#

I'm more so asking what do you think about the data presented here assuming your company installed the EDR on your endpoint at work

real sierra
#

host your own instance, this was always a risk with third-party appliances

faint sandal
#

we're talking strictly work devices here and not your personal one

real sierra
#

how many data spills have happened now that are attributable to unwanted third-party data access

#

how many more need to happen for people to learn this lesson

faint sandal
#

on-prem access is not necessarily always available for all EDR providers but assume it is in this case

olive sable
#

this is a lot of reading

#

gimme amin

#

i like how to article doesn't shy away from mentioning competing products

#

like malwarebytes and bitdefender

real sierra
#

sam why did i sign up for this

olive sable
#

idk

#

dont ask me

real sierra
#

this is the best source i can find for what i need https://youtu.be/D4DBE4UQoAY

Learn how to easily program the UCI protocol. Learn how to set up the basics of the industry standard protocol that communicates with Arena, WinBoard, XBoard, or any other UCI-enabled GUI. Its another step in creating a professional chess engine.

Official UCI Protocol: http://wbec-ridderkerk.nl/html/UCIProtocol.html

Code: https://onedrive.liv...

▶ Play video
#

this microphone

olive sable
#

the start of the sebastion lague video also shows some chess logic

real sierra
#

its nothing bot related im looking for right now

#

i need to make boilerplate for the engine to communicate to the chess server

#

and i want to make a wrapper for it that people can use

#

but theres nothing other than this cursed spec to go off

olive sable
#

what chess server u using?

real sierra
#

arena OK

#

seemed a good option and i got it working

#

it has the features im looking for

#

now i can load up any bot that can communicate with UCI

#

so i just need to make a wrapper around UCI that abstracts the protocol away a bit and then we're good to go

sage crag
#
poll_question_text

mandatory data collection: programming proficiency

victor_answer_votes

2

total_votes

8

amber fractal
#

I'm surprised I'm the only one who voted for that one

olive sable
amber fractal
#

Made it hard to focus on the actual content

faint sandal
#

it is weirdly unprofessional from my point of view

#

it felt like they couldn't decide if this was a personal blog or a corporate one

olive sable
#

oh that was supposed to be corporate?

#

it felt like a guy making an article while trying to be professional

#

or well, 3 guys i guess, 3 authers

sage crag
#

phrrr

real sierra
#

konii

#

perfect timing

olive sable
#

phrrr? neuroCatUuh

real sierra
#

ive learned an unfortunate quirk about UCI

#

salute single threading

#

im thinking if i do have to multi-thread it

olive sable
#

i guess async is possible too?

real sierra
#

it may make more sense for the entry point to be a wrapper i write

#

and then have the wrapper call the chess bot

#

and supply an interface to it

#

then the wrapper can run it in a child thread

#

ill prob still require chess bots be single-threaded, but it means i need to make sure the environment is ok with multi-threading

hollow spruce
#

Sh aways failed

#

Crypto hacker 😂
Littery they hack npm again

real sierra
#

cryign i dont always fail

hollow spruce
#

Discord bot failed
Pacman -Syu aways failed
My network FAILED has ####

real sierra
#

python users, are there particular versions that you prefer using, or is the latest stable release always fine

amber fractal
#

3.12 because some people don't update deps

#

My personal projects are on 3.13 as I can handle that myself

wide flicker
#

yeah I'm also currently using 3.12

real sierra
#

3.12 OK

olive sable
#

ive had a time the min version for a rep was 3.13 and the max for another was 3.12 FRICK

#

i ended up manually modifying the one that needed 3.13 to work correctly on 3.12

#

it wasnt a full incompatebility, there was just a bug that they fixed in the 3.13 version and i needed it gone in 3.12

amber fractal
#

I know exactly what project this is

olive sable
#

this was for the game-jam last year yep

amber fractal
#

Python Game engine web port

#

Called it

olive sable
#

enub that was not my best work

#

but now im doing vulkan so its not my worst

amber fractal
#

That turn of events caused me to end up joining you

olive sable
#

im trying to type attrib but it constantly changes to VkPhysicalDeviceVertexAttributeDivisorFeatures bwaadow

amber fractal
#

This is one of the reasons I don't have any autocomplete

olive sable
#

fair

amber fractal
#

It legit has a 100% chance of getting in my way instead of being useful

#

Wiping system because I muderized nixpkgs by letting the battery die while updating. Let's hope the config I switches to actually functions.

real sierra
#

i think i screwed it all up salute

#

10gb was way too small of an install drive

#

new vm PagMan

amber fractal
real sierra
#

ideally i only need to remake the system drive

olive sable
#

me when i install windows on ram only

#

no ssd

real sierra
#

the second storage drive i actually put everything on should be fine

amber fractal
olive sable
#

surely 64gb is enough. altho i have no clue how to do an os install on ram only

amber fractal
#

I'd want to do some more disk cloning as the used storage is a lot smaller than what windows allowed itself to be installed on.

real sierra
#

time to install labubu again

amber fractal
#

After I find where this win11 image I'll let you know after I remove some apps.

olive sable
#

dont bother, i myself wont be trying it out

amber fractal
#

I needed to do it anyways

#

I know the FS that is one is getting wiped so I need to move it off

real sierra
#

OfCourse turn all of ram into a ramdisk for the OS and then use a pagefile for all your ram

olive sable
#

what is an ssd but jsut more ram?

real sierra
#

well wait

#

if your os is on a ramdisk

#

then the pagefile is on ram too

#

so its probably wicked fast

olive sable
#

me wehn i put my puter in sleepmode and everything gets moved from ram to the pagefile, that is also in ram

#

so when i turn it back on the os wil be gone

amber fractal
#

That fits on a ramdisk 💯

#

I so badly want to shrink that C drive some more

#

7GB C: would be funny as frick

#

(this has edge removed and firefox installed, it was never opened as I commandline installed firefox)

olive sable
#

im trying to do dynamic objectlaoding now in vulkan instead of only 1 tutel, and the code is not pretty.

#

its not done yet but give it some time

amber fractal
olive sable
#

i guess look for hidden files?

amber fractal
#

True

olive sable
#

windows always doing some weird shit neuroCatUuh

amber fractal
#

nope still nothing

olive sable
#

well then i dont know

real sierra
#

windows just kinda does random bs under the hood and i really admire that

#

it's the pinnacle of spaghetti

amber fractal
#

classic automod

olive sable
amber fractal
real sierra
#

you reduced the size of that yourself

olive sable
real sierra
#
$ which gcc

$
#

ok

olive sable
real sierra
#

guess we're really installing everything huh

sage crag
#

g cc

#

nixos in vm

real sierra
#

forget gcc my c is gg

sage crag
#

nixos is good

#

in vm

real sierra
#

too late

fast pagoda
#

garuda arch has a "nix subsystem" that i havent bothered to try

#

tfw nix got wsl'd from linux

real sierra
#

lubuntu update has decided to fetch a 577 mb package

#

-1 year

amber fractal
#

Any time I do nixos in a vm it is slow as balls with the UI

fast pagoda
#

why is it so slow

real sierra
#

god only knows

fast pagoda
#

is that a repo issue

real sierra
#

probably

olive sable
#

577mb shoudl be downloaded in less than a minute

real sierra
#

its just this one thats so slow

olive sable
#

KB AINTNOWAY

fast pagoda
#

for some reason when i get an update to one of my packages i think it's like a google font package or something, it downloads SOOOOO slowly but only that one

real sierra
#

mirror held together by gorilla glue]

olive sable
#

]

amber fractal
fast pagoda
#

probably

#

i am too afraid of it ruining everything to try it

#

could do a snap but eh

#

well, it'd auto do a snap

amber fractal
fast pagoda
#

but that's so much work redoing id have to do literally 2 things

amber fractal
#

It was fast, but also it was heavy

real sierra
#

funyun

fast pagoda
#

what's poppin

real sierra
#

have you heard what im putting together

fast pagoda
#

i have not unless it's the chess thing

real sierra
#

it is Sadgi i take it you're not interested

fast pagoda
#

ive been making a stupid man page browser thing so i can load them in my browser instead of terminal LULE

fast pagoda
#

other than that it requires c bindings

real sierra
#

i also know nothing about it

fast pagoda
#

lmfao

real sierra
#

i figured putting myself in a position where that knowledge is load-bearing is a great way to learn

#

now i get to pretend to be an expert on something i know nothing about

#

and everyone else gets to learn too Happie

amber fractal
#

Besides the others plotting to get Elyvn to be a viable candidate I got no idea.

fast pagoda
#

what is the concept of this chess thing

sage crag
#

load bearing bones are the bones you need to not become jelly

real sierra
fast pagoda
#

chess

real sierra
#

participants each make a chess bot

sage crag
real sierra
#

chess bots fight

sage crag
real sierra
#

determine strongest bot

sage crag
real sierra
#

some limitations added to keep things interesting

sage crag
fast pagoda
#

and these bots i imagine aren't meant to be hooked up to stockfish

real sierra
#

no network connections, and max token limit on the source

#

so stockfish should be off the table

#

the bar is not to make an engine that can beat stockfish anyway

fast pagoda
#

imma fine tune the shittest 1B llm on only chess moves

real sierra
#

you only have to beat the other submissions

amber fractal
#

If I join I'll have to probably break a couple rules due to not having direct conversions of some metrics

fast pagoda
real sierra
olive sable
#

im trying to make the old vulkan system work with the new model so i have to pass bufferManager.testmodel.primitiveDataList[0].indices.size() to my framemanager ICANT

real sierra
#

the token limit is intended to be quite low

#

probably below 10k

amber fractal
#

Dedicated LLM could work

#

let me do some math rq

real sierra
#

neural networks have been squeezed down this small

#

but idk about llms

fast pagoda
#

if it loads the weights from a separate file does the .safetensors or whatever it would be count towards the length limit ReallyInnocent

amber fractal
#

If someone does a text input of a 8x8 grid with 7 states, then you got 22 turns

real sierra
fast pagoda
amber fractal
fast pagoda
real sierra
#

i would encourage you to give it a shot and submit something

fast pagoda
#

i haven't ever considered how i'd do anything liek a chess engine before so it'd be something way new

real sierra
#

i dont think anyone here has any experience with this, so doing even a little better than random moves will make you a strong contender

#

ill have a proper github page for all this ready when i have it all put together

amber fractal
fast pagoda
#

i have no life so ill probably see it but ping me when you have the specs, in the meantime i'll drool on my keyboard and thonk

#

came to find out thru rendering this page with every manpage that's able to be found in any directory on my root drive

#

i have over 25,000 man pages on system apparently?

#

that's a lotta manual

real sierra
#

and now a 42MB package perish

fast pagoda
#

my system has been up for almost 3 days now because this php import is STILL going

#

it has to be so close

#

but i just ran my first update

#

70 packages w/ updates

#

honestly not as bad as i expected

amber fractal
fast pagoda
#

yeah the llm would be tiny anyways so likely unable to handle more than a couple moves regardless of whether or not you give it them in the context

#

it'd have to work off the current board state only i think

#

maybe a move or 2 back

#

because it would be so dumb

amber fractal
#

With 10k tokens, you got more than enough

#

even with 1k you have 15 past moves. (I misdid the other one)

#

And that is assuming char level tokenizing

#

8x8 board + delim

real sierra
#

programmers

#

i hope your coding is going well

fast pagoda
#

when we're talking tokens here i'm trying to comprehend if you're talking like, 10k tokens as in the length of the source file

#

or

#

10k tokens for teh chess game

#

in text for moves

amber fractal
#

Fair question

real sierra
#

10k token source file

#

as in, after the lexer turns your source code into tokens, there must be at most 10k tokens

fast pagoda
#

thats what i thought but iggly made me doubt

real sierra
#

though i will probably aim toward the lower end of that bound

#

1k might be a more reasonable working amount

#

but i may bump that up a little

#

still mulling it over

fast pagoda
#

so like a keyword is a token, a literal is a token etc after that yeah

#

in general

#

10k is a long boi

real sierra
#
int myvar = 1;

==>
["int", "myvar", "=", "1", ";"]

fast pagoda
#

ye that's what i expected ok cool

amber fractal
#

Python has the advantage due to no semicolons or brackets, noted

olive sable
#

im getting an error

If the parameters define an export operation and the handle type is not VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID , allocationSize must be greater than 0

but now im wonderimg why android gets a free pass on allocating 0 memory hmm

fast pagoda
#

keyword/identifier/operator/literal/separator and/or punctuation all 1 token each

#

coo coo coo

real sierra
#

the answer is probably going to end up being "use the language you know best"

fast pagoda
#

scratch expert

olive sable
#

in c++ the brackets are more like a suggestion these days i think

#

but ye there is more syntax spaghetti

amber fractal
olive sable
#

would a single scratch block count as a token?

fast pagoda
#

i was gonna ask that lmfao

#

but then i figured it probably is like

#

60289753329184798 somehow

olive sable
#

scratch block still need some typed in numbers here and there so i guess not

fast pagoda
#

well they have to be converted into whatever the intermediate is for scratch before compiler

#

and that's where the token count would happen i imagine

amber fractal
#

one for block and one for each value, this is balance because scratch doesn't implement enough basic math

fast pagoda
#

i actually have no idea how scratch actually functions

#

it lego

amber fractal
#

compile to JS IIRC

fast pagoda
#

oh

#

that makes sense and is boring

#

i have crafted my magnum opus
svg vitruvian man with weird proportions as an icon

amber fractal
#

If I could manage to actually finish my lib, I could see myself going for the train on stockfish approach.

real sierra
#

if you somehow

#

fit a scratch vm into the token limit

#

i would be super impressed

#

regardless of actual chess performance

fast pagoda
#

load scratch vm

amber fractal
fast pagoda
#

instantly just surrender

amber fractal
#

ggs wp

real sierra
#

EZ ?

fast pagoda
#

there's actually no shot an llm is fitting in this 10k limit at least not using something like llamafile

1b llama's llama file is like 250 million tokens since it's a gigabyte

#

well i mean the actual cpp part of it wouldnt be that long

#

but like

#

you have to fit the llm in the single file

#

which is like a binary

amber fractal
#

I just realized a cursed method for multi language

#

Submit a bash file

real sierra
#

im all e-

#

how is that multi language

#

thats single language

amber fractal
#

buildscript++

real sierra
#

i cant wait to get insightful submissions like apt-get install stockfish; stockfish and sudo rm -rf

fast pagoda
#

lmfao

amber fractal
#

I was going with pasting strings into compilation software but that is more funny

fast pagoda
#

i will submit a single file and it'll be dont_look_at_my_size.cpp with a massive 1gb llm's binary embedded in the file

#

and since the binary isn't technically tokens it doesnt count :^)

#

not as far as a lexer is concerned

real sierra
#

submission name: zipbomb.tar.gz
submission comment: my chess bot is inside its just zipped to keep it small

fast pagoda
#

actually is a .rar with the recent path traversal cve

real sierra
#

and thats why its all being run in a vm

fast pagoda
#

"hey guys that vm was set to autoscale why is the instance costing $20/hr?"

amber fractal
fast pagoda
#

well one day i'll be able to say this import finished and then ill be able to do anything else that might require me to ever restart my pc, update anything, or use all the resources i have

#

but that's not quite yet apparently

#

it's finally larger than the .xml export itself was

#

idk how much "compression" the xml dump achieves but it cant be THAT much

#

almost 3 days NeuroHypers

#

ram use continuing to increase like a boss

#

surely it'll be done soon

#

i just want to reboot

real sierra
#

this is my first time building python from source

#

i gave it two threads and its in a vm

#

should i let it run overnight or will it be done within an hour

amber fractal
fast pagoda
#

i would expect CPython to build in like 15 mins

#

but idk about how long with 2 threads

olive sable
#

i have the vertex and indexbuffers working on the new system neuroHypers

real sierra
olive sable
#

now i need to get the textureloading on there too

fast pagoda
#

lmao these models just in space get me

#

i wish he were spinning though

olive sable
#

he is

#

but im not recording

fast pagoda
#

damn

real sierra
#

you will be given an interface of some kind that lets you interact with the chess board, and then your bot just uses that to decide and make moves

fast pagoda
#

when u hit a lick

real sierra
#

that part is what you write, and only that part counts toward your token limit

#

the language's standard library and the chess board interface are free

fast pagoda
#

if my language has an interpreter to run does that count

#

you kinda implied that with scratch vm thing

real sierra
#

i said the scratch vm thing because i dont intend to add support for scratch

fast pagoda
#

am i tryna fit the jvm in this 10k tokens cuz it's over

#

oh

amber fractal
real sierra
#

i'll try to support a few common languages at least, but i have to implement the chess api myself for each language i plan to support

#

point being i wont support all of them

#

i welcome requests for language support if it seems easy enough, atm i plan to at least support c and python

amber fractal
#

I'm sure the scratch folks will build out their own API

real sierra
olive sable
#

python can just use the c api probably, but stuff like rust will be more difficult ye

fast pagoda
#

doesnt rust have a C api

real sierra
#

yeah the C api will be public, so if you can create bindings from your language to that, i'm happy to make those bindings official and remove them from having to be included in the submission

amber fractal
real sierra
#

salute sorry python users

#

i built python before installing zlib or lzma

#

no compression in stdlib for you nuhuh

fast pagoda
#

is it already done?

#

i just started building it because i was curious lol

#

to see how long it would run for

real sierra
#

looks like it

fast pagoda
#

ez

real sierra
#

that was quick

#

im honestly surprised it worked

#

i had no idea what i was doing

#

sweet

fast pagoda
#

not having zlib and lzma might be like

#

unusable

#

try using pip

#

that would kill gzip and zipfile without deflate, no

real sierra
#

nobody is using pip

#

one of the first rules of the contest is stdlib only

fast pagoda
#

i am, i need it to install my cryptominers

real sierra
#

nope

fast pagoda
#

dammit

real sierra
#

fit your cryptominers in 1024 tokens

#

otherwise im not interested

olive sable
#

pip uninstall pip

real sierra
#

also rule 2 is no network connection so unless you're donating that crypto

fast pagoda
#

as long as it never needs to read a png or use any sort of web traffic that gets compressed for the interaction with the game ig

real sierra
#

it shouldn't do

#

the interface is text-based, and that's being handled in c anyway

fast pagoda
#

no tar.gz or anything either which makes obfuscating infostealers harder this is impossible

real sierra
#

...though.

#

i dont know if python pickles anything when interacting with C

#

does the pickle protocol have compression

#

its weird as hell

glad path
fast pagoda
#

as something of a .pt myself

glad path
fast pagoda
#

no pickle is not a compression thing

#

it's serialization

real sierra
#

that wasnt the question

#

does it compress objects before (or after) it serializes them

fast pagoda
#

you can compress it after which is very common

#

no it just takes the object and serializes the raw object

real sierra
#

ok thatrs fine then

fast pagoda
#

youll usually see a pickle.dump being wrapped with gzip

#

or similar

amber fractal
glad path
#

its fine for me most of the time

#

should i use pipx or something instead

amber fractal
#

Alright, time to build Hy-

#

We love relying on the filesystem when it changes for paths

#

Once again, time to build Hyprland

#

After I install 13GB of other files

#

I'm sure I'll be installing more as my system and home packages are split

fast pagoda
#

well i didn't disable tests in this python build so it's over

#

the tests are taking longer than the actual build did

amber fractal
fast pagoda
#

at least they seem to disable the tests that would take time by default but doesnt that defeat the purpose of running iwth the whole test suite which im pretty sure i did lol

fast pagoda
amber fractal
#

I probably have apps that need it

fast pagoda
#

i have it, idk what runs it and dont care enough to find out as long as stuff works

#

i like the name of the extensions

amber fractal
#

Also man every time I look at the gnome installer I am reminded on why I didn't choose it

fast pagoda
#

DAMAGE

olive sable
fast pagoda
#

ive tried to gnome a few times

#

i just cant do it

#

i end up installing 4189374519847129837198 extensions to make it work like kde or something

amber fractal
fast pagoda
#

which at that point might as well just use kde or anything else

fast pagoda
olive sable
#

that BIG-REQUEST will leave some DAMAGE

fast pagoda
#

yo momma so fat i have to call BIG-REQUESTS to have a chance of her loading

#

emotional DAMAGE or something

#

that's a big cursor

olive sable
#

cursor caught in 4K

fast pagoda
#

it says the entire screen #0 is the same dimensions

#

so in case i ever wanted my cursor to fill the entire screen ig

#

idk what that is trying to refer to necessarily

amber fractal
fast pagoda
#

now i want to see what other xwayland/xorg extensions are called

#

ok python how long u need to test sockets

amber fractal
#

Alrighty, hyprland actually complied this time

#

So that is an improvement

#

now to get the rest working

fast pagoda
#

yeah i mean that's the best running hyprland ever if it managed to compile

#

even if u havent ran it yet

#

as an nvidia boi ive not had hyprland cooperate very well for more than a short amount of time

amber fractal
#

I don't have the knowledge to fix whatever the build process on nix is smoking

#

I'm just glad it works

#

sometimes

fast pagoda
#

it's smoking that pack (nixpkgs)

amber fractal
#

Yeep

#

Time for the usual commandline before I get everything else installed

fast pagoda
#

python at the end of the build said it can't compile ssl because i dont have at least openSSL 1.1.1 installed

#

scared me a bit

#

k python whatever brah

#

so i guess even if there was zlib and lzma installed there's no guarantee their crappy build script will use it

amber fractal
#

I should have transfered some of the botch fixes I did

#

Need to remount a few of these file systems

fast pagoda
#

i finally broke down and put a repo up with a shell script that remounts my drives and adds it to fstab so i dont have to do it every time i reinstall which can be frequent if im feeling extra stupid

#

who needs nixos when you can have a fragile bash script that makes a bunch of assumptions

#

not me

real sierra
#

have to come up with all the functions I want in the chess API

#

and then figure out how that interface is gonna work

fast pagoda
#

i wrote a whole example of using pickle with compression on a base64 encoded server uri, as a joke, and then didnt post it because it seemed too close to something actual malware might use
and it's all your fault

amber fractal
#

I'd elp with that but I'm busy atm

#

I'm probably not joining

real sierra
#

honestly the setup for this tournament is going quicker than I thought

#

it doesn't actually seem too hard

fast pagoda
#

concept is easy enough

olive sable
#

i guess you only really need a getBoardState() and move(endposition)

real sierra
#

well I'm gonna provide a little more than that

#

getLegalMoves() for example

#

there's lots of boiler plate like that where it's basically always done the same way and is essential to a bot

#

so I don't plan to make everyone implement all that as part of their token limit

fast pagoda
#

token savings

amber fractal
#

Would a getPastMoves() exist?

fast pagoda
real sierra
#

you'll be able to make and undo moves on your local copy of the board

fast pagoda
#

getPastMoves() but for the entire tournament so i can quickly train a small nn from scratch on all the moves previous and use that each turn

real sierra
#

so I think they'll inherently have a move history

olive sable
#

theorethically, would we be able to see the sourcecode for stuff like getLegalMoves() or do we just go in blind?

amber fractal
#

I'd hope that it is in chess notation

real sierra
olive sable
#

it would save tokencount but if there is a timelimit doing it yourself might be faster

#

idk yet tho

real sierra
#

there will be some documentation for it too, to make it easier for people to write similar interfaces for their languages of choice

fast pagoda
#

use 9000 of your 10000 tokens rewriting all of the api functions in rust because you literally cannot fathom not rewriting everything in rust

real sierra
#

I've thought more about how it'll work tho, and it may be more work to write a custom language implementation than just wrapping the c implementation with some bindings

olive sable
#

btw how do you see how many tokens you're at?

real sierra
#

I haven't figured that part out yet but I'm sure there's ways

#

find a lexer for your language

fast pagoda
glass flower
#

yeah just write a C api and every language can write for it

real sierra
fast pagoda
#

yes please execute the arbitrary code

real sierra
#

it's very awkward where the interface sits

#

there's kinda two parts to it

#

there's the part that provides definition and convenience functions for working with boards and moves

#

and there's the part that communicates with the chess server via UCI and mediates those commands with the chess bot

amber fractal
#

If I were to do this, I'd probably be building out the full stack myself. Just because I'd need to for training.

real sierra
#

the latter needs its own thread which complicated things

olive sable
#

i tried to google it but i didnt really find much

#

ill leave the tokenizing to someone else

real sierra
#

I'll provide some info on how I'll check your token count per-language

#

I don't expect people to submit blindly

#

will be in the detailed info

olive sable
#

yes i know what a lexer is

#

but i need to find one

#

i think i found one actually

fast pagoda
#

logos

olive sable
#
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':

so each charachter of a string or a number is a seperate token?

#

the number 800 is 3 tokens?

fast pagoda
#

no the int 800 would be a token

#

a lexer doing character level tokenization would be goofy for a lexer in a compiler since the point is that the parser doesnt have to deal with every character in the source

#

it's like the prep chef that cuts all the shit up so the actual chef doesnt have to start from the raw ingredients because that would take forever

olive sable
#

well then the lexer code i found is shit

fast pagoda
#

it's meant to abstract things a bit not make them worse

olive sable
#

unless its only checks the firrst digit of the token

fast pagoda
#

that thing you posted i could only imagine is some sort of extremely verbose and poorly conceived check to see if a character is a letter so they can further see if it's like a variable name or something idk

#

are you sure that's not yandev

#

yandev is the master of the ultra switch statement

olive sable
#

no, the problem with yandev iirc was a lack of switch statements

#

that must be recent code

fast pagoda
#

idk what i just posted is literally from yandere simulator from 5 years ago

olive sable
#

5 years ago is recent code in terms of yandev

olive sable
fast pagoda
#

human readable YEP

olive sable
#

the updateLabel seems to constantly use the same numbers so that should probably just get built in as standart setting

fast pagoda
#

i didnt actually care about it when it was a big thing and you are right the switches were a replacement for the infinitely nested else if statements i guess despairge

#

wew

olive sable
#

ReallyInnocent yep

#

from what i heard a publisher wanted to fix the game up but yandev wouldnt let them fix his code

#

too much pride i guess

fast pagoda
#

the first thing i wrote myself was a python blackjack that did something of the sort just using only if/else cases

#

in like 2010

olive sable
fast pagoda
#

i have nightmares about it

olive sable
#

bro was playing python balckjack while i was 3

fast pagoda
#

it's actually the reason i stopped programming entirely for years

#

and only restarted in the last few years

#

i was like how can people do thjis

#

this is blackjack and it was getting too hard to mentally conceive of what was happening in all those cases

#

i would've been like 13-14 whenever this occurred so i use the excuse that i was literally a baby toddler

amber fractal
#

Back to iso I go

opaque sigil
fast pagoda
#

blessed file length

amber fractal
#

Okay, at least nofail is doing me favors

#

Back to iso, I need to regerate this. I forgor to mount the home partion

fast pagoda
#

you dont need that it's fine

amber fractal
#

Well none of my user partions are loading, so preferably I'd be fixing that

#

At least it isn't wiped

opaque sigil
#

I'm lazy so I just use disko to mount everything in one go when I need it

amber fractal
#

I found setting up disko to be a pain

fast pagoda
#

looks like a fancy fstab

opaque sigil
#

It's not that baaaad

#

And yeah that's essentially what it is

fast pagoda
#

they have an incredible marketing graphic

olive sable
#

a destructor cant have parammeters

opaque sigil
#

Well yeah, make it a normal function lol

#

How do you pass arguments for something that runs automatically

fast pagoda
#

why woud you use parameters for a destroyer

#

it only knows how to use lazers and rockets

#

but it doesnt need u for that

olive sable
#

you make a lot of sense, but vulkan needs me to pass the device to free the memory

amber fractal
olive sable
amber fractal
#

hardcode the device ReallyInnocent

olive sable
#

no

#

i do find it funny how im basicy passing VkDevice device to almost every single function in this engine

#

the vulakn tutorial has everything in a single class so not a problem for them since its a class variable, but i dont

amber fractal
#

Invest

olive sable
#

including the 2 volk files i have 19 files of code

olive sable
amber fractal
#

I'd just make it a class var at this point, it seems like it belongs there

fast pagoda
#

the primitiveData needs a destructor defined the class then when you call destroyAll on it it should already have the device reference handled because it's in the class

olive sable
#

i cant just make it a class variable of every single class tho? or should i?

#

PrimitiveData looks liek this btw

struct PrimitiveData
{
    std::vector<Vertex> vertices;
    VkBuffer vertexBuffer;
    VkDeviceMemory vertexBufferMemory;

    std::vector<uint32_t> indices;
    VkBuffer indexBuffer;
    VkDeviceMemory indexBufferMemory;

    VkImage textureImage;
    VkDeviceMemory textureImageMemory;
    VkImageView textureImageView;
    VkSampler textureSampler;
};
struct AttribDatta
{
    const unsigned char* dataPtr;
    int stride;
};
tender river
#

HOLY maybe i'm not gonna backread that

olive sable
#

its mostly chess stuff and whatever else happened

fast pagoda
olive sable
tender river
olive sable
# fast pagoda ya so you just move the destructor into that under ```c++ VkSampler textur...
struct PrimitiveData
{
    ...
    VkImageView textureImageView;
    VkSampler textureSampler;

    void destroyTexture(VkDevice device)
    {
        vkDestroySampler(device, textureSampler, nullptr);
        vkDestroyImageView(device, textureImageView, nullptr);
        vkDestroyImage(device, textureImage, nullptr);
        vkFreeMemory(device, textureImageMemory, nullptr);
    }
    void destroyVertexBuffers(VkDevice device)
    {
        vkDestroyBuffer(device, indexBuffer, nullptr);
        vkFreeMemory(device, indexBufferMemory, nullptr);
        vkDestroyBuffer(device, vertexBuffer, nullptr);
        vkFreeMemory(device, vertexBufferMemory, nullptr);
    }
};

like this?

fast pagoda
#

it was a whole lotta speculation of how best to destroy shiro's computer

olive sable
#

i see a lot of typing happening

fast pagoda
tender river
fast pagoda
#
struct PrimitiveData
{
   ...
   ~PrimitiveData() {
  
        vkDestroySampler(device, textureSampler, nullptr);
        vkDestroyImageView(device, textureImageView, nullptr);
        vkDestroyImage(device, textureImage, nullptr);
        vkFreeMemory(device, textureImageMemory, nullptr);

        vkDestroyBuffer(device, indexBuffer, nullptr);
        vkFreeMemory(device, indexBufferMemory, nullptr);
        vkDestroyBuffer(device, vertexBuffer, nullptr);
        vkFreeMemory(device, vertexBufferMemory, nullptr);
  }
};

whatever this comes out looking like i copied the classes from ur codeblock and it hated me

fast pagoda
#

it's the same as any destructor using the ~className(); syntax in the definition https://www.geeksforgeeks.org/cpp/destructors-c/

#

then it's just tied to the object lifetime

#

and blows it up when the object is out of scope

#

automatically

olive sable
#

i already dont do raii mostly, i thought it might be handy for game objects tho

real sierra
#

ahhhhhhhhhhhh

#

my head

real sierra
#

ive been writing this single markdown page for like

#

hours

olive sable
#

imagine writing markdown

fast pagoda
#

do what i do and format it like total ass, let markdownlint underline the entire document

#

and then slightly add some parts of the md to it so it knows what you're going for

#

autoformat

real sierra
#

its too late its basically done

#

which is terrible

#

because it means i have to do the coding part now

fast pagoda
fast pagoda
olive sable
real sierra
#

this page is so long

#

i feel like it needs subway surfers in the corner

fast pagoda
#

lmao

#

add gamba mechanics

olive sable
fast pagoda
#

pull SSR+ .md version and you get all the info

#

common gets like 1 paragraph

olive sable
#

lett gemini write it and just edit what needs to be changed

#

nah actually, make gemini edit it

#

minmaxing

fast pagoda
#

that's how you get a shitload of emojis added to your md

olive sable
#

"remove the emoji's" boom fixed

fast pagoda
#

every time ive given up on life and had an llm write a readme or something i feel like i've spent more time un-slopifying it than i would've just writing it myself

#

can't stand how they write them

olive sable
#

jsut dont unslopify it then

fast pagoda
#

if the README of all things is turboslop then i dont know how anyone could trust the content of the project

olive sable
#

"write it like a 15th century esteemed noble" enub

fast pagoda
#

you might be on to something

#

refactor this codebase like a 15th century esteemed noble

olive sable
#

i know its my own joke but that made me laugh out loud to ther point im lightheaded

fast pagoda
#

laughing like a 15th century esteemed noble

olive sable
real sierra
#

ok

#

my head is splitting

#

i need to put this down

olive sable
real sierra
#

im so brain fried

#

today was good progress

olive sable
#

shiro how late is it for you rn?

real sierra
#

made the github, made the readme, set up the vm, installed arena, built python, installed c build tools

real sierra
olive sable
fast pagoda
#

chess engine like a 15th century esteemed noble

olive sable
real sierra
#

this is how i am with projects

fast pagoda
#

i like how they just hadnt invented perspective techniques yet back in the day so they just didnt give a shit and totally warped objects to fully display them

real sierra
#

i will invest every waking hour for a week or two straight

#

and then never touch it again

fast pagoda
#

im mad that scamazon stole that name

olive sable
#

im going after my new speakers in half an hour NeuroBounce

tender river
real sierra
#

tomorrow: the chess api catdespair

fast pagoda
#

instead of lord farquaad it's just me inside the chess trojan horse

real sierra
tender river
#

i'm not going to your house

fast pagoda
#

i am

real sierra
#

i'm not going to your house

#

Won't fix

#

the more I think about the details the more bleak the future becomes

fast pagoda
#

just don't think

#

that's what i do

#

stuff just happens

real sierra
#

how do I even multithread in C...

tender river
#

pthreads

fast pagoda
#

we'll get there when we get there (never)

tender river
#

or on windows uh CriticalSection and CreateThread

real sierra
#

it's linux

rigid timber
fast pagoda
#

yes yes multithread in python now that the GIL is gone

real sierra
#

calling my Python bindings from C

tender river
real sierra
tender river
#

the only problem with c multithreading is it being platform specific

tender river
#

in any language

fast pagoda
#

no

real sierra
#

java

#

:)

tender river
#

then you might

real sierra
#

thread pool executor and then win

tender river
#

locking

#

synchronization

real sierra
tender river
#

ye

real sierra
#

I still can't figure out if the chess bot should start the API thread or vice versa

#

I guess the bot probably should

#

something like

opaque sigil
#

pthreads is pretty comfy you got this neuroHypers

tender river
fast pagoda
#

how long would these api calls need to run it cant be that long can it

#

if theyre super fast could get away with it from the main thread and pretend nothing else exists

#

:^)

#

surely nothing woul ever block it

real sierra
#
#include "chess.h"

public void main(int argc, char *argv) {
  ChessAPI *api = start_chess_api();
  int lenLegalMoves;
  Move *legalMoves = api->getLegalMoves(&lenLegalMoves);
  api->push(legalMoves[lenLegalMoves-1]);
}
#

idk something like that

#

don't judge I'm on mobile

#

you get the idea

plain dagger
#

hey can someone help?

olive sable
#

depends on what

real sierra
fast pagoda
#

chess.h is real Pog

real sierra
#

but yeah does that look like a useable API?

#

does that seem like a reasonable way of exposing its functions

plain dagger
#

someone told me to test out a bot on the website "JanitorAI". i normally use tavern so i don't use the online one much. i would like to know what good llm models are out there, since jllm is trash at handling role plays. any suggestions?

olive sable
#

uh

#

never heard of janitor ai so cant really help

plain dagger
fast pagoda
real sierra
#

might be some java bleed over

olive sable
#

NeuroBounce the vertexbuffer and indexbuffer are now stored inside the objectclass instead of only being created there and sent outside

fast pagoda
#

int main(int argc, char *argv[])

rigid timber
fast pagoda
#

wake up babe new hybrid frankenlanguage just dropped

real sierra
#

should probably also be Move** for the array

#

any suggestions on how to garbage collect any of this

olive sable
fast pagoda
plain dagger
#

shiro!

real sierra
#

hello!

plain dagger
#

No game: No life

#

love it

rigid timber
olive sable
#

well all i need to do know is make the textures object class variables instead of having one global texture. that is for later tho since i need to get ready to go after my new speakers

fast pagoda
#

i dunno if it memoryleaks if some moron like me forgets to free it properly that's a bit rough

rigid timber
#

well if it leaks memory then your bot will run out of memory and crash

real sierra
#

the bot may have to stop rather abruptly

#

idk how to do that part tbh

olive sable
#

oh wait lemme gitpush this

real sierra
#

I guess in practice it's not important, the bot just goes until it runs out of time

#

why even implement the whole spec I'm sure I can half ass it

#

but yeah the thing I'm wondering about right now is, if the chess server decides the chess bot has gone over time, how does it terminate the bot

olive sable
real sierra
#

I didn't make the chess server

#

it might ask it politely to die via UCI

#

which would complicate things

fast pagoda
#

aw

#

i knew that was gonna happen

real sierra
#

well I just don't know

#

it's not exactly documented

rigid timber
real sierra
#

which seems like a weird requirement to put on participants

fast pagoda
#

i mean the bot should be able to figure out if the game ends

real sierra
#

who would spend the tokens on that

fast pagoda
#

and die

rigid timber
real sierra
real sierra
rigid timber
#

or I completely misunderstood the architecture

fast pagoda
#

"hewwo plz destroy urself thank"

real sierra
#

but idk how to kill the process

#

especially since I have to kill both threads

amber fractal
#

How are we even communicating? Web requests or some other thing

fast pagoda
#

standardized apoptosis protocol defined in the api

real sierra
#

as a participant, you just get a nice API that lets you do calls like getLegalMoves and push to read the board state and submit moves

amber fractal
#

Sorry for not being 100% I'm kinda preoccupied

real sierra
#

but to make that work I have to puzzle out an interface between that nice system and the universal chess interface protocol

#

that's the part I'm dying on rn

real sierra
#

format drive and reinstall

#

it was a good run

fast pagoda
#

i dont think it needs to be overthought it just needs to send a message that the bot should expect and then it should use kill() or equivalent to end itself

#

not like it'd burn all the tokens in the world for that

amber fractal
#

If the neuro API does it, then we should as well

real sierra
#

does neuro use the universal chess protocol

#

that would be rather fascinating

fast pagoda
#

that's actually what she's built on yyah

#

source: im vedal

amber fractal
real sierra
fast pagoda
#

my chess bot

real sierra
olive sable
#

Im on the road to my speakers neuroHypers

fast pagoda
#

soon you will be crawling around hooking them up and malding

#

also this 3 day uptime while running this fucking php import script has also lead to my plasmashell running this whole time essentially and i think that has revealed some sort of memory leak so that's great

#

ram isn't being used too much but plasmashell is currently using 31 gb of swap LMAO

#

wtf

olive sable
#

31GB catdespair

fast pagoda
#

plasmashell 31493180 kB
is what i get when looking at the swap rn

#

restarted it and freed all 31gb instantly nice but wtf was that

#

better ignore it forever

opaque sigil
#

what are you doing

hollow spruce
#

Shiro is written in c good

stark needle
#

Good morning humans

fast pagoda
#

somehow not being freed

#

and i dont usually have the thing running for 3 days

fast pagoda
#

i wanted to have anime grills on my wallpaper

#

but i didnt want it to be all the time

#

so i downloaded like an entire wallpaper website

#

slapped it in a folder

#

and that just cycles

amber fractal
#

Weird how it isn't only preloading the next few

fast pagoda
#

well, i'm not positive that's what it is

#

but i was searching around and found some people complaining about plasmashell using a lot of memory

#

and multiple times ive seen it asked "well do you have a slideshow wallpaper" or similar

#

idk why it was just going into swap (so it's not actively in use) instead of just being freed

#

didnt even look at it before because i just figured it was some bullshit being caused by this php script

amber fractal
#

I've only had one anime gorl wallpaper since forever now. I should spice it up when I get the chance.

fast pagoda
#

but then when i saw swap at 30+gb i was like surely not

#

how would it use 30 gigs swap when the db is only

sudo du -sh /var/lib/mysql/archwiki
14G    /var/lib/mysql/archwiki
#

but also how do the wallpapers do it when the folder is smaller than that

amber fractal
#

Fully loaded into ram as RGB

#

preloading at it's finest

fast pagoda
#

did you get your usr folder back

amber fractal
#

Nope, no luck yet

fast pagoda
#

they stole literally like 5 dollars

#

they put the shittest payload all time in there

#

mfw pull off a million billion zillion gillion user supply chain attack and forgor the payload that does literally anything

olive sable
#

I have them neuroHypers

#

Ignore my shadow lmao

#

They're a lot bigger than i was expecting

#

They came out of an actual cinema apparently

midnight sigil
#

they are smart to be able to pwn an npm maintainer

#

but not smart enough to be able to make it more hiden and useful

olive sable
fast pagoda
#

that is cool as hell

rare bramble
opaque sigil
#

No wallpaper engine on linux neuroSadge

olive sable
#

Bwaa

olive sable
#

I still need to change my wallpaper in linux

fast pagoda
#

i summon my superpowers

#

your car is

#

an open zafira A

#

first generation

#

opel*

hollow spruce
olive sable
#

I customized the waybar a lot and i havent even looked at the wallpaper stuff

amber fractal
fast pagoda
#

i saw an option to have an animated wallpaper at some point

olive sable
rough bloom
fast pagoda
#

sam it's very important for you confirm if i have identified the MPV in the pic

#

i need to know to ensure my autism is calibrated

#

the swap memory @hollow spruce was just my KDE w/ a memory leak lmao

fast pagoda
#

vehicle

opaque sigil
#

I have accepted the reality that I will only ever see the wallpaper on startup before covering it with browser windows neuroSadge

olive sable
#

My car?

fast pagoda
#

the class of vehicle the opel zafira A belongs to is commonly known as an MPV (at least to me)

olive sable
#

Yes it is an opel zafira

fast pagoda
#

still got it

#

ayyy

olive sable
#

Idk if its A but i think so

fast pagoda
#

the first gen the name was just zafira A

#

99-05

olive sable
#

Yep

#

This is a 2001 or so i think

fast pagoda
#

next gen after that was zafira B lule

#

creative

olive sable
#

Here we just call it "den otto"

opaque sigil
#

The car?

olive sable
#

Ye

fast pagoda
#

mpv type vehicles should be more popular here

#

about 10 years ago a girlfriend had a ford cmax energi and it was pretty good as far as being a useful vehicle

olive sable
#

The only problem with this one is its getting old

#

Bad battery and stuff

fast pagoda
#

Luckily battery is simple enough to replace

#

It's not older than me so it can't be that old Aware

olive sable
#

Ye nah

#

Its really on its last breath

#

Good car, the engine screams however

fast pagoda
#

My buddy had a dog shit (he would call it that, he hated the thing) old Hyundai, it was like a 2007 but it was a Hyundai before ~2012 so it aged in Hyundai years which are a bit like dog years but for cars

#

Once when I was visiting the exhaust cracked

#

And the thing sounded like a NASCAR every time he wanted to accelerate

#

Just the loudest Hyundai maybe ever in history

#

I followed him to IHOP one morning before it was fixed and I don't think I've ever laughed that hard in my life for so long

#

Crying the entire way there from laughing every time he hit the gas

#

So that's what I'm imagining it does

olive sable
#

They have safely arrived home

#

They're just a lot bigger than i was expecting so ill have to think about where to put them

olive sable
#

Breaker tripped o7

hollow spruce
#

Bot is offline mode should I start using npm run ?

hollow spruce
olive sable
#

I havent even connected them yet neurOMEGALUL

hollow spruce
nocturne olive
tender river
#

meow meow meow meow

hollow spruce
olive sable
nocturne olive
#

Then I have no idea

hollow spruce
#

@tender river what game are u playing

tender river
nocturne olive
#

Either a bad breaker or something is broken or became shorted for a moment

nocturne olive
tender river
hollow spruce
nocturne olive
#

I've been playing some Osu recently too, is fun

#

I suck at it though

olive sable
#

Since thid place doesnt have actual groundwires im using a splitterbox with built in fuse. And it seems like it doesnt want to keep being on even with nothing connected

nocturne olive
hollow spruce
olive sable
#

5.1

#

But i have some other speaker dor height

#

So when its all installed ill have 5.1.4

hollow spruce
#

Hello @olive sable do u have projector 📽️?

nocturne olive
hollow spruce
olive sable
#

Its 3d tho

hollow spruce
nocturne olive
olive sable
#

I have fixed the power issue. Powerbox uses a button as a switch, and the inside mechanism got stuck.

#

Cuz of builtin protections eventho its down it defaults to off

#

dancingrainbowdog fixed it tho