#programming
1 messages · Page 226 of 1
vocal synths are very iterative in how one works with them
beyond the part of og voice extraction
- MIDI transcription, this can be automated but needs manual touchups
- Lyrics need to be inserted, manually or automatically depending on the tooling and quality level target
- You need to tune, manual pitch curve, breathiness, energy, all that fun stuff
- ONLY then can you render it out to be mixed
Just look at SynthV
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
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
never said it was, atleast in regards of preprocessing and postprocessing of the audio
v1 was straight up rvc i think
but been kinda misinformed on the synth process
Yeah most likely just a basic RVC from the speaking voice
You actually barely process on the original song audio when making a synth cover
ye most you can do is extract the vocal track to then pitch transcribe it automatically
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
i hate hash tables, can we get rid of them 
i propose hash chairs
I will hash you into dust
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
vocal synths not really used in the industry
and by not really i mean not at all
useless info 
na, I never looked into MIDI itself b4
the basic midi spec is super easy, it itself is a message bus, you basically have 3 types of messages
- note down (note 0-127, velocity 0-127)
- note up (note 0-127)
- what is known as midi cc - some parameter changed (parameter id 0-127, value 0-127)
how bout hash countertops?
the last one is for pedals/knobs
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
i love writing 150 lines of pure types
my bot is so cooked
yeah lets truncate the hash to 1/4 of its length and assume no collisions 
How many bits do you use 
i think i actually use 24 bits, not 16 bits

So 6 bit hashes? 
Oh
Should be fine unless you have a really bad hash function and/or a lot of items 
How bad can a collision here and there be
well it's one per board right
My bad
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

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


bleh
i feel so low energy today
ive felt on and off sick too 
is sad because sick, or sick because sad 
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 
feedback loop 
Something Something NAT type
Idk
xbox 
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)
nat is not any different if that station actually works as an extender
but you should check channels/frequencies
consoles can be picky about those
i have idea

read this and give me suggestion 


Ill fix it tomorrow
Maybe
programming chat i have a question
what is wrong with my handwriting
i dont understand
i swear it's so close to being neat
Surely
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
Main issue is you're a human i guess
i just got a typewriter cuz my handwriting sucks
Aight goodnight
you could try analyzing it to see which letter/letter pairs you often "smoothen"
Im doing "wds bridge" whatever that means
too much effort
just look dont do
thats how you get better



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

i only care because i feel like with minimal tweaks it would look quite neat
seems like low hanging fruit
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
quackky birthday shiro
it's horrible and awful and it... saves 11 tokens over the cheating method i used before

going into this i thought i didn't have standards for how bad my code could be
this has pushed them
token
doesnt save
does
no
ye
no commas
1 comma = 1 token

it actually does save tokens
saves 22 tokens over the "store it all as an array of ulongs" method in fact
the string literal is a token
ye
"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
multiline
no
it should be token 
it's not counted as a token
readable code banned

that would be horrible
according to the standard 
my standards are low enough i don't want to push them lower
yeah, so i separate each 8-byte string
no i mean char isnt 8 bit type 
c standard not talk about 
it is on shiro's pc
oh i see
konii ban nerd
🤫

ye not problem
clearly
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 
erf
forgot
c standard draft where
here
i forgot c has unicode now 
char8_t *s = u8"⭐";
chat do you think preprocessing insertions for almost a second when i can not do that and insert in 40ms is worth it 
surely it will scale
maintain 16 versions of the insertion function
and a classifier neural network that picks the optimal function depending on operational conditions

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 
Preprocessing time 124805.601000 ms
Insertion time: 89.608000 ms
this is for inserting2^22elements
even the c standard has forward references
msvc
b
for some context, the shitty version i wrote takes 5-10ms to insert that many without preprocessing
typedef struct char_literal char_literal;

CHINOI MOMONE REFRENCE
then it converts preprocessing tokens to regular tokens
grrr
interestingly concatenated string literals are separate preprocessing tokens but a single regular token
"a" "b" "c" <- 1 token or 3 tokens depending on translation phase

answer is usually "windows"
just got stunlocked for 22 minutes by this
i understand now
i think
its just varint 

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

these are so evil

i know nothing about compression/decompression techniques and it seems i will need to study
yes and at the moment i only use the leb128_r in just two places

