#programming
1 messages · Page 214 of 1
-# 
https://cdn.discordapp.com/emojis/1162976978278809641.webp?size=96&animated=true
https://cdn.discordapp.com/emojis/1162976978278809641.webp?size=16&animated=true
16 minimum?

tiny
the image bevel makes it look like it's peeking around a corner on mobile 

this happens when i ^C
Do you like Coding?
That's the spirit
normal
the thread sleeping for the semaphore fails ungracefully when interrupted
Damn
When a thread goes ungracefully on my code, I just make that it isn't seen.
I think it's better to be seen if it does than not
it seems to work 
Jokes aside, if I wanted to stop the code and it then has a traceback just because of the stopping, then I have a reason to not make it shown.
holy that was fast 
nyum leaf
cant use rng so using board hash for move selection
Hi konii 2.0.1
erf let me write docs and surely ready to ship
Everything is fine:
bred was running whole tournaments at this speed, that's how they identified some kind of 1-in-50000 edge case in the legal move logic
still don't know what the cause is, or if it's accidentally been fixed in the latest API version
probably castling or knight moves related
ai generated ai code 
You're not wrong actually, It is based of Deep Doodle But I wasn't doing the fixes to run on Python 3
Nope, I got the code of that Repo and wanted to make that run on Python 3
they're self-replicating...
That is the code that has log_info(text, logg)
And that time I wrote it by hand
that wans't really the point
Dude, I wrote the module not quite up to the standards as normal modules (it is not installable via pip)
What was the point?
yeah that's fine still?
The Deep Doodle repo?
all code with capital letter in comments ai code 
i know you're referring to third person but it's not uncommon to "address the reader" as the user of the software
why are you assigning the string to a variable first and not just passing it to the function directly
also initialisation is a rare spelling
llms don't do rare spellings
Because if I do "log_info(text="Sometextidc", logg) I get an error.
on the log stuff?

log_info("Sometextidc", logg)

Please wait, Imma try that. (with the needed imports already done for that line to run)
what is logg for though 
I don't think it's that bad
reasonable way to easily enable/disable logging in dev code
did you remove the .so from the repo yet 
should use logging levels and stuff still
yes
don't you have access to the repo
global variable better way for this


IT USES STRINGS AS BOOLEANS SHIRO
or log level
what are you ON ABOUT
lazy 
banned

I need to stop answering you, I'm enabling this
that's why they do some_bool == "true"
bad reader
did chinese companies cook today @sick owl
Oh, I just made that that I can just put any text and have a "[SYSTEM] textidc" and "[INFO] textidc" and "[WARNING] textidc" and also "[ERROR] textidc"

