#programming
1 messages ยท Page 244 of 1
its fun for the first time you install linux
but... i don't need my vscode terminal to show it cut off
Yes, it honestly feels like a bigger upgrade for gaming than my 4090 was
i was shocked when i bought 240 hz monitor
i thought difference between 60 and 140 hz is not visible
not when i look at my old 60hz second monitor it feels like its in 20 fps
Mine is 240 but I have it locked at 120 cause I cba with DSC
My old monitor was 360hz but I found that to be completely overkill
yeah 144vs240 is also much less visible than 60vs144
I un-code the code, I unsort the sorted, Even worse: I scramble the unscrambled
Okay, my messages might have been a bit unhinged at the start...
even 60 vs 100 is very noticeable
The improvements are non linear
The higher the numbers climb the smaller the difference
50 vs 60 is noticeable, 90 vs 100 you'd really have to squint
the inverse of decibels
What the filtered filtered 
trained 
Also worth noting that panel tech plays a role
It now goes down though, but that rise 
120hz on OLED will beat many 240hz LCDs in input latency and motion clarity
That is an unhealthy learning rate I guess
train_RMSE and test_RMSE.
yeah but where do train and test come from
Albeit lower fluidity
a victim of the burnt pixel
Basicall: py train_loss = model.evaluate(x_train_mini, y_train_mini, batch_size=8, verbose=0) train_rmse = np.sqrt(train_loss) print("Train RMSE:", train_rmse) test_loss = model.evaluate(x_test, y_test, batch_size=batch_size, verbose=0) test_rmse = np.sqrt(test_loss) print("Test RMSE:", test_rmse) train_score.append(train_rmse) test_score.append(test_rmse)
Oh, I was gonna send the part that gives the values
i comprehend nothing
you are training your model, so i guess it goes to "train"
but what is test
We are in the same boat, I have no filtered idea what that means 
I could just DM the maker 
no really
so it got it's parameters adjusted, then it tries to work and we have this rmse value
here we have train rmse after each "training" session
but who is test

It is basically doing a loop for X epoches: ```py
for i in range(num_epochs):
print(f"Epoch {i} of {num_epochs}")
log_info(f"Epoch {i} of {num_epochs}", logg)
print_vram_usage()
print(x_train.shape, x_train.dtype)
print(y_train.shape, y_train.dtype)
model.fit(x_train, y_train, batch_size=batch_size, epochs=1)
# Evaluate using mini subset for VRAM-friendly training metrics
train_loss = model.evaluate(x_train_mini, y_train_mini, batch_size=8, verbose=0)
train_rmse = np.sqrt(train_loss)
print("Train RMSE:", train_rmse)
test_loss = model.evaluate(x_test, y_test, batch_size=batch_size, verbose=0)
test_rmse = np.sqrt(test_loss)
print("Test RMSE:", test_rmse)
train_score.append(train_rmse)
test_score.append(test_rmse)
model.save('Model.h5')
print("Model saved.")
plotscrores(train_score, test_score, 'Scores.png', True)
gc.collect()```
filtered
batch_size=batch_size mhm
Which is rn 20
Just for kicks n giggles I wanna put one of the Sketches as a pre-selected sketch when the code starts
what "batch_size=batch_size" even does when you pass it as an argument
On "evaluate" I have no frickin idea
I'm mostly just doing trial and error and that train session was not even the right data 

