#programming

1 messages · Page 188 of 1

olive sable
#

i think c++ and python are both fine for this purpose

#

c++ will use less recources tho

sharp stream
#

How long do you think I’d have to code for a 24/7 monitoring system with like 350 inputs and outputs for a website?

olive sable
#

uhhh

fast pagoda
#

dataprocessing is kinda python's bread and butter

olive sable
#

its easier inpython

sharp stream
#

So python for data processing and C++ for functions and operations?

fast pagoda
#

generally for ease of implementation reasons yeah

olive sable
tender river
#

old website neuroSadA want to update

#

but

#

too much effort

sage crag
tender river
#

enjoy my 2022 writing neurojuice

sage crag
#

no meaningful performance effect for website made by random person

#

average of 0.3 visitor a day

olive sable
#

true

fast pagoda
sharp stream
#

How do you get 3/10 of a person visiting your site?

fast pagoda
#

children

olive sable
fast pagoda
#

they only count as 1/3rd of a person if theyre only 1/3rd the height

sharp stream
rigid snow
#

#programming message you did say rust > C as first lang, and C is objectively good as a first lang, which makes rust good as a first lang

#

i pulled up the logs

fast pagoda
#

r ecieipts

sharp stream
olive sable
sharp stream
#

1/90th?

fast pagoda
#

so not legally classifiable

sharp stream
#

Based

olive sable
fast pagoda
#

he exists outside the spectrum of things that can be defined

olive sable
#

the british catching strays again

sharp stream
#

Outside the spectrum

olive sable
#

what did they do to deserve this?

sharp stream
#

They drank too much tea

#

moomderp 👍

fast pagoda
#

there's thousands of years of reasons that one could cite so pick anything from any history book

#

worst of all they indirectly caused my existence by founding burgerland

sharp stream
#

Exhibit A: Stolen Egyptian artifacts still on display in museums

olive sable
fast pagoda
#

yes

#

which is why it's ok to randomly make fun of any country for a laugh as long as you're not constantly shitting on them

tender river
olive sable
fast pagoda
#

define people and cite sources indicating it's an outsized phenomenon compared to any other country of similar status

olive sable
#

i mean, i dont see anyone hating on belgium

fast pagoda
#

of similar status

#

and influence

olive sable
#

bruh

#

belgium is the capital of europe

opaque sigil
#

Nice one

olive sable
#

i dont hink we're that far behind the uk

rigid snow
opaque sigil
fast pagoda
opaque sigil
#

Brussels may as well be its own country

rigid snow
#

that can be said about lots of places

opaque sigil
olive sable
#

i agree, but that doesnt mean it is its own country

fast pagoda
#

i have nothing against belgium but from a worldwide influence & general mindshare perspective i apologize but it's not even a contest

rigid snow
#

this is true too

olive sable
#

i mean, if belgium kicked the bucket they'd jsut move everything to france or germany, but for now it is decently important

fast pagoda
#

again i'm more speaking towards influence outside of europe && cultural export

rigid snow
opaque sigil
#

We don't do nuance here

fast pagoda
#

in general i'd even say belgium's perception is overall more positive

olive sable
#

ok forget belgium

#

what about germany

fast pagoda
#

similar but doesnt have the world reach

olive sable
#

id argue it does

opaque sigil
fast pagoda
#

how many countries have german colonial history

olive sable
#

compared to the hate the french get germany should also get a lot of hate, but it doesn't

opaque sigil
#

We're not french that's why

#

Duh

olive sable
#

see

tender river
sage crag
#

actually

#

i have

real sierra
sage crag
#

many

#

you may not know them they go to a different planet

tender river
#

tv colonies MyHonestReaction

olive sable
real sierra
#

guys? Concerned

fast pagoda
#

significant effect on overall cultural consciousness

olive sable
sage crag
rigid snow
real sierra
#

this seems like its one tangent away from me wiping the last 30 minutes

olive sable
#

im trying to make an ai vtuber the queen of england

sage crag
#

say something useful about chess bots so shiro cant remove it

rigid snow
fast pagoda
#

anyways all i was saying was popular country = popular to joke about

idk how that became a debatable thing

neuro is already the AI vtuber queen of england since vedal is the king

#

well, she will be when he croaks and she ascends to the throne

olive sable
#

vedal is king charly?

fast pagoda
#

yes

olive sable
#

charles?

#

wtf was his nmae again?

fast pagoda
#

i like king charly

tender river
#

shiro ban everyone ye evilHyperYay

rigid snow
#

ban me MyHonestReaction

fast pagoda
#

ive been yelling it from the rooftops for like 6 months, vedal is definitely king charles himself

#

that's why neuro gives his address as buckingham palace glueless

olive sable
#

i feel like i just wasted another 2 hours by arguing on discord over stupid things i dont actually have strong opinions about

fast pagoda
olive sable
#

"royal family channel"???

#

why does vedal have a 2nd channel?

#

irl streams i guess

fast pagoda
#

"you know this would be a good fake persona to put on online"

#

i am a lipreader i saw him say it

#

you can see him saying it in this image

#

motion not required

olive sable
#

ReallyInnocent lipreading a static image

rigid snow
#

how does this affect the arg's legacy

fast pagoda
#

it just reminds us it's bigger than you or me

#

it's a legacy of a country