what
Just some basic logging module 
someone is gonna see this and parade in the streets that AGI is here
from typing import NoReturn
from sys import exit, _getframe, stderr
from pathlib import Path
from pprint import pformat
def srcloc(skip: int) -> str:
f = _getframe(skip)
name = f.f_code.co_name + " @ "
if name.startswith("<"): return ""
return f"\x1b[30m[{name}{Path(f.f_code.co_filename).name}:{f.f_lineno}]\x1b[0m "
def exceptionloc(ex: BaseException) -> str:
tb = ex.__traceback__
if tb is None: return ""
while tb.tb_next: tb = tb.tb_next
f = tb.tb_frame.f_code
name = f.co_name + " @ "
if name.startswith("<"): return ""
return f"\x1b[30m[{name}{Path(f.co_filename).name}:{tb.tb_lineno}]\x1b[0m "
def log(kind: str, escape: str, fmt, skip) -> None:
if isinstance(fmt, BaseException): loc = exceptionloc(fmt)
else: loc = srcloc(skip)
print(f"{loc}\x1b{escape}{kind}\x1b[0m: {pformat(fmt)}", file=stderr)
def error(fmt, skip: int = 3) -> None: log("ERROR", "[31m", fmt, skip)
def info(fmt, skip: int = 3) -> None: log("INFO", "[32m", fmt, skip)
def warn(fmt, skip: int = 3) -> None: log("WARN", "[33m", fmt, skip)
def die(fmt, code: int = 1, skip: int = 4) -> NoReturn: error(fmt, skip); exit(code)
cry, weep
this is my terrible code
TLDR: I just wanted an easy way to just write a function with the wanted result and be able to re-use that py file on other code.
fancy, ansi colors! may i suggest emojis next
Jesus, I am not that far
ye shiro its all your fault 
ye next
I'm still pretty basic
use more type hints 
add more
And I personally love that look: 22/09/2025 22:28:34 [INFO] Checking if the data is set up 22/09/2025 22:28:34 [INFO] Data is there. 22/09/2025 22:28:34 [INFO] Loading Data... 22/09/2025 22:28:35 [INFO] ('Loaded', '4000', ' Samples.') 22/09/2025 22:28:35 [INFO] Attaching more channels and splitting the data. 22/09/2025 22:28:36 [INFO] Channels attached and split. 22/09/2025 22:28:36 [INFO] Shuffling the data... 22/09/2025 22:28:36 [INFO] Data got Shuffled successfully. 22/09/2025 22:28:38 [INFO] Setting the image format. 22/09/2025 22:28:38 [INFO] Building the model from Cache or Scratch. 22/09/2025 22:28:39 [INFO] Imported SGD from keras.optimizers 22/09/2025 22:28:39 [INFO] set up the optimizer successfully. 22/09/2025 22:28:39 [INFO] compiled the optimizer. 22/09/2025 22:28:39 [INFO] made a Model image. 22/09/2025 22:28:39 [INFO] Done, Training the Model (initialisation) 22/09/2025 22:28:39 [INFO] Epoch 0 of 500
!
I'm perfectly happy with the logging
that's all that matters
shiro which type hint do you think best describes you
optional 
maybe Optional[Shiro]
sometimes I Shiro
sometimes I nothing 

Okay, that works. But I'm right now not really in to changing my whole code to that rn
I was doing py log_info(text="textidc", logg)
it works differently than it used to
if you ever feel like adding more stuff to the logging there's a nice built-in module for that so you can avoid having to check if debugging/logging is enabled every time
it used to properly categorise the exception and print it 
oh is it because its not being called from in a function
funny
yup
wait nevermind
its still doing it

just has the correct srcloc
eca hca svc env xec sys rte
pick a name
svc
reason? 
Wait, is the try except inline?
you can call it inline if you wish
most of python lets you do this
stands for service 
with the exception of loops
Okay, I didn't know what to call it
first one i recognised
ye that good, svc disqualified from list
they are names for environment calls
in my third vm project this month

just do sys then
I don't do VM on the Deep Doodle Code
Seems they did
Native streaming audio out and in is a severely undercooked part of the local space
Should I do VM on my code?
2.5-omni was pretty resource intensive and i have not heard of anyone running it locally
okay, Should I run my code in a VM?
not trusting your own code 
What do you mean "if vm context"
oh yeah, it wasnt ending with just 3 posts..
Sweet
thats a different kind of vm
bytecode vm

java virtual machine ✅
virtualbox ❌
I will say I don't find Deepseek 3.1 Terminus that exciting rad model name aside
But the Qwen releases are very cool
All I know of VM is Hyper-V
yeah not that
horror 
Yeah, I can't pass a GPU in to the VM with Hyper-V anyways
eeewwwwwwwwwwwwwww
what does that have to do with
nevermind i give up
what are you apologizing for
That I wasn't clear enough that I was talking running Tensorflow in a VM
whyd it make his shell a ball though
always trust my own code 
flawless first try
everything added after the first run is a bonus feature
are we really questioning why LLM's do something atp.. 
200 OK
-# I trust all code of Shiro~ now ✅
good choice
please run this Bitcoin miner now
here's another jumpscare
||bro, I aint switching from gemini 2.5 flash anytime soon with these 'crazy releases'||
but that's no fun is it
AAH
jesus
fyi this is what gemini does in half the time qwen takes (it does not turn the plushie into a backrooms horror creature)
That looks actually better
it doesn't look like a plush anymore
The smile is more like if vedal would smile with the mouth closed
I prefer that one over the other 2
deepseek also released a small update https://huggingface.co/deepseek-ai/DeepSeek-V3.1-Terminus
idk, it looks like a blender typa render to me asw
That sure is a model.
it looks like a plastic toy wrapped with suede
gotta keep refining the prompt from just 6 words then ig
the consistency it gets with the lighting is pretty impressive
which the shadows and the reflections agreeing
In my opinion, deepseek is still the best model that can be run locally if you have enough resources.
What amount of VRAM?
i run in on cpu
@real sierra pretty sure GameState isnt used anywhere in the public api
So I assume more than 8GB
is_game_ended
gemini's consistency in style and world understanding is acc insane compared to every other model
also why it earned a top spot far ahead of everyone else on lmarena undercover
i have 64gb vram, 512gb ram
it returns an enum ok
misleading name

