#programming

1 messages ยท Page 199 of 1

stray dragon
#

damn.

opaque sigil
#

Not if it's a local array

stray dragon
#

i think that's as short as my matmul array will be getting

sage crag
stray dragon
opaque sigil
#

Oh huh

#

Neato then

sage crag
#

granted i dont know if its a square matmul or if you are allowed to do stuff in place

#

this looks nonstandard though

midnight sigil
stray dragon
#

it's for 1d matrix x 2d matrix (both are input as 1d arrays)

midnight sigil
#

get a lexer to count tokens for you

sage crag
midnight sigil
#

it's unpleasant to read ABCDEFG

sage crag
#

you will do stack smashing if you do

midnight sigil
sage crag
#

its maths

#

doesnt need variable names just identifiers

sage crag
#

that works with if

obsidian mantle
#

Yeah should work

#

It uses just one line

stray dragon
# sage crag why dont you reuse A?

wouldn't work, the size of the A matrix is h*1 and the size of the C matrix is w*1
if w is larger than h (and it is, in one case) it would ruin things

#

would probably be fucked in any case actually

trim valve
#

I am going insane or something

#

the bot keeps trying to do moves it just did?

sage crag
#

did it work

stray dragon
#

nope

#

even when stacking everything into a oneliner it doesn't let you remove the brackets for the for loop

sage crag
#

return double C[30], for(....) { C[l%w] = .... }, C;

stray dragon
#

even if it's just a single expression doesn't work either

sage crag
stray dragon
#

oooh that's an interesting one

opaque sigil
#

Is this a c thing, cause that absolutely does work in c++

silent cloak
#

Ugly code competition

sage crag
trim valve
sage crag
#

to save tokens

trim valve
#

ok somehow

#

the C bot is fine

#

the rust one keeps making illegal moves

#

surely this is a skill issue on my part

stray dragon
sage crag
sage crag
silent cloak
#

It's memory safe but it can only do the wrong thing

stray dragon
#

actually would putting it in the for loop's first statement fuck with the return?

stray dragon
#

don't think it's saving any tokens so whatever

stray dragon
trim valve
# trim valve surely this is a skill issue on my part

current guesses are that (all of the following):

  • the chess api is incorrectly marking discovered checks as checkmate (specifically, where a piece moves next to the king whilst also placing it in check)
  • the rust example bot doesn't submit a move if the api returns no available moves, which probably just plays the last move that was played
sage crag
trim valve
flint dome
sage crag
#

mat(A,B,h,w,i) {double C[30];return({for(l=h*w;l--;)C[l%w]+=A[l/h]*B[i+l];C;});}
t

flint dome
#

AHHHHHHHH

sage crag
#

ill be really interested if this compiles

flint dome
#

me eyes hurt I saw too much regex im leaving

sage crag
stray dragon
sage crag
flint dome
#

yeah but there is regex in there

#

when programs start speaking alien I get scared

stray dragon
#

there's zero regex

flint dome
#

then what is that

sage crag
#

c code

flint dome
#

and why does it make my eyes hurt

silent cloak
#

You must work with python

flint dome
#

no I learnt programming with c

stray dragon
#

crazy

flint dome
#

I understand some of it but some looks alien to me

silent cloak
#

Thats because they are writing it weird

sage crag
#

did you check token count

#

it may be worse

flint dome
silent cloak
#

It looks like how Javascript looks on websites

flint dome
#

without checking if it is anything else

flint dome
sage crag
stray dragon
#

it's so fucked ๐Ÿ’”

#

would've been so funny if it worked

sage crag
trim valve
sage crag
trim valve
#

with a very elegant solution on my part glueless

silent cloak
#

Some pay to use compiler?

stray dragon
sage crag
trim valve
silent cloak
sage crag
sage crag
#

oh of course

trim valve
#

wait dammit that deref isn't killing it smh

stray dragon
#

no removing the brackets

stray dragon
#

@sage crag i am happy to report that __builtin_pow() works though

trim valve
stray dragon
sage crag
#

also there a bunch of these builtins

trim valve
#

or well not quite because I use a different rand but w/e

sage crag
stray dragon
#

there's more

sage crag
#

m

sage crag
#

__builtin_free

#

__builtin_strlen

#

etc

stray dragon
#

very interesting.

#

i wonder if there's any useful builtins i could use

sage crag
#

or ctez

#

those require compiling with cpu features tho

#

since they correspond to x86 instrs

faint sandal
#

powl

#

fowl

#

ow

#

owo

sage crag
#

schizaka

faint sandal
#

bwaazaka