Just for kicks n giggles I tried... Uh... Images that I can't show here and it failed hard
before going to sleep
sets the parameter batch_size to the value of the batch_size variable
if you don't specify it'll use the default value of the function parameter instead
but cant you just send it "batch_size"
no, it would have to be a positional parameter then
Idk, it was like that in the original Python 2 Code
Python has both positional and named/keyword parameters for functions
I might just sift through another 3K images 
And I tried as good as possible to have good amount of variation but also good data
or it has million of parameters and we dont need to specify each and here we tell it which is which
so in batch_size=batch_size on the left we have funcion's batch_size and on the right our batch_size we have here, not the function's internal one
I'm real close to the VRAM max I set in code
VRAM: 25.2 MB / 6095.4 MB | (2016, 5, 192, 144) float16 (2016, 3, 192, 144) float16 57/101 [===============>..............] - ETA: 4s - loss: 0.0316
maybe I explained badly
function parameters have names and sometimes also default values
if you don't specify the names in the function-call it is assumed that you are passing the parameters in order
but you can also specify them by name (like with the batch_size thing)
I might need to be more strict on what faces I use 
oh my god 
And that are the sketches
I might as well spin up Francium again 
shuni.ex wanna know what trips me up real good?

so now it just finds transposition of this position from previous search and returns it
That line of the code does NOTHINGpy dots_per_images = 60 #default is 60
It's used nowhere
yes, I know
I already told you so like a week ago 
ye
for osu 120hz oled is better than 240hz lcd
Oh, That went over my head 
because less ghosting and better contrast