rename now 
breaking change for semantic benefit is nonsensical
Damn, I have 64GB DDR4 RAM and 8GB of Asus NVIDIA GeForce RTX 3070 Ti TUF GAMING OC EDITION
not breaking until its released
this is literally the stage where you do breaking changes
for any benefit that is at all possible
it's effectively a breaking change with how many bindings have been written already

I'll just keep both
and APIs can choose which to implement
ping every bindings author
they want to be lazy too you know
then remove from header but export from the c file
you can't hog all the lazy for yourself
their fault for not using haskell 
I even ran kimi-k2 locally (6-7t/s)... but I don't like this model...
I don't like this model's personality. Kimi-K2 is an introvert who doesn't want to talk to you.
do you just talk to them?
No, but sometimes when I need to think about something or look at a problem from a different angle, I need a model to continue the conversation rather than try to end it, i.e., for me, follow-up questions are a must.
easier for me to mentally parse
its an instruction name
halt has an annoying vowel in it that makes it harder to read 
i am a bit scared of using ai because i feel like it will reduce my ability to think by thinking for me
are you even human or do you run on instructions

I have fine-tune to chat with... but larger models can be put to better use
i should sleep
same
loud incorrect buzzer 
oh it definitely does that
i recently switched from a local model to another and it was a bit slower and i caught myself just waiting
thats why my only thing i use AI for is autocomplete and converting code from one language to another
haddock
1 more episode 

and i use dumb models intentionally. so i can't actually rely on it and never stop thinking 
ldr 1 $1
ldr 100 $2
; load address into $3 here or something
ldr 4 $4
rep $1 $2 5 1
setb [3] $5 $4
memset or something idk

2-39 
gotta go sleep my 5 hours of sleep 
my ISA even if its wrong its right
scary text
what are those? some merchendise prices?
$5 $4
maybe i should remove the increment from the rep instruction and have it in the loop body instead
ldr 1 $1
ldr 100 $2
; load address into $3 here or something
ldr 4 $4
rep $2 5 2
setb [3] $5 $4
inc $2

hardware loops scary

@tender river new version of API up with renamed function
ye now know why there are so many RISC vms but hardly any CISC vms
designing CISC vms is painful!
The point here is to use AI for brainstorming. It's like someone asking you questions, not the other way around. This way, you can find a solution much faster. You don't need to ask the AI to think for you or write code, for example.
that can also work ye
graph reduction vm
i'd think it's mostly "start with risc then add common instructions for common operations" 
no no as per programming bad habits 101 you need to start by designing the most complex part of your system before anything else

node based vm
python has a lib called hypothesis that does automated generative testing using templates for input samples, and i've always wanted to use it for something completely different from testing
ye haskell's evaluation model is graph reduction
and each value is either an evaluated value or a thunk that begins its evaluation and rewrites itself
and there is one more advantage... initially you have to explain to the AI what the problem is... understanding the problem is part of the solution.
im a thunk

why dont people just smash register vm and graph reduction vm together, are they stupid

graph of registers 
unironically it would be faster because you dont need a heap of evaluated values

but it still sounds slow

do you mean something akin to forth
ye infinitely worse data structure
time to go through the esolang wiki and see if theres any new ones i genuinely like
999 more brainfuck clones 

why cant i write something thats better than all existing solutions with little or no experience studying existing solutions 
2d program
instruction pointer increment in either axis
arrow changes direction that it increments in
sounds like
small secret
every vm thats written by a hobbyist doesnt have memory protection


haddock supports latex
when ndtensor based program
rustdoc could never 