#

kuhzaka

sage crag
flint dome
#

buhzaka

faint sandal
trim valve
#

@real sierra (apologies for the ping barrage neuroSob) minimal(ish) example of something that gets a false checkmate and causes the bot to crash
1. e4 a5 2. Bb5 f6 3. Bf1 g5 4. Ke2 h5 5. a3 d5 6. Kd3 dxe4+ {White disconnects}

#

brb gonna make a bot the speedruns a discovered check from a pawn taking

olive sable
#

i am back home neuroHypers

#

i apparenlty have tuesday and friday afternoons completely off this year NeuroBounce

sage crag
stray dragon
#

i wonder if there's a way to set up a macro so i can replace each of these lines with STAGE(2) or something so the 2 gets applied to that one input and also the function names that get called

olive sable
#

why does it do 0, 0, 2, 3, 4 on the left side?

sage crag
stray dragon
olive sable
#

ok

stray dragon
stray dragon
sage crag
#

maybe be able to trim more

#

how are you defining function without return type btw

opaque sigil
#
#define STAGE(N, first, second) \
stage##N(u, w) {                          \
    stage(u, w, N, first, second);   \
}

STAGE(2, stage0, stage1)
STAGE(3, stage0, stage2)
STAGE(4, stage2, stage3)
STAGE(5, stage3, stage4)
STAGE(6, stage4, stage5)

idk if this is even worth it enub

stray dragon
sage crag
#

dubious

stray dragon
#

saw code golf examples where they just exclude any kind of return type or whatever

real sierra
opaque sigil
real sierra
sage crag
#

all inference

faint sandal
#

no that name is taken and is illegal to own twice

sage crag
sage crag
#

multistage

stray dragon
#

was hell trying to wrap my brain around the process and then trying to convert it into a recursive algorithm of some sort that i could express in functions

real sierra
#

so do I actually have to worry or not

stray dragon
real sierra
#

whitespace shouldn't count for tokens

real sierra
#

but yeah recursive search is probably the way

sage crag
#

tail recursion saves so many tokens in complex loops

stray dragon
#

oh my god it's genius

sage crag
#

i was gonna use computed goto in my bot for fun but i think it may be too expensive in tokens Awkward

sage crag
stray dragon
#

genius

#

i love it

sage crag
#

counter is incremented for any macro that uses it

#

its not per-macro

#

choose 1 thing

stray dragon
sage crag
#

ive done terrible things

opaque sigil
stray dragon
#

no more i++ silliness >:)

real sierra
#

what if the order is somehow not what I expect and everything breaks

sage crag
#

what have i done

#

manual loop unrolling with macros

stray dragon
#

actually couldn't i just put __COUNTER__ instead of i in the while loop?

quiet mirage
#

how tf

#

i hate ts

stray dragon
#

and then not put counter in the silly macro

real sierra
#

numbers aren't valid variables

stray dragon
#

aw

sage crag
quiet mirage
#

and wtf why my my notebook run on my intergrated gpu

obsidian mantle
#

#define 0

real sierra
#

could do i ## __COUNTER__

stray dragon
#

actually

real sierra
#

but idk if that works as desired

stray dragon
#

why even limit myself

#

the only reason i was doing so was "what if there's a freak case where the number of available moves is more than 64"

quiet mirage
stray dragon
real sierra
quiet mirage
stray dragon
quiet mirage
#

i hate

sage crag
stray dragon
quiet mirage
#

typescript

#

or sbd in the general said teamspeak

real sierra
#

I don't know why my engine SUCKS sometimes

quiet mirage
#

oh no my kernel died

real sierra
#

it just sucks so bad

quiet mirage
trim valve
quiet mirage
#

which engine

#

use C

trim valve
#

the program crashing loses the round

sage crag
real sierra
quiet mirage
real sierra
#

but there's no available moves

#

is the round not over

trim valve
#

there are available moves

#

your API just doesn't see them

real sierra
#

... Aware

sage crag
#

classic

real sierra
#

ok

#

I'll take a look

#

not seeing legal moves is worrying

#

I wonder what I over constrained

#

why are the rules to this game so complicated

#

no wonder I suck at it

sage crag
quiet mirage
trim valve
#

banned from autovectorization

real sierra
#

FPE MONKA

opaque sigil
#

have you considered not dividing by 0 enub

real sierra
#

ok lets see whats causing this disaster

trim valve
#

iirc its because you're doing rand() % 0

obsidian mantle
#

neuroCry
(Not like i would manage to implement it anyway)

real sierra
#

the issue is no legal moves in this position

#

it's double check which has some special and rarely-tested move rules

#

basically you're restricted to king moves only

obsidian mantle
#

But if there are no legal moves the game is over?
Or does it not detect the moves correctly

real sierra
#

and can't move to attacked squares ofc

real sierra
#

in this pothere's a couple legal moves here in fact

#

you can take the pawn or move to e2, e3

#

c3 c4 also valid

#

very strange

#

..?

#

wat

#

oh i need to rebuild the library

trim valve
#
[White "Human"]
[Black "example_bot (a)"]
[Result "1-0"]
[FEN "3qkbn1/3p1p2/4P3/8/8/8/4Q3/K7 b - - 0 1"]

1... Qb8 2. exd7+ {8.3s, Black disconnects} 1-0
#

it seems like it doesn't realize that:

  • the queen has moved
  • the pawn is unprotected
real sierra
#
DEBUG: attacked bitboard
-XXXXXX-
XXXXXXXX
XXXXXX-X
X--XXXXX
-X-X-XXX
---X-X-X
---X----
--------
#

that's all the attacked squares on the board that the bot sees

#

which is correct

#

so why cant it move to the good squares

trim valve
#

hm?

#

so is that laid out like the actual board

real sierra
#

yes

#

with white at the bottom

trim valve
real sierra
#

helpful dump_bitboard function from bitboard.h

real sierra
#

im on a different position

trim valve
#

oops

real sierra
#

this is the one u sent me

trim valve
real sierra
#

OK ill check that one after this

#

id rather get the data from both test cases

#

in case its two bugs

trim valve
real sierra
#

heres another fun set of boards

#
dir: 0
--------
--------
--------
--------
XXXX-XXX
-XX--XXX
X-------
--------

dir: 1
--------
--------
--------
-------X
----X-X-
-----X--
----X---
--------

dir: 2
--------
--------
--------
--------
--------
----X---
--------
----X---

dir: 3
--------
--------
--------
--------
--------
--------
----X---
--------

dir: 4
--------
--------
--------
--------
--------
--------
--------
--------

dir: 5
--------
--------
--------
--------
--------
--------
--------
--------

dir: 6
--------
--------
--------
--------
--------
--X-----
--------
--------

dir: 7
--------
--------
--------
--------
--X-----
--------
----X---
--------

dir: 8
--------
--------
--------
--------
--------
-----X--
--------
--------

dir: 9
--------
--------
--------
--------
--------
--------
----X---
--------

dir: 10
--------
--------
--------
--------
--------
--------
--------
--------

dir: 11
--------
--------
--------
--------
--------
--------
--------
--------

dir: 12
--------
--------
--------
--------
--------
--X----X
--------
--------

dir: 13
--------
--------
--------
--------
--------
--------
--------
--------

dir: 14
--------
--------
--------
--------
--------
--------
--------
--------

dir: 15
--------
--------
--------
--------
--------
--------
--------
--------
#

the ray attack boards

#

shows the destination tiles of possible moves, starting with north moves, then northeast moves, clockwise to northwest moves, then all the knight moves

#

i can see the pseudo-legal move finder is generating the valid king moves

#

OH

#

found the bug

#

i had a short circuit eval for double check positions that would skip evaluating pseudo moves to squares not near the king (since they're automatically illegal)

#

but this skips the part of the function that actually shifts the attack square

sage crag
#

phrr

real sierra
#

now finds d3c3 OK

#

and d3e4

trim valve
real sierra
#

d3e2

#

looks correct

#

what was that other position you wanted me to test again

#

with the fen

trim valve
#
uci
ucinewgame
position fen 3qkbn1/3p1p2/4P3/8/8/8/4Q3/K7 b - - 0 1 moves f8d6 e6d7
go infinite
real sierra
#

finds e8f8

#

is that correct

#

or e8d7

trim valve
stark needle
#

Chat wtf

trim valve
#

looks correct

real sierra
#

OK cool

#

ill push the change

stark needle
#

I was able to win in an auction a whole GoXLR for 90 bucks

real sierra
#

im glad to see the broken situations are getting more and more niche

trim valve
real sierra
#

new version sent

#

can i even use a transposition table with this method

#

it seems kinda hard to apply

sage crag
#

chipi

trim valve
#

bad news shiro

#

I am still getting crashes

olive sable
trim valve
#

I think its less though?

sage crag
#

noper

#

more crash

#

just less frequent

olive sable
#

concentrated crashing Minamhm

polar crane
#

Everything was running slow on my pc and when I checked, Sata connections were running at 16.7MBytes/s turns out my CMOS battery died and it was booting with IDE instead of AHCI

olive sable
trim valve
#

I love it when cute-chess dies and does this

quiet mirage
#

anyways is that chess bot?

trim valve
#

shiwo why does cat test.txt | ./example_bot pin a core at 100%

trim valve
#

but not intentionally ๐Ÿ˜ญ

quiet mirage
#

i just think about stockfish or smth smth like that

trim valve
#

oh wait

quiet mirage
#

are u use machine learning?

#

oh nvm

trim valve
#

this one is literally just picking random moves

real sierra
#

im getting the same thing

real sierra
#

you would think it'd hit the semaphore but

trim valve
#

does your code actually die if it can't read stdin

#

or does it just keep trying

real sierra
#

it should at least freeze id think

#

i dont suppose being stuck on a mutex with no other running threads to switch to is a busy sleep

trim valve
#

shrug

real sierra
#

its awkward because the UCI thread is the child thread not the parent thread

trim valve
#

I have a weird issue

real sierra
#

i have 41 tokens to work with

real sierra
trim valve
#

cute-chess is no longer writing game logs

real sierra
#

wasnt me

trim valve
#
Player: rust-chess-bot (release) (a)
   "Draw by 3-fold repetition": 8190
   "Draw by fifty moves rule": 97
   "Draw by insufficient mating material": 409
   "Draw by stalemate": 186
   "Loss: Black disconnects": 3
   "Loss: Black mates": 269
   "Loss: White disconnects": 5
   "Loss: White mates": 288
   "Win: Black disconnects": 5
   "Win: Black mates": 276
   "Win: White disconnects": 5
   "Win: White mates": 267
#

it now crashes a lot less

#

only 18 times in 10k games

real sierra
#

macros all the way down

trim valve
#

i should probably profile instead of trying to debugger this

real sierra
#

oh

#

you know what

#

i think i know what it is

#

the UCI scanf doesnt exit on eof

#

so if stdin closes without killing the process

#

it loops forever

#

easy patch, just a sec

trim valve
#
uci
ucinewgame
position fen 1r3kr1/p1p5/2b2Pp1/np2b3/1P3P2/PKP4p/RQ1q3P/1NB1R2B w - - 1 39
go infinite

new crash glueless

real sierra
ember finch
real sierra
#

yep that crashes

#

single check where you need to take the attacking piece without a king move mhm

#
DEBUG: check attacks bitboard
--------
--------
--------
X-------
--------
--------
--------
--------

#

this bitboard represents all squares that can be moved to in order to break the check

#

looks correct

#

so why isnt it working buh

solid bough
#

Everything is working now neuroHypers

#

FINALLY

#

Yeees

opaque sigil
#

take the survey neuroPogHD

hollow spruce
#

Server issue is wild

rigid snow
#

FeelsStrongMan they found each other

hollow spruce
#

Some how google colaba gpus are shutdown

real sierra
#

it thinks the pawn is pinned

solid bough
# hollow spruce Good

Yeah, and now I need to test what the largest dataset is I can use before my GPU explodes

hard raptor
#

Alr.. let's make a database with mostly bash

solid bough
solid bough
rigid snow
#

what do you call this stack

hard raptor
#

Hmmmm

#

Idk

trim valve
#

I think its due to the rook above the pawn

rigid snow
hard raptor
#

Yeh

rigid snow
#

itโ€™s a css web server and a bash db

sage crag
#

fen fen fen

rigid snow
#

fein

real sierra
#

i see

hard raptor
#

Wait..

real sierra
#

the pin checker looks for straight-line sequences of king --> (friendly piece) --> (enemy piece that attacks on this ray)

hard raptor
#

I could make a really bad joke and include another part that starts with t

real sierra
#

it only halts with no pin if it detects two friendly pieces in a row

hard raptor
#

I am not gonna finish that sentence tho

rigid snow
#

typescript isnโ€™t cursed enough

#

what else starts with t

hard raptor
#

Could also use ASP for templating

rigid snow
hard raptor
#

For the abc stack

rigid snow
hard raptor
#

Ehhh

#

Wait

#

What programming language starts with t

#

Then i make my own template engine that uses that syntax

#

TeX seems cursed for web templating

real sierra
#

ok fixed bug

#

by only removing code apparently

hard raptor
#

Or we could find another letter or use a letter from a different position of a language

#

The first option would allow for a potentially more SFW acronym

hollow spruce
#

Stop spaming error

real sierra
#

@trim valve pushed new version

hard raptor
hollow spruce
#

I will back in some times

rigid snow
hard raptor
trim valve
real sierra
#

oh also i pushed again to try and fix the busy crash thing

trim valve
#

you might have uh

real sierra
sage crag
#

rust programmer allergic to refcounting

real sierra
#

OH

#

IM AN IDIOT

sage crag
#

mm yes smart pointer no refcount

hard raptor
sage crag
real sierra
#

before the pin checker would stop looking on hitting another friendly piece

#

i meant to make it stop looking on hitting any piece

#

i instead made it stop looking on hitting empty squares too

hard raptor
#

Yeahh wait

real sierra
trim valve
hard raptor
#

Use scheme for data communication between front end and back end instead of GraphQL

trim valve
#

do they literally just want Arc<Arc<T>>?

real sierra
#

@trim valve pushed again PagMan ๐Ÿซธ

#

this should be the right condition

#

im confident this time

hard raptor
#

On the otherhand

real sierra
#

someday we'll reach a point where the legal moves checker returns legal moves Prayge

hard raptor
#

SQL is already used in the back end anyways

#

So we may not need to find something for the S

sage crag
#

fuzz that thing

#

you know

#

generate test cases and compare it against an existing library

#

for like 2 hours

#

then patch bugs and rerun the failed cases

hard raptor
#

Or the S can be covered by SCSS

#

And then we need something else for the D

trim valve
hard raptor
#

We could probably work GD script in there somewhere

sage crag
hard raptor
#

On the otherhand

solid bough
#

Hi Hayleigh

hard raptor
#

We could also use D-Lang to write the webserver module for the SCSS runtime

solid bough
#

Alighty, the model is done with the 1024 epoches

real sierra
#

is it at least improved

trim valve
#

lemme run a longer test and see

#

it only died after 2k games

solid bough
#

Shiro~ who did you mean?

real sierra
#

bred

#

need to know if the API changes I just made fixed the issue or not

real sierra
#

I'm on mobile

solid bough
#

Oh god...

real sierra
#

Prayge no pinned pieces pls

trim valve
sage crag
#

write fuzzer

#

or

solid bough
opaque sigil
#

fuzzing is for nerds (i am the nerd)

real sierra
#

fuzzer on UCI annoying

#

Besides that's basically what a tournament is

sage crag
real sierra
#

especially with random move bots

sage crag
#

you try

real sierra
#

oh I see

#

extremely rare edge case

#

pinned pieces can't move EXCEPT along the ray they're pinned on

sage crag
hollow spruce
#

Only cause of google colaba gpus shutdown was delayed payment

real sierra
#

idek how I fix that

#

that's complicated

hollow spruce
real sierra
#

I might need directional pin boards indicating the valid movement rays

hard raptor
#

M4 would literally be the only thing in the stack doing exactly everything it was designed for

opaque sigil
#

m4 neuroDeadge

hollow spruce
#

M4 chip from apple , m4 units of google colaba gpus
A80pro ?

opaque sigil
#

gnu m4 i'd imagine

hard raptor
hollow spruce
hard raptor
#

Dementia

real sierra
#

NAHH got the content in the top right

#

subway surfers

#

needs a 5 minute crafts video too my attention span is too short

hollow spruce
#

Just sent I click 2 times that all

hard raptor
#

silly network

#

so ur network has dementia

#

so it still dementia

rigid snow
#

discord fucked something up

#

apparently text now too

hard raptor
#

text was also known like 4 days ago

#

in filcord

real sierra
#

I think I'm sick dejj

#

I've been seriously pushing myself writing the code for this event

#

not eating or sleeping enough lately

#

it's finally catching up to me despairge

fast pagoda
real sierra
#

just use java for everything

quiet mirage
#

java is funny

fast pagoda
#

clojure runs on the jvm shrug

quiet mirage
clear sedge
rigid snow
fast pagoda
#

well conceived and comprehensive

clear sedge
#

object orientation is the future, just use java Clueless

real sierra
#

java if it had operator overloads

clear sedge
#

that's just c# with less steps

real sierra
#

java was first smadg

clear sedge
#

don't get me wrong i'm a javahead too

#

but c# beat java to certain features Fox_Sip

solid bough
real sierra
#

๐Ÿฅ€ idk why it's not on java yet

#

it would be fully backward compatible

#

and it's such low hanging fruit

fast pagoda
#

c# is literally bill gates said we need a god DAYUM java and hell nah we aint asking sun even though they're right there

#

and now we have neuro

#

cause and effect

clear sedge
quiet mirage
quiet mirage
#

great

rigid snow
opaque sigil
#

just look at c++ and how operator overloading worked out for them

clear sedge
rigid snow
#

that was the argument

quiet mirage
clear sedge
rigid snow
clear sedge
#

i hate python with all my soul

#

i despise that snake.

quiet mirage
#

just print(1+1) and 2

opaque sigil
#

sorry only real languages are considered here

quiet mirage
#

i use anaconda

clear sedge
#

i hope python dies in the pits of the hell it belongs in

opaque sigil
#

there's your problem

#

don't use anaconda enub

quiet mirage
#

so it doesnt count right

rigid snow
quiet mirage
rigid snow
#

conda is cool

#

uv better tho ReallyInnocent

quiet mirage
#

ok i hate python when i has to competitive programming

clear sedge
quiet mirage
#

fcking slow

opaque sigil
#

conda is cool in theory if it wasn't so god damn slow

#

though i guess there's mamba for that

clear sedge
#

blyat

quiet mirage
#

just use uhhh

#

using namespace std;

clear sedge
#

use npm and node for everything

quiet mirage
#

js mentioned

real sierra
clear sedge
real sierra
clear sedge
#

i hope it has mold

#

everywhere

real sierra
#

capitalDColon rain wth

quiet mirage
clear sedge
#

i hope your pillows are an uncomfortable temperature

quiet mirage
#

sad

clear sedge
#

you psychopath

quiet mirage
opaque sigil
quiet mirage
#

lay on the floor

clear sedge
#

where do you SLEEP

opaque sigil
#

too bad it doesn't exist until it can compile the linux kernel

clear sedge
#

on the floor???

quiet mirage
#

under the desk

#

or on my chair

clear sedge
#

first the sin of using namespace std

#

now this

quiet mirage
#

ok i have mattress but i dont like it

quiet mirage
clear sedge
#

are you competing to see who can get into android hell the quickest?

#

because that's how you get into android hell

quiet mirage
#

everytime i use C++ its like

#

#include <bits/stdc++.h>
#define int long long
#define ii pair<int,int>
#define fi first
#define se second
#define el '\n'
#define faster ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define oo 9000000000000000000

const int MAXN = 1e3+2;

using namespace std;

real sierra
#

is anyone looking for a part time position where they send candid professional replies to hate mail

clear sedge
#

why

quiet mirage
fast pagoda
#

im in

real sierra
#

wonderful

#

I figure once I open the contest and everyone sees the source code

opaque sigil
real sierra
#

I'm probably not going to have time to respond to the flood of vulgar language

fast pagoda
#

oh i am great at pretending there was a reason for the cardinal sins present in a codebase

clear sedge
quiet mirage
#

wanna see jumpscare

#

chat

tender river
hard raptor
clear sedge
quiet mirage
quiet mirage
#

or smth

hard raptor
real sierra
fast pagoda
#

ok what about Ansible playbooks instead

hard raptor
#

My silly stack better

clear sedge
#

single character name fields

#

my beloveds

hard raptor
#

Cuz SCSS webserver

#

And bash database

quiet mirage
#

yes

fast pagoda
hard raptor
#

No

fast pagoda
#

big ass embed

clear sedge
quiet mirage
#

possible?

fast pagoda
# quiet mirage wtf

Puya PY32F002B MCU, which comes with a Cortex-M0+ core at 24 MHz, 3 kB SRAM and 24 kB of Flash.

quiet mirage
fast pagoda
#

the CPU

quiet mirage
#

with love

sage crag
#

phr

rigid snow
clear sedge
#

cool

fast pagoda
#

throw er in the landfill

clear sedge
#

now play doom on it

real sierra
#

when is next konii patch

#

still haven't fixed the phr bug

clear sedge
#

holy fuck

quiet mirage
#

anything but vaping

quiet mirage
#

๐Ÿ’”

rigid snow
quiet mirage
clear sedge
#

vaping is a bad thing actually actually

quiet mirage
#

my country ban vape

fast pagoda
rigid snow
quiet mirage
fast pagoda
#

gregante test

rigid snow
clear sedge
quiet mirage
#

its like smelling the exhaust pipe motorbike

#

and its feel dizzy idk

hard raptor
clear sedge
#

i'd never smoke personally

rigid snow
fast pagoda
#

easiest way to not smoke is to smoke like once when not drinking or anything else to make it appealing outside of the smoking

clear sedge
#

can't catch me smokin ever

#

i'm so good at not smoking

#

..drinking however

quiet mirage
real sierra
#

i drink once or twice a year and would never smoke

quiet mirage
#

like very bad i cant smell them

clear sedge
#

my liver yearns for water

fast pagoda
#

usually the opposite is what is said - they smell good but not when burned

quiet mirage
#

cant even drink a cup

rigid snow
fast pagoda
#

for like 1 second

quiet mirage
clear sedge
#

you usually drink those in shots

fast pagoda
#

i do like gasoline/petrol smell

quiet mirage
#

many old motorbike here

clear sedge
#

or in my case, bottoms up and chase it with soda right after :3

fast pagoda
#

im gonna be like that that girl that drinks gasoline or whatever that fake mid 2000s show was

quiet mirage
#

and its smell like lead

quiet mirage
clear sedge
#

this is very related to programming hm yes

quiet mirage
#

i was like

fast pagoda
#

it's related via inheritence of the attributes of its parent discussion

quiet mirage
#

paralysis

tender river
rigid snow
quiet mirage
#

for whole day

real sierra
#

i think the best way to fix chess pin checking is to break the pin finder into pieces for each ray

clear sedge
real sierra
#

and then they're split into separate bitboards so it should be easy to ensure things only move on the ray

tender river
clear sedge
#

you confuse me

rigid snow
quiet mirage
tender river
clear sedge
#

am i too hungover to understand this

tender river
#

you aren't drunk enough evilNYA

clear sedge
#

wrong

rigid snow
clear sedge
#

i got TOO drunk actually actually

#

apparently yapped about wanting to open a tech repair shop

clear sedge
#

i do not in fact wish to open a tech repair shop

rigid snow
#

MODS why is #programming baiting me into drinking on a workday

clear sedge
#

drinking is in our nature as programmers

rigid snow
#

ban everyone

clear sedge
#

duh

real sierra
#

salute sorry everyone

#

mint's orders

clear sedge
#

oh no

fast pagoda
#

Someone tell me why I'm about to drive to work (1 hour) to be there for 1 hour in a meeting and then drive back home

real sierra
#

I used to do that for class at the start of covid

fast pagoda
#

0/10

#

Although they getting billed 3 hours

#

Since it's my day off

real sierra
#

that's good at least

solid bough
opaque sigil
#

me when i get to travel 5 hours for a 15 minute meeting

fast pagoda
#

And I'm just so prudent going in

I'm busy fumbling my way through a PKGBUILD (very hard, elite level task ) I don't have time

real sierra
#

I feel terrible

#

I just want to go home honestly but I can't afford to miss these classes

sage crag
real sierra
#

I will

#

I just hope I don't throw up in class or something

sage crag
#

good luck evilNya

stray dragon
#

so, funny thing about the tokenizer: these three lines each count as "11 tokens"

real sierra
#

11?

stray dragon
#

yes.

#

it seems to ignore anything past STAGE for counting the tokens

#

not a comment bug this time

#

i have tested them in a compiler and even that last line works exactly as intended

#

lol?

tender river
#

can always patch tcount evilHeyGuys

stray dragon
#

noooo my infinite token exploit!!!!!!!

real sierra
#

tcount is

#

... something

#

you would think all the tree-sitter submodules work the same

#

so I don't get how they are this incompatible with one another

olive sable
#

so the meta strat is to break the token counter? ReallyInnocent

clear sedge
#

the meta strat is

real sierra
#

I'll see how far t can take it

clear sedge
#

hah

#

fart

stray dragon
stray dragon
#

and if you think i'm joking i'll prove it

desert wave
real sierra
#

not that kind of token

sage crag
somber vine
#

just work, onesignal!

sage crag
#

just write your own tokeniser

#

this one is garbage

#

genuinely why does it need tree sitter to count tokens

real sierra
#

glueless "just" write your own tokenizy

sage crag
#

just ignore language semantic rules

#

its incredibly easy to get a fair tokeniser this way

real sierra
#

but yeah

clear sedge
real sierra
#

problem is writing a tokenizer for every language

#

or that supports every supported language

sage crag
clear sedge
#

that supports

#

every supported language

sage crag
#

symbol is token, ident is token

#

num is token

#

just write one evilShrug

real sierra
#

if we did have our own tokenizer, we could make strings count for tokens according to their length

tender river
real sierra
#

so that'd be convenient

#

but yeah the specific symbols language use for things vary quite wildly

clear sedge
#

just have like two tokens

tender river
#

i think tcount just doesnt visit child nodes

#

surely an easy fix glueless

real sierra
#

I don't speak rust so it's beyond me

clear sedge
#

one for new lines and one for everything else that you just split by spaces and arbitrarily call an identifier

sage crag
clear sedge
#

problem fixed

fast pagoda
sage crag
#

you want a heuristic for the length of the program

#

we dont care about the exact token number

real sierra
#

I see

#

but I still think there will be edge cases based on language particulars

#

e.g. what you consider a delimiter may have different meaning for some languages

sage crag
#

just make ascii strings identifier tokens, split at whitespace, and any other char a token

real sierra
#

or what you consider a string

tender river
#

a+++++a

#

7 tokens?

sage crag
mighty nebula
#

Anyone recommended a good python course?

sage crag
clear sedge
#

i hope python dies

sage crag
real sierra
#

it ascii string with no whitespace

opaque sigil
#

did guido murder your family or what neuroCry

sage crag
clear sedge
#

python murdered my mother

real sierra
#

ascii

clear sedge
#

python murdered my father

#

it spat in my face

real sierra
mighty nebula
clear sedge
#

python

mighty nebula
#

I still have nightmares with that one

clear sedge
#

less worse than c++

#

i will find you

real sierra
#

anyway

#

I can certainly try when I get home

#

but I feel like nobody will like what I produce Om

clear sedge
#

i will come for you and force you to program in c++

#

until you understand its beauty

real sierra
#

"why did you do it this way"
"should be like this"
SCHIZO

mighty nebula
#

It's beautiful but not for web

real sierra
#

10 years of adjusting tokenizer to match people's personal taste on what a token is

sage crag
#

and ignore all complaints

tender river
stray dragon
#

9 token bot

sage crag
stray dragon
#

only thing i couldn't include was the include

real sierra
stray dragon
#

yeah LOL

clear sedge
real sierra
#

I would like to be able to identify actual strings in languages and tax them for their length

#

can make that lang specific, not hard

clear sedge
#

tax the rich strings!

stray dragon
#

for now i'll make sure my token count is PROPER by just doing a newline after each define

#

because just doing this makes everything (besides the other declares in there) appear to the tokenizer just fine

tender river
#

i'm fixing tcount rn neurOkay

stray dragon
#

thank you

#

now everyone else has a chance

real sierra
#

chayleaf the new official tcount maintainer

sage crag
#

riih

real sierra
#

what are these characters

#

tv static

sage crag
#

rewrite

#

it

#

in

rigid snow
#

hlang

desert wave
#

new competition: who can write an accurate token counter in the minimum number of tokens

clear sedge
#

token golfing

real sierra
#

my token counter is return 0;

#

it's 0 tokens long so I win

clear sedge
#

mine is return -1;

#

so i win actually

sage crag
#

mine is ask the compilers how many tokens there are

real sierra
#

surely the compiler tells you glueless

#

also this might kill C defines as a strategy Aware

clear sedge
#

does one run c code through the preprocessor before token counting it

#

that would absolutely balloon the token count

tender river
#

no

#

one does not

clear sedge
#

darned shame

real sierra
#

if they did I'd be toast

stray dragon
#

same

real sierra
#

my code is about 50% larger without defines

tender river
#

no you would be shiro

real sierra
#

nuhuh

#

I'd change my name

clear sedge
#

#include <stdio.h> and suddenly you have at least a thousand tokens

obsidian mantle
#

hmm

real sierra
#

MONKA true

obsidian mantle
#

my <vector> include is just 3 tokens

opaque sigil
#

3693 tokens for including stdio neuroPogHD

obsidian mantle
#

i typed #include <stdio.h> in my file and its still +3 only

#

what do i do wrong

opaque sigil
#

nothing

#

i was talking about after calling the preprocessor

obsidian mantle
#

oh

clear sedge
#

god bless includes

opaque sigil
#

was just curious

clear sedge
#

i'm gonna do unistd.h, stdio.h, and stdlib.h >:D

stray dragon
#

in my case, it actually saved me tokens to uninclude other libraries

real sierra
#

I refuse to give up stdbool.h

stray dragon
#

you could include math.h for the pow(a,b) function, but why do that when you could just not include math.h and then use __builtin_pow(a,b) instead?

opaque sigil
#

use a c++ compiler and you get it for free (stdbool)

clear sedge
stray dragon
#

small amount of text

clear sedge
#

now where is this mystical token counter

real sierra
#

google rrsty tcount

#

it's something like that

clear sedge
#

i can't find it

#

all i see is something about iowa

tender river
stray dragon
clear sedge
tender river
#

what is this MyHonestReaction

#

ah yes preproc_arg

clear sedge
#

i mean it is a preproc_arg

real sierra
#

preproc_arg

tender river
#

it has zero child nodes

real sierra
trim valve
#

i mean surely it makes sense