olive sable
fast pagoda
#

"so yeah im gonna basically turn this into a drawn character and that'll be my online persona"

#

there's a reason the duchess' name is camilla and vedal is friends with camilla

#

coincidence?

#

i think not

rigid snow
olive sable
olive sable
#

trust me

olive sable
#

nah this is the moment he asked queenpb to make him a tutel mmodel

rigid snow
#

what is going on

olive sable
#

im not sure

fast pagoda
#

me continuing a stupid meme i randomly decided to declare as real at the start of this year

olive sable
#

i guess this counts as "pretend vedal is the king roleplay"?

rigid snow
#

is that in the bingo or something?? vedalCry why is it in quotes

fast pagoda
#

if it's not, it should be

olive sable
olive sable
#

i just formatted it like that

#

sue me

sage crag
#

phrrr phrr

rigid snow
#

filing a case rn MyHonestReaction

sage crag
#

sue sam

#

rr

olive sable
fast pagoda
#

court room stream 3

olive sable
#

that does not help

rigid snow
fast pagoda
#

i have doomed the human race with my wasteful usage of resources wrt ai

olive sable
#

it just gave me options

fast pagoda
#

phrr

#

for real

#

for real

olive sable
#

did your colour change mlntcandy?

rigid snow
rigid snow
fast pagoda
#

damn

olive sable
rigid snow
#

you're not

olive sable
#

what

fast pagoda
#

it's probably nonsense

rigid snow
olive sable
#

ok but is it good nonesense? bad nonesense?

fast pagoda
#

ive seen people say "phrr" to say "for real" before

rigid snow
fast pagoda
#

in fact ive done it

#

so that's my only guess

rigid snow
#

good nonsense

#

bad nonsense

#

phrrr

olive sable
#

i dont understand humans man

fast pagoda
#

we are all nonsense on this blessed day

olive sable
#

nuh-uh

#

speak for yourself

fast pagoda
#

i am ALL nonsense on this blessed day :)

tender river
#

phrrr neuroXD

fast pagoda
olive sable
olive sable
#

oh its from 2013

fast pagoda
#

that's because you were like 2

olive sable
#

nuh-uh

#

i was 6

fast pagoda
#

lol

rigid snow
#

6 old enough to follow world politics neuroNod

olive sable
#

nah

#

even at 18 i dont follow it

fast pagoda
#

life imitates art

#

i was surprised that you would reference a ken M post from 2013

olive sable
#

i spiritualy channel amanda

fast pagoda
#

proof that humans are no more than stochastic parrots

olive sable
#

i need to google that ward

#

where is grok when you need him?

fast pagoda
#

one day vedal will hook nwero into the discord in the same way

#

surely

olive sable
#

@ neurobot is this true?

#

running that would cost a decent amount of money, so we need neurocord Basic, costing $3/month, Premium at $8/month, and Premium+ at $40/month

#

that way we also get a gold checkmark tag on our discord profiles

tender river
tender river
olive sable
#

shiro said enub is positive

fast pagoda
#

shiro has never lied in his life

real sierra
#

i may have guessed a few times tho

fast pagoda
#

plausible and deniable

olive sable
#

do you have no shame?

#

i trusted you

fast pagoda
#

shiro's shame is accepting the role of moderator here

real sierra
#

but when an LLM makes stuff up it doesnt get any hate

#

double standards

fast pagoda
#

it's just a little baby it doesnt know

real sierra
#

maybe im just a little baby

#

big assumptions on your end

olive sable
fast pagoda
#

smart ass baby in college n shit

real sierra
#

why thank you

fast pagoda
olive sable
#

i debated on saying somethingbut i decided not to

rigid snow
olive sable
#

dont want shiro to ban me

fast pagoda
#

shiro is stewie griffin

olive sable
#

everything broke

fast pagoda
#

dont run update for one(1) day
171 packages with updates

#

ok

uneven pulsar
#

today's fun story

tender river
#

arch

olive sable
#

go on

uneven pulsar
#

keycloak takes their perfectly good method of boot time exporting entire realms with credentials and all (because using their web ui always filters out credentials)

fast pagoda
#

Packages: 2163 (pacman)[stable] total packages so like 10% of my system needs an update lol

uneven pulsar
#

and breaks it, so you can't do it in a running pod anymore, because that is very helpful for everyone

#

so i decide to run it locally in docker
at first i just quickly add it to my magical docker-compose of local development for ease and comfy, and it works

#

then i realize i'll need to bake an image from the container and run it again with a different entrypoint to be able to do the boot time export thingy, so i use this site to turn docker compose into just regular docker run (lots of env vars, who has time to type all that)

#

it does, it's not that

fast pagoda
#

docker

found your issue

uneven pulsar
#

imagine having employment

#

so why does it work in docker compose but not in regular docker

#

spend about 2 hours scouring the stars for an answer

sage crag
uneven pulsar
#

once again it was my arch nemesis, MSYS_NO_PATHCONV=0

sage crag
#

now for you to find out what enub means

uneven pulsar
fast pagoda
#

git bash AINTNEURWAY

uneven pulsar
#

gibash

#

gymbash

rigid snow
sage crag
#

not for you

rigid snow
#

i'll come up with some nonsense too

uneven pulsar
#

that's the point

#

if you use it well it becomes charming

rigid snow
#