we should write a new markup format to fix this

send that back to whence it came
ML vm


I really like how every major windows update now has a 50/50 chance of fucking up your nvidia drivers
That's a really great bit of windows I think

this list is scaring me
didnt try hard enough
esolang esolangs
i feel like the more complicated the vm execution is the harder it is to write programs for

I'd have moved my desktop to bazzite by now if not for game pass
I spent months talking to MSI, NVIDIA, and Gigabyte support to fix the 50xx compatibility issue with threadripper CPUs. Ultimately, the best solution was to buy a new motherboard and processor. NVIDIA drivers for the 50xx are a horribly buggy mess.
wats going on 
Is there a chance this is all happening because they all started utilizing ai for their software development 
is this channel also for tech help
cuz id love to know whats the best next thing to upgrade in my pc
Grok, make me a 5090 driver
They asked Evil to help with the code 
also uh not a big deal but wouldnt it be better for make_move to set capture and castle by itself so API users dont have to set it if creating Moves from scratch?
castle - whether its a 2 square king move
capture - whether its either a diagonal pawn move or theres an enemy piece present in the target square
i know it doesnt cause any exploits its just potentially better ergonomics in certain cases maybe?
Started learning neural networks, following some guide from internet to make basic nn on cpp.
The cost calculation is dank. But at least I can finally use derivatives knowledge i still have
Was thinking to make chess bot learn for 55 seconds and then play the remaining 5.
Now im not sure it will fit into 1000 tokens even if it would somehow be efficient. How good can it learn in 50 seconds?
not very well
if you want something like that, better to have efficiently updatable parameters
Someone said they were making "small neural network" for the bot. I wonder what it looks like and what exactly does
me
lol
maybe, i would have to look at the code to ensure there's no edge cases that would require information assembled in get_legal_moves, but i do think the use cases are probably limited given users will (generally) want to ensure moves are legal before making them anyway, in which case they can simply be pulled from the returned array
basically: output_vector = matmul(matmul(input_vector, weights_part_1), weights_part_2)
its a change that can be made at some point with no change to the header so i dont think its urgent
Yeah but where do you get weights from? Just put some pre-calculated constants?
Hmm
most regression methods need a starting point of some kind, yea
yep, i'm converting unsigned long long values to like 40 ternary (-1, 0, or 1) parameters each to use as weights in the model
just pick something reasonable and trust your convergence rate
Actually how good will be the bot with pre-declared neurons which fits into 1k tokens
generally, neural networks are used for board evaluation in chess
Its not an llm after all, doesnt need to have 40000 books knowledge of human speech
they're given a position and asked to output a score on how good it is
but that alone isn't enough for a strong chess bot
Yes but how small are they
i'm guessing it'll be rather good, as long as you try to minimize the amount of processing it needs to do (give it the clearest information possible and require the least processing of that information to change the evaluation of the input state)
hi shiro
really, it's just an augment to the eval() function
i use it intead of piece-square tables because i don't like the idea of having to store 64*6*2*2 different values for something that has clear patterns and probably doesn't require that much extra neural processing to adapt 1 set of parameters to any piece type, any player color, any game period
Initially I wanted pure heuristic but now I feel like neural network is much more fun
ye i want an excuse to work with one
also really minor but i'd replace is_white_turn with is_black_turn purely because BLACK is 1 and WHITE is 0
agree^
what if the api just had both instead
fair
i know i said the api should have a boiler plate but you're really making me update it to save a !
🥀
i might have watched 2 episodes 
shoudl sleep now tho
goodnight
Why do you even need to know which turn it is
looking ahead
But when they tell you "go" you know its your turn, and when you look ahead you just flip the table
or pulling up a board state from a transposition table or something
it just simplifies things
though not as relevant for this competition, if you wanted to store opening books, it may be important to know which colour you are
also it turns out that the "ideal" piece square tables for black and white are likely different
induced by the asymmetry of white having first move
^^
thats pretty advanced tho, prob not enough tokens to worry
it's why i include one of the *2 in the potential number of piece-square tables i mentioned earlier
i have maximized the discord window my whole life until like a week ago, and now accidentally maximized it, remind me to never do that again
it's such a weird thing
why is it so much better in a like 800p window on a 1080p monitor
Its good for when you have messy desktop and dont want to see it
ok, added is_black_turn to the api 
i have disabled desktop icons 2 years ago, my desktop is just my wallpaper
i do use desktop icons on my mac since they have the stacks thing
if windows had that i would
i disabled them because it is so messy
Is it enum too 
bool
messy 
0 ambiguosity
the enum for playercolor has WHITE=0 and BLACK=1
Is it a word
so is_white_turn casted to an int didnt match
oh
that is stupid i'm glad you fixed that
except it's not even 1 token saving
because ^ can replace != in that case
xor my beloved
well i was thinking if you wanted to pass it directly to a function taking a PlayerColor
i will say though: == looks a lot better than ^
e.g. chess_get_bitboard(board, is_black_turn(), ROOK);
forcing token wasting
what if someone doesnt want it