dw, Francium is gonna keep me in check
Because since there is always a fluctuation of vowels which sort of forces me to clear the context I have in my head enough to not make me go wild.
In other words, I don't linger around with that thought that I need a long while on the sorting
Well, loads of images are getting yeeted if ANY amount of Background edges are detected (Dieter Bolen Get's a pass)
or if the face is not clear
think of function(a, b, c, d), where a, b, c, d are all optional parameters, and you want to pass a, b and d only. You call function(a, b, d), but the interpreter would think you're calling function(a, b, c) instead, so using function(a, b, d=d) specify d(the argument passed) should be positioned at d(function argument intake)
Caibi am I insane that I listen to Francium while sifting through the roughly sorted images again to do fine sorting?
okok since they are optional it all makes sense
miku dayo
except they don't have to be all optional
you can do this with any combination of parameters AFAIK 
yuh
Well in a weird way Francium (Neuro cover) keeps me more sane than usual when looking closer if an image is suitable for training
i personally make all my functions in python like this ```python
def my_func(/, a, b, c):
...
to make sure nobody uses those pesky keyword arguments
you mean kwarg?
I loosely use them in my Text Covnerter
you should put it in the back no?
uuuh
yep I'm right 
Looks straight out of an analog horror
Yeah, and that is the base image:
like wtf
And that is the Edges image
also why is it still smoothed
matplotlib smh
Idfk, every time at the start it is a simple P2P connection and then turns to that
I can never take the phrase "analog horror" seriously anymore lol
But that image got me good ngl
that's over-fitting
How the frick can it overfit within the first like 5 epochs???

or like 10
sure I used only 630 with flipped version (aka doubling that then) but damn
and that with like 4 samples of that image

A white hat pen tester I guess
God. Maybe it is overfitting.
basically if you see your test and train loss not decreasing in the same kinda curve, it's being wrong 
Somewhat scary.
Yeah, that besides the face is not really what I was aiming for, and now I re-filter it again:
But Francium (Neuro cover) keeps me somewhat in check
And since I have quite a lot of images like that, I loose a ton of images then due to that
That is my mood rn
Well, I'm done carefully checking the images, and the VAST majority were deleted (Now I only have 163 images left)
of the 630 
But finally that kind of curve stopped happening:
Oh yeah right, I frogot to say that the code uses matplotlib
i mean, it has a pretty distinct look
oh so it's NOT smoothing the line at all
still seems very weird that it doesn't have any noisiness on the plots here though.
And that was with learning rate 0.008
Like pretty agressive I guess
i guess old machine learning thing, so old optimizer
Well, for kicks n giggles I also wanna try to Re-train a model
All that potentially could happen is that it goes horribly wrong
that'll lead to catastrophic forgetting probably
not sure what happens past that though
That's what I'm doing rn
Just trial and error pretty much
And the line turned to a saw like shape initially
now that's what i expect!!
maybe there're no randomness introduced in weight eval 
Basically what I did was putting the "Model.h5" as "pre_model.h5"
perhaps
Idk why I changed it... OH JESUS

That is a huge spike
Machine learning moment
True, I rarely do ML stuff, I just recently dedicated liquifying my brain via sifting through Thousands of images to end up at 162 images 
you should make the loss plotted on a logarithmic scale, I think it would be better to visualize
can't read linear

Either the faces weren't clear enough, there was stuff in the background, Or the quality like is like an Atari
There was a NeuroSynth run that had a graph like this
Wait, so that mans that is good?
No that's just a normal thing
noise is expected in the curve
Honestly, I have no idea how to do it at a log scale
Well, I just yeeted the pre-trained model through the learning process again
Like I train it the 2nd time now
stochastic gradient descent is an algorithm that adds random offsets to the weights to test how the performance of the model changes in response, and then it adjusts the parameters based on that data
since the changes are random, you should expect that at least some cause a lot more loss
i've seen some papers where instead of randomly initializing the weights of a large model and training from scratch, they train a smaller version of the model (with randomly initialized weights) to a certain point, and then upscale the weights to full-size somehow and train the full-sized model to completion
just plt.yscale("log")
speeds up training process but final result was a bit worse than the model trained from full-size at the start
Okay 
replace plt with your plot graph obviously
you can also use early stops in pytorch to fasten and stabilize the training progress 
???
i see
is it for safety
no, you forgot a )
std::max ?
wait
max() terminates properly, but then evaluate_moves( isn't ended

wait no
next line
next line
right right i didnt notice myself too 
That is now the scale, but idk if it chaned the form...
so max doesnt want int and uint64 because if int is negative it will give weird results
they are always positive i want tokens 
max works on all data types which support <
this shouldn't be an issue
did you specify namespace std
this compiles
no im using namespace std
lets try
nuh
it was std
i can specify std:: even if i still have "using namespace std" right?
this compiles
it really doesnt want to compare uint64 and int

come on g++ i know what these numbers are
dont limit me
anyway, i just thought, this is a bad solution.. i need it to be max (time, 700) and its too much
it has to be depth limit
but what if you don't 
clang would give this a warning at compile time 
caibi should I have at least 500 images?
I guess max can't do compare with unsigned and signed
yes
the int will never be negative, i meant to give him constant value in miliseconds to limit the bottom
the int which could cause problems while being negative, will never be negative in this specific situation since im constanting it
max should check what arguments its getting smh
well it's C++, what do you expect
Hi toast.๐ฅ 
sup
I'm perfectly sane 
Surely
Toootally 
why don't you make it unsigned int in the first place then

Well, I can look what I can do
i want to type just 500 for example 
but it defaults to int
if you're on O2 and that variable is a constant, I think the compiler would recognize and hardcode that constant


im doing this 
It's after the second run still like someone that lost their glasses
should i do g++ -O2
do 0u
500u
no way that is 1 token right? 
so on
well casting it takes even more

also use clang smh
faster binary
my python can only do 5000 nodes per second
I'm thinking of moving to C++ or do CPython magic
Remember that?

I have a lower loss with 163 well sifted images
nice
as said, the VAST majority of the 630 images had bs in the background
man:
WA test 1
MLE
WA test 23
kill me ๐ญ
How many images did you have to sift through? 
no, im doing algorithms
havent got the skills to code like yall
im only grade 9
Lucky, I was sifting through a total of 5K images, and ONLY 163 were left
And I based it of already existing code btw
i mean in competitive programming
i thought you wrote every single letter
clang 
Oh, nope... It was based of Deep Doodle
or is it o2
wait, why not do in python
aka: I downloaded the code and then made it run in Python 3
or for a tournament, just bring the fish
-O2
Well, Python is not for everything...
guys when can i upload image
- Token limit
- No I/O access
i mean, aint it better for AI?
Idk 
clang doesnt want dynamic range arrays
uh, i mean online tournament
iirc that's a gcc extension and not actually part of the standard
WHY IS IT NOT
aintnoway
You'll have to declare it then memset
Welp, Imma be answering late for a long long time, Because Imma just not look if the 10K images look to the camera and do it straight on filtering on the edges filtering
??? does it allocate memory for array before the function who creates the array is called
what if i call it 5 billion times
Nobody said anything about the heap
its just stupid or im not seeing something


konii hi explain why i cant use variable to initialize array
hi show me
7Zip is choking on the big 7z file
do you mean like:
int a[] = {1, 2, 3};
int b[] = a;
?
VLA
its because arrays can only have static initialisers
doesnt matter
its literally constant in this scope
I'm doing more filtering now 
its only trivial for things that fit in a single register
yes
+100000 social credits
standard says no

whats the problem then
depends where you declare the array
Must initialise manually
"Because that's dangerous tehe ๐"
int erm[];
int main() {
return 0;
}
erm here is a global and zeroed
so this is not allowed but 1/0 is allowed
nvm: Traceback (most recent call last): File "e:/temp/datagen.py", line 88, in <module> main_datamaker() #for investigating the sketches File "e:/temp/datagen.py", line 33, in main_datamaker x_data = np.empty((num_samples, num_channels, image_h, image_w), dtype=np.uint8) numpy.core._exceptions.MemoryError: Unable to allocate 256. GiB for an array with shape (3313464, 3, 192, 144) and data type uint8
int main() {
int erm[];
return 0;
}
erm here is not a global and therefore is uninitialised stack memory
its not global 
i tell it how much of a size i want
len submoves lives the same life as the array itself
having a size doesnt change whether its global or not
only a const can be used as a length
lifetimes dont exist in c
its deallocated when function exits is it not

its deallocated, but c has no concept of lifetime
int main() {
int erm[variable] = {0};
return 0;
}
committee angy
int main() {
int erm[variable];
memset(erm, 0, variable*sizeof(int));
return 0;
}
committee happi
also its only deallocated if its a stack array
tell me ONE example of where construction like this can cause any problem at all
int a = 5;
int b[a];
there are none
cosmetic shit
this is just wrong
lol
its unclear whether a is const or not
so should the compiler initialise a and then do a computation on the stack?
or should it alias it and do it at comptime?
there are implications to everything you write in a systems language
dont blame it for not having syntax frills that dont make sense 
whats the difference between 1 and 2
in this scenario it doesnt matter
pick any
mr compiler
the compiler has no way of knowing this
that's stupid
a sufficiently smart compiler should 
if it can be a footgun it should be an error
you have no way of knowing how it will be used in ABI

they do it according to specification
there is a specification
and for your knowledge,
#include <string.h>
int main() {
int a = 5;
int b[a];
memset(b, 0, a * sizeof(int));
return b[0];
}
this works just fine in c
is it true that clang gives faster binary than g++ as caibi said
C
no?
clang and gcc are different compilers
they both give identical output?
gcc will perform better on some programs and clang on others
no
clang is more modern and will do better with complex programs than gcc but gcc has the benefit of being mature
i get it , so if anything is not specified in specification they do it as they like
if specified - strictly follow
doesnt matter which one you use but it does matter if your program is so awful it doesnt work on both
except g++ doesnt follow it by compiling my a[b]
you should always compile with -Wpedantic -pedantic to make sure your program will work on any c compiler
just kill me, i use python
what do you mean "work on any compiler"
its compiled
no compiler needed anymore
program not binary
pedantic restricts it to the feature set guaranteed by the specification
pedantic means you arent using some weird quirk of your c compiler in your program
so it should work with every compiler that implements the spec properly
toast to increase my speed of filtering the images, I do it in passes on one specific thing only now
ooh you mean so i see if my program will 100% compile on any compiler.
regardless of current successful build

no, it means if it compiles on one c compiler it will compile on any c compiler
pedantic means:
compile here => compile everywhere
I go through like 1.2 images per second on average
no pedantic means
compile here => dunno if it works anywhere else
does it work cross platform too
then pedantic only guarantees that it will compile on any compiler on this specific platform
as long as your program uses platform agnostic libraries it shouldnt be an issue
it guarantees that your program follows the c spec
it doesnt guarantee anything about platforms
the c spec doesnt mention platforms
its a language spec only
do i use both or pick 1
wpedantic pedantic
it gives warning
but still compiles
like it should
i want a warning not an error ๐ก

if its a warning it should be a warning
anyway
how do i fix it
cast into const or smth?
dont cast into const just define the length as const 
int len_submoves โ
const int len_submoves โ
have you read the deep doodle source code (python 2)
2
4
then you cant use it????
it will change between function calls
yes because g++ understands your garbage program probably meant to use const
and throw error when its above 500
what are you on about
you cant do that on the stack
but i dont need it to be unlimited in every time
is it slower
you may have stupid
its not unlimited 
Where is the neck? 
you would
that is an array allocated on the stack
just increase the stack size 
and deallocated in 30 lines of code
do you use any recursion in that function?
no
do you call any recursive functions in that function?
no
default limit is 16kb
then you may be OK 
i used to have recursions though in previous versions
how would that cause problems
new function call allocates new array
stack is 16kb???
depends on the system, some have as little as 1024 kb
even less
i thought its ram 
you as a programmer dont deal with RAM
you deal with program memory
stack or heap
stack is the preallocated memory your program gets when it is created
barring some situations the stack never grows or shrinks
...
its an array in the stack
regardless of what you use, int a[] = {} or int a[100]; or whatever
its an array in the stack
so if i have int a[100] and function called recursively 1000 times i will run out of stack and crash
yes, for a simple example
the only time stack is freed is when the function returns
firstly, dont allocate or create arrays in recursive functions 
they are small
doesnt matter
then i cant allocate any variables at all
secondly, if you do, either do it properly or use the heap
incorrect
You can't stop me 

you are a competent programmer

why is stack so small
because every program gets the same amount of stack
why
and you may have thousands of programs running at once
just use ram
both heap and stack are ram are they no
the kernel manages ram
i have 64 gb ram
ok?
use it man why 16 kb
no
oops you can no longer open any more programs

i give it as much as it asks
there is no "asking" for stack
resizeable stack, pls invent konii
stack is allocated before the program starts
ye IT CALLED HEAP
can it cause problems with fragmentation?
its not possible
the way stack allocation works is with a pointer incrementation
it requires contiguous memory
but Reddit said stack fast heap slow
ye reddit glueless
noow it all makes sense
so everything must go on stack
i dont think you do 
this is what i meant by fragmentation
it cant use 2 chunks in corners of my ram
yes this is the most basic aspect
it as nothing to do with fragmentation
the arrays must be contiguous in memory
well, that's not true
doesnt matter
I guess it's 4 pages
nope
only virtual memory
technically stack can grow through the kernel lazily mapping its pages
virtual memory != physical memoroy 
physical memory is your RAM
virtual memory is what you deal with
you never use "RAM"
you use heap or stack

You get that
well nothing is going to happen until you actually use it
what about "all programs get equal"
nothing is going to happen until you initialise it
so i literally cant have int a[50000]
you can, it will just overflow the stack and crash the program if you write in it outside of the stack bound
i want to initialize it of course why would i make it that big otherwise
i will test it 

There's nothing stopping you from writing into uninitialised memory as long as it belongs to you
correct
be careful, because compilers are smarter than you

What about -O0
it obviously work on -O0
nothing happens program works
i literally just siad
pls 
explain i dont speak assembler
๐ฅบ
It returned 0
it optimised out the stack allocation
it decided your function was cringe
the compiler will ignore what you write if it does nothing of substance
WHAT
basically your program was garbage
its called optimization
yes its called optimisation 
shit guys, the jig is up, he called our bluff
rebel of compilers, he doesnt want to compile what i told it to
it's just faster
don't you want fast?
no warning the compiler is allowed to erase code that wont do anything or does behavior that cant be relied upon
it does what you asked it to do
yes because your code did nothing
It's the same outcome
it erased your code because your code does nothing
so why keep it
Semantically equivalent
its a function that does nothing and returns zero
so it made a function that does nothing and returns zero
c isnt assembly 
ohhhh you mean if i do something useful it will crash stack overflow?
tias

oh
depends
i want to test a[50000] causing stack overflow
here is what happens if i compile it without -O0
does -O stand for "optimization"
I need that font
SIGSEGV (Address boundary error) -> we wrote outside the memory the kernel gave to us, therefore program is kill
Annotation Mono
Is nice
Less stylised if that's the correct word
because its clang

ye
also it has a font package on nixos
fonts = {
enableDefaultPackages = false;
packages = with pkgs; [
annotation-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
];
};

use the heap
how
malloc
use_heap(please)
vector
so yes vectors
so vectors are slower than arrays 
how dare you disrespect malloc, kinda rude
allocating on the heap is slower
the heap is the same speed as the stack
yes im going to do many allocatings

no, you allocate your array once and then only assign values within the already allocated memory
different things
actually i can just declare a[500] array hoping i will never get 500 legal moves
however...
their program allocates the array inside the function
which
is bad 
how big is this i dont understand
24
bytes or
24
if you're optimizing for tokens you gotta use globals either way
24Ui64 just means its the value 24 stored inside a uint64
why dont you just calculate it 
500 things, each of size 24
do the maths
i thought its not 24
i thought its 24x8
+int which is 4 bytes i assume
28x500
12k ...... alot
ALSO I DONT WANT TO ALLOCATE THAT MUCH
usually its just 10-20
I found it

i cant this is stupid
then dont
max moves per board in chess?
Not that it'll ever come up
just use globals 
correct
globals yes nice idea i'll do that
max number of legal moves you can have
will it allocate this array somewhere else not in stack
What is the chance that the right arrow key is gonna die first on my keyboard? 
yes, that is a global

i feel programmism flowing through my veins after this conversation
oh
that is, as the kids say, truly unfortnite for you
yes there are 2
neuro cat mode on

is this good
what are you using to link it
linking to c isnt .o
thats just linking
why are you even using object files instead of the c src files 
g++ -O3 -Wpedantic bitboard.c chessapi.c cpp_bot_test11_negamax.cpp -o cpp_bot_test11_negamax
wont necessarily work since shiro uses c extensions not supported in cpp
interesting
i know why
because i guilt .o
with gcc first
because something didnt work
why isnt shiro using extern c
and now i use g++ to link

thats only for headers
not for c files
i think


cppreference says
Every function type, every function name with external linkage, and every variable name with external linkage, has a property called language linkage. Language linkage encapsulates the set of requirements necessary to link with a program unit written in another programming language: calling convention, name mangling (name decoration) algorithm, etc.

extern "C" only used to change "linkage"

Isn't it just gcc with some extra params passed 
my bot gets super bad move on depth3 iteration and stops depth4 because takes too long
what is proper mechanism to stop iterations
so bot manages to finish game in 1 minute
i give it "timeleft/60" per iteration
different binaries on my system
dont ask why -d0
if i give it more time per iteration it just wastes time in early game

they are different?
important since -O is optimization options and -o is output file name
purity or something
reproducible build
-o3 means output to the file "3"

i refuse 
maybe
weliv
i dont have "3" file even though i built it with -o3 before
nvm it might have been error-build before

weevil

Hmm maybe it changed, I could've sworn I've seen g++ and clang++ as symlinks to gcc and clang before
vituha did you ever wonder what images I consider as bad images for traingin? Something like that is not good:
Unless it's a nix thing that they're separate?
because of hand?
i did wonder yes
It's worse quality than the average images
and the guy on background
I'm talking about something else 
For example, that image is better on quality:
are there no "ai training database faces" out there
Sorry toast
stackoverflow
As far as I remember, GCC (not clang) has always shipped separate executables for gcc and g++. Early versions even shipped separate source archives for the C and C++ compilers. In some versions, g++ was a shell script calling gcc with additional options, but Iโm not aware of it ever being a link to gcc.
Hmmm
clnang
we already talked about this 
doesnt matter in practice, wont be too different

between gcc and clang the performance is very similar
i get really inconsistent depth search durations
depth1 is 10 ms
depth2 is 50 ms
depth3 is 1 ms
depth4 is 2500 ms
depth5 is 30 ms
depth6 is 30 ms
sound like bug
it finds transpositions
i assume
like, wtf is this..
max depth was 8 but it stopped at 7 ply??
yeah must be a bug 
is == two tokens
im talking about
x == 0
x < 1
is "idk check" an ok answer
if you really care about tokens wouldn't if (!x) be better
it would 
if (!x)
...
else
return;
if (x)
return;
else
...
you can also see if you can do something like this swap
rrr
Don't think so?
int func(int arg) {
if (check(arg)) {
goto func_check_ok;
}
return -1;
func_check_ok:
/* ... */
return 0;
}

== should be 1 token
maybe with toknt
it wasnt with whatever we were using before
Why did I stumble across 3 Steve Jobs images already 
Well he is a famous person 
Well, Steve Jobs got a pass on glasses, but not the iPod
int func(int arg) {
void **out = check(arg) ? &&check_ok : &&check_not_ok;
goto *out;
check_not_ok:
return -1;
check_ok:
return 0;
}

no this works
can you pr that to the linux kernel
ye ok
it would save at least 1 byte somewhere
nope
Interesting
its a gcc extension, but also its logical
its a label not a value
toast, I interrupt for now just that one time now while I sift through the images, I can't make a model with 10K images
The label still represents an address
just be careful not to type goto **out;
the label doesnt represent an address
it represents control flow
otherwise you get something or other
smh konii why isn't your stack executable
just to be clear, gcc doesnt care if you type void *out = &&lbl; or void **out = &&lbl; because its an informal extension
Sounds like you need a 2nd model that can filter out the bad ones
the double ref is required tho
Interesting
I remember there was a way to force a segfault in the compiler with something like this
void *ops[] = {
[vm_exit] = &&exit, [vm_print] = &&print,
};
int pc = 0;
goto *ops[bytecode[pc++]];
exit:
return 0;
print:
printf("hello, world!\n");
goto *ops[pc++];
that would generally be a bug in the compiler
doubtful
computed goto is pretty size heavy
its faster than a switch in some cases but it requires a big ol table
๐
very hard challenge right there
rrrr_mdr
anubis presumably
๐ซ๐ท
its not me
its not me either
ye your fault that this will now take 10 minutes on some random low end laptop

Making sure you're not a bot! 
Done! Took 16823ms, 1 iteration

only a human would have the patience to wait 10 minutes, surely 
i challenge anyone to make a faster version
git rerere
its not about stopping web crawlers
its about making them really expensive
it has the effect of reducing the web crawler traffic because it costs more
but its more of a "im shooting you" than "please leave"

i have to do my blender homework 
cheese powder
seese chamwich
make it slower by reducing the amount of resources your browser is allowed to use 

tbh I don't even know how much that'd help
ig chrome can throttle cpu
i know that for firefox you can test different patato settings
where is the settings menu on a potato

The potatos I know have no settings menu
must not have cooked them properly
-# 200 OK
why &&? isn't a label already a pointer to the code?









