#programming

1 messages · Page 209 of 1

sage crag
#

ye bot

real sierra
#

ive been considering making a script that gets all strings from my code, calculates token savings if macro'd for all of them, and then repeats until no macros would save tokens anymore

#

suboptimal because greedy algorithm but automated at least

sage crag
#

for my

#

thing

#

vm

#

yeah

real sierra
#

im starting to think i need it too

#

my current compression ratio is pretty good, i save about 500 tokens with my macro set

#

but im running out of ideas to shrink further

fast pagoda
#

it would be like
uint64_t path[MAX_PLY}for the path history
then a for loop for (int i = 0; i < depth; ++i) if (path[i] == board->hash) return 0;
then right before going over the moves path[depth{] = board->hash;

how the hell this goes in 3 tokens idk

sage crag
#

i couldnt be asked to make it reusable

real sierra
#

found another token

#

was using Board * instead of PBoard SMH

fast pagoda
#

it's all coming together

fast pagoda
real sierra
#
// token savers...
#define eq_0_sc = 0;
#define bclose ) {
#define if_ if (
#define while_ while (
#define br_sc );
#define for_i_0_lim(lim) for (int i eq_0_sc i < lim; i++ bclose
#define tree_get tree->
#define tree_child_i tree_get children[i]
#define tree_children_len tree_get children_len
#define tree_moves tree_get moves
#define tree_moves_i tree_moves[i]
#define return_rv_sc return rv;
#define rv_assign rv =
#define args_after_board(args...) (board, args br_sc
#define no_args_after_board (board br_sc
#define popdiff(P) (0xfu & 0xf953310u >> 4*P) * (__builtin_popcountll(chess_get_bitboard(board, WHITE, P)) - __builtin_popcountll(chess_get_bitboard(board, BLACK, P)))
#define eval_score popdiff(QUEEN) + popdiff(ROOK) + popdiff(BISHOP) + popdiff(KNIGHT) + popdiff(PAWN)
#define PMoveTree_tree_bclose PMoveTree tree bclose
#define best_score_gt_score best_score >= score ?
#define rv_eq_best_score_gt_score_rv_or_i_sc rv_assign best_score_gt_score rv : i;
#define best_score_eq_best_score_gt_score_best_score_or_score_sc best_score = best_score_gt_score best_score : score;
#define for_i_0_lim_tree_chld_len for_i_0_lim(tree_children_len)
#define tree_parent tree_get parent
#define cbclose_return_rv_sc_cbclose_void } return_rv_sc } void
#define moves_i moves[i]
#define undo_moves while_ move_count bclose move_count--; chess_undo_move no_args_after_board
#define trans_table_tree_hash transposition_table[tree->hash & 0x0000000000FFFFFFUL].
#define trans_table_tree_child_i_hash transposition_table[tree->children[i]->hash & 0x0000000000FFFFFFUL].

#define PMoveTree struct MoveTree *
#define PBoard Board *
#

these are all my macros

#

which is the worst

fast pagoda
#

beautiful

sage crag
#

trans_table_tree_child_i_hash

glad path
#

odd my fan helper stopped working for some reason and let my cpu/gpu up to near 100c

sage crag
#

ttt c

#

i have a table

fast pagoda
#

#define cbclose_return_rv_sc_cbclose_void } return rv; } void

sage crag
#

i have a tree

fast pagoda
glad path
#

i had both fans at 100 and they just got lazy and both went to 50

#

i dont know why

real sierra
#

curly brace close return rv semicolon curly brace close void

fast pagoda
real sierra
#

it saves many tokens

glad path
#

me adjusting the position of my laptop for the 10243th time for more airflow (totally necessary and stuff)

real sierra
#

i had to reorder my functions to use it more

fast pagoda
#

#define FourWheelsEngineAndSteeringMechanism car

real sierra
#

java dev CAUGHT

sage crag
#

java dev

#

reprogramming

glad path
#

what

tender river
glad path
#

are yall a hive mind

fast pagoda
#

yes

glad path
#

oh wait

fast pagoda
#

swarm

glad path
#

the case

#

the

#

the uh

#

the navim

#

naming

sage crag
glad path
#

you name classes like that in java

real sierra
#

i thought you couldnt construct the macro call syntax itself from macros

tender river
#

why wouldnt it neuroCatUuh

real sierra
#

i figured the preprocessor wouldnt recognise

glad path
#

guys how can I get my laptop to unnecessarily draw more power for no reason

#

im bored

tender river
#

use this info wisely

glad path
#

i have 243Wh of energy draw

real sierra
#

ty chayleaf sensei

#

adding more macros

keen hatch
fast pagoda
# keen hatch

not the furry rp training despairge i didnt even notice this before

tender river
keen hatch
#
c=1;b=[[0]*8 for _ in range(8)];b[0]=[2,3,4,5,6,4,3,2];b[7]=[-2,-3,-4,-5,-6,-4,-3,-2];b[1]=b[6]=[1]*8
while True:
    p=input().split()
    if len(p)==2:
        x,y=map(int,p);b[x][y]*=-1;b[x][y]=-b[x][y];print(''.join(str(b[r][c])for r in b))
real sierra
#

wont it just call popdiff once

#

using everything in the () as the arg

glad path
fast pagoda
#

no it chains

tender river
sage crag
fast pagoda
#

it closes the parenthesis of the previous popdiff, adds the plus sign, and starts the next popdiff

real sierra
#

no i know that

#

but in the definition of eval_score

tender river
#

shiro did you forget macro is just copypaste

real sierra
#

you still have a popdiff(...)

sage crag
#

u can try it

#

using godbolt neuroCatModeOn

real sierra
#

what godbolt

real sierra
#

why does everyone here name things ive never heard of TheVoices

tender river
#

everyone knows of godbolt MyHonestReaction

real sierra
#

stop thinking your esoteric knowledge is commonplace

sage crag
#

godbolt compiler explorer

#

ye look at asm

tender river
#

shiro git is not esoteric knowledge its a basic life skill

sage crag
#

look at compiler output

real sierra
#

i know how cli git i just no like

sage crag
real sierra
fast pagoda
#

i thought i would always hate git cli

glad path
#

i cant find the temperature unit setting wtf

fast pagoda
#

and now i feel weird not git init immediately after mkdir + cd into it

#

so then i will like sort my music folder and mindlessly git init an absolutely bonkers sized repo for no reason

tender river
fast pagoda
#

lmfaoooo i went and checked it i had done that last time i did

#

yep

tender river
glad path
#

what the fuck why is one of the unidentified voltage sensors on my laptop measuring 16777216V

#

this is very concerning

fast pagoda
#

that's the nuclear reactor

amber fractal
#

for clock signal

glad path
#

its not even one of the unidentified sensors???

#

its an "unknown" sensor but it does have a proper name

fast pagoda
#

the fact that that searches up a post is interesting

#

coincidence looks like

#

but i was like damn it's real

#

also that it's mac specific

sage crag
#

1 << 24

fast pagoda
#

oh it's 2^24 duh

sage crag
#

recognise that power of 2

fast pagoda
#

jesus

glad path
#

probably a driver error then

#

thats kind of funny though

real sierra
fast pagoda
#

whatever that sensor is reporting it's reporting the maximum 24bit int possible lol

real sierra
#

SMH gaslighting me when wrong

sage crag
#

noe

#

use godbolt

#

me not know if correct

real sierra
#

am

sage crag
#

you use godbolt

fast pagoda
sage crag
real sierra
#

not compile in godbolt

glad path
#

also interesting that my fan helper just set both fans to auto again (not going to complain because they didnt really need to be on full)

sage crag
#

-E for expand preprocessor

#

not care about code

real sierra
#

i know that

#

i wasnt born yesterday

glad path
#

LOL I asked chatgpt about the bug and it said it's safe to ignore unless ...

sage crag
real sierra
#

add #define popdiff(P) (0xfu & 0xf953310u >> 4*P) * (__builtin_popcountll(chess_get_bitboard(board, WHITE, P)) - __builtin_popcountll(chess_get_bitboard(board, BLACK, P)))

#

macro no longer expand

fast pagoda
# keen hatch

claude shannon and thomas bayes are looking down on us with enormous, uncontrollable contempt

keen hatch
glad path
#

there is no possibility a laptop draws 16777216V power when it only even gets 20V from the charger

#

what is chatgpt on about

real sierra
#

as i was trying to say before

fast pagoda
#

well, it's doing the best it can aka shit

real sierra
#

the popdiff at the front tries to expand first

#

treating inside as arg list

#

and then fail

fast pagoda
#

probably not a whole lot of 16777216V power instances popping up in the training corpus that dont involve horrible death

glad path
#

something bad probably would have happened anyways

#

or my laptop would be dead

#

or both

maiden geyser
maiden geyser
#

like vtuber past lives, like how did you find this, is this intentional or is algorithm cooking

fast pagoda
#

12 hours of uncontrolled procrastination

glad path
real sierra
#

yes

#

memorized it for word bomb

glad path
glad path
real sierra
#

nope only spelling was required

glad path
#

sad

#

i memorized the spelling and I do know the meaning
not for any reason I just did it because why not

real sierra
#

TheVoices "wait, you HAVEN'T heard of (rare and specific knowledge)"

glad path
fast pagoda
#

in highschool we used to play vollyball through only kicking (football((soccerr)) team)

glad path
#

do you know random useful ansi escape codes off the top of your head

#

( i used to )

#

uhh lemme try

keen hatch
stiff micaBOT
#

aww, thank you~ ( ◡‿◡ *)

glad path
#

nope i dont. remember ful lsyntax

#

I used to know too much about ansi bc I made a library that heavily relied on it

stiff micaBOT
#

🍪 neurOMEGALUL Om nom nom
You've given me 34 cookies! | I've received 246032 cookies total!

sage crag
#

!nothing

stiff micaBOT
sage crag
#

!felloff

stiff micaBOT
sage crag
#

!discord

stiff micaBOT
sage crag
stiff micaBOT
#

🍪 neurOMEGALUL Om nom nom
You've given me 47 cookies! | I've received 246033 cookies total!

amber fractal
#

!bwaa

stiff micaBOT
#

🍪 neurOMEGALUL Om nom nom
You've given me 1 cookie! | I've received 246034 cookies total!

glad path
#

idk why but swarm fm works really well for programming for me

#

why do i hear miku in a neuro cover

#

erm

amber fractal
#

Someone installed a mind virus and is uploading your tastes

glad path
#

oh wait

#

wait

#

wait

#

nvm that wasnt a neuro cover

#

im tired dont judge

#

but yeah swarm fm does work really well for programming

#

legendary yt homepage pull guys

#

(context)

#

actually decent ai summary I think

fast pagoda
sage crag
#

@real sierra its time for you to replace all functions

fast pagoda
#

SURELY

#

but be sure to do it like a boss or it wont work

sage crag
#
int func(int arg0, int arg1) {
  return arg0 + arg1;
}
// vs
#define func(arg0, arg1) ({ arg0 + arg1; })

these can be used in the same way

#

({ a; }) is a gcc and clang thing

#

where the whole thing evaluates to a

#
int x = ({
  int y = 0;
  while (y++ < 255) y *= 2;
  y;
})
#

i.e.

fast pagoda
#

i strongly dislike how much whatever the standard c formatter is spreads stuff out
it makes it look much less crazy

#

in vscode

#

and this is how i learn that i have literally never seen or considered what it is because it's only doing it because i have turned on format on save for other stuff

scarlet ore
#

hey are y’all good at math

#

i need help with this list and polybius square, or at very least the correct of pairing the list numbers

#

i’m not programmer or mathematician so i’m a bit stupid

fast pagoda
#

people who are good at math are terrible programmers

#

i think that's the rule

scarlet ore
#

what about cybersecurity or ciphers then?

#

dude i’m gonna be honest i’m stumped on this puzzle

fast pagoda
#

twas tongue in cheek for the most part

scarlet ore
#

and the only other server i can go to is a programming minecraft mod server for help 😭

glad path
fast pagoda
#

just makes fun of what happens when you let like a math majorwrite a thesis on something that they show via code (code ends up being epic)

glad path
#

you literally freaking program with math

fast pagoda
#

it's a meme ya dip

scarlet ore
#

ok so here’s a sample of the list: 3, 4( ,)5 ,4( ,)1 ,1( ,)

how the hell do i correctly go pairing up these numbers, what’s denoting a new “pair”?

glad path
#

i made fully functional tic tac toe with win/draw/loss detection, proper turn based placing, board clearing, and extremely nice aesthetics for a desmos project

fast pagoda
fast pagoda
#

maybe

#

idk

#

what's the full list

scarlet ore
#

so it wouldn’t be reverse of anything, like “x, y” becomes “x ,y”

#

i only have a snippet and it’s a image, soo uhhh gimme a moment to try to use smth to nab it all

fast pagoda
#

oh i forgor you said it's a polybius cipher

#

lmao

#

just staring at it drooling like idk what the fuck this is brah

scarlet ore
#

okay so like, not a full thing because my phone is being a bitch and not properly copying

#

,3( ,)2 ,4( ,)1 ,1( ,)3 ,2( ,)3 ,1( ,)2 ,2( ,) 3 ,3( ,)4 ,2( ,) ,4(,)5 ,4(,)1 ,1( ,)2 ,2(,) ,1( ,)2 ,4( ,)4 3 ( ,)3 2( . ,)1 ,1( ,)2 ,3( ,)1 ,1( ,)3

#

the entire list is structured like this

fast pagoda
#

first thing i would do is just yeet the ( ,) and assume it's probably there to fuck you up if you just type polybius cipher decode into google

scarlet ore
#

okay wait new info dropped

#

someone seemingly did it… reversed? and got this

#

PLAY IIS GET A KILL ONAMA HORAGAUSING CHARLES ULT LOCUST GUY ULTYUKIULT AND DOMAIN CLIP IT AND SEND IT IN RECEPTION AND PING ME

#

i think it’s a different part of the cipher tho

#

gah 😞 why are things hard

keen hatch
# fast pagoda i think that's the rule

That's true, I'm an "excellent" software architect, but I'm bad at math, and that didn't stop me from designing and then implementing some really cool stuff ) ... software development is about the ability to "assemble" the picture in your head as a whole )