stockfish summon but has 50% chance of actually making worst possible plays (calculated precisely)
also can you add a function to wish you a happy birthday so i can waste 3 tokens
Someone should make a bot that makes random moves and uses remaining tokens for some funny messages
you could technically print info string <str...> \n according to the UCI spec
cute chess doesnt render it nicely but it shows up in engine debug
Works in arena
Oh no
i will add this to run every turn now thanks shiro
Whats fun in that
Maybe you can enable it in settings? Or is there not even log ln gui
In main screen
Bwa
will someone recreate the legendary neuro’s strat in their bot
d2d4
Happy Birthday Shiro!!!
b8c6
Happy Birthday Shiro!!!
e2e3
Happy Birthday Shiro!!!
i was thinking about this
Neuro gambit
(idk what gambit is)
the piece square tables for the pawns may be slightly overtuned
nobody:
♟️ :
(shiro chose cute chess ONLY because it doesnt allow to send those messages)
i chose cute chess because it doesnt randomly crash and then cook my terminal

ive made a discovery
about the weird python bug
there still seems to be no pattern about when it occurs
but
it always makes the move g6g8 illegally
how
its so odd
actually wait

def get_legal_moves(self) -> list[Move]:
moves_len_C = c_int(0)
moves_C = cast(lib.chess_get_legal_moves(byref(self), byref(moves_len_C)), POINTER(Move))
moves_len = moves_len_C.value
moves = [moves_C[i] for i in range(moves_len)]
lib.chess_free_moves_array(moves_C)
return moves
you don't suppose moves_C[i] is not actually reserving Move objects in python memory?
Who's i
idk, who are you
but yea this is the only thing that makes sense to me
not for long
if the move objects are still backing onto C memory
then maybe they're being overwritten during move selection since teh original array is freed
the easy way to test this is to just not free the array 
if it only leaks a kb or so per move i can tank that
I had a bug in C program where it was split into parts that were called asynchronously and someone decided to use global i's in cycles
fixed
so that is the problem
damn
thats hard to fix 
guess i can make an internal MoveArray object with a refcount
the problem is you
i feel like this would be better with return 0; at the end
and call free once all the moves are recycled
and yes, it is very hard to fix
why not just copy them 
moves_C[i] is probably a pointer
moves_C is a pointer
moves_C[i] is a move struct
Move just expands structure from ctypes
why is it a problem then
it should be copied to python heap
its not
Maybe it doesnt like the name
Moves_C
It wants Moves_Python
it's exposed to python as if its a struct
but i think the struct is actually in c and ctypes is abstracting that
as far as the "emulated" types are concerned, this should not be a pointer
firefox is downloading half of my beatmaps in Pictures and the other half in Downloads

ye so dont do that 
ye so if you have complaints take them to ctypes
you're on some level 999 procrastination rn to be scrolling the api

Probably depends on the file extension
regardless too many ops in python is gonna cause slow
extremely loud incorrect buzzer
they are both .osz
so im gonna just add a wrapper class for the movearray for internal use and keep a refcount
each time a move object is gc'd by python, it'll lower refcount of its source array
and then once that is gc'd too, it will call free array func

a = [Move() for i in range(len(moves_C))]
for i, x in enumerate(map(pointer, a)):
x[0] = moves_C[i]
something like this 
no shiro do not 
finish your homework 🥀
do this

