#programming

1 messages · Page 226 of 1

cosmic sphinx
#

would you explain the process then

rigid snow
#

vocal synths are very iterative in how one works with them

cosmic sphinx
#

beyond the part of og voice extraction

nocturne olive
# cosmic sphinx would you explain the process then
  1. MIDI transcription, this can be automated but needs manual touchups
  2. Lyrics need to be inserted, manually or automatically depending on the tooling and quality level target
  3. You need to tune, manual pitch curve, breathiness, energy, all that fun stuff
  4. ONLY then can you render it out to be mixed
#

Just look at SynthV

rigid snow
#

yeah look at anything not necessarily synthv even, vocaloid or utau too but imagine that it's ml and not algorithmic

#

the workflow is the same basically

#

ml is just generally higher quality output

nocturne olive
#

So yeah making these covers is not at all trivial

#

It's not at all a plug and play process

#

It may have been in the V1 voice days, but not with V3

cosmic sphinx
#

never said it was, atleast in regards of preprocessing and postprocessing of the audio

rigid snow
#

v1 was straight up rvc i think

cosmic sphinx
#

but been kinda misinformed on the synth process

nocturne olive
nocturne olive
rigid snow
#

ye most you can do is extract the vocal track to then pitch transcribe it automatically

nocturne olive
#

Yeah, and I often do that to have a base

#

But I still do a lot of changes manually to make it sound more natural

opaque sigil
#

i hate hash tables, can we get rid of them neuroDeadge

rigid snow
#

i propose hash chairs

amber fractal
cosmic sphinx
#

ok it would be embarrassing for me not to know MIDI as a future sound engineer, but on the other hand, im only 3 weeks into my course
very useful for the future

#

ty for the info

rigid snow
#

vocal synths not really used in the industry

#

and by not really i mean not at all

#

useless info neuroLookUp

cosmic sphinx
#

na, I never looked into MIDI itself b4

rigid snow
#

the basic midi spec is super easy, it itself is a message bus, you basically have 3 types of messages

  1. note down (note 0-127, velocity 0-127)
  2. note up (note 0-127)
  3. what is known as midi cc - some parameter changed (parameter id 0-127, value 0-127)
final tinsel
rigid snow
#

in the modern age there is also MPE which allows changing certain parameters of notes as they're being played

#

stands for midi polyphonic expression

sage crag
clear sedge
#

i love writing 150 lines of pure types

real sierra
#

my bot is so cooked

#

yeah lets truncate the hash to 1/4 of its length and assume no collisions glueless

opaque sigil
#

How many bits do you use enub

real sierra
opaque sigil
#

So 6 bit hashes? Awkward

real sierra
#

nono

#

i use 24

#

the full hash is 64

opaque sigil
#

Oh

#

Should be fine unless you have a really bad hash function and/or a lot of items enub

#

How bad can a collision here and there be

olive sable
#

Oops

#

I misclicked the gif

real sierra
olive sable
#

My bad

real sierra
#

the plan for the bot rewrite is that all game tree nodes will be in the hash table

#

if a hash collision creates a loop, it's gg

#

though I do think loops are kinds unavoidable so I need to find a fix anyway

opaque sigil
amber fractal
#

Me writing in the void about the NN project:

This project has never been human in the slightest, and it is taking everything I have to properly handle it.
It's like I'm trying to write in a new language but the language doesn't use any senses that humans have.
SNN is at least based in neurons
The thing at least has a refernce
I don't have any reference for this, as what this is trying to do is entirely from nothing at all.

I'm suffering hard, send help for my sanity

lilac lantern
rigid snow
real sierra
#

bleh

#

i feel so low energy today

#

ive felt on and off sick too neuroBwaa

#

is sad because sick, or sick because sad Susge

olive sable
#

I spent roughly 5 hours on putting a wifi extender at the furthest point in my house, but the xbox one, the reason i did this, doesnt want to connect to it bwaadow

tender river
#

feedback loop Neurorb

olive sable
#

Idk

rigid snow
#

xbox neuroExplode

glad path
#

yell at until it works

#

trust

#

tell it "if you dont work something very bad will happen" and "if you don't work i'll be very sad"

#

works after a few (3-5) tries for me (on nearly everything somehow)

tender river
#

but you should check channels/frequencies

#

consoles can be picky about those

real sierra
sage crag
real sierra
#

lil busy

#

currently filling out very long form

sage crag
real sierra
#

very very long form

sage crag
olive sable
#

Maybe

real sierra
#

programming chat i have a question

#

what is wrong with my handwriting

#

i dont understand

#

i swear it's so close to being neat

olive sable
#

Surely

real sierra
#

but something is just slightly wrong and it makes it look like madman scribbles

#

its actually so close to greatness

#

but theres just something off about it

olive sable
#

Main issue is you're a human i guess

final tinsel
#

i just got a typewriter cuz my handwriting sucks

real sierra
#

RAGEY its so close to good but isnt

olive sable
#

Aight goodnight

tender river
sage crag
#

neuroDinkDonk nerdleaf

#

not do data science just practice handwriting

olive sable
tender river
#

just look dont do

#

thats how you get better

sage crag
tender river
lilac lantern
# real sierra

maybe you're gripping the pen too hard or uncomfortably? it looks like your writing gets worse the later in the line you are

#

could be your hand is getting tired and losing fine control

real sierra
#

i only care because i feel like with minimal tweaks it would look quite neat

#

seems like low hanging fruit

lilac lantern
#

you can also try angling your paper and making sure you move your arm as you go down a line instead of flexing your wrist to change position

red bronze
#

quackky birthday shiro

real sierra
#

party_hat
🦆

#

??

red bronze
#

quackbye

stray dragon
#

it's horrible and awful and it... saves 11 tokens over the cheating method i used before

tender river
stray dragon
#

going into this i thought i didn't have standards for how bad my code could be

#

this has pushed them

sage crag
#

question

#

why are you using strings instead of 64 bit integers