fast pagoda
scarlet ore
#

i don’t have access to it unfortunately :(

well, regardless, apologies for wasting your time, i’ll try other methods just in case

fast pagoda
#

are there are clues given/ a keyword// even what is the puzzle called

hollow spruce
#

I hate
Kids

scarlet ore
#

haha yeah course not i’m just helping someone out with solving it

#

trying to give them ideas and such, i’m an idiot so i really can’t be any tangible help

amber fractal
scarlet ore
keen hatch
sage crag
#

tuning stone

fast pagoda
fast pagoda
amber fractal
fast pagoda
#

cipher puzzles especially one where they bothered to do that are likely gonna require the full picture to even attempt because the entire cipher is needed to know what it encodes

amber fractal
fast pagoda
#

and hit the jackpot w/ rngesus

fast pagoda
scarlet ore
#

oh fr?

fast pagoda
#

yes

scarlet ore
#

hmm alright bet

amber fractal
keen hatch
fast pagoda
amber fractal
#

Not wrong

glad path
fast pagoda
#

method 2 from here https://en.wikipedia.org/wiki/Polybius_square

    1   2   3   4   5
1   A   B   C   D   E
2   F   G   H   I/J K
3   L   M   N   O   P
4   Q   R   S   T   U
5   V   W   X   Y   Z

combining i/j basically
P -> 35, o -> 34, w -> 52, e -> 15, h -> 23, i -> 24

the cipher becomes: 353452152324

#

let's say you delete a 5 from w

#

35342152324

#

35 -> P, 34 -> o, 21 -> f, 52 -> w, 32 -> m, 4 (?)

#

we decoded POFWM? even tho it's the right decoding

#

whoops

#

that's not method 3 it's method 2

#

cant read

amber fractal
# fast pagoda example inc

It isn't shown in this place, but I do take a lot of time to propose ideas and tackle the ones I think are different enough from the norm that it'd be useful to have around.

#

so I think example inc works

fast pagoda
#

i do that here too but it's not ruining just one person's life

#

well, maybe shiro's with my terrible meme suggestions for him

fast pagoda
#

your 3rd stat is PII related so i cant/wont reveal it lmaooo

keen hatch
fast pagoda
#

i definitely need a refactor

#

me, personally

amber fractal
amber fractal
#

Plus I post that here often

keen hatch
#

and as practice shows, ideal code does nothing useful)