ye i see
/* ldr */ op(reg_pc = leb128_r)
/* bra */ op(if (!reg_pc) leb128_r; pc -= leb128_r)
i wrote it because it lets me unroll loops for freee
i always forget how stupidly expensive modulo is 
i guess good thing i don't have any in my filter 
dedotated wam
it expensive? 
i guess it division but still surprise
yup
division not good 
i mean this is relative to the alternative which is a single AND (assuming it's a power of 2)
THE CRASH REPORTER BROKE
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?
if you are on windows, its suffering that id just have shiro and this channel walk u thru, and if ur on linux its like 5 easy steps that are in a readme somewhere (sry i forgor exactly where)
I have resorted to WSL, so I think I could do the linux thing if I got my hands on that readme
depends on what you are modulo-ing
i havent tried it with wsl yet so idk if theres any troubles with running cutechess in wsl (at least with the gui, cmdline prob works no problem)
on integers its as cheap as division, which is to say basically the same as multiplication on modern cpus
for floats though 
fmod
I have been sticking to command line. Should I just scour the cutechess github for help? I looked around there a little and wasn't having a lot of luck becoming less confused
open cutechess, go to Tools>Settings, Engines tab, click plus at bottom
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
zsh: no such file or directory: /usr/bin/python


direct path
under what circumstance

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.
so its for a URI thing or similar
looks like its no longer in posix 
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 / 
i knew this 
what context do you even learn it in 
typos 
i thought they had nerd unix classes in your uni where they teach you useless details nobody will ever need in their life
yeah they had a class on bash
bash is useful 

imagine you had to learn bash through lectures and tables of commands
and assignments where you had to implement the dumbest shell scripts
agony
allow coreutils too
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?
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)
Ok, that's what I needed thanks. This competition is forcing me to Linux whether I want to or not 
windows support soon™
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

it's usable tho 

adding in just the eval function and its associated macros takes 304 tokens 
think i do have to cut stuff out...
just add pacman into ur code and tell him to eat the tokens
he'll never know they aren't pellets
# 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

genius
How do I use the token counter?
java -jar /path/to/jar /path/to/code 
here's how to find the jar file for toknt
there's a release on the github
oh shit i just saw
Oh I missed that too. Thanks!
also first 3 steps can be compressed into one
you can just click on the checkmark that you see on the first screenshot

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

I am brand spanking new to Linux so im wary to touch nixos yet
i'd recommend arch before nixos

I was recommended Bazzite as something friendly to stream and game on
Doesn't it also practically force you to rely on flatpaks

Not necessarily no, though it is recommended to use flatpaks where possible
it has rpm-ostree install but it's not guaranteed to preserve packages after os updates and is in general soft-deprecated

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

You said you'd recommend Arch?
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

feel free to ping for any questions 
I will, thank you :') I won't lie I definitely feel a tad in over my head ahaha, but frankly id rather be in over my head on Linux than deal with windows 11 :'D
a lot to take in 

Anyone know a good way to get in touch with vedal if I have an idea for him?
why'd you ask in the #programming channel btw
random fen generator goes wild
smaller chance of getting forum slided?
@nocturne olive btw I have not been able to reproduce your bug in C(I have run 200+ game positions)

lol
Not with similar control flow?
Could it have something to do with how binding external languages works somehow, I don't know
Either way whatever it is I don't think it's meant to happen and I can't tell where it could be coming from
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
linux was a bowl this whole time
"help me | less"
"help, im going through a midlife crisis"
cinema
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)
yis
maloc allocates new every time? good

it is your responsibility to free() tho
what if i dont take the result at all
don't do that
oh so its stays allocated
at least call free() on it instantly
memory leak
yes
understandable 
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
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 
i'll make print board function and print it
Yeah, I've also noticed that it seems to be missing possible white queen moves for some reason.
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
the only thing i comprehend is "whiteToMove"
others should be useless
whar
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
gramin hard
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.
yes you can
Ah right.
just need to expose void set_board_from_fen(Board* board, const char* fen); in your chessapi.h
hmm right
it's pretty useful for testing purposes
I think I might try setting up a test script that compares found moves against what some other chess api like python-chess finds.. 
i have your ip
wow thx
static doesnt let me
but I already know my ip
oh im stupid i had to add static too
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 /////
what else does it want
did i put chess_set_board original in the wrong place
yes i did
Yeah, looks like you put the function using start_chess_api() before it's definition.
Morning 
this is a big problem
it means all my recursion is broken rn
inverted timezones shiro is mirmiring 😠
morbing
perfect moment to clean my house while api is broken 
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
framerate so high it causes time dilation 
*low
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
its possible to create a gif with a color palette that defines 0 colors
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
that is beautiful
they patched it later 
mime types are good 
labels instead of integers are used in any system where extensibility is required
think fp sum types vs oop objects
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