tender river
#

token

sage crag
tender river
#

does

sage crag
#

no

tender river
#

ye

stray dragon
#

1 comma = 1 token

sage crag
stray dragon
#

it actually does save tokens

#

saves 22 tokens over the "store it all as an array of ulongs" method in fact

sage crag
#

oh "" not tokens?

stray dragon
#

"" 1 token

#

"stringstringstring" 1 token

tender river
#

the string literal is a token

sage crag
#

ye

stray dragon
#

"ntubcrpy.bikbmpyhrcbibk.pubmihcrdbybmh.ctpubuikhcjoebmhcrxbidpb.rg,bikxr.pgd3dbicfgdydxpgcr.kjghbdxeofgcxigdcukjbtgdi.motdixdgct.px micfd,.kxectkmw.fciyphtxmtcxi,kx tp.g,kx.pig,xkfgcxpfxk.pgcxkjrgyp.dbgcbpixhcntk.,btohcabkxtgdeb;stnhqdbcrgxobcx"

#

1 token

#

but not allowed

sage crag
#

why you using \

#

is it not token

stray dragon
tender river
#

no

sage crag
#

it should be token SMH

stray dragon
#

it's not counted as a token

sage crag
#

readable code banned

tender river
stray dragon
#

that would be horrible

tender river
#

according to the standard nERMd

stray dragon
#

my standards are low enough i don't want to push them lower

sage crag
#

char can have width > 8 bits so technically > 64 bits of info SMH

stray dragon
tender river
#

konii can have > 8 bytes of info

#

ban

sage crag
#

c standard not talk about enub

tender river
#

it is on shiro's pc

stray dragon
#

oh i see

tender river
#

konii ban nerd

sage crag
#

🤫

tender river
sage crag
stray dragon
#

clearly

sage crag
#

in real code this never happen anyway since

#
uint8_t *s = (uint8_t *)(uint64_t[]){ 0xFE0700000E010200, 0x00000000000000FF }, *pc = __builtin_malloc(1024), *o = pc;
    while(*s != 255) *s & 0x80 ? ({ uint8_t l = (*s++ & 0x7F) + 1, d = *s++; while(l--) *o++ = o[-d]; }) : (*o++ = *s++);

here's the decompression i use on my bytecode at the moment evilNya

tender river
#

erf

#

forgot

#

c standard draft where

#

here

#

i forgot c has unicode now neuroCatUuh

#

char8_t *s = u8"⭐";

opaque sigil
#

chat do you think preprocessing insertions for almost a second when i can not do that and insert in 40ms is worth it ReallyInnocent

#

surely it will scale

tender river
#

maintain 16 versions of the insertion function

#

and a classifier neural network that picks the optimal function depending on operational conditions

opaque sigil
#

they turned the cuckoo hashing problem into a directed graph problem where you minimise the number of incoming edges for each bucket
kinda cool but also clearly not good enough om

sage crag
#

nya

opaque sigil
#

Preprocessing time 124805.601000 ms
Insertion time: 89.608000 ms
this is for inserting 2^22 elements enub

tender river
#

evilCry even the c standard has forward references

worldly acorn
rigid snow
#

msvc

sage crag
#

b

opaque sigil
sage crag
tender river
tender river
#

then it converts preprocessing tokens to regular tokens

tender river
dusty plume
#

grrr

tender river
#

"a" "b" "c" <- 1 token or 3 tokens depending on translation phase

real sierra
stray dragon
#

i understand now

#

i think

tender river
#

its just varint evilNodders

sage crag
#

thats a different piece of garbage in my code

#

this is a window based decompression

#
#define leb128_r ({uint64_t o = 0, s = -7, b; do o |= ((b = pc_r) & 0x7F) << (s += 7); while(b & 0x80); o;})

my varint read is much simpler

stray dragon
#

these are so evil

tender river
stray dragon
#

i know nothing about compression/decompression techniques and it seems i will need to study

sage crag
tender river
sage crag
#
/* ldr */ op(reg_pc = leb128_r)
/* bra */ op(if (!reg_pc) leb128_r; pc -= leb128_r)
sage crag
opaque sigil
#

i always forget how stupidly expensive modulo is neuroCry

#

i guess good thing i don't have any in my filter enub

rigid snow
#

dedotated wam

real sierra
#

i guess it division but still surprise

opaque sigil
#

yup

#

division not good NOPE

#