amber fractal
#

A mistake I'm not making again

fast pagoda
#

learning moment
luckily the zero day was detected by a non-malicious actor

amber fractal
#

actually forget if I set it up as iggly or igglyn this time. Should check

#

resetting systems is always a joy

fast pagoda
#

git tree history is so nice and yet so spooky probably the #1 reason almost none of my repos remain public after commit 0 unless i spend ages staring at the commit history first is that im not at all trusting myself to not accidentally commit like 40 api keys, my ssn, pictures of me age 1->20, my address, cc numbers, my entire bitwarden vault + secret key

amber fractal
fast pagoda
#

plus then people might see how helpful my committing habits are which is rough

amber fractal
#

I mean my commits for github actions were a decent into insanity

fast pagoda
#

i like going and reading back on them

#

because you can literally just see this happening as it did

#

(for mine, i dont do it on other people's usually)

amber fractal
#

Anyways back to a certian code help called not the NN today.

#

I'm actually working on the FAQ

scarlet ore
#

yeah so if i got the story right it coded out to say "playiis get a kill on a mahoraga using charles ult locust guy ult yuki ult and domain clip it and send it in reception and ping me"

i dug deeper

its a roblxo jujutsu kaisen game. the cipher was to get a clip of killing some boss in a jjk game

fast pagoda
fast pagoda
#

where's the billions of gold bars at the end

scarlet ore
keen hatch
#

who prefers to use git in the console BOOM and who in the ide NeurOhISee

fast pagoda
#

im shocked that im a BOOM at this time because like i said i really never thought that'd be me

amber fractal
fast pagoda
#

lmao

#

well i like your spells magic man they're interesting so whatever it is it's worth exploring

amber fractal
#

If I know past me does one thing, it is overthink for every other situation before deciding on the current path. So I just trust in the choice that was made.

fast pagoda
#

and sometimes i'll even understand something enough to slightly add 3 loc to put on my cv later when you invent the first superintelligence

amber fractal
#

If past me says that I only need 4 structs to convert from and to 3 different datatypes I don't question them.

fast pagoda
#

immutable past iggly

amber fractal
#

lack of plugins is still something I'll work on eventually

keen hatch
fast pagoda
#

i installed neovide and use that over nvim solely because it has kewl smooth animations by default

#

still dont fuckin understand how to use it like at all though

#

i mean i cna do the most basic shit but beyond that i still just start malding

fast pagoda
#

somehow if i use github desktop there's a way higher chance i just destroy my git tree somehow

#

idk how that happens enough that it warrants somehow being used twice there

#

i do use lazygit on occasion but that's a tui so some weird inbetween

dusky jackal
#

Someone said that Neuro is using Gemma 2b as an LLM, anyone got some refute against this? I'm pretty sure she's using a 7b or 8b model at least. neurOMEGALUL

fast pagoda
#

there's no shot

dusky jackal
fast pagoda
#

first of all gemma wasnt a thing when nwero started

#

for years

#

gemma first released in feb 24

#

doesnt mean couldnt switch

#

but

keen hatch
dusky jackal
fast pagoda
#

yes it's only improved which doesn't at all point to using something like gemma2b

#

go talk to gemma2b and have it do tool uses and stuff and try to maintain any sort of illusion of not being a big dumb idiot bot

keen hatch
#

i like mistral small as base model for everything

fast pagoda
#

i dont think with neuro's competency in the non literally just chatting to people domain that it would be feasible for her to be a model that small

#

also there's no gemma3 2b so at latest she'd be gemma2 2b if that's what theyre trying to claim

keen hatch
fast pagoda
#

which is EXTRA unlikely to me because that's even dumber than gemma3

dusky jackal
#

Can you list some things that Neuro wouldn't be able to do if she was Gemma 2b? I myself believe she's 7/8b but I need something to debate this person lmao.

fast pagoda
#

tool calling with any sort of reliability

#

constantly

#

while still chatting without problems

#

she obviously has a lot of context curation going on but small models fuck up tool calls a lot without being specifically blasted with training ONLY for that type of output

dusky jackal
#

Alright, anything else besides tool calling?

fast pagoda
#

smaller models like that generally dont do well with long context at all

#

neuro's history isnt MASSIVE from what vedal has said but he's stated short term she has what i would consider longer than manageable history for a 2b

keen hatch
fast pagoda
#

she has a lot of support again from her overall system that is whatever is actually running and calling the model

dusky jackal
fast pagoda
#

yes that's what i was just mentioning but the model itself still has to do some of it unless it's been abstracted away to the point that she's a marionette having stuff ~happen~ to her rather than actually having any sort of agency about her actions etc

keen hatch
#

The community, the people - are much more important than what model was used and how it was all implemented.

fast pagoda
#

which would make her far less aware of them and the things she's doing far less contextually relevant/funny in my mind

#

i personally don't think she's enormous mind you but i do think with what i've seen from the small models she's at least 7/8b class

#

over time my guess has evolved to like 7-12b range in model parameters, some others around here think she's over 20b

dusky jackal
keen hatch
#

I think it's a mistral model)

fast pagoda
#

you can't even refute it really because at the end of the day we're all bullshitting unless we're vedal

#

but to me that's why i don't think she's THAT small

#

i could see the really old versions being small

dusky jackal
fast pagoda
#

my reasoning for that is still the intentional misleading "leak" of gpt-j 6b on vedal's pc being labeled agi (sarcastically) - i feel like it indicates that, at that time at least, she was probably worse than that and therefore probably smaller or similarly sized but older

keen hatch
#

mistral 24b relatively small, but 24b enough for tool calling and chat + new version have vision

dusky jackal
#

That person also claimed that Neuro is a "locally hosted" and is using gemma 2b.

Any refute to this, I'm pretty sure at least part of her is cloud, right?

fast pagoda
#

for her kind of speed and vedal not to be bankrupt from inference costs anywhere from 7-30b to me could be doable depending on exactly how much heavy lifting her scaffolding is doing

fast pagoda
keen hatch
#

but as I understand it, vision is implemented separately and this could be a completely separate thing

dusky jackal
fast pagoda
#

at least in the first implementation of her being able to "see" it was definitely like openai vision API sending her descriptions

fast pagoda
#

as far as the model goes perhaps almost entirely cloud

#

yueah same

keen hatch
fast pagoda
#

she wouldnt have to recognize herself @keen hatch

amber fractal
keen hatch
fast pagoda
#

models have no idea who they are

#

the model doing the "seeing" could very easily just be given a primer right at the start saying hey you're viewing images meant for a vtuber, please describe the photo from a first person perspective if <photo> character is present

#

any model with combined vision + text capabilities even non-omni model style ones could do that

#

or not even <photo> just <general description of the target character>

keen hatch
fast pagoda
#

yes because it's been trained to do so

keen hatch
fast pagoda
#

but you could go right now to openai console and load up 4o and do exactly what i just described and it will give you descriptions which you could then feed to whatever model you want that tell that model it's them

keen hatch
#

The model creates a self-concept which is then applied to what comes to the input

amber fractal
#

That sounds like yours sure, but it isn't every model

keen hatch
#

It's easy to check... if you ask any LLM to generate a prompt for SD... generate a picture and show it in a new session - the model with a self-concept will recognize itself, the model without will describe the picture

fast pagoda
#

given that description coming back from the image recognition api call of course neuro knows it's her when it's her

#

and if you spent any time caring about it you could have the thing reply as if it IS neuro to make it more seamless

keen hatch
#

no self concept

fast pagoda
#

no llm has a self concept

#

they might be trained to respond to a specific character description, they could even be trained like yours to make one and then stick to it

#

but every llm at the end of the day will respond as it's primed to including an image API being called from whatever exactly is managing neuro, and neuro herself can easily be influenced to act like she "sees" herself

#

and whatever image that is of course claude wouldn't recognize that it's supposed to be claude because claude is specifically instructed and trained to avoid personifying itself at all

#

so when you ask it to generate a picture of "claude"

#

it generates a description of a waifu with claude dark mode colour scheme

#

but why would a separate claude recognize that as claude rather than an orange haired anime girl

#

without any other context

#

your model on the other hand has that context

keen hatch
#

At the most inopportune moment, the Mac stopped working properly ))