still useful if you're shipping a game or something 
i am indeed shipping a game
i'll stick to jpeg and png though, nothing i use exports webp
you can just add a postprocessing step
but if the gltf is not huge it wont really give any benefits
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
better example, tuples vs records

I made a basic test tool that found a bunch of configurations where chess_get_legal_moves() misses some moves.
https://github.com/ginkgo/2025-chess-bot-tournament/tree/tester/test
A short, one-month challenge to write a Chess bot! - ginkgo/2025-chess-bot-tournament
@real sierra look 
its like some kind of
fuzzer


testing 
testing 
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.
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
Making an illegal move? What are you testing?
if i do this:
get_legal_move()
make_move()
get_legal_move() - getting legal moves for opponent
last get_legal_move() gives weird results, like that a2c5 on the picture
Wuh
this example has only 1 wrong move but i assume it gets worse in more random board
That is very weird
if you go deeper it gets worse (deeper in recurstion)
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.
and you are not on c
Yeah KT
the core of api
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
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
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
https://github.com/shiro-nya/2025-chess-bot-tournament/issues/12
Here's my issue about the bug I got
Seems like it's a wider issue then though if it's actually about what moves are output
whoops

genchat is going insane again ._.
that a2c5 wasnt added by this
here last call before returning, it stops at h3h4
shiro something is really really bad 
moves array gets moves out of nowhere
Am I blind, or is there no simple method with the api to get the bot’s own PlayerColor?
OK THIS IS ALL WRONG
im printing by wrong length.
this array is alright
ok then returning to original variant
easiest way is just to call is_white_turn after calling get_board
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
bred fuzzed it so I assumed they found all the bugs 
limited fuzzing 
ok so with 1 more depth and i get this
black king can attack that black pawn
e8e5

will download the fuzzer this afternoon and see if I can resolve any outstanding issues
also there were still bugs they just also happened to be in cute chess and meant I couldn't check more games 
(just cute chess failing to save game logs or segfaulting)
I've been aware that the legal move checker still has bugs but it's been intractable to find them
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 
Sounds very similar to what my bug does at its core
(also for plain recursion)
✅
false results, how so?
are there legal moves missing or illegal moves included
it says in this board king can go e8 e5
it only happens when you go 3rd step and deeper into recursion
e8e6 too
you first moves and opponents moves after that look fine
you know whats funny
when i print the board it looks fine
somehow no e8e7
the worst for me is 0 moves by bishop and queen
4d chess with multiverse time travel
Bugs
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
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?
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.