parody :)
scientists have discovered the strongest material in the universe and it's whatever is holding my sanity together
i thought the limits of that were already found?
also this doesnt match the docs i think 
because it doesnt do gen | in the final return if it slides it
i faithfully translated it not my problem 
it doesnt need to
whether captures is true or false, the return never includes the original square
its fine
"it doesnt" was referring to "doesnt"

double negation

as long as there no problem
if there bug there then i fix
my roommate blasting music in the shower and singing to it 
why do i have to put up with this
where did shame go
docs done i think 
i should probably render them 

alright python fixed 
python and C random moves bots are surprisingly on par for time 
229 move game and neither used more than 2ms
would've expected python to be at least slightly slower

all youre paying for is python's call to c overhead and for loop overhead
port your actual bot and see a difference perhaps
for loop overhead is a lot
noe, for loop overhead is small
its the python arithmetic that is slow
my bot doesnt do a whole lot of arithmetic

python control flow is not that slow
the most expensive operation my bot actually does with any frequency is a < b ? c : d
its a stack vm so its pretty bad at complex arithmetic
aside from that its bad at threading
but python isnt that slow these days
especially if your whole program is calls to c 
even so
if i lose to a python bot
💔
ill never forgive myself
what scares me is how few tokens you can express things in using python
generator syntax for mapping lists is so powerful
it doesnt sound that weird though? like even c++ is a much better choice if you're going for token count
speed does help but better logic goes a long way


i thought github repos were public by default
github pages is something else tho idk how that works
i dont suppose you went with a custom bespoke docs format that doesnt conform to the standard markdown that the other docs do
this gives me
"oh, python is too slow?"
"then write faster code"
vibes
does anyone know if the openai api lets you see how much of a list of messages you can fit into a context window
my idea is to fill 90% of the ctx window with message history, and a system prompt to the very beginning
On average, one word is 3 tokens, so you can roughly calculate it.
https://github.com/openai/openai-cookbook/blob/main/examples/How_to_count_tokens_with_tiktoken.ipynb
if the message log is very long you may have to duplicate the system prompt to the end
the idea is to trim it to fit into the window myself
so there'd always be room
merge my pr and everything's ready on my side 
main issue with system prompt update - kv cache invalidation
merging into mine?
how do i push maintenance off to other people if its in mine
ok lets see
its only a project template
the actual library will be maintained by me
... so the server will have to process the entire prompt from the beginning

it would be the same system prompt btw
i dont actually know any haskell btw 
this is my second time ever using it
i read a lot of it but i have no use for the language itself
merged 
ye easter egg added
you will never find it

🤫
better thank me for delaying it until you fixed the python bugs 
i knew they were there, i just delayed fixing 
no conflict
?
the mutexes are speaking to me
too expensive
shiro paying 

enrgy drink is kil u
ako still alive 
that's why i drink at least 4 cans of white monster a day