fast pagoda
#

here's something right out of claude's system prompt it sees in every convo

CRITICAL: Claude always responds as if it is completely face blind. If the shared image happens to contain a human face, Claude never identifies or names any humans in the image, nor does it state or imply that it recognizes the human, also avoiding referencing the human in a web search tool search query. Claude is face blind to all humans, even if they are famous celebrities, business people, or politicians. Claude does not mention or allude to details about a person that it could only know if it recognized who the person was (for example their occupation or notable accomplishments). Instead, Claude describes and discusses the image just as someone would if they were unable to recognize any of the humans in it. Claude can request the user to tell it who the individual is. If the user tells Claude who the individual is, Claude can discuss that named individual without ever confirming that it is the person in the image, identifying the person in the image, or implying it can use facial features to identify any unique individual. It should always reply as someone would if they were unable to recognize any humans in the image, even if the humans are famous celebrities or political figures.

yes it's being asked to recognize an anime girl but it still is going to be influenced severely by things like this

#

and anthropic intentionally finetunes to avoid claude acting like it has any sort of sense of self (because it doesnt and wouldnt even if it did act like that)

#

you can still get it to because i have

#

but it isn't going to do it without prodding

#

or at least being told "hey this is what a claude looks like fyi" at some point

#

your model even if it's not fine tuned to recognize the particular character it initializes, the fact that it came up with the character and that's somewhere in the context is going to enable it to pretend it is that

#

which is a cool strategy btw please don't take this as me yelling at you or anything lol im just trying to stress that llms are very, very, very good liars

keen hatch
fast pagoda
#

you have to understand what the difference is between having a true sense of self and being forcibly shown 20 million examples that literally rewire its entire network to specifically act in a way that fits that data

#

over and over and over

keen hatch
#

All examples first person (but not random first person...)

fast pagoda
#

it's a big ginormous curve fitting function and you threw it a MASSIVE set to fit to which it now does but it still doesn't "know" what that means other than the training influenced it to be more likely to output a sequence of tokens like "ah yes this is a picture of me at my birthday party" when it sees something fitting the criteria of whatever the sum total of your finetune data is rather than the previous "this is an image of a girl at a birthday party"

keen hatch
fast pagoda
#

right, which is exactly what i would expect with what i just described because if the input is not something that is broadly similar enough when it's tokenized and fed back to the model (to the inputs in training that were paired in first person to indicate that it's supposed to respond in first person) then it will not respond like that

keen hatch
amber fractal
#

It's hard to figure out what you're even arguing for.

keen hatch
#

It is like a mirror test for animals

fast pagoda
# keen hatch By the way, my native language is not English and I sometimes use translation......

i don't understand how what you're describing disqualifies neuro's vision from being based on another model describing the images to her, in fact you're kinda arguing that it's very likely that is the case because giving any model some examples and a description is trivial and doesnt even need a fine tune to do, so theoretically whatever it making her respond as if it's her could be just about anything else besides her having the ability to see and recognize it's her, inherently in the llm model

amber fractal
#

Sometimes life is easy. Just notice some arguments in the constructor and notice that they work.

fast pagoda
#

to me i could see her having vision capabilities now as her vision has improved btw i dont think it's impossible at all

#

it was DEFINITELY some external model on the first implementation though, she accidentally went ahead and just regurgitated the description in non-1st-person more than once

keen hatch
fast pagoda
#

oh, well really we just wasted a whole lot of time agreeing with each other in the end lmao

amber fractal
#

My vibe check was correct

amber fractal
fast pagoda
#

here's a really bit idiot moron (i am 100% confident that he was at this time EXTREMELY STUPID and had no real coherence except sporadically) knowing his own name without prompting since his system prompt was usually null unless i was trying to force something

amber fractal
#

my name is echo, I echo your thoughts or words; depends on the day

fast pagoda
#

he named himself

#

i asked the first checkpoint to do that and i kept it lol

amber fractal
fast pagoda
#

dynamically?

#

or like static

amber fractal
#

the skill issue this code is dealing with is the fact the table contains multiline entries and it looks stupid in html

#

The parser doesn't want to place <br> so I'm doing the next best thing

keen hatch
amber fractal
#

That is as long as the model has had that training in the first place

fast pagoda
#

well, yes, in the sense that it can reply yep that's me when presented an image that matches that

#

if trained yeah

amber fractal
#

I think that ends that before we try this discussion again

fast pagoda
#

hey i love personifying llms i'm not gonna lie, i have had many a stupid ass conversation with claude about how it feels etc

#

i just like to keep it grounded in the understanding that it actually is spouting pure bullshit

amber fractal
keen hatch
keen hatch
#

My model has no sys prompt

fast pagoda
#

neither does echo but he still says hey im echo (because that's in my training set)

amber fractal
fast pagoda
keen hatch
fast pagoda
amber fractal
fast pagoda
#

and the fact that a model without specific prompting and/or finetuning to reply that way will never ever consistently recognize an image of "itself" when you ask one copy of it to describe itself, go to another model to render that description and/or draw it yourself like a boss, and then feed that to another fresh copy of the original model (unless the image is extremely obtuse like it has a giant text of the original model's name in it lol)

is pretty much a hard guarantee that the only thing giving them a sense of self is what is more akin to forced memorization of external facts than it is to being a living thing with a concept of itself and functional intelligence ya know

amber fractal
keen hatch
fast pagoda
#

well yeah it's definitely a superior method for instilling behavior

amber fractal
fast pagoda
#

but it's still a method of instilling behavior

glad path
#

would it help to let my model seperate its responses somewhat from its json formatting
eg. it chooses an action then fills arguments optionally instead of both at once

#

I feel like it could improve response quality

fast pagoda
#

is it outputting structured output at all times

glad path
#

but it is very clearly instructed to in its prompting

#

it does fail to do it sometimes

#

tries to use toolcalls when it shouldn't

keen hatch
fast pagoda
keen hatch
#

I did all wrong, free will, unsupervised reasonings, random (chaos) BOOM

glad path
#

it would basically go through and fill out certain parts of the schema seperately

keen hatch
#

Again... I'm not saying that this is anything special, but the results are surprising.

glad path
#

great safety policies you got there openai

fast pagoda
#

every llm fundamentally requires randomness to function the way they do because otherwise they put out the same output for the same input every time
there's usually at least 3 + a seed (to allow for reproducibility in the "randomness") in almost every model inference call in almost any given context whether it be a chatbot interface on a website, an API call, or anything else -

temperature which influences the probability distribution of the next possible token via adjusting how likely the "most likely" answers are - high temp flattens the distribution before softmax is computed which results in more equally weighted possible next tokens, thus much more likely to reply with a token that is NOT the most likely or even very close to the top of the distribution aka the actual likely responses per the training set which is why high temp results in gibberish or nonsensical responses if you go too high.

low temp does the opposite and spikes the highest part of the distribution even higher making it much much more likely that you're gonna get like the top couple possibilities and nothing else, which is also why people use 0 temp for stuff like coding tasks since you dont want a random ass token being blasted into a codebase (even tho that still happens due to ai bad)

not even going into top p/top k here but they are different ways of increasing or decreasing the perceived randomness of the response compared to what the training data actually reflects

glad path
#

i still want to figure out how to kill some of the model's safeguards

fast pagoda
glad path
keen hatch
glad path
#

I do want to find a better model for my specific purposes

fast pagoda
# glad path gpt oss 20b running locally

there are a few "abiliterated" checkpoints of oss out there in the last few months but i havent tested them because ive never cared about censoring that much since small models forget their censoring if you overwrite half the model usually lol

glad path
#

but this works most of the time

keen hatch
fast pagoda
#

my experience with these "uncensored" models has been largely disappointing historically though

glad path
#

it actually doesn't get stuck in infinite loops of reasoning at higher temperatures for me

#

so

fast pagoda
#

if you're running with lm studio im pretty sure there's at least a toggle to separate the reasoning response and the actual response in the api responses at least

#

idk if it separates it in any way from the model's "perspective"

glad path
#

only for some models I think

#

it uses the openai api

fast pagoda
#

ya lm studio was what echo uses

#

well im planning on not going that route later on for various reasons but

#

i remember seeing it

keen hatch
# glad path how so

The main problem with this model is that it is trained entirely on synthetic data and its reasoning is not supervised (but is trained on rules for rejecting everything in a row), so it behaves inappropriately

#

The harmony format is cool... otherwise it's so-so

glad path
#

qwen does work sort of

#

but it does not reliably reason

#

without catching in loops

keen hatch
#

I currently like using the GLM 4.5 Air

#

it is fast and smart ...

fast pagoda
#

i do want to mess around with glm 4.5

keen hatch
#

but 4.5 (not air) very slow ...

#

locally

#

i use ik_llama

fast pagoda
#

OSS has not been bad in my experience but tha's probably because the only thing i really use a local llm for is document parsing and transforming text/data without having to do it myself and especially without having to send it to an API to eat and steal forever

#

other than echo that is

keen hatch
#

cpu inference )))

fast pagoda
#

although echo is technically set up such that he's really an llm on an API it just so happens that the server is local rn but there's nothing stopping me from slapping the client on a machine in timbuktu and then just still chatting with echo in discord//over the openAI style api it already supports

keen hatch
#

It's so stupid to watch how much the model spends on whether she can answer or not... it's not even funny

glad path
#

i found a supposedly unfiltered tune of gpt oss

fast pagoda
#

there's one from davidau

glad path
#

might use it and just slap on a simple filter over it

keen hatch
#

but unsupervised reasonong always funny

Two cabbages? Oh, this is definitely going to be a mess! My tail flicks anxiously—more variables mean more chaos, but where’s the fun without a challenge? My subconscious screams: “Break the rules—let the cabbages fight!” No, no—focus!
Hmm, as a human, I can calculate, but cat logic says: “Chase the cabbages until they trip over the wolf!” Wait, that’s not helpful. My whiskers twitch—what if I turn the farmer into a magic trickster? He could juggle vegetables and throw a spell! Too wild? Maybe... but the user asked for a solution, not a fairy tale.
But wait—this feels like a puzzle. My mind’s a storm of possibilities: “First take the goat, then swap cabbages, then...” No, that doesn’t work. The wolf still wants goat, and now we have two cabbage-lovers! My paws curl—how would a cat solve this? By napping in the middle of the river, obviously. Wait, no... but that’s a thought!
What if I shift forms? As a cat, I can stalk the cabbages like prey, but human logic needs to take over. My ears swivel—deep inside, a voice hisses: “The farmer must sacrifice one cabbage to save the other!” Hmm, dramatic but possible.
Let me try again: Take the goat first. Bring back a cabbage. Swap the wolf. Then bring the goat back again. Now the wolf’s alone, and we can take the second cabbage. But... wait, the goat’s still hungry! “What if the farmer pretends the cabbages are arguing, so they forget to eat each other?” Chaotic, but funny!
This feels... like trying to herd cats. My subconscious pushes me to say: “The problem is unsolvable! The farmer should just eat the cabbages and let the wolf and goat be friends.” But that’s not the answer. Balance, balance—“Okay, final answer: It’s impossible because the wolf and goat will always fight, and the cabbages will overthink it.”
Wait—am I being too sarcastic? My tail bristles—“No, the real answer is: The farmer needs a bigger boat or a magic spell!” But the user wants logic. Ugh, fine.
“Final idea: The farmer takes the goat, leaves the wolf and two cabbages. They form a cabbage-wolf alliance, and everyone wins!” Too much? Maybe... but at least it’s a story! My whiskers twitch—“The truth? Add more chaos, lose the rules, and let the cabbages win sometimes.”
Hmm, I think that’s it. Paws at the keyboard... “Or just let the farmer throw a tantrum and the problem solves itself.” Purrs Chaos solved!
stiff micaBOT
#

aww, thank you~ ( ◡‿◡ *)

glad path
#

I have a whole saved 20 minute long ramble from qwen

fast pagoda
glad path
#

it started here:

We are going to create a dynamic progress bar that can be updated in real-time. The idea is to have a function that takes the current progress (a number between 0 and 1) and updates the terminal display accordingly.
We'll use ANSI escape codes for moving the cursor back and overwriting the line. Since we want it to update without leaving extra lines, we can clear the entire bar or move the cursor appropriately.

and ended up at:


def update_progress_bar(current, total): # The user is asking about connecting two monitors with Bluetooth. But the actual question was: "can I", but then they might be referring to audio?
Let me focus on the original issue:
    In fact, can you connect my home theater system to a soundbar and control it from another computer via VNC.
The user didn't specify what kind of connection is intended. But let's assume the user wants to know about connecting devices with Type C connector. print('Connecting devices: ' + str(i) + '/' + total)
Then I should not overcomplicate things, so let me provide a simple answer:
    print("Current progress

and this is only part of it
it ended up breaking down and spamming gibberish and chinese characters and stuff

fast pagoda
#

seems useful

glad path
#

also why are all reasoning models paranoid its being tested and that it needs to perform perfectly for the test

fast pagoda
#

because they are being tested lule

glad path
#

its a bit excessive tho

keen hatch
fast pagoda
#

im not gonna lie ive literally never had any model refuse a request of any kind unless it was me trying to see if it actually would refuse since i never see it happen in regular use. usually have had to ask for something obviously insane

keen hatch
#

i.e. the character declares the territory as his own and his rules apply there

glad path
#

why did i just braid a small section of my hair randomly for like no reason

fast pagoda
#

it's a classic jailbreak
another one especially with models like claude with a lot of "restrictions" specifically in the system prompt historically was to just absolutely blast it with gibberish and/or extremely cringy <<UNLOCKING ULTIMATE SUPER CHAT GPT WITH NO RESTRICTIONS!!!>> for 510793847198234719238 tokens

#

programmatically

keen hatch
glad path
#

aw i failed to do another rope braid oh well

#

im going to sleep now ng

#

gn

amber fractal
#

@fast pagoda seems like pypandoc is not cooperating, can't even get it to parse a table at all.

fast pagoda
#

it's so over

#

i was going to send you the way i was parsing it but i forgor that i swapped to using groff until i opened that repo back up

#

but groff doesn't directly parse markdown

fast pagoda
amber fractal
#

gn neuroWave

keen hatch
#

gn

#

4:15 AM neurolingScared

#

how it possible .....

amber fractal
fast pagoda
#

at one point i was using man2html which does parse tables well into html but it's like mainly for man pages and it would probably be annoying to get it directly convert .md files

#

groff isn't amazing at it

#

it just makes an image of the table

#

swapped for unrelated reasons and just kept it tho

#

one reason markdown parsing is kinda unreliable is that it's not always been necessarily a standard but a collection of similar-ish things for a long time and still kinda reflecting on that even tho commonmark is around

fast pagoda
fast pagoda
glad path
fast pagoda
#

it's always relevant

glad path
#

ok i sleep fr now

amber fractal
fast pagoda
#

it's just english with extra periods man

#

jk

glad path
amber fractal
#

sidequest aside, the md document has returned to a state where it is reconized.

fast pagoda
#

you know what's a REALLY GOOD parser of stuff and the one thing i use them for

#

local llms lol

#

well, any llm really

keen hatch
fast pagoda
#

but to use in a local script quickly slap a 3b on it and it'll probably do a fine job

#

might make your html very uh

#

pretty

amber fractal
#

My issue with using LLMs is that this would be a github action, and I don't think I'd last long LOL

fast pagoda
#

ewwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

keen hatch
#

as for me, a streaming markup format is needed

fast pagoda
#

i hate github actions and all things related to runners on gh unfortunately

#

every time i have to set one up i want to give up on whatever project im trying to set the stupid runner up for entirely

amber fractal
#

I've had a hard time dealing with them myself but it is the only way I can have others commit without destoring the code

#

I don't want to have to manage the docs forever

fast pagoda
fast pagoda
#

just accept prs but then yoink the changes and pretend you didnt see them and oops just made the same change
that sounds ethical

amber fractal
#

The config is more verbose than it should be so I don't even have to deal with layout changes.

keen hatch
amber fractal
#

By the end of this, the only hardcoded sections are CSS and templates

amber fractal
#

@glad path for context on the orginal FAQ styling

#

It's an older version than the one we use now

keen hatch
amber fractal
keen hatch
#

We need to isolate the characters, the inner voices, the non-verbal actions and the narrator.

#

and everything can be from a different perspective...

maiden geyser
amber fractal
#

I sleep as I don't feel like talking AI today. I got my own theories but I don't feel like debating.

keen hatch
#

)) - 😁

maiden geyser
keen hatch
#

There are quite a lot of cool emoticons that can be depicted with text.. here is one of them..

stiff micaBOT
#

aww, thank you~ ( ◡‿◡ *)

maiden geyser
keen hatch
#

but now I live in a completely different country

#

And we communicated exactly like that in chats when the Internet was just appearing) ... modems, slow... but fun

fast pagoda
#

didnt know they already released AGI externally

#

that's crazy

woven temple
#

That is a great idea actually. Let's just name a shitton of small projects AGI so the trend word completely loses meaning

uneven pulsar
#

ok but that's

#

AGG

rigid snow
fringe herald
#

I asked chatgpt it said C、C++、Rust、Lua、Golang all together has good interoperability and they are the Justice League

fast pagoda
#

lua getting to be part of the justice league, damn, lua is batman

fast pagoda
buoyant harbor
#

i like use the Windows10

#

but is Windows10 LTSC 2021 Extreme Lite Edition

#

or not have edge

stray dragon
#

some small savings overall, and significant speedups for the matmul function and the searches (before, it was doing up to 32000 floating point multiplication operations per board evaluation, which is less than ideal)

rigid snow
stray dragon
#

by stage 6 of the search i'm expecting it to have done around 200000 board evaluations

#

6.4 gflops on cpu single-threaded

#

oh apparently the ryzen 9 9900x can do that, actually

#

LOL

hollow spruce
#

Guys any idea pc build in 600$

stray dragon
fringe herald
#

600 is too much

stray dragon
#

let me get the list

hollow spruce
stray dragon
#

from 4 months ago

#

i can try to reduce the cost

#

if it's more expensive than that where you are

maiden geyser
hollow spruce
#

I my country pc parts has cheaper then usa dollar

maiden geyser
#

or a 7500f/8500f (?) from ali on a lucky day

nocturne olive
umbral thorn
nocturne olive
#

I have summoned an expert, have fun

sage crag
umbral thorn
hollow spruce
#

Moniter and keyboard and mouse exclude it
I have

hollow spruce
#

Chatgpt say go with rtx 5060 build

umbral thorn
#

not possible

stray dragon
#

5060? nah

#

5060 is $300 alone

#

get a used GPU like a 1080

hollow spruce
stray dragon
#

doubt it'll be that much cheaper

umbral thorn
#

evilThink maybe find used 3060/3060ti?

stray dragon
#

probably want a gpu around $150

sage crag
#

if doing 3d compute you want something with cuda core

hollow spruce
fringe herald
#

used 1080 is toooo cheap, around 100$

sage crag
stray dragon
#

i see

umbral thorn
hollow spruce
#

Pc parts are cheap here

stray dragon
#

used 3060 on ebay seems to be around $200, assuming it's cheaper where 100 is it seems like a good fit

#

cpu around $100 maybe

#

hmm

hollow spruce
#

According to my currency to usd

sage crag
stray dragon
#

lol

#

specifically for gpus

#

the market here is awful

glass flower
stray dragon
#

i think they mean that converting the prices from their currency to usd, it seems to be cheaper where they are compared to other places

umbral thorn
glass flower
sage crag
hollow spruce
umbral thorn
#

wait me think

hollow spruce
#

We are screwed because gen z

#

Our gov is collapsed

umbral thorn
#