jk i can't

rigid snow
fast pagoda
#

usually for anything involving docker first thought would be because docker was designed to be as obtuse and annoying as possible while abstracting away your ability to tell wtf is breaking and why and oh it's because this requires a very delicate balance of specific dependencies that are no longer current but docker makes it easy to distribute things with broken garbage inside of them behind a nice incomprehensible screen

rigid snow
olive sable
#

enub == "phrr"
enub == evil nub
so
"phrr" == evil nub

rigid snow
#

now uhhhhh figure out what nub means

fast pagoda
#

if i had a time machine with one use i'd use it to go back in time and make whoever created docker in the first place touch grass before they ruined everything

real sierra
uneven pulsar
#

lmao

real sierra
#

overleaf added some LLM spellcheck garbage

#

and it cant decide on "nonempty" vs "non-empty"

uneven pulsar
#

honestly it's faster than VMs and i like that i cna just click the red button and make the oopsie go away evilGiggle

fast pagoda
#

neither can i tbf

real sierra
#

every time i write more, it highlights all past instances and insists i switch to the other

fast pagoda
#

lmfao

real sierra
fast pagoda
#

ignore that specific pair of words

uneven pulsar
#

change it to non-emptious

real sierra
#

"populated"

uneven pulsar
#

poppin

fast pagoda
#

docker just makes it easier for people to hide their broken garbage in a box that kinda works

sage crag
#

use nix instead

fast pagoda
#

99% of the things distributed as a docker container shouldn't be but are because it's slightly easier than juggling and providing correct dependencies the traditional way

sage crag
#

flaaatpaaaak

#

snaaaap

fast pagoda
#

but ya know gotta pull in 52 packages to run that calculator app

sage crag
#

aaaaapiiiimaaaaageeeeee

fast pagoda
#

i hate flatpak and snap as well tbf

#

appimage is slightly less garbage

uneven pulsar
#

honestly i think the main selling point is that you can run several of a thing without the app getting a mental breakdown

sage crag
#

nix os

#

nix os

fast pagoda
#

instead they offload the mental breakdown to the user

sage crag
uneven pulsar
#

like most things go

#

the moment you want to run 2 of it

fast pagoda
#

there are definitely real use cases for it

#

but like i dont need to run a single application that will never be run concurrently and doesnt need sandboxing
from a container

#

and yet "ohohoh we provide our package in a container"

#

bruh

uneven pulsar
#

me running 3 oracle and 2 postgres servers on my windows laptop be like evilGiggle

#

click green button watch all of them burn to ashes and then pure nonexistence and get replaced by new ones while i fetch coffee

#

goodbye ozone layer you should have been this automated too

fast pagoda
#

that's also not good, applications shouldn't expect and rely on the ability to just explode and restart to fix it

#

but they do because docker lets them

uneven pulsar
#

i'm not an application

fast pagoda
#

that's what you think

#

ive seen no proof

uneven pulsar
#

i'm just applied physics aren't i

fast pagoda
#

we are all applied goofiness

uneven pulsar
#

also

real sierra
#

oh thank god

uneven pulsar
#

imagine running your product in a docker container

fast pagoda
#

idk i cant really see a reason for docker to exist because all of the use cases besides just having an isolated development environment on locally can just be kubectl

uneven pulsar
#

so when it gets deployed to a customer

real sierra
#

i hit my token quota limit with this ai spellcheck garbage and it turned off

uneven pulsar
#

who still uses idk RHEL 6

#

you don't have to rewrite all your python scripts in python 2

#

so it works for them too

fast pagoda
#

the way that should work is that they go ahead and stop using out of support system software

#

but no they can use it with the bandaid that is docker

uneven pulsar
#

ok well that's not my job

#

bandaid neuroHypers

#

money neuroHypers

fast pagoda
#

then the powers that be that decided RHEL 6 is still fine because "all our stuff still works!! {life support by docker allowing it to still function for purpose, barely}" are like how could this have happened

when they get pwned and all customer data released and have to pay out for 6 months of ID protection

uneven pulsar
#

like all in all i'm much more glad dealing with magical blue boxes than trying to scream at sales and business people that no i'm not gonna do what it takes for our product to run on the customer's machine

fast pagoda
#

docker is probably somehow indirectly responsible for my SSN being out on the internet despairge

uneven pulsar
#

who is, of course, always right

uneven pulsar
fast pagoda
#

i shouldn't have checks notes had dental insurance

uneven pulsar
#

just be a wild undocumented cyberpunk duck!

#

my other favorite thing is <Product Onwer> who can be scared into submission by "security alerts"

#

so i'm trying to iron things out for my beloved little team before i leave company, teach them the high magics they neglected in their years,now that they will have to maintain themselves

#

showing all the fucky wucky nightmare ropes of helm templating and the azure wizardry we sit upon

#

but some bureaucrat guy at IT finds some post on his favorite CVE site and tells everyone in the company that idk if some wizard does the right 59 step ritual to http they can make it crash out so every http server ever has to be upgraded to at least these versions from tomorrow ago:

#

so instead of teaching team how to be able to operate later on when i'm gone, i'm bumping up version 16.0.358 to 16.0.389 in no more than 72 hours, so when we eventually release in late october, and clients install the new version in 2027, they'll be safe from a thing that will never fucking happen anyway, because if someone even reaches the product they're already inside and can just blow the place up