does make move not update the pseudo legal move caches..?
I can't find where it would..
is that it? fixable?
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
Is that cache even that useful? Don't you usually only call get_pseudo_legal_moves() on a given board once?
it used to be more useful before various flags were added
pseudo legal moves are fetched by more than just get legal moves
things such as validating check, getting pins
so it should happen in every existing bot who uses recursion
regardless of language
my bot was smashing random bot while having this 
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?
sure you can submit a handful
just make them meaningfully different please
I'm not doing your parameter sweep for you
Silly
So I guess I can submit the end result of the MK1 branch and whatever other branches come after
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)
im so tired
i read that and thought you meant actual bugs (like mosquitos or smthn)
lol as i was backing up files
windows will always be windows
losedows
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
oh god I can actually imagine that very vividly
Why would you do that 
it was on that screen for like 10 minutes before i took that pic and 10 mins after, it wasn't doing shit ngl
I would have been terrified given the recently reports of windows soft bricking ssds during heavy transfers
i have win11 too but i just installed it
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
wtf is this
Come on man, the IRL equivalent at least runs in vsync
that was only a specific handful of SSDs that used a specific controller, and it wasn't Windows' fault, it was the manufacturer's fault for loading a pre-release firmware on them
Yea I had heard it was overblown — still wouldn't have stopped the fear in that situation
fair, a relative called me with a bluescreening Windows install around that time and my thoughts also went to the SSD thing
Imagine if they did this intentionaly for "battery life" Even though you are probably using a desktop
macos lets you disable putting disks to sleep
yet another point of superiority over windows
this is a success message btw
what
is it trying to tell me that activating automatic payments was a mistake
probably
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”
printing and checking debug messages in cute chess
Hey Vani would Neuro and Evil be able to make a bot for the competition on stream? That would be fun! 
wait that would actually be such a good idea
print statements and assertions
printf debugging 
Hello darkness my old friend
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)
How many fps 
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
Man that is very scuffed
I was going to make a joke of how fast can it go, but seems like you got enough on your plate
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
-# Context, there was a compatation over how fast one could render a triangle in Vulkan, the fastest was around 70k
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)
Update: I tried removing all the stuff that normally halts the code between frames and to my surprise it still ran
The way it looks all sped up is somehow just goofy lol
desk space pog
i love desk space
Crisp setup, 10/10
i can put dvd's or blurays into the avr now, cuz before the monitor stand was infront of it 
my desk is mildly cursed because I move out tomorrow
or well more specifically move out to uni from home
"digital multi...." 
Even with that ur desk is somehow still less messy than mine, impressive desk management
that is because the mess is at least partially on the floor
Ah
Well, I guess we are still only comparing desks here so I'd say whatever is on the floor doesn't count
note to self: throw everything off my desk before desk comparisons
"Clean ur desk" => Throw all stuff on floor
"Clean ur floor" => Throw all stuff on desk
for me all the mess in behind my monitors so not really visible in the picture
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
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
This is what happens when you have too much stuff for your space
i was wondering like "huh i dont remember this happening yesterday on the 26th. but it was the 26th of novemeber 2024 
if you tried to pop it out and it's broken go to your cute chess config folder and delete whichever file has a key like "window state"
Almost one year anniversary, I'll have to take another shot once renovations are done
Where can I find the cutechess config? The only config I see in here is the git config
are you running cute chess on windows or linux
Ubuntu on Windows
Awesome, that worked. Thanks!
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
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
erm
curious servers 👀
We love text clipping
Clearly that scale option was not tested
i don't have a slightest idea how that is possible
i have limited but still experience with rn
The ping to reply option is just @O
is it an app setting or just dpi system side
App setting
containers are for larger text but it is smaller and aligned to the top
what drawing software shoudl i use on linux? 
I can test that theory rq, let me just dive into android dev settings
krita probably
seconded
Aww I thought the FPS counter would be in there
this makes even more sense to me
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
I know the scale is 75%
Wait
There is beyond 100% as well
Oh no, it goes up to 200%
beautiful
Themes
i don't have
bwaa

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

Yes!!!!1!!
bro comes in here to summon operator
i'm gonna eat you

Wait, you clipped until Shadow sent a message then you unclippex
what
classic text based jank
Okay let me free myself from 200%
i don't even have the setting on ios. i do have developer mode on
there is a reason we're still using truetype eventho it was invented int he 1980's, nobody want to deal with that stuff

can you introduce me to jony ive pls 
Any devs on? Im seriously needing some help here. Can someone give me a lil hand?
no, jon is busy playing league probably

welcome to #programming , where non of us do programming 
i am NOT a programmer, i am a visionary
ah yes
More like a stinkeryary.
<insert insertion>