i mean this is relative to the alternative which is a single AND (assuming it's a power of 2)

final tinsel
#

THE CRASH REPORTER BROKE

ivory plinth
silent lintel
#

How do I actually run the chess bots to test them, either with Cutechess or something else? Like if I just wanted to have two copies of the random-moves example bot face off, how would I do that?

final tinsel
silent lintel
#

I have resorted to WSL, so I think I could do the linux thing if I got my hands on that readme

sage crag
final tinsel
sage crag
#

for floats though catdespair

tender river
#

fmod

silent lintel
real sierra
#

modulo floats catdespair

#

why are you doing that

#

dont

real sierra
#

set the command to something that will start your bot

#

for languages that need an interpreter, be sure to quote your command, e.g.:
"/usr/bin/python /home/admin/mybot.py"

#

you may have to set the working directory to where your bot is as well, it kinda varies by system so it can take some playing with

opaque sigil
#

zsh: no such file or directory: /usr/bin/python
neuroSadge

tender river
tender river
#

newero do you know

#

//x in posix is not necessarily equivalent to /x

sage crag
tender river
#

A pathname consisting of a single slash shall resolve to the root directory of the process. A null pathname shall not be successfully resolved. A pathname that begins with two successive slashes may be interpreted in an implementation-defined manner, although more than two leading slashes shall be treated as a single slash.

sage crag
#

so its for a URI thing or similar

tender river
#

looks like its no longer in posix NeuroBounce

sage crag
#

yay implementation-defined is no more

tender river
#

no misinfo

#

A pathname consisting of a single <slash> shall resolve to the root directory of the process. A null pathname shall not be successfully resolved. If a pathname begins with two successive <slash> characters, the first component following the leading <slash> characters may be interpreted in an implementation-defined manner, although more than two leading <slash> characters shall be treated as a single <slash> character.

#

they just reworded it

#

it was used for network paths on some unixes

#

if you do cd // it doesnt cd you to / evilAmaze

real sierra
#

i knew this YES

tender river
#

what context do you even learn it in neuroCatUuh

real sierra
#

typos YES

tender river
#

i thought they had nerd unix classes in your uni where they teach you useless details nobody will ever need in their life

real sierra
#

yeah they had a class on bash

tender river
#

bash is useful evilNodders

real sierra
#

i agree YES

#

but learning it in a classroom setting?

#

HOLY boring

tender river
real sierra
#

imagine you had to learn bash through lectures and tables of commands

#

and assignments where you had to implement the dumbest shell scripts

#

agony

tender river
#

write uci chess bot shell script

#

alpha beta pruning

real sierra
#

if only

#

doable actually

#

bash stdlib powerful

tender river
#

allow coreutils too

silent lintel
#

I'm feeling dumb. I've installed cutechess following the instructions from their wiki, but I can't figure out how to run the dang program. Should it not just be "cutechess" as a command?

real sierra
#

if you downloaded the appimage, it should just be the name of the file yeah

#

make sure you put ./ before it and are in the same directory

#

if you get an error about it not being executable, you need to do chmod +x cutechess_file_name_here

#

(last two items are for linux use)

silent lintel
#

Ok, that's what I needed thanks. This competition is forcing me to Linux whether I want to or not neuroThisIsFine

real sierra
#

salute windows support soon™

silent lintel
#

Nah man, I just finally got a single stupid all-random-moves game generated and I have never been more excited about anything in my life

tender river
midnight sigil
real sierra
#

if you have threads.h

#

good thing everyone supports it!

opaque sigil
stray dragon
#

adding in just the eval function and its associated macros takes 304 tokens catdespair

#

think i do have to cut stuff out...

glad path
#

just add pacman into ur code and tell him to eat the tokens

#

he'll never know they aren't pellets

opaque sigil
#
# Run 1
Inserting 67108864 entries
Calling kernel
Preprocessing time 90.380000 ms
Insertion time: 62.473000 ms
Completed insertion with 2 iterations

# Run 2
Inserting 268435456 entries
Calling kernel
Preprocessing time 16.016000 ms
Insertion time: 0.002000 ms
Completed insertion with 1 iterations

who needs predictable performance anyway i guess

stray dragon
silent lintel
#

How do I use the token counter?

opaque sigil
#

java -jar /path/to/jar /path/to/code enub

stray dragon
#

here's how to find the jar file for toknt

opaque sigil
#

there's a release on the github

stray dragon
#

oh shit i just saw

silent lintel
#

Oh I missed that too. Thanks!

tender river
#

also first 3 steps can be compressed into one

#

you can just click on the checkmark that you see on the first screenshot

stray dragon
#

interesting, thank you

wide flicker
#

Ha haaaaa never mind my dumbass managed to brick the damn drive so we're reinstalling the os now lets effin go

tender river
wide flicker
#

I am brand spanking new to Linux so im wary to touch nixos yet

tender river
#

evilNodders i'd recommend arch before nixos

opaque sigil
tender river
#

bazzite is good if you want something hands off

#

but it's a very intrusive distro

wide flicker
#

I was recommended Bazzite as something friendly to stream and game on

opaque sigil
#

Doesn't it also practically force you to rely on flatpaks

tender river
wide flicker
tender river
#

it has rpm-ostree install but it's not guaranteed to preserve packages after os updates and is in general soft-deprecated

opaque sigil
tender river
#

the way you're supposed to customize bazzite is making your own OCI image

#

which is

#

not good vedalCry

opaque sigil
wide flicker
#

You said you'd recommend Arch?

tender river
#

i'd recommend it for learning linux

#

it's pretty far from "just works" but you can learn a lot in the process of setting everything up

#

i wouldn't recommend it to the average person, i usually install ublue-based distros for non-tech-savvy people

wide flicker
tender river
wide flicker
tender river
#

a lot to take in evilNodders

opaque sigil
#

When in doubt check the arch wiki

#

It'll be your best friend

tender river
#

no matter which distro you use

opaque sigil
river copper
#

Anyone know a good way to get in touch with vedal if I have an idea for him?

jagged turtle
midnight sigil
#

random fen generator goes wild

maiden geyser
midnight sigil
#

@nocturne olive btw I have not been able to reproduce your bug in C(I have run 200+ game positions)

glad path
nocturne olive
nocturne olive
#

So we have encountered a roadblock with NeuroSynth as it turns out

  • RVC-based synthetic data CANNOT achieve anything higher than about G5, for some reason, likely RVC being old lossy garbage
  • So we need real proper data, where are we gonna get it
  • Wispers doesn't have the time to label any data
  • We can't afford to pay someone to do it for us

Our options?

  • find some magical way to get more life out of synthetic data
  • get someone to volunteer to label data
  • get someone to donate enough that we can afford to pay for it it to be labelled
clear sedge
#

linux was a bowl this whole time

jagged turtle
obsidian mantle
#

if i do this:

submoves1 = chess_get_legal_moves(inboard, &len_submoves);
submoves2 = chess_get_legal_moves(inboard, &len_submoves);

do i get 2 copies of arrays of moves?

#

2 pointers to 2 different copies

#

or does it merge it into one and both pointers are equal and the second one has 2 sets of same list of moves

#

i am a bit confused about when i have to free() my array of moves

#

(i have a problem with counting change of amount of available legal moves rn)

obsidian mantle
#

maloc allocates new every time? good

clear sedge
#

they're two different pointers

#

yis

obsidian mantle
clear sedge
#

it is your responsibility to free() tho

obsidian mantle
#

what if i dont take the result at all

sage crag
#

not always

obsidian mantle
#

like this

clear sedge
#

don't do that

obsidian mantle
#

oh so its stays allocated

clear sedge
#

at least call free() on it instantly

sage crag
clear sedge
#

yes

obsidian mantle
#

understandable nwero

obsidian mantle
#

after i make a move it treats moved piece as an enemy if i skip turn

#

what i do is:
get_legal_moves
make_move
skip_turn
get_legal_moves
undo_skip (i think this "undo" is useless?)

#

here knight and rook try to take friendly pawn that just moved

#

do i do something wrong or its some kind of bug?

#

i'll investigate more

#

even weirder variant when i do e2-e3, it says that the king can go e1-e3. and most important (for me) it doesnt see new available queen and bishop moves

obsidian mantle
#

same if opponent makes an actual move and not skips turn

#

board isnt updating properly after make_move()?

#

how the hell my recursion works then neurOMEGALUL

#

i'll make print board function and print it

midnight sigil
#

imagine dealing with C

shadow sinew
obsidian mantle
#

i almost printed it

#

the board looks fine

#

then it must be the get_legal_moves() itself

#

i'll try to play with freeing it

#

freeing it didnt help so it should be some internal variables in it?

#

also board isnt just pieces maybe i need to get more info from board

#

neurOMEGALUL the only thing i comprehend is "whiteToMove"

#

others should be useless

cobalt sigil
obsidian mantle
#

PauseSama what if i free the board too

#

oh but how will i build it if uci wont give it to me again

#

xdx copy its size

#

into a buffer

#

then restore

#

but why do i do this if i'll have to make a move too, i dont need just old board i need a board with new move

#

neuroBwaa gramin hard

shadow sinew
#

Would probably be useful to have a way to set up a Board from a FEN string. Then you could do all kinds of testing with that.

shadow sinew
#

Ah right.

midnight sigil
#

just need to expose void set_board_from_fen(Board* board, const char* fen); in your chessapi.h

obsidian mantle
#

hmm right

midnight sigil
shadow sinew
#

I think I might try setting up a test script that compares found moves against what some other chess api like python-chess finds.. thonk

stray dragon
cobalt sigil
obsidian mantle
#

static doesnt let me

cobalt sigil
#

but I already know my ip

obsidian mantle
#

oh im stupid i had to add static too

cobalt sigil
shadow sinew
# obsidian mantle static doesnt let me

This should work:

diff --git a/src/c/chessapi.c b/src/c/chessapi.c
index c31675a..6a15bf7 100644
--- a/src/c/chessapi.c
+++ b/src/c/chessapi.c
@@ -1878,6 +1878,11 @@ void chess_done() {
     interface_done();
 }
 
+void chess_set_board_from_fen(Board *board, const char *fen) {
+    if (API == NULL) start_chess_api();
+    set_board_from_fen(board, fen);
+}
+
 BitBoard chess_get_bitboard(Board *board, PlayerColor color, PieceType piece_type) {
     switch(piece_type) {
         case PAWN: return ((color == WHITE) ? board->bb_white_pawn : board->bb_black_pawn);
diff --git a/src/c/chessapi.h b/src/c/chessapi.h
index 2659658..d8cc532 100644
--- a/src/c/chessapi.h
+++ b/src/c/chessapi.h
@@ -264,6 +264,7 @@ This method will block until the opponent's turn has passed.
 */
 DLLEXPORT void chess_done();
 
+DLLEXPORT void chess_set_board_from_fen(Board *board, const char *fen);
 
 ///// TIME MANAGEMENT /////
obsidian mantle
#

what else does it want

#

did i put chess_set_board original in the wrong place

#

yes i did

shadow sinew
#

Yeah, looks like you put the function using start_chess_api() before it's definition.

obsidian mantle
#

it seems it fixed it

olive sable
#

Morning neuroWaveA

obsidian mantle
#

it means all my recursion is broken rn

#

inverted timezones shiro is mirmiring 😠

sage crag
#

nurm

#

nurmmm

maiden geyser
obsidian mantle
#

perfect moment to clean my house while api is broken vedalPog2

nocturne olive
#

I don't know if it's an X11 thing, but any time the framerate changes the mouse speed feels different
Though it could always just be something weird about framerate changes effecting perception

obsidian mantle
#

framerate so high it causes time dilation neuroMonkaOMEGA

nocturne olive
#

*low

clear sedge
#

in the gltf spec, it is technically possible for an image to not define anything that points to what that image actually is
the uri and buffer view are mutually exclusive, but neither the uri nor the buffer view are required
a spec-following image can literally just be {}

#

may be referenced by a uri or bvi

#

not must

tender river
#

i used this in an old firefox version to get background transparency

#

i just made the page bg a gif with no color palette

#

which made it render nothing in the bg

clear sedge
#

that is beautiful

tender river
#

they patched it later neuroSadA

clear sedge
#

lame

#

use an enum like other parts of the spec ❌
use mime types for some reason ✅

tender river
#

mime types are good evilNodders

#

labels instead of integers are used in any system where extensibility is required

#

think fp sum types vs oop objects

clear sedge
#

eh fair, afaik only jpeg and png have been supported for nearing a decade now though

#

part of me wants to add webp support because webps are cool

#

but the rational part of me is telling me nothing will export a gltf with a webp image so i shouldn't waste my time on it

tender river
#

still useful if you're shipping a game or something mahro

clear sedge
#

i am indeed shipping a game

#

i'll stick to jpeg and png though, nothing i use exports webp

tender river
#

you can just add a postprocessing step

#

but if the gltf is not huge it wont really give any benefits

clear sedge
#

yeah it'll generally be a negligible size difference bc i'm only doing low poly low res models anyway

#

might make it a thing in future if i see it fit, not on the todo list rn

#

actually allowing for mime types is smart

#

each property has an extensions field for any user-defined extensions
so i could mark it as an extension if i were to, say, add webp support to gltf

#

currently not using extensions and extras for anything though, they're generally useless for my purposes

tender river
clear sedge
shadow sinew
tender river
#

@real sierra look frogsmog

sage crag
#

fuzzer

tender river
sage crag
#

who could have suggested such a thing

tender river
#

testing neuroScared2

sage crag
#

testing NeuroScared

shadow sinew
#

Yeah, the python generator script generates random boards by doing random moves and then dumps the FEN & move strings. Then the C++ program loads the test data and checks if the moves match.

obsidian mantle
#

ok so it already fails on calculating potential moves of opponent after its own move.. testing further

#

so i dont need to test my own move after opponent's move since opponent's move is broken already. can try to figure it out from here
but not if opponent is black

nocturne olive
obsidian mantle
nocturne olive
#

Wuh

obsidian mantle
#

this example has only 1 wrong move but i assume it gets worse in more random board

nocturne olive
#

That is very weird

obsidian mantle
#

if you go deeper it gets worse (deeper in recurstion)

nocturne olive
#

Oh woah

#

That's my exact bug

obsidian mantle
#

but printing board shows nothing wrong! the board looks alright.
AND if you rebuild the board from fen before checking moves, it gives correct moves.

nocturne olive
#

That is the bug I SAW TOO

#

Pretty much anyway

obsidian mantle
#

and you are not on c

nocturne olive
#

Yeah KT

obsidian mantle
#

neuroLookDown the core of api

nocturne olive
#

For me I get moves that do not have pieces corresponding to them so my thing errors

#

Gets insanely bad already at depth 3 recursion

obsidian mantle
#

i always get correct moves on my current turn though.
so its impossible to make false move

#

you get fucked up recursion

#

anyway, trying to find out why its happening

nocturne olive
#

Yeah that's exactly what I obseverd, as soon as recursion happens everything goes completely to garbage

#

So it's not just a me thing

#

Seems like it's a wider issue then though if it's actually about what moves are output

sage crag
#

shimo

#

fuzzers

#

are useful

opaque sigil
glad path
#

genchat is going insane again ._.

obsidian mantle
#

that a2c5 wasnt added by this

#

here last call before returning, it stops at h3h4

#

shiro something is really really bad neuroBwaa
moves array gets moves out of nowhere

silent lintel
#

Am I blind, or is there no simple method with the api to get the bot’s own PlayerColor?

obsidian mantle
#

OK THIS IS ALL WRONG
im printing by wrong length.
this array is alright

#

ok then returning to original variant

real sierra
#

your bot only runs on its turn since done is blocking, so get_board will always return a board on which it is your move

real sierra
trim valve
#

limited fuzzing neuroPogHD

obsidian mantle
#

ok so with 1 more depth and i get this

black king can attack that black pawn

real sierra
#

perhaps a bit negligent of me

#

ultimately not breds responsibility

obsidian mantle
#

e8e5

real sierra
#

will download the fuzzer this afternoon and see if I can resolve any outstanding issues

trim valve
#

also there were still bugs they just also happened to be in cute chess and meant I couldn't check more games catdespair

#

(just cute chess failing to save game logs or segfaulting)

real sierra
#

I've been aware that the legal move checker still has bugs but it's been intractable to find them

obsidian mantle
#

shiro help
tldr:

make_move() - make our move
get_moves() - get opponent moves
make_move() - make opponent move
get_moves() - get our new moves

last get_moves gives false results

#

i need it to check overall mobility neuroBwaa

nocturne olive
#

Sounds very similar to what my bug does at its core

obsidian mantle
#

(also for plain recursion)

rigid snow
real sierra
#

are there legal moves missing or illegal moves included

obsidian mantle
#

it says in this board king can go e8 e5

real sierra
#

I haven't the slightest idea how

obsidian mantle
real sierra
#

fascinating

#

ultra king move

obsidian mantle
#

it only happens when you go 3rd step and deeper into recursion

real sierra
#

e8e6 too

obsidian mantle
#

you first moves and opponents moves after that look fine

#

you know whats funny

#

when i print the board it looks fine

real sierra
#

somehow no e8e7

obsidian mantle
#

the worst for me is 0 moves by bishop and queen

real sierra
#

that's definitely a bug

#

yeah wtf Huh

#

I swear it's not this broken for me

glad path
obsidian mantle
#

how

#

the only difference is you are doing in plain c

#

hmm

#

do i try it in c

real sierra
#

I'll look into it this afternoon

#

very strange bugs indeed

dapper kernel
#

Bugs

obsidian mantle
#

it adds it from here

#

also directional attacks here have this

#

like its turn 0

#

oh and i forgot one moment to add into tldr

#

if i rebuild the board from fen before checking moves - it shows correct moves. including queen and all

#

let me find screenshots from before...

#

with rebuild

#

without rebuild

#

see last "new moves" line, both pics are same situation

nocturne olive
#

So if it doesn't happen in C but does in other languages could it be a bug exclusive to when it's used as a shared object?

shadow sinew
#

Hmm.. could it be the cached bb_black_moves and bb_white_moves becoming outdated? It seems when you call make_move that won't change those so the next time you'll call get_pseudo_legal_moves() they'll be out of date.

obsidian mantle
#

im going to test if it happens in c rn

#

printing in c looks scary neuroBwaa

real sierra
#

does make move not update the pseudo legal move caches..?

shadow sinew
#

I can't find where it would..

obsidian mantle
#

neuroHypers is that it? fixable?

real sierra
#

easily fixable

#

it's a two-liner I think

#

just ensure that when it updates last_board, it assigns the pseudo move cache to it

#

and then sets its own to NULL

#

this must've been a new issue introduced with recent changes, I can't imagine it was present before and went unnoticed given how severe it is

shadow sinew
#

Is that cache even that useful? Don't you usually only call get_pseudo_legal_moves() on a given board once?

real sierra
#

pseudo legal moves are fetched by more than just get legal moves

#

things such as validating check, getting pins

obsidian mantle
#

so it should happen in every existing bot who uses recursion

#

regardless of language

real sierra
#

I just don't know how this bug appeared

#

i don't believe it was there previously

obsidian mantle
#

my bot was smashing random bot while having this neurOMEGALUL
i guess not very visible since only happens in deep recursion which you dont even care about usually

#

for me it started when i tried to get amount of gained moves and always got 0

#

oh and i have an unrelated question
are we allowed to submit more than 1 bot?

#

obviously submitting 500000000000 random bots hoping one of them randomly wins is not allowed but lets say.. 2?

real sierra
#

just make them meaningfully different please

#

I'm not doing your parameter sweep for you

nocturne olive
#

Silly

#

So I guess I can submit the end result of the MK1 branch and whatever other branches come after

obsidian mantle
#

i was thinking of submitting this euristic bot, and if i have time/feel like this bot is done - make nn bot too (or at least try)

glad path
patent walrus
#

lol as i was backing up files

glad path
clear sedge
#

losedows

patent walrus
#

hooooly hell i almost panicked

#

when it bluescreen'd (or... blackscreen'd?) i hit the reset button to power cycle the system right

#

when i came back it was booted into mint i have on another drive, that i have to go into the boot menu to pick

#

made me think my C drive fucking failed for a sec until i restarted and it scanned disks

glad path
#

oh god I can actually imagine that very vividly

patent walrus
#

it was on that screen for like 10 minutes before i took that pic and 10 mins after, it wasn't doing shit ngl

opaque sigil
#

I see

hasty snow
#

I would have been terrified given the recently reports of windows soft bricking ssds during heavy transfers

obsidian mantle
#

i have win11 too but i just installed it
glueless surely it wont have problems and it wont kill my disks if it is not a patch

#

for some reason native notepad runs in 30 fps

#

neurOMEGALUL wtf is this

amber fractal
#

Come on man, the IRL equivalent at least runs in vsync

rigid timber
hasty snow
#

Yea I had heard it was overblown — still wouldn't have stopped the fear in that situation

rigid timber
#

fair, a relative called me with a bluescreening Windows install around that time and my thoughts also went to the SSD thing

lapis wraith
glad path
#

macos lets you disable putting disks to sleep

#

yet another point of superiority over windows

rigid snow
#

this is a success message btw

glad path
rigid snow
#

is it trying to tell me that activating automatic payments was a mistake

silent lintel
#

Sorry, more chess questions. Anyone know a good way to debug a Python bot? Troubleshooting is tough when my information consists of “it’s not playing what I thought it would”

obsidian mantle
#

printing and checking debug messages in cute chess

dusky jackal
#

Hey Vani would Neuro and Evil be able to make a bot for the competition on stream? That would be fun! neuroHypers

glad path
#

wait that would actually be such a good idea

clear sedge
#

printf debugging prayge

silent lintel
#

Hello darkness my old friend

fair horizon
#

Practicing assembly by making it play bad apple

#

(Tbh I am still very much a beginner when it comes to that so I only modified the existing video playing example that was provided by default and most of the work was just understanding it and then figuring out how to encode a video file to the correct binary format, but was still a fun way to learn more)

amber fractal
fair horizon
#

Slightly slower than 30 fps in order to match the speed as close as possible

#

And that was done in a kind of scuffed way, normally the video playing example can only do either 23fps or 35fps so I made it switch between the 2 every frame to get almost 30fps

amber fractal
#

Man that is very scuffed

fair horizon
#

Ikr

#

There are ways to get 30fps exactly but I'm too lazy to do so lol

amber fractal
#

I was going to make a joke of how fast can it go, but seems like you got enough on your plate

fair horizon
#

I could crank it up all the way and see what happens, I'm certain it can handle 70 fps but if I go higher than that then I don't think I'll be able to see the frames actually play properly

amber fractal
fair horizon
#

Oh damn

#

That is high number for sure

silent lintel
#

Hmm. Now the cutechess engine debug log is stuck in a separate window that I can’t scroll, drag, or interact with in any way (other than close it from the View menu)

olive sable
#

neuroHypers i installed them

#

allining monitor arms is such a pain tho

fair horizon
#

The way it looks all sped up is somehow just goofy lol

trim valve
olive sable
#

i love desk space

fair horizon
olive sable
#

i can put dvd's or blurays into the avr now, cuz before the monitor stand was infront of it KEKW

trim valve
#

my desk is mildly cursed because I move out tomorrow

#

or well more specifically move out to uni from home

olive sable
#

"digital multi...." Minamhm

fair horizon
trim valve
#

that is because the mess is at least partially on the floor

fair horizon
#

Ah

#

Well, I guess we are still only comparing desks here so I'd say whatever is on the floor doesn't count

trim valve
#

note to self: throw everything off my desk before desk comparisons

fair horizon
#

"Clean ur desk" => Throw all stuff on floor
"Clean ur floor" => Throw all stuff on desk

olive sable
#

for me all the mess in behind my monitors so not really visible in the picture

amber fractal
#

Need to post a new photo, but I'll wait longer as sibling is moving out of the shared room

#

Maybe then I'll actually have some space

silent lintel
#

Is there a way to view the cutechess debug log besides the debug window in the gui? Cuz said debug window will not un-eff itself for me

amber fractal
olive sable
trim valve
amber fractal
silent lintel
trim valve
#

are you running cute chess on windows or linux

silent lintel
#

Ubuntu on Windows

trim valve
#

check ~/. config/

#

iirc there's a cute chess folder in there

silent lintel
#

Awesome, that worked. Thanks!

real sierra
#

pychessapi has been updated to resolve some issues regarding Move.promotion, enum-returning functions that can sometimes return values outside of their enum ranges, and get_color_from_bitboard having an incorrect return type

rigid snow
#

turns out i CAN use c for node bindings though it is not necessarily a good experience. whatever i'm avoiding cpp because i can
and yeah never figured out how to make node-gyp compile with a c std instead of cpp so cmake it is

#

i think gyp was made for the chromium project so it would kind of make sense for it to be cpp hardcoded

#

but still very stupid

amber fractal
rigid snow
#

wow that's not a lot of servers

uneven pulsar
amber fractal
#

Clearly that scale option was not tested

rigid snow
#

i don't have a slightest idea how that is possible

#

i have limited but still experience with rn

amber fractal
#

The ping to reply option is just @O

rigid snow
amber fractal
rigid snow
#

oh that would make a bit more sense

#

bad impl

amber fractal
#

Very real

#

Speaking of bad impl ReallyInnocent

rigid snow
#

containers are for larger text but it is smaller and aligned to the top

olive sable
#

what drawing software shoudl i use on linux? hmm

amber fractal
#

I can test that theory rq, let me just dive into android dev settings

rigid snow
#

krita probably

amber fractal
#

seconded

amber fractal
#

Aww I thought the FPS counter would be in there

rigid snow
#

they calculate the layout themselves

#

well, the margins

#

to actually see wtf went wrong you'd want rn devtools but you don't work at discord

#

maybe there is a way to inject them but i am not aware

amber fractal
#

I know the scale is 75%

#

Wait

#

There is beyond 100% as well

#

Oh no, it goes up to 200%

olive sable
#

beautiful

rigid snow
#

where even is that in settings

#

can't find it

amber fractal
amber fractal
rigid snow
#

i don't have

amber fractal
#

bwaa

rigid snow
amber fractal
#

Second as more info

#

Emotes don't scale at all neurOMEGALUL

stark needle
#

@viral oasis oh my god is that operator from the hit anime Operator and Operator

olive sable
olive sable
#

bro comes in here to summon operator

stark needle
viral oasis
amber fractal
#

what

olive sable
#

classic text based jank

amber fractal
#

Okay let me free myself from 200%

rigid snow
#

i don't even have the setting on ios. i do have developer mode on

stark needle
#

!!!

olive sable
olive sable
amber fractal
#

Okay last one

#

now freedom

rigid snow
midnight wharf
#

Any devs on? Im seriously needing some help here. Can someone give me a lil hand?

olive sable
rigid snow
olive sable
stark needle
olive sable
#

ah yes

viral oasis
stark needle
rigid snow
olive sable
#

im a director to my orchestra of gemini programmers

stark needle
olive sable
#

wow wow wow

viral oasis
olive sable
#

here at sam.inc we use inclusive language

rigid snow
#

since when is dictator an offensive term Awkward

olive sable
#

slave? nah thats an instruction coordinator

stark needle
viral oasis
olive sable
#

checks out

viral oasis
violet harness
#

We are all programmers in spirit..

real sierra
#

everything good in here?

stark needle
real sierra
#

im lurking im just invisible

#

always watching

rigid snow
#

neuroLookUp ban everyone

real sierra
#

👁️

viral oasis
olive sable
stark needle
#

yes shiro very normal things are happening

wide flicker
#

Im a vibecoder posing as a programmer ReallyInnocent

viral oasis
real sierra
#

pushing commits to the chess repo like its a full time job

wide flicker
#

this is only a half joke

viral oasis
olive sable
#

"for charity"

rigid snow
#

if that's your definition of full time give me 5 full time jobs pls

stark needle
wide flicker
obsidian mantle
#

shiro did you fix get_legal_moves?

#

or rather make_move

amber fractal
#

I leave for 5 Seconds

viral oasis
#

*10 seconds

olive sable
#

ReallyInnocent time ot make shadow femboy art

#

i got krita installed

stiff micaBOT
#

aww, thank you~ ( ◡‿◡ *)

viral oasis
#

for charity

real sierra
#

making a batch of changes using the new tester gingko created

olive sable
real sierra
#

need to reassess the castle move masks Hmm

amber fractal
stark needle
viral oasis
obsidian mantle
#

neuroSleep i'll go sleep soon so was wondering if it will be ready when i wake up
now i know neuroHypers

rigid snow
#

tbf i'm not seeing much people call themselves artists while being what's known as an "ai artist"

stark needle
viral oasis
olive sable
rigid snow
#

too hjard

olive sable
#

i bought this drawing talet but i actually dont know the controls so gimme a sec to google them

#

this pen has a bunch of buttons

amber fractal
viral oasis
amber fractal
#

I generate warcrimes every few months mhm

olive sable
olive sable
#

no

#

or well, kinda

rigid snow
#

because they're just jerks

#

simple as that

olive sable
viral oasis
amber fractal
viral oasis
#

@stark needle take ur meds

stark needle
stark needle
olive sable
amber fractal
stark needle
#

samvanbwaa sounds fire

viral oasis
#

I have something cooking in these departments but not public yet, mostly just been slamming down on getting celeste faster.

olive sable
viral oasis
#

Lots of my speed optimizations kicked in, now shes stupidly fast.

viral oasis
stark needle
#

i literally suggested 90% of them

viral oasis
#

But yeah, we're currently rockin about 100-120+ tks/ps, transcription is instant, and TTS is now also basically instant.

#

Kinda hit brick walls on the vrchat front.

#

Latency is bad ;[ cant fix that.

olive sable
#

also the tablet uses my entire 3 screens as the area for the mouse pointer to go to instead of the krita canvas. imma need to fix that too

stark needle
#

the app for my huion was so bad

olive sable
#

didnt know there was an app

stark needle
#

the wacom app

olive sable
viral oasis
#

@stark needle btw getting all that stuff to work took a small rewrite, so many things to micro-manage but it seems to have worked even if it was painful.

#

I love lots of multithreading pain

olive sable
#

classic

viral oasis
# olive sable classic

yeee basically we're working in milliseconds across multiple threads, and it works really well but that also means I have to be more careful.

#

Because the gears going so fast, its easy to break the track lmao

olive sable
#

story of my life game engine

keen hatch
# stark needle the wacom app

The wacom drivers are so buggy... It's annoying that it doesn't support scaling properly in Windows and sometimes it works, sometimes it doesn't.

olive sable
real sierra
#

aha

#

bug located

stark needle
#

ah rip then ur cooked

viral oasis
# olive sable story of my ~~life~~ game engine

I'm mad cause of the VRChat latency thing though, theres not many speed opts you can do now as it wont get faster than what vrchat will allow, so I'll prob end up focusing on other areas besides just LLM speed at this point, even if I could shave it down more.

olive sable
#

vrc in general just has shit optimization

real sierra
#

i had expected castling would be impossible here, as part of the castling path is attacked

real sierra
#

but it's still legal because the king does not pass through the b square

stark needle
#

maybe ur good

clear sedge
olive sable
#

i think i dont need the app ye

#

i jsut need to figure out how to make the eablet work in a smaller window than the entire dispaly space

viral oasis
# olive sable vrc in general just has shit optimization

yee we get like a 1-3 sec latency from VRChat, but since we are going so fast now we go faster than that limit meaning.. besides consistency theres not many advantages to high speed anymore, I basically run too fast for VRChat.

#

Soooo

#

Im pissed 😠

olive sable
#

hypothethically

stark needle
olive sable
#

how much does vrc depend on the servers?

viral oasis
olive sable
#

oh

stark needle
#

vrc uses photon

#

or something

viral oasis
#

That's why its not fixable, I have no control over their servers.

#

basically I hit their limit lol

olive sable
#

i was hoping you could make a custom client that runs faster

#

guess not

viral oasis
#

nahhh and even if I did that would get me perma'd if found out, I kinda have vrchat staff eyeing me as of late.

#

In a good way it seems, but I'd not risk it.

olive sable
#

true

#

i should get a job at vrc and fix their shit

stark needle
#

yes u should

#

but working at vrccringe

olive sable
#

running at 45fps on a 3090 is unacceptable. i get the same fps as i did on my 3060ti

amber fractal
#

That is a great idea for you, surely you'll get along with the rest of the devs NeuroClueless

clear sedge
viral oasis
#

I've been trying to build better relations with their company, I was showing off celestes ability to pathfinding and track recently, it made them all surprised it was possible on their platform lol.

olive sable
#

surely

amber fractal
#

I wait for your engine to gain VR support

real sierra
#

Susge knight moves...

amber fractal
#

Just to slap them in the face

viral oasis
#

so that'll prob surprise them more.

#

But also means even more eyes.

real sierra
#

and en passant TheVoices

stark needle
real sierra
#

wait they're all en passant TheVoices

stark needle
#

with a trillion polygons

clear sedge
stark needle
clear sedge
#

it's like 2048x2048 for a solid color

real sierra
amber fractal
#

I swear this is the reason I'm going low poly

clear sedge
#

it's crazy

real sierra
#

en passant bane of existence

olive sable
#

i mean ye sure, but trillions of polygons is not the main issue in vrc i dont think, cuz you can turn that off and i still get low fps

stark needle
# clear sedge it's crazy

yep i tried optimizing my avatar as much as possible to only 30k and like 2 materials but it doesnt matter at the end

olive sable
viral oasis
#

@olive sable To kinda summerize why I think it shocks them so much, till this point unless you modded the game (banable) pathfinding was just straight up not possible, not to the degree I've been messing with, so therefore whilst showing it off to them shows my capabilities, I imagine it prob made some VRChat people internally get nervous.

#

The more I add the more I'll prob push it lmaaao

stark needle
olive sable
olive sable
clear sedge
olive sable
#

bruh

amber fractal
#

A friend of mine built their AV with a false head and was throwable, just for context of what it allows

olive sable
viral oasis
# olive sable <:enub:1163912230585237655> i can imagine that ye

It's like, I do cool stuff but I imagine not all the staff are happy with the developments even if most seemed like they do like it, so I try to find ways to do it and show that I have no malice with it, even if it can be used for a lot of bad on the platform technically.

olive sable
#

ye i can see how they would get nervous

viral oasis
#

I basically made the impossible possible, and it opens pandoras box a bit on their platform, it just comes down to how its used now.

#

Add the super fast inference for the chatbot

#

I can do a lot of crazy things technically.

#

I guess application is the best way to say is what I'm careful of.

clear sedge
olive sable
#

yep

#

very much true

viral oasis
#

What I'm focusing on this point is basically full NPC behaviors, I want the bot to be able to interact more with the user and the enviroment more.

#

So I'm tweaking the pathfinder and going to add more functions to it.

olive sable
#

the rgb value is kind annoying shader wise cuz you then need to make support for that too, but a 1x1 texture is pretty nice

viral oasis
#

I also want to scale the math better

clear sedge
#

you say "neat thing gltf has" i hear "more implementation details"

viral oasis
#

I figured using Velocity XZ for the pathfinder can let me scale it better for maps with different speed caps.

#

So I started grabbing that info and normalizing it.

#

I throw away the Y value as I felt I didnt need to account for falling.

clear sedge
#

me when i spend time reinventing the wheel and haven't started on an ounce of game logic yet

stark needle
olive sable
clear sedge
#

it'll be worth it, i'll have my very own engine at the end :D

olive sable
#

bro is also making his own engine

stark needle
olive sable
viral oasis
#

In a way I kinda have to reinvent the wheel for some stuff, but once i got the pathfinding working, its just basic game logic at this point with some restrictions

#

Biggest restriction is lack of data.

#

So I have to basically create a LOT of data on the fly.

stark needle
#

operator rn DonoWall

viral oasis
#

yes

#

I could be really cursed and add flying abilities to my bot

#

lmaaao

#

but then I'd need to make air nodes

olive sable
#

celeste ready for take-off

clear sedge
# olive sable i jsut stole a pre-existant gltf parser lmao

i made a json parser, couldn't be bothered to manage another dependency
figured gltf parsers would bundle their own json parsers with them so i decided to write my own gltf parser with my own json parser
mfw i'm literally become game engine dev

viral oasis
#

tposing