#

it's called being agile SelenChibiCool

fast pagoda
#

there might be a very prepared hackerman continuously monitoring your application for the precise moment they swap to that compromised version to strike

#

CVE sites do like to present these things in a way that to someone who may or may not know what they're talking about is going to see it and think the world will literally explode tomorrow if the thing isn't patched NOW

#

especially when they have to then report to someone who DEFINITELY doesnt know what the hell they're looking at

#

especially since CVE ratings are skewed high

#

7.5/10, seems dangerous!!!!!!!!!!!!!! FIX NOW!!

uneven pulsar
#

recently there was one about some

#

freeware windows ftp server

#

for versions released between like

#

2008 and 2014

#

and my PO is like "hey can you check if this software vulnerability affects our product"

#

how do you even put a freeware ftp server thingy in a java product running on red hat, oracle, and the blood of ancient vampires
with the initial commit being in 2018

#

like i was moderately offended just for being asked that

fast pagoda
#

hey it's hard to realize that running on red hat, oracle, and the blood of ancient vampires isn't typical if that's what you do all the time, easy mistake to make

uneven pulsar
#

he's the product owner tho GigiWheeze

#

(in his defense he's kinda new)

fast pagoda
#

a lot of silly requests start out in a place of knowing you'll have to report it to the powers that be anyways so might as well rip the bandaid off and have an answer prepared for "WELL DID WE MAKE SURE IT WONT AFFECT US?!! DO IT NOW!!"

silent cloak
uneven pulsar
#

ok another story

#

man i'm full of these lately

#

so there is a project that no team accepted but was already promised by some higher up buffoon to some client

#

there are two teams that have the domain smarts to make it: my team, other team
other team has the architect grand expert who came up with the idea

#

they asked both teams how long it would take to make
their estimate: 3 people, 3 months
our estimate: 3-4 people, 9 months

#

maximum that the client is willing to pay for: 3 people, 3 months

#

well then, our team is not doing it have fun

#

<it gets promised at this point>

#

other team goes "yeah we don't really have the capacity to do it rn"

#

so management comes to my team

#

"hey so remember that thing you didn't want and said would take 9 months? now you have 3 months to do it, it's your #1 priority over literally anything else you guys are doing"

#

PO does emergency meeting on reprioritizing things

#

priority #1:
security alerts being handled

uneven pulsar
#

hey not only did we not finish the thing that was #1 priority and is gambling a customer, we barely even started because the reduced size team was busy checking all the security alerts about idk freezilla knockoffs from 2008

#

i'm so glad i'm leaving comfy

real sierra
#

homework done

#

coding time

#

starting the chess vm HACKERMAN

sharp stream
olive sable
#

shiro is cordinator of events

#

he decided to make a chessbot tournament cuz he hates himself

#

poor shiro

real sierra
#

castling with bitboards

olive sable
#

jsut check the conditions and move the bits ReallyInnocent

real sierra
#

the calculator uses the opposite endianness that i do

olive sable
#

isnt casteling a move to jsut a single other position? if you have a bitboard for the king jsut change it out

real sierra
#

i could but it would be slower

#

but this is almost certainly not gonna work Om

#

maybe you have a point

olive sable
#

jsut set a bool to true at the start of the game, and if either the king or rook move set it to false

real sierra
#

thats not the problem

#

im just trying to microoptimize

#

you're right tho i should just do this the braindead way

#

no

#

NO

#

i remember why im doing it this way

#

its because moving the rook is hard

olive sable
#

and that is?

real sierra
#

you cant slide the bitboard for the rook because it has the other rook on it

#

so you need to xor it with a mask to flip the relevant rook's old position off and its new position on

olive sable
#

still, why is it difficult to do it binary wise?

real sierra
#

because i have to figure out what these masks are supposed to be

#

and im confusing myself over and over trying to go from board squares to numeric constants

olive sable
#

bitshift the king 2 to the right
for the rooks do xnor with the eight space and then or with the 6th space

real sierra
#

but whats the number for that

#

notice also that the mask depends on which color is castling

olive sable
#

jsut do 64-8

#

ez

#

idk

real sierra
#

yeah thats all im stuck on

#

lol

#

the rest is straightforward

olive sable
#

i think the 8th position in binary is 128 no?

#

2^7

amber fractal
#

That sounds correct

real sierra
#

if i write it that way

#

will the compiler simplify it for me

olive sable
#

idk

real sierra
#

oh well

#

this doesnt really need to be quick

#

how many times does castling happen in a game

amber fractal
#

Literally once

#

I guess twice actually, one on each side

olive sable
#

the other rook is the 57th position, so 1 with 56 zeros

#

so 72057594037927936 in decimal i think

#

this would be a lot easier if you'd use the 1st and 64th position yo uknow

#

on avarage even less than once cuz i dont think castleing is done too common

#

around 90% of games at the grandmaster level

#

hmm

#

ok the grandmasters like their castles

real sierra
#

you get to move two pieces for the cost of one move

#

its pretty good

olive sable
#

ye but they move horizontally, my goal has always been to get to the other side

real sierra
olive sable
#

the king is safer tho

#

so i guess its good

remote atlas
#

depends if the other player wants their opponents king buried in the corner

real sierra
#

wait

#

are we doing this right

olive sable
#

idk

real sierra
olive sable
#

why?

amber fractal
#

I don't have a c linter atm to test if this stupid idea works. Is this even valid somewhere? I just thought about it as Shiro was struggling to function with hex

0b\
11111111\
11111111\
00000000\
00000000\
00000000\
00000000\
11111111\
11111111
real sierra
#

that would definitely be easier to write Om

olive sable
#

5764607523034234880
would be 63 digits, with 1010000000000000000

real sierra
#

anyone reading the code would have a laugh

#

( Prayge )

real sierra
#

now en passant Aware

#

the one move where the piece taken is not on the tile moved to

#

requiring a whole separate piece of code

silent cloak
#

what are u actually making

real sierra
#

a chess bot api

silent cloak
#

whats the magic numbers for

#

test cases?

real sierra
#

the board is stored as a series of bitfields, with each bit in the field corresponding to a square on the board, and each bitfield being associated with a particular piece and colour

olive sable
#

@real sierra
you can just write int value = 0b11110001001000000; neuromegadance

silent cloak
#

thats probably a better way

real sierra
#

this code is performing castling, so it needs to clear the bits from where the king and rook were and set the bits at where they are now

#

so im doing that with an xor

real sierra
silent cloak
#

so its a bunch of hardcoded values?

real sierra
#

didnt set up clipboard

olive sable
#

it would be less time consuming than your magic number lol

real sierra
#

so i know what bits need to be flipped

real sierra
silent cloak
#

i usually use bits for flags honestly these days

#

rarely anymore than that

amber fractal
real sierra
#

separate clipboards

silent cloak
#

why a VM

real sierra
olive sable
#

cuz its arbitrary code

#

on our end

amber fractal
real sierra
#

the end goal is that people will write bots and give them to me to run

#

im not running random internet user code on my actual pc

silent cloak
olive sable
#

it we will stream it in vc right?

real sierra
#

depends how many submissions there are

silent cloak
#

the whole reason i memorized float16 conversion was an optimization method i used for minecraft

real sierra
#

at the very least i can surely stream the finales

jagged turtle
#

what is shiro trying to do?

amber fractal
#

chess battle (not) advanced

olive sable
silent cloak
#

you could probably make a tool to just generate the values for you

real sierra
#

the time searching for or making such a tool would take longer

silent cloak
#

i suppose so

#

my programming brain would do it anyways

olive sable
silent cloak
#

i love making tools for specific use cases!!!

olive sable
#

no need for conversion

real sierra
#

i bet a gpu would love this

silent cloak
#

bruhhh

olive sable
#

yes

#

feed me

amber fractal
silent cloak
#

@real sierra u should write it in ASM

#

for 100% optimization

#

with how much bit management you're doing you might as well

real sierra
#

no thanks

#

this needs to run on at least a few different architectures

silent cloak
#

i know a bit of ASM but im planning on picking up more

#

mostly because i was building my own language

olive sable
real sierra
amber fractal
olive sable
#

you can use ' as a seperator, but still needs to be on the same line

silent cloak
#

any SIMD?

amber fractal
#

One board instance so probably not

silent cloak
#

ahh

amber fractal
#

unless shiro has multiple test boards

#

which will be a pain to API

silent cloak
#

had to build a bunch of API services recently for Hanakyos mc server

#

so i know the pain

real sierra
#

no simd planned

silent cloak
#

ive gotten them wired up with docker today though

real sierra
#

gonna be raw cpu time to finish this tournament

amber fractal
#

I have a stupid idea but it is probably cpu depentant

#

let me sanity check

silent cloak
#

projects like these are a good way to pick up micro optimizations

amber fractal
#

This idea is combining ASM and SIMD

real sierra
#

do && and || work as i'd expect in C?

olive sable
#

they should, and or?

real sierra
#

as in like

silent cloak
real sierra
#

AND(A,B) = A ? B : 0

silent cloak
olive sable
#

&& is logical and, & is bitwise and

real sierra
#

OR(A,B) = !A ? B : 1

real sierra
olive sable
#

well then why ask?

amber fractal
real sierra
#

because that wasnt my question

olive sable
hollow spruce
real sierra
#

oh well

#

ill just use * for what i want

olive sable
#

?

real sierra
#

trying to write A ? B : 0 branchlessly

#

can do this as A * B

#

but if C implements its && in a particular way, then A && B would work too

#

and be faster

olive sable
#

int mask = -!!A;
int result = mask & B;
?

silent cloak
real sierra
#

A is already either 1 or 0

olive sable
#

thats fine no?

silent cloak
#

(A != 0) * B could also work

real sierra
#

means you can drop the !!

#

i think A * B is as good as it gets without special &&

hollow spruce
silent cloak
#

branchless programming is always fun

#

though sometimes the compiler will be a dickhead

#

so make sure to check ur shit

olive sable
amber fractal
# amber fractal This idea is combining ASM and SIMD

Using AVX512, you have 8 64bit masks that you can do operations on. You have 6 pieces, so I guess one can be empty and the other can be opp pieces. Meaning you'd be masking the opps side on attack.
2 AVX-512 registers total for board state storage.
Just the first thing that came in mind.

silent cloak
#

bit hacks my beloathed

amber fractal
#

Maybe I've been working on my NN for too long, but that is where my first instinct was

real sierra
#

ok

#

move making implemented

#

now for move undo

sage crag
#

also slightly faster if you can do it

#

but uh

#

not bother

#

simple best

real sierra
#

most intelligent implementations return the second arg if the first is false

silent cloak
#

just test it

sage crag
real sierra
#

im not

sage crag
#

&& is short circuiting

real sierra
#

im using & for bitwise and

sage crag
#

yeye

sage crag
real sierra
#

i know im an idiot but i do kind of know what im doing sometimes

amber fractal
real sierra
#

the way im doing it is storing a stack containing all past boards TROLL

olive sable
#

i have aquired crackers NeuroBounce

silent cloak
#

is the elegance in the room with us?

olive sable
#

shiro

#

what the hell

sage crag
#

banned

#

make my own chess tournament MyHonestReaction

olive sable
#

me when i make my bot move left and right and left and right to fill the heap and crash the program

real sierra
#

its not so bad

#

boards arent really that big

#

they're like

#

what

amber fractal
#

96 bytes

real sierra
#

12*8 + 16*8 + 5/8 + 2*4 + 12 + ? bytes

amber fractal
real sierra
#

(the ? is because they store pointers to the previous board as explained, not sure if that counts)

olive sable
#

300 bytes roughly with the ?

real sierra
#

but yeah its a relatively small memory footprint

olive sable
#

256 bytes might be mnore fair tbh

silent cloak
#

shiro is going in the programming war crimes compilation

scarlet arch
#

I've been made aware there's war crimes happening here

#

Ignore that I'm German. Totally unrelated

real sierra
#

you should be able to store like

#

14 million boards

#

by my math

#

in 4GB*

amber fractal
olive sable
#

The average chess game is approximately 30 to 40 moves long
so 40 x 256bytes is 10KB

real sierra
#

and then you undo when you unwind that search stack

olive sable
#

i still dont like it tho

real sierra
#

which frees the memory as you pop boards off the history

silent cloak
#

there are 4.8*10^44 possible legal chess positions

real sierra
olive sable
#

neuroCatUuh are you sure about that

silent cloak
real sierra
#

if you remove the "legal" from that you might be right

#

unsure

#

might have to remove "possible" too

olive sable
#
AI Overview
There is no single answer to "how many legal chess moves" exist, as it varies significantly depending on the stage of the game. From the starting position, White has 20 possible first moves. During the middlegame, the number of available legal moves usually ranges from 30 to 40, while in the endgame, this number typically declines as pieces are exchanged

thanks google

scarlet arch
#

I haven't read back all of this, but I remember seeing a video where a dude stored the whole chess board as bitflags in a u64. Like per character. Does that make things smaller?

silent cloak
olive sable
#

the answwer is 40 i guess

real sierra
silent cloak
#

me picking all the losing moves on ur API

real sierra
#

"here is how many moves are in chess (i didnt count most of them)"

olive sable
#

when my bot makes a -75 trillion IQ move but the enemy llm wasnt trained to handle it and crashes

real sierra
silent cloak
#

neuro

scarlet arch
olive sable
#

these are 64 bit ints

#

but you cant use a 0 or 1 to show the position of 13 diffrent kinds of pieces, so you have to use multiple

silent cloak
#

time to study this for shiro's API

real sierra
#

go for it

amber fractal
real sierra
#

finding the worst move is equally as difficult as finding the best move

silent cloak
#

shiro is dressing for halloween with all these masks

real sierra
#

you have to check just as many boards, and verify the same conditions

#

if you make the worst chess bot ever, i'll be impressed as heck

amber fractal
silent cloak
#

yes or no

amber fractal
#

(yes)

silent cloak
#

fuck it im in

#

added to my list

real sierra
#

+1

silent cloak
#

ill make the worst possible chess bot

olive sable
#

the worst chess move physically possible is almost definetly what i do. researchers shoudl see me play

silent cloak
#

this weekend ill probably start on it

olive sable
#

ill wait till the api is done

silent cloak
#

i want it to be so bad that a brain dead person could battle it and win

amber fractal
#

Time to beat worstfish neuroHypers

scarlet arch
silent cloak
#

welp time to plan an algorithm to see how to lose in the fewest moves

olive sable
#

i move my rook from A8 to A9 Minamhm

scarlet arch
scarlet arch
sage crag
#
poll_question_text

victor_answer_votes

6

total_votes

6

victor_answer_id

1

victor_answer_text

victor_answer_emoji_id

1163912230585237655

victor_answer_emoji_name

enub

silent cloak
#

a big thing ill need to focus on is avoiding stalemates where possible

olive sable
#

the smolest file size would probably be 208 bits

silent cloak
#

i should call it the SlopEngine

olive sable
#

wait lemme check if im doing my math correctly

#

for a single space there are 13 possebilites, so if we use 4 bits to represent that we're only using 13/4 = 3.25 bits per space. so 3.25 * 64 = 208 bits total

#

the poblem is that requires a lot of decoding and encoding so not really good for speed

silent cloak
#

i think i should start experimenting first with an inverted minimax

olive sable
#

log2​(13^64) = 64 * log2​(13) = 64 * 3.70044 = 236.83 bits

#

so 237 bits

amber fractal
olive sable
#

shiro is combing similair ones

#

or wait, thats still 832

amber fractal
#

This follows 8x8 and 13 types

olive sable
#

what is shiro doing then?

#

oh wait he's doing bytes

#

not bits

amber fractal
#

/8 time

olive sable
#

256 bytes

#

he could be so much more space efficient smh

remote atlas
#

Its a bot

#

The Poker Night bots

#

its so funny

#

playing against them

amber fractal
#

Surely he is talking about a video he watched on it

scarlet arch
remote atlas
#

Oh my bad

olive sable
#

those 100 bytes

remote atlas
#

Idk its probably the case for a lot of poker game bots

olive sable
#

Minamhm i have no clue what i did wrong but sure

amber fractal
#

I'd still be doing 128 bytes per board state as described in the funni ASM SIMD idea. So not exactly the most space efficient but it is worth it for easy impl.

olive sable
#

space efficient doesnt matter when you can have pure speed

amber fractal
#

The only reason the SIMD method is fast at all is because you can cast a 64bit register to a SIMD one like numpy does.

#

Otherwise you'd be iterating over all of the opps pieces to remove them on taking

#

I mean having all of the board on 2 AVX-512 registers is also a benefit I guess.

real sierra
#

move undo is complete i think

#

now i need to finish the UCI handler

#

how much of this spec do i really need

#

surely just implementing like 10% is sufficient

faint sandal
#

why is vmware so slow on my computer

#

borderline unusable pos

olive sable
#

i may have done some race conditions ReallyInnocent

#

single slice

real sierra
#

i actually think maybe i can get away with this little of UCI

#

i was joking before but

#

mutex PagBounce

sage crag
#

shimo

real sierra
#

hiii

sage crag
#

your api sounds like an affront to god

real sierra
#

whaaaaat

sage crag
#

i look forward to using it

real sierra
#

i thought my concern for thread safety was quite a green flag

olive sable
#

i fixed what i thought the issue was, but its still not fixed so the broken code was responsible for a bug i wasnt even aware of i guess ReallyInnocent

sage crag
#

you not need thread safety its single threaded

real sierra
#

the bot runs on a single thread but the UCI spec says it must always be listening to the server

#

so the UCI listener runs in a separate thread

sage crag
olive sable
#

enub shiro not using async

real sierra
#

async

#

C

#

MONKAOMEGADANCEBUTFAST just about bricked it

sage crag
sage crag
#

not portable to msvc

real sierra
#

but posix...

olive sable
#

i didnt know async worked diffrently in C vs C++ but i guess thats where those plusses came form

sage crag
#

its ok they will just have to use windows gnu target

real sierra
#

surely if you build on non-posix system it just makes an alias glueless

sage crag
#

right mhm

#

surely

#

it will probably work on windows gnu target

#

almost certainly wont on windows msvc target but who cares about that garbage

olive sable
#

OM i was interpreting vec3's as vec2' and vec2's as vec3's cuz i switched the numbers by mistake

#

its still broken

#

bwaa

sage crag
olive sable
#

i have this rn

#

so indexbuffer and vertexbuffer work. the uv buffer doesnt tho

#

and normalbuffer i cant tell with the textures like this

real sierra
#

when the bot indicates it has submitted its final move

#

i would like that submit method to block that thread until the UCI listener hears that its time for the next move

#

idk a good way of doing that tho sus

#

i guess another mutex PagBounce

olive sable
#

neuroCatUuh i have no clue

real sierra
#

surely this wont make a race condition glueless

#

(i already know what the race condition is and am pretending it doesnt exist)

tender river
real sierra
tender river
#

no

real sierra
#

ah i see

#

that'll work

olive sable
#

semaphores are for between gpu and cpu no?

#

or does it have a diffrent meaning when not vulkan?

real sierra
#

i think it probably functions on the same principle as a synchronization primitive

#

but here it's working between threads instead of between cpu and gpu

olive sable
#

om

#

not only did i switch vec2 and vec3 in 1 part of the code

#

i did it again in the shaders themsleves

#

maybe it used to be the opposite way and i accidentaly changed everything when restructuring the code?

real sierra
#

wow

#

i think its done

#

v1 of the api

#

how do i test this

#

how do-

#

how do i build a c program again

unkempt citrus
#

this is why I like go

#

among othe rreasons

real sierra
#

its ok

#

i got this

olive sable
#

the pictures will get more interesting once the individual objects code gets finished enub

real sierra
#

it builds

#

now i guess i have to do something scary and actually try to start the api...

#

moment of truth

#

well thats a bad sign

#

oh i didnt recompile

#

thats why

#

the warnings gcc just spit out exceed my terminal history

#

need to pipe into less

#

none of these errors make any sense SCHIZO

#

bruh what conflicting types

olive sable
#

huh

real sierra
#

gcc smoking something

olive sable
#

did you maybe not define the function before using it?

#

it needs to go above

real sierra
#

...

olive sable
#

bad

#

ye this is one of the worst parts of c and c++

real sierra
#

RAGEY but recursive functions work fine

olive sable
#

yep

#

idk why

#

i guess cuz the function knows it is the function?

#

imo the compiler should just see what stuff exists in the file beforehand but i guess we're not doing that for some reason

sturdy wing
#

after working on my PC when using it my ears began to hurt. I do hear some high pitched noises, but nothing too unusual from normal PC sounds, however, my ears hurt after longer term exposure
I began tests to attempt to determine the source of the inaudible painful sound

after yesterdays PC noise tests here's what i know:

  • the noise began after i worked on my pc -
    I swapped both case fans and my CPU fan,
    I attempted to unscrew my motherboard from my case multiple times before realizing it is stuck due to a broken screw,
    I attempted to remove the screw by force with no success
    I didn't in anyway interact with the PSU, SSD, RAM
  • I noticed that my GPU's right fan would make an almost engine rev up noise when increasing or decreasing in speeds
  • after realizing the high pitched noise (not the rev up) here's what I attempted:
    1. I disabled both case fans. noise seemingly persisted, but i felt that it got slightly better
    2. I disabled CPU fan (re-enabled case fans), I enabled power saving in windows settings. noise seemed to get notably better, but still persisted.
    3. I swapped GPU, both case and CPU fans were enabled. noise seemingly persisted

conclusions:

  • As I did not interact with my PSU my assumption is that in my messing with the motherboard something got slightly damaged causing the noise
  • Alternatively my exposure to this noise made me more sensitive to the natural noises of my computer making all tests inconclusive
olive sable
#

hmmm

#

idk

real sierra
#

catdespair 👍

#

well it compiled finally

#

what if i -Wall

sturdy wing
#

also based C enjoyer

real sierra
#

why thank you

sturdy wing
#

my second favourite language after Rust
if C had the ability to overload operators like C++ and some syntax improvements it would be the best language imo

#

sadly no one has made C, but with minimal improvements™

olive sable
tender river
#

psh

real sierra
#

catdespair endless warnings

#

i made the mistake of assuming & took precedence over >

#

the compiler has warned me such but the fixing is annoying as hell

#

ok

#

all the warnings i care about are fixed

#

lets run it PagMan

olive sable
#

why not all of them?

real sierra
#

pogs wtf

#

it hasnt crashed

#

its also not behaving as i expected

#

if the semaphore has a value of 0

#

then sem_wait should make it hold until a sem_post right

real sierra
#

looking good

olive sable
#

fix your errors

#

my -Wall is completely empty

nocturne olive
#

Turns out, using Python on web is a horrible idea

#

Who could have ever expected this

olive sable
#

me

#

i expected this

#

i did this before

nocturne olive
#

Yeah unfortunately you didn't tell the person that wanted to make a Neuro attorney visual novel thingy that

olive sable
#

still, 40fps at 720p?

#

thats a skill issue

#

i did vsync

#

at 1440p

nocturne olive
#

Well it's not native WebGL, it's using a library so there's like 2 extra layers

olive sable
#

oh

#

must be a shitty library

nocturne olive
#

Who knows, maybe you could help them translate the whole thing to something more performant

real sierra
#

stupid question

#

does scanf consume input

#

something is not making sense rn

tender river
#

shiro fish

real sierra
#

chayleaf

#

i dont know why this isnt working

#

it no make sense

tender river
#

good luck

real sierra
#

its reading the first line of input

#

over and over

#

how is that even possible

tender river
#

\n format string maybe

real sierra
#

but

#

i thought input was consumed

#

by scanf

#

it shouldnt be there to be read a second time

tender river
real sierra
tender river
#

write small test neurOkay

real sierra
#

i am running my small test

#

thats why i dont understnad

#

oh

#

OHHH

#

i get it

#
char line[1024];
while (running) {
  scanf("%[^\r\n]", line);
  // ...
}
#

this seemed pretty foolproof to read in lines

#

but it doesnt ever read the newline chars so it doesnt clear them from the buffer

#

then it just infinitely reads 0 characters over and over

#

which leaves line unchanged

#

i dont know how i feel that it doesnt read the null terminator but

#

whatever

tender river
#

shiro buffer overflow

real sierra
#

i know

#

surely the chess program wont send me more than 1k

tender river
amber fractal
real sierra
#

well it was a good start

#

don't like how the board looks? just segfault OK

#

segfault fixed

#

pogs the UCI interface seems to work on a very basic level

#

lets see if it knows enough words to talk to arena

#

do all writes happen from the main thread

#

arena starts the bot, asks if its there, and for some reason the bot doesnt reply for like 30 seconds

#

so arena is like "a new game is starting, ready?"

#

and it still doesnt reply

#

so arena gives up and just sends it the board info and says "ok you can start thinking"

#

and only then do the replies for all the commands before get sent, all at once

#

and i think its no coincidence that this is where the semaphore is released

real sierra
#

segfault but no stack trace?

tender river
#

neuroXD shiro c

real sierra
#

explain perish

#

where is my stack trace

#

no make sense

tender river
#

main ()

real sierra
#

literally the only thing it could be doing during this segfault

#

is running that function

tender river
real sierra
tender river
#

dont use vtables

real sierra
#

Awkward already am

tender river
#

useless without 2 impls coexisting

real sierra
#

convenient because i can refuse to give the user my API until it's ready to be used

#

no calling my functions until i say so

tender river
#

__attribute__((constructor))

real sierra
#

python lookin line

tender river
#

shiro did you know

#

c function pointers cant be used in some languages

real sierra
#

bad languages CatLaughingAtYou

tender river
#

nop

#

bad shiro

real sierra
#

they'll have to wrap the python bindings

tender river