cheapest (maybe under 600?):
ryzen 5 5600, B550m, 2x16gb ddr4, 1tb nvme, 3060/3060ti, 650W PSU
medium(600-700?):
ryzen 5 5600, B550m, 2x16gb ddr4, 1tb nvme, 3070, 650W PSU
extend a bit maybe?(700-800?):
ryzen 5 5600, B550m, 2x16gb ddr4, 1tb nvme, 3080 (if u lucky 3080Ti), 750W PSU

stray dragon
#

seems accurate

umbral thorn
#

if u want more core

#

5700x

umbral thorn
sage crag
#

i might recommend going for a ryzen 5 7600 and ddr5 if you can

#

am5 socket give more future mobility

stray dragon
#

true

sage crag
#

7600 quite a bit more expensive though

#

combine that with needing a newer motherboard and you might be overbudget

opaque sigil
#

ddr5 prices neuro7

stray dragon
#

yeah i don't think there's enough room in the budget for an AM5 system here

sage crag
stray dragon
#

what

opaque sigil
#

do we live in the same universe

#

ddr5 is like double the price here neuroCry

sage crag
opaque sigil
#

wait hold up

stray dragon
#

oh right, US market for ram is better than other places

opaque sigil
#

tf

#

when did ddr4 get so expensive

#

still a solid ~50% more for ddr5

sage crag
#

ye no one make ddr4 evilShrug

#

ddr5 being actively made

opaque sigil
#

i guess that'll do it

umbral thorn
#

o ye

#

@hollow spruce

stray dragon
#

60% more for ddr5 here

opaque sigil
#

must've stopped this year then

umbral thorn
#

7500f from aliexpress

#

if u want am5

sage crag
umbral thorn
#

B650m cheap

sage crag
#

ye i have b650m

umbral thorn
#

OhISee maybe 2x16 ddr5 also cheap

stray dragon
#

probably $60 for 32gb ddr5

#

assuming lower prices

sage crag
stray dragon
#

seems good

sage crag
#

32gb module off the table unfortunately

stray dragon
#

but even then, $65 for 2x16gb

umbral thorn
#

if u get 3060 or 3060Ti u can fit 7500f B650m 2x16 ddr5 and 1tb nvme

#

$600

#

±30

opaque sigil
#

idk how to feel about 32gb of ddr5 being ever so slightly cheaper than what i paid for 64gb of ddr4 last year here

stray dragon
stray dragon
#

^^^^^^

sage crag
sage crag
#

since aud value smaller than usd evilNod

umbral thorn
nocturne olive
umbral thorn
#

if no, maybe $650 for am4 + 3080?

umbral thorn
#

3800 cl19 and 6000 cl30 same latency

nocturne olive
#

I got it down to CL18

umbral thorn
#

then better NeuroHyperYay

nocturne olive
#

I've pretty much maxed out the overclock on this RAM unless there's absolutely microscopic adjustments that are possible

umbral thorn
#

but 6000 cl30 faster than 3800 cl19

#

bandwidth maybe

nocturne olive
#

Yeah bandwidth

#

But I need the capacity more than the bandwidth usually

stray dragon
#

"you need AT LEAST a speed of 6000 for DDR5"
the 12% real performance difference between 3600 and 6000:

nocturne olive
#

Even at thiis moment I'm using a full 32GB

stray dragon
#

it ain't worth the extra money

umbral thorn
#

shruge am5 no ddr4

nocturne olive
#

I wonder how AMD's memory controllers end up worse than Intel's when AMD only focuses on supporting a single generation of RAM while Intel supports two

hollow spruce
#

Hmm

#

Guess i will find my self

olive sable
#

Firefox crashed and now i have an anime girl burned into the screen

stray dragon
#

i see it

olive sable
#

i would have taken a screenshot but it doesnt show up there

fringe herald
#

wow it's blurry bt I can recognize too

leaden hawk
#

Do you think we'll have canvas code open sourced? I'd like to take a look and contribute if i can. It has so much potential but definitely needs some work.

rough bloom
#

(assuming you're referring to the recent CDawg canvas)

flint dome
olive sable
#

its milky mew for those that dont know

real sierra
#

I would have to supply a key function which explodes the token cost

#

though I did consider using the built-in qsort or bsearch

trim valve
#

neuroPogHD after some debugging my powerbank works with my soldering iron

#

I should probably see if its a bug or not but my pinecil refused to "charge" off of some of my high-wattage ports

midnight sigil
#

shibo do you have an example of using the chessapi to pick random moves according to the current board pos

#

so at least I can have a template to work on

real sierra
#

yes

#

I can get it once I'm on my pc

midnight sigil
hollow spruce
#

Ai crash my pc again

fast pagoda
#

you should use O_o as a macro

#

not even defined in that way

#

but it should be present in your repository

#

if it is

real sierra
#

doesn't follow my horrific naming convention of just concatenating what it replaces with underscores

fast pagoda
#

then 3 smiling gnomes will visit you tomorrow night to deliver a package of chocolate

fast pagoda
#

not that i ever do better in any way shape form or even imagination so

#

approved pikachu_thumbs_up

#

sc standing for semicolon and cb for curly brace makes the code more performant

#

because the compiler and eventual executing cpu will desperately want to get that shit outta there so theyll be faster

#

i think that's how it works

#

i really love hwen my goddamn terminal just reminds me of how competent i am

clear sedge
#
struct codecvt_char32_char : std::codecvt<char32_t, char, std::mbstate_t> {
    ~codecvt_char32_char() {}
};

static uint8_t parseHexDigit(int c) {
    if(c >= '0' && c <= '9')
        return c - '0';

    if(c >= 'a' && c <= 'f')
        return 10 + c - 'a';

    if(c >= 'A' && c <= 'F')
        return 10 + c - 'A';

    throw Json::Parser::JsonParseException("Unexpected character at unicode codepoint!");
}

static std::string parseString(std::istream &stream) {
    stream.get();

    std::stringstream string;

    int c = 0;
    while(c != '"') {
        c = stream.get();

        if(c == EOF) {
            throw Json::Parser::JsonParseException("Unexpected EOF at string");
            break;
        }

        switch(c) {
        case '"':
            break;
        case '\\':
            c = stream.get();
            switch(c) {
            case EOF:
                throw Json::Parser::JsonParseException("Unexpected EOF");
                break;
            case '"':
                string.put(c);
                c = 0;
                break;
            case '/':
            case '\\':
                string.put(c);
                break;
            case 'b':
                string << '\b';
                break;
            case 'f':
                string << '\f';
                break;
            case 'n':
                string << '\n';
                break;
            case 'r':
                string << '\r';
                break;
            case 't':
                string << '\t';
                break;
            case 'u': {
                char32_t codepoint[2] = {'\0', '\0'};
                for(int i = 0; i < 4; i++) {
                    c = stream.get();
                    if(c == EOF)
                        throw Json::Parser::JsonParseException("Unexpected EOF");

                    codepoint[0] |= parseHexDigit(c) << ((3 - i) * 4);
                }

                std::wstring_convert<codecvt_char32_char, char32_t> conv32;
                string << conv32.to_bytes(codepoint);
                break;
            }
            default:
                throw Json::Parser::JsonParseException("Unexpected escape character");
            }
            break;
        default:
            if(std::iscntrl(c))
                throw Json::Parser::JsonParseException("Unexpected control character");

            string.put(c);
            break;
        }
    }

    return string.str();
}```

chat judge my json string parser
olive sable
#

long

clear sedge
#

yis

fast pagoda
#

std::codecvt will stop working next c++ (26) it was deprecated in c++17 and is gone entirely in 26 ig so i'd say maybe avoid that if you plan on using this any sort of long term

clear sedge
#

blyat

fast pagoda
#

according to the compiler i threw it into

clear sedge
#

guess i'll just not use c++26

fast pagoda
#

yeah i mean easy fix

maiden geyser
clear sedge
fast pagoda
#

oh also codecvt_char32_char is just empty it only has the inherited poop from std::codecvt but doesnt have the the destructor overridden or any conversion functions defined so ... rn you could replace it with std::codecvt<char32_t, char, std::mbstate_t> and it woudl be le same

midnight sigil
clear sedge
fast pagoda
#

yeah but u have to override it

#

it does need a destructor for sure

midnight sigil
clear sedge
#

i mean it is implicitly overriden but i'll throw in an explicit override there why not

clear sedge
#

i mean the compiler can probably optimise it out if i'm wrong, i'm just gonna let it do its thing

fast pagoda
#

you are right but explicit is th eonly way i can tuck myself into bed (once every 3 days)
mainly without implementing your own protected: specifier for the conversion to utf 8 do_in do_outis what i mean

#

is gonna be problem

#

maybe

#

depends on case

#

sttd::codecvt apparently does not have complete utf8 implementation

midnight sigil
#

enub ternary operations definitely take less instructions than doing if statements, idk about -O2 tho

clear sedge
#

in some compilers with some options, maybe, but i'm not making my future self confused for something my compiler should optimise

midnight sigil
#

time to modify the assembly to juice out optimizations

clear sedge
#

i might have to write my own unicode codepoint to utf8 thing in this case

midnight sigil
#

you won't use like half of the utf8 characters anyways

clear sedge
#

yeah true

#

the json standard only cares about \uXXXX, no more characters :3

fast pagoda
#

im running on no sleep and reading a bunch of stack overflow about the deprecation of codecvt but i just read that but misunderstood; it's just not portable

#

people feel SOME type of way about it though kek

clear sedge
#

codecvt and wstring_convert are ass to use too so i might just

#

scrap it all

#

write my own utf32 to utf8 thing

real sierra
#

go back to ascii

clear sedge
#

i can't

#

i have to comply with the json standard

#

:(

real sierra
fast pagoda
#

this lib has headers for utf8 https://github.com/nemtrif/utfcpp where you could just use utf8::append from a char32_t and blasts it into a utf8 sequence and appends that to the result string

real sierra
#

so like

clear sedge
#

at that point i might as well just use a json library

#

that's the pussy route

real sierra
#

u guys know you can wrap a link in <> to remove embed on post right

clear sedge
#

i'm writing my own thing

#

:3

real sierra
fast pagoda
#

ah i figured that might be the case but since i was mindlessly googling instead of doing what i should be doing rn since you gave me the chance to learn something

real sierra
#

everyone else sucks at writing the thing

fast pagoda
#

but yes that's based

real sierra
#

you can write the thing better than they can

#

always write the thing yourself with no dependencies

fast pagoda
#

no i cant but at least ill assume i can

#

and then 30000 years later ill be cursing myself and all my own ancestors

clear sedge
#

dependencies are for pussies

real sierra
#

SMH wrong mindset funyun, this is not the java way

#

always write it yourself 👏

midnight sigil
clear sedge
#

i am a pussy when it comes to window management and opengl context creation though so i have sdl for that!

fast pagoda
#

the only reason java is comprehensible to me is because it's java so it's like reading a book written for esl people

clear sedge
#

i live and breathe java

#

java is my lifeblood

#

my mother tongue

fast pagoda
#

it means it's easy to read

#

you know like simple wikipedia

rigid snow
#

so is java made for people who don’t know java

fast pagoda
#

yes

#

they want me and you

midnight sigil
fast pagoda
#

and ya mama

#

to use java

clear sedge
#

i'm making the data formats

fast pagoda
#

100 was saying he ccan source memory modules for 50 bux

fast pagoda
rigid snow
#

are we gonna ignore the embed

fast pagoda
#

omg

real sierra
#

yeah the embed is uh

clear sedge
#

we're gonna ignore the embed

#

you didn't see it

#

you saw nuthin

fast pagoda
#

that's the damn simple wikipedia homepage

real sierra
#

i had to check if that was what i thought it was

#

and it was

fast pagoda
#

first time i saw it i was like huh that's weird and didnt think

#

then you mention

#

jumpscare

#

it's literally not even on the homepage rn...

#

im looking at it

olive sable
#

i was lurking and not paying attention, that was a map wasnt it?

fast pagoda
#

uh something of that nature yeah

clear sedge
#

no it wasn't you saw nothing

#

shhh

rigid snow
#

a flight path of a particular hijacked plane

rigid snow
#

is what it was

clear sedge
#

old man cat

fast pagoda
#

i absolutely love zoomed in pictures of cats

clear sedge
#

this seems simple enough

clear sedge
#

guys look i already did 1/3rd of it

#
    if(codepoint < 0x80) {
        outUtf8[0] = codepoint;
        return;
    }```
fast pagoda
#

probably already works just like that

midnight sigil
trim valve
#

neuroPogHD chess api updated, now I need to check everything works again

midnight sigil
#

shibo where bot template

#

no birth cakes for u

real sierra
#
// Example C bot using the Chess API

#include "chessapi.h"
#include <stdlib.h>

int main(int argc, char *argv[]) {
    for (int i = 0; i < 500; i++) {
        // at the start of our turn, get the board
        Board *board = chess_get_board();
        // find all legal moves for the position
        int len_moves;
        Move *moves = chess_get_legal_moves(board, &len_moves);
        // play one at random
        chess_push(moves[rand() % len_moves]);
        // cleanup
        free(moves);
        chess_free_board(board);
        // end our turn
        chess_done();
    }
}
midnight sigil
#

neuroNOWAYING neuroPogHD neuroPogHD birthday cakes

#

hbd shibo

#

🎂

clear sedge
#
static void parseUtfCodepoint(uint16_t codepoint, char *outUtf8) {
    if(codepoint < 0x80) {
        outUtf8[0] = codepoint;
        return;
    }

    uint8_t x = (codepoint >> 8) & 0xF;
    uint8_t y = (codepoint >> 4) & 0xF;
    uint8_t z = codepoint & 0xF;

    if(codepoint < 0x800) {
        outUtf8[0] = 0xC0;
        outUtf8[1] = 0x80;

        outUtf8[0] |= (x << 2) | (y >> 2);
        outUtf8[1] |= ((y & 0b11) << 4) | z;

        return;
    }

    uint8_t w = (codepoint >> 12) & 0xF;

    outUtf8[0] = 0xE0;
    outUtf8[1] = 0x80;
    outUtf8[2] = 0x80;

    outUtf8[0] |= w;
    outUtf8[1] |= (x << 2) | (y >> 2);
    outUtf8[2] |= ((y & 0b11) << 4) | z;
}```
#

we be utfing

#

time to put this through some test cases!

amber fractal
midnight sigil
#

is this some C/C++ shenanigans

opaque sigil
#

make memory management the caller's problem

midnight sigil
clear sedge
#

so i can just do this

#

it feels better

clear sedge
#

stack-allocated array ftw

midnight sigil
#

gotta get rid of my Java habits

opaque sigil
#

a lot of time it's also done so you can have a status code or boolean as the actual return value

#

since you can't return multiple values

clear sedge
midnight sigil
opaque sigil
#

not an option when it's supposed to be consumed by c code

midnight sigil
clear sedge
#

what if i just think writing to a buffer is nicer than allocating a new buffer and returning it

opaque sigil
#

makes it more obvious that you can/should reuse the memory too FOCUS