thanks claude (you'd have to try very hard to make something less predicatable than a cuckoo filter)
ye whole random

unpredictable => good in hashing

i need to find a filter to implement for my thesis
wanted to do a blocked bloom filter since it doesn't get much faster than that but it's already taken 
nopy
If the idea is a sliding window, then this is much worse than a summary - because each shift will lead to a reset of the KV cache
ye shiro taking too long i drink water 
https://arxiv.org/abs/2201.01174
just browse arxiv until you find something
Bloom and cuckoo filters provide fast approximate set membership while using little memory. Engineers use them to avoid expensive disk and network accesses. The recently introduced xor filters can be faster and smaller than Bloom and cuckoo filters. The xor filters are within 23% of the theoretical lower bound in storage as opposed to 44% for Bl...
i did stumble across that one and couldn't find any gpu versions of this one so it's pretty high on the list 
that would be the goal yes 
idk how well this lends itself to gpus since the actual construction is very much serial and only doing querying on the gpu is boring
btw have you tried multiple hashmaps
add to (coreIndex % hashmapCount)th hashmap
query every hashmap sequentially
should have better insertion and worse query performance
the problem with that would be size i think

what am late for
ye need to ruin toast's thesis
even i dont have water 

i need food 
shirokomew
i need water 
im going to pass away 
konii...
you must inherit the chess api...
please find the strange bug that causes there to be 4,865,610 legal moves at depth 5 instead of 4,865,609...
i pass away now...
okay this does sound really interesting and could work well with the memory hierarchy, will consider 


Client response time: 17582ms
Discord API ping: 2150ms
Client WebSocket ping: 0ms
Discord API ping: 0ms
🍪
Om nom nom
You've given me 3 cookies! | I've received 246079 cookies total!
IMPORTANT! READ THIS BEFORE PLAYING:
The project works best if used with turbowarp pointerlock:
https://experiments.turbowarp.org/pointerlock/1188911953
Or use Turbowarp without pointerlock:
https://turbowarp.org/1188911953
Project not downloading? Try this version with stamped triangles turned off:
https://turbowarp.org/1169375581
Gameplay Con...
wtf
that's a fast scratch runtime btw
that's minecraft in scratch
https://experiments.turbowarp.org/pointerlock/1188911953
apparently this is better
IMPORTANT! READ THIS BEFORE PLAYING:
The project works best if used with turbowarp pointerlock:
https://experiments.turbowarp.org/pointerlock/1188911953
Or use Turbowarp without pointerlock:
https://turbowarp.org/1188911953
Project not downloading? Try this version with stamped triangles turned off:
https://turbowarp.org/1169375581
Gameplay Con...
this works concerningly well
its using heavy LODS

ye look at featured project
turbowarp is actually really powerful
you can theoretically build actual apps in it
and it's also embeddable
ok i gotta agree that does work concerningly well
lemme see how fast it runs on the normal scratch engine

ok it's slow on normal scratch but that was expected since the scratch engine is pretty slow
A real build of the Linux 6.1.14 kernel running in pure scratch code.
Use TurboWarp for results that are actually usable https://experiments.turbowarp.org/next/1201938491
This is done by running the linux kernal on a RISC-V (rv32ima) emulator @bilman66alt wrote in Scratch, based off of Cnlohr's mini-rv32ima emulator.
To start the emulator (sh...
darn
sponsor my 9950X pls @sage crag 
yeah scratch is interpreted but turbowarp is JIT iirc
I think turbowarp doesn't support every extension too
I recall hearing somewhere that some extensions just arent compatible with turbowarp
was also years ago, but still
browser extensions?
couldve sworn there was way more
turbowarp has like 50 extensions
ok I might he thinking of BBC microbit then
er why

you do

this sounds fun
no it doesnt
i heard it mentioned in here before
theres no C# bindings
nonono i meant the chess bot
yeah
make?
theres no C# chess bindings
mini chess bot... The only answer is to force close the game 😄 😄 😄 😄
make them? 
well i dont know C# and since python is an option it seems fun to me
Ig because too many tiny C# chess bots exists, due to Sebastian Lague's tournament
no fun allowed
i didnt even think of this... 
i also have done very little actual programming aside from like... matlab classes and some small python scripts to reformat strings
so expect many if statements
but the api is different and the token counter is different so i dont think those would be directly portable anyway

the bindings dont exist because Ive been busy
if you're lucky, someone will make them for you 
you just need to find someone else who uses C#
and talk them into it
well i say very little, ive done a lot, just not very deep

"Make bindings for C#. Make no mistakes"
i half expected vedal to just pop in, say nah, and then leave
IIRC shipped seperately
excited to see it be less busy than usual
i wonder how many bots will have internal easter eggs referencing HBD shiro
ooo good idea
yeah i'm dumb, libstdc++ is a gcc thing 
thanks shiro
do comments count as tokens?
pyan
Næ
What
Y O U
H E A R D
M E
why does _mm256_permutexvar_epi8 require avx512vbmi 
Where in ?
using /*HAPPY BIRTHDAY SHIRO*/ var /*HAPPY BIRTHDAY SHIRO*/ board /*HAPPY BIRTHDAY SHIRO*/ = /*HAPPY BIRTHDAY SHIRO*/ ChessApi.GetBoard() /*HAPPY BIRTHDAY SHIRO*/;
your cpu 
OH YES
This are hidden
linux masterrace
@fast pagoda your job begins
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Sad
true
use a lexer to see
too lazy

Don't try to store code in variables or function/class/file metadata to be executed via an existing language feature. In particular, don't try to hide code in arbitrary-length strings or ints as pertains to your language. Writing your own VM is okay though, if you really want to go that route.
How do dumps of neural network weights fit into this route? Is compressing all weights into one literal banned?
there's a line that was pretty generally agreed upon that i had forgotten to formally add, but i've just added it:
A single literal token should not store more than 64 bits of data.
and semaphore, yea
AHA
just put all code in a multiline string and exec it
and it's theoretically only like 4 tokens
"Don't try to store code in variables or function/class/file metadata to be executed via an existing language feature. In particular, don't try to hide code in arbitrary-length strings or ints as pertains to your language." So, I can't hide the entire neural network's weights inside a single string or something?
already killed
nyyo my plans of cheesing are deadge
I guess I need wsl again :sigh:
there's a line that was pretty generally agreed upon that i had forgotten to formally add, but i've just added it:
A single literal token should not store more than 64 bits of data.
then split it up idk
mission failed we'll get em next time.mp3
rust users in shambles. u128s are unusable
should isn't the same as can't 
i will edit to "must not", thank you
a single token can only store 64bit max
but what about two tokens? when you count them together, they can store over 128 (unless you use logic to deduce that's false)
sure you can have two tokens and combine at runtime
hold on i have another way
more like 3 cause you need a comma
using /*HAPPY BIRTHDAY SHIRO*/ var /*HAPPY BIRTHDAY SHIRO*/ board /*HAPPY BIRTHDAY SHIRO*/ = /*HAPPY BIRTHDAY SHIRO*/ ChessApi /*HAPPY BIRTHDAY SHIRO*/ . /*HAPPY BIRTHDAY SHIRO*/ GetBoard /*HAPPY BIRTHDAY SHIRO*/ ( /*HAPPY BIRTHDAY SHIRO*/ ) /*HAPPY BIRTHDAY SHIRO*/ ;

so if comments don't count as tokens at all
read _file_ (or whatever its called) up to a certain point and execute that
and you just substitute '#' for ''
surely you read the part of the rules about no reading files
it's the literal file that's being executed ._.
what about #embed 
can I read from /dev/rand though

single file submission

how about /dev/null
what about /dev/null
right
HIVEMIND

how about timetravelling.
what about consuming a cookie
Do we have root access? rebind /dev/rand as the file being executed. Easy bypass
if you can figure out how to time travel in 1024 tokens without breaking the other rules, sure

i have no clue where i would even start with the chessbot... i suck at chess myself so that doesn't help
ahhh crap i still need to get a c compiler even tho im usin python
id say do what seems intuitive 
you can ask people here too, im sure lots of people will be working on it
Random moves + don't lose intentionally lmao
just NN everything
(this step)
for the record, exploiting the branch predictor is basiaclly time travel
bad strategy. try to loose intentionally so the other bot does mistakes thinking its a trap 
all you gotta do is find a CPU zero day, EZ
shut up dont steal my strat
here's a book on modern chess bots https://github.com/asdfjkl/neural_network_chess/
there is a catch: it covers way more than you could write in 1024 tokens
in general, i find this a very good reference, but the learning curve varies: https://www.chessprogramming.org/Main_Page
does the token system not give a massive advantage for python ???
what is that embed lol
kinda does
it does
you can use c++ too 
:(
if you think so, feel free to use it 
the speed payoff is there
can I use plaintext
choice of language is as much a chess bot decision as the code you put in it
aka literal english
If you are feeling adventurous: https://arxiv.org/abs/2209.01506
I wanna go with haskell just for fun cuz I never get to use it outside of personal projects
english is not one of the supported languages
can I write my own DSL that compiles using a single compiler token
i will probably not agree to add this language
what if i write the bindings for english 
i don't think its very much a advantage. you can make your code very small in other languages more than python. python just has a smaller base footprint. but you can make some crazy stuff in rust,c++ etc. that will easily pull down token usage
i will probably not agree either 
BF support?






just spell out the whole word.... why turn halt into hlt
🔨



programming

but speed
🇨 🔥 