im a director to my orchestra of gemini programmers
*dictator
wow wow wow
take your meds
here at sam.inc we use inclusive language
since when is dictator an offensive term 
slave? nah thats an instruction coordinator
i am NOT taking my meds ok bye
personally I love using my 3090 as a vram coordinator.
checks out
i am the meds
We are all programmers in spirit..
im gonna eat you
ban everyone
👁️
maybe the real programming was the compiled code we made along the way.
keep your flirting to dm's please
yes shiro very normal things are happening
Im a vibecoder posing as a programmer 
i always flirt in dms ;[
pushing commits to the chess repo like its a full time job
this is only a half joke
i love very much yes normal yes.
i know, i was there when shadow sent you some of the most vile shit ive ever heard 
"for charity"
if that's your definition of full time give me 5 full time jobs pls
noooo you joined the dark side

I was never on the light side to begin with
I leave for 5 Seconds
*10 seconds
aww, thank you~ ( ◡‿◡ *)
i'd pay for that even if im broke
for charity
i dare you
WIP
making a batch of changes using the new tester gingko created
i take commissions you know.
art is kinda now slowly becoming my job
need to reassess the castle move masks 
Insert sticker here
BuT I cAn JuSt UsE Ai AnD I Am A ReAl "ArTiSt"!!1111
i'll go sleep soon so was wondering if it will be ready when i wake up
now i know 
tbf i'm not seeing much people call themselves artists while being what's known as an "ai artist"
sam make me an art ok thx bye
smelly u can make art
i mean, when i steal a wood texture from google images, and i want to get rid of a dark circle in the wood, sure ill use an ai fill tool to get rid of it. but im not gonna generate the full image
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
Photoshop's editing tools are still AI
they shoudl be configurable
Tbf I dont mind people using tools, I just dislike people who only generate using it and then be a jerk to real artists.
I generate warcrimes every few months mhm
ye i know, as long as its with artist intent im fine with it
did u even try it yet
they'd be jerks to real artists even without ai existing
because they're just jerks
simple as that
the drawing works but i dont know what the buttons do
True, but their "art" makes them tend to get more jerky sometimes, people be weird.

I need a samvanbwaa tysm
@stark needle take ur meds
i think one switches between pen/eraser and the other opens some menu
no
i dont have an oc yet so that will take a while. unless i keep using cid kagenou
I have $2 I don't have to transfer 
samvanbwaa sounds fire
I have something cooking in these departments but not public yet, mostly just been slamming down on getting celeste faster.
i have like 9 buttons, a wheel, and 2 on the pen. also one ont he top of the pen but i havent figured out if thats a button or something mechanical
give me credit
credit for not taking meds
i literally suggested 90% of them
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.
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
i hope the app isnt shit
the app for my huion was so bad
didnt know there was an app
the wacom app

@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
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
story of my life game engine
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.
im on linux tho
ah rip then ur cooked
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.
vrc in general just has shit optimization
i had expected castling would be impossible here, as part of the castling path is attacked
but it's still legal because the king does not pass through the b square
maybe ur good
if you were on fedora you'd probably have wacom drivers preinstalled 
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
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 😠
hypothethically
that would be done in the app
how much does vrc depend on the servers?
100%
oh
That's why its not fixable, I have no control over their servers.
basically I hit their limit lol
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.
running at 45fps on a 3090 is unacceptable. i get the same fps as i did on my 3060ti
That is a great idea for you, surely you'll get along with the rest of the devs 
working with unity
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.
ill make them submit to me
surely
I wait for your engine to gain VR support
knight moves...
Just to slap them in the face
next thing I want to do is add more abilities though, I want my bot to be able to sit on chairs, click buttons, use teleporters, etc.
so that'll prob surprise them more.
But also means even more eyes.

and en passant 
it's cause people can make their own avatars
wait they're all en passant 
with a trillion polygons
have you seen the textures on some of them??
ye eats so much vram
it's like 2048x2048 for a solid color
I swear this is the reason I'm going low poly
it's crazy
en passant bane of existence
uhuh
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
yep i tried optimizing my avatar as much as possible to only 30k and like 2 materials but it doesnt matter at the end
ok ye thats jsut bad design. do they not use gltf models?
@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
each vrchat avatar is an unityproject
i can imagine that ye
its a WHAT??????/
gltf ain't helpin where avatars are goin'
bruh
A friend of mine built their AV with a false head and was throwable, just for context of what it allows
gltf has a bunch of neat things, like instead of adding a texture you can add an rgb value to an entire primitive
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.
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.

i am aware, literally writing a gltf parser and handler as we speak
but you could also, ya know, use a 1x1 image. or a 4x4 color palette with different "indices" for each color if you wanna optimise
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.
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
I also want to scale the math better
you say "neat thing gltf has" i hear "more implementation details"
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.
me when i spend time reinventing the wheel and haven't started on an ounce of game logic yet
ye here's dawns unityproject and technically avatars with cross compatible are two unityprojects
i havent used unity much yet, but that doesnt sound very performative
it'll be worth it, i'll have my very own engine at the end :D
bro is also making his own engine
it's not especially when everyone uses their own shader
i jsut stole a pre-existant gltf parser lmao
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.
operator rn 
yes
I could be really cursed and add flying abilities to my bot
lmaaao
but then I'd need to make air nodes

celeste ready for take-off
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
lol makes her spin rapidly towards the air nodes.
tposing

the best engine is your own

its so close to good but isnt
nerdleaf





